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 |
---|---|
|
El nombre del Motor o Grupo Motor izquierdo. |
|
El nombre del Motor o Grupo Motor derecho. |
|
Opcional. La circunferencia de las ruedas motrices. El valor predeterminado es 300 mm. |
|
Opcional. Ancho de vía del tren motriz. El valor predeterminado es 320 mm. |
|
Opcional. La distancia entre ejes del tren motriz. El valor predeterminado es 320 mm. |
|
Opcional. Una DistanceUnit válida para las unidades en las que se especifican wheelTravel, trackWidth y wheelBase. El valor predeterminado es |
|
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 |
unidades |
Opcional. Un tipo VelocityUnits válido. El valor predeterminado es |
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 |
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 |
unidades_v |
Opcional. Un tipo VelocityUnits válido. El valor predeterminado es |
esperar |
Opcional. El parámetro wait determina si el método bloqueará los métodos subsiguientes ( |
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 |
unidades |
Opcional. Un tipo VelocityUnits válido. El valor predeterminado es |
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 |
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 |
unidades_v |
Opcional. Un tipo VelocityUnits válido. El valor predeterminado es |
esperar |
Opcional. El parámetro wait determina si el método bloqueará los métodos subsiguientes ( |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Devoluciones: La temperatura del tren motriz en las unidades proporcionadas.