Tren motriz#

Inicializando la clase DriveTrain#

Un DriveTrain se crea utilizando el siguiente constructor:

DriveTrain(lm, rm, recorrido de rueda, ancho de vía, distancia entre ruedas, unidades, relación de transmisión externa)

Este constructor utiliza siete parámetros:

Parámetro

Descripción

lm

El nombre del Motor o Grupo Motor izquierdo.

rm

El nombre del Motor o Grupo Motor derecho.

Rueda de viaje

Opcional. La circunferencia de las ruedas motrices. El valor predeterminado es 300 mm.

ancho de pista

Opcional. Ancho de vía del tren motriz. El valor predeterminado es 320 mm.

distancia entre ejes

Opcional. La distancia entre ejes del tren motriz. El valor predeterminado es 320 mm.

unidades

Opcional. Una DistanceUnit válida para las unidades en las que se especifican wheelTravel, trackWidth y wheelBase. El valor predeterminado es MM.

relación de transmisión externa

Opcional. La relación de transmisión se utiliza para compensar las distancias de conducción si se utilizan engranajes.

Los Motores y/o los Grupos de motores deben crearse primero antes de poder usarse para crear un objeto con el constructor de la clase DriveTrain.

# Create the Motors.
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Construct a 2-Motor Drivetrain "drivetrain" with the
# DriveTrain class.
drivetrain = DriveTrain(left_motor, right_motor, 319.19, 295, 40, MM, 1)

Si va a crear un sistema de transmisión con varios motores, deberá crear los Motores por separado antes de agruparlos en un Grupo de motores.

# Create the left Motors and group them under the
# MotorGroup "left_motors".
left_motor_a = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
left_motor_b = Motor(Ports.PORT2, GearSetting.RATIO_18_1, False)
left_motors = MotorGroup(left_motor_a, left_motor_b)
# Create the right Motors and group them under the
# MotorGroup "right_motors".
right_motor_a = Motor(Ports.PORT3, GearSetting.RATIO_18_1, True)
right_motor_b = Motor(Ports.PORT4, GearSetting.RATIO_18_1, True)
right_motors = MotorGroup(right_motor_a, right_motor_b)
# Construct a 4-Motor Drivetrain "drivetrain" with the
# DriveTrain class.
drivetrain = DriveTrain(left_motors, right_motors, 319.19, 295, 40, MM, 1)

Este objeto drivetrain se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de la clase DriveTrain.

Para incorporar un Sensor inercial o un Sensor giroscópico para una funcionalidad de giro mejorada en su transmisión, puede incluirlo al crear un objeto usando el constructor de clase SmartDrive.

Métodos de clase#

drive()#

El método drive(direction, velocity, units) se utiliza para conducir el Drivetrain en la dirección especificada para siempre, hasta que se utilice otro método Drivetrain o se detenga el proyecto.

Este es un método sin espera y permite que el siguiente método se ejecute sin demora.

Parámetros

Descripción

dirección

Un DirectionType válido.

velocidad

Opcional. La velocidad a la que se moverá el tren motriz. Se utilizará la velocidad predeterminada establecida por el método set_velocity().

unidades

Opcional. Un tipo VelocityUnits válido. El valor predeterminado es RPM.

Devoluciones: Ninguna.

# Drive the Drivetrain forward.
drivetrain.drive(FORWARD)

# Drive the Drivetrain in reverse for 100 percent velocity.
drivetrain.drive(REVERSE, 100, PERCENT)

drive_for()#

El método drive_for(dirección, distancia, unidades, velocidad, unidades_v, esperar) se utiliza para conducir el tren motriz una distancia determinada.

Este puede ser un método de espera o sin espera dependiendo de si se utiliza el parámetro wait.

Parámetros

Descripción

dirección

Un DirectionType válido.

distancia

La distancia que debe recorrer el tren motriz.

unidades

Opcional. Un tipo DistanceUnits válido. El valor predeterminado es PULGADAS.

velocidad

Opcional. La velocidad a la que se moverá el tren motriz. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método set_drive_velocity().

unidades_v

Opcional. Un tipo VelocityUnits válido. El valor predeterminado es RPM.

esperar

Opcional. El parámetro wait determina si el método bloqueará los métodos subsiguientes (wait=True) o permitirá su ejecución inmediata (wait=False). Si no se especifica, el valor predeterminado para el parámetro wait es wait=True.

Devoluciones: Ninguna.

# Drive forward for 10 inches.
drivetrain.drive_for(FORWARD, 10)

turn()#

El método turn(direction, velocity, units) se utiliza para girar el tren motriz hacia la izquierda o hacia la derecha.

Este es un método sin espera y permite que el siguiente método se ejecute sin demora.

Parámetros

Descripción

dirección

Un TurnType válido.

velocidad

Opcional. La velocidad a la que girará el tren motriz. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método set_turn_velocity().

unidades

Opcional. Un tipo VelocityUnits válido. El valor predeterminado es RPM.

Devoluciones: Ninguna.

# Turn the Drivetrain to the right.
drivetrain.turn(RIGHT)

# Turn the Drivetrain to the left at 25 percent velocity.
drivetrain.turn(LEFT, 25, PERCENT)

turn_for()#

The turn_for(direction, angle, units, velocity, units_v, wait) turns the drivetrain left or right for a specified angle or rotations.

Este puede ser un método de espera o sin espera dependiendo de si se utiliza el parámetro wait.

Parámetros

Descripción

dirección

Un TurnType válido.

ángulo

El ángulo en el que debe girar la transmisión.

unidades

Opcional. Un tipo RotationUnits válido. El valor predeterminado es GRADOS.

velocidad

Opcional. La velocidad a la que girará el tren motriz. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método set_turn_velocity().

unidades_v

Opcional. Un tipo VelocityUnits válido. El valor predeterminado es RPM.

esperar

Opcional. El parámetro wait determina si el método bloqueará los métodos subsiguientes (wait=True) o permitirá su ejecución inmediata (wait=False). Si no se especifica, el valor predeterminado para el parámetro wait es wait=True.

Devoluciones: Ninguna.

# Turn right for 90 degrees.
drivetrain.turn_for(RIGHT, 90)

stop()#

El método stop() se utiliza para detener el tren motriz, estableciéndolo a velocidad 0 y configurando el modo de detención actual.

Devoluciones: Ninguna.

# Stop the Drivetrain.
drivetrain.stop()

is_moving()#

El método is_moving() verifica si el tren motriz se está moviendo actualmente.

Devuelve: Verdadero si el tren motriz se está moviendo actualmente. Falso si el tren motriz no se está moviendo actualmente.

is_done()#

El método is_done() verifica si el tren motriz no se está moviendo actualmente.

Este es un método sin espera y permite que el siguiente método se ejecute sin demora.

Devuelve: Verdadero si el tren motriz no se está moviendo actualmente. Falso si el tren motriz se está moviendo actualmente.

set_drive_velocity()#

El método set_drive_velocity(velocity, units) se utiliza para establecer la velocidad predeterminada del tren motriz. Esta configuración de velocidad afecta a todos los métodos del tren motriz subsiguientes, a menos que se especifique una velocidad específica en dichos métodos.

Parámetros

Descripción

velocidad

La nueva velocidad que se establecerá como predeterminada para el tren motriz.

unidades

Opcional. Un tipo VelocityUnits válido. El valor predeterminado es RPM.

Devoluciones: Ninguna.

# Set the Drivetrain to drive at a velocity of 200 RPM.
drivetrain.set_drive_velocity(200)

# Set the Drivetrain to drive at a velocity of 100 PERCENT.
drivetrain.set_drive_velocity(100, PERCENT)

set_turn_velocity()#

El método set_turn_velocity(velocity, units) se utiliza para establecer la velocidad predeterminada para las maniobras de giro en el tren motriz. Esta configuración especifica la velocidad a la que el tren motriz ejecutará el método de giro a menos que se sobrescriba con una velocidad específica en dicho método.

Parámetros

Descripción

velocidad

La nueva velocidad que se establecerá como predeterminada para las maniobras de giro.

unidades

Opcional. Un tipo VelocityUnits válido. El valor predeterminado es RPM, a menos que se haya modificado previamente mediante el método drivetrain.set_turn_velocity().

Devoluciones: Ninguna.

# Set the Drivetrain to turn at a velocity of 200 RPM.
drivetrain.set_turn_velocity(200)

# Set the Drivetrain to turn at a velocity of 100 PERCENT.
drivetrain.set_turn_velocity(100, PERCENT)

set_stopping()#

El método set_stopping(mode) se utiliza para establecer el modo de parada de todos los motores del tren motriz. Esta configuración determina el comportamiento de los motores cuando reciben un método de parada o cuando la velocidad se establece en cero.

Parámetros

Descripción

modo

Un BrakeType válido. El valor predeterminado es COAST, a menos que se haya modificado previamente mediante el método drivetrain.set_stopping().

Devoluciones: Ninguna.

# Set the stopping mode to BRAKE.
drivetrain.set_stopping(BRAKE)

set_timeout()#

El método set_timeout(timeout, units) se utiliza para establecer el tiempo de espera para todos los motores del tren motriz. Este ajuste determina durante cuánto tiempo el tren motriz intentará ejecutar los métodos drive_for y turn_for antes de agotar el tiempo de espera si los motores no han completado sus movimientos.

Parámetros

Descripción

se acabó el tiempo

La duración del tiempo de espera que se establecerá como predeterminada para las operaciones de transmisión.

unidades

Opcional. Un tipo TimeUnits válido. El valor predeterminado es MSEC, a menos que se haya modificado previamente con el método set_timeout().

Devoluciones: Ninguna.

# Set the timeout for the Drivetrain to 1000 milliseconds.
drivetrain.set_timeout(1000)

# Set the timeout for the Drivetrain to 2 seconds.
drivetrain.set_timeout(2, SECONDS)

get_timeout()#

El método get_timeout() obtiene la configuración de tiempo de espera actual.

Devuelve: El tiempo actual después del cual se agotará el tiempo de espera de un método Drivetrain.

velocity()#

El método velocity() devuelve la velocidad promedio de los motores izquierdo y derecho.

Parámetros

Descripción

unidades

Opcional. Un tipo VelocityUnits válido. El valor predeterminado es RPM.

Devuelve: La velocidad del tren motriz en las unidades proporcionadas.

current()#

El método current() devuelve la corriente promedio de los motores izquierdo y derecho.

Parámetros

Descripción

unidades

Opcional. La única unidad válida para la corriente es “AMP”.

Devuelve: La corriente del tren motriz en las unidades proporcionadas.

power()#

El método power() devuelve la potencia total que utilizan todos los motores del tren motriz.

Parámetros

Descripción

unidades

Opcional. La única unidad válida para potencia es “WATT”.

Devoluciones: La potencia del tren motriz en las unidades proporcionadas.

torque()#

El método torque() devuelve el torque total de todos los motores del tren motriz.

Parámetros

Descripción

unidades

Opcional. Un tipo TorqueUnits válido. El valor predeterminado es NM.

Devoluciones: El torque del tren motriz en las unidades proporcionadas.

efficiency()#

El método efficiency() devuelve la eficiencia promedio de los motores izquierdo y derecho.

Parámetros

Descripción

unidades

Opcional. La única unidad válida para la eficiencia es “PORCENTAJE”.

Devoluciones: La eficiencia del tren motriz en las unidades proporcionadas.

temperature()#

El método temperature() devuelve la temperatura promedio de los motores izquierdo y derecho.

Parámetros

Descripción

unidades

Opcional. Un tipo TemperatureUnits válido. El valor predeterminado es CELSIUS.

Devoluciones: La temperatura del tren motriz en las unidades proporcionadas.