Tren motriz#
Para que los comandos de Drivetrain aparezcan en VEXcode V5, se debe configurar un Drivetrain sin giroscopio.
Para obtener información sobre cómo configurar un sistema de transmisión con la ventana Dispositivos en VEXcode V5, consulte estos artículos:
Configurar un sistema de transmisión de 2 motores (sin giroscopio) en VEXcode V5
Configurar un sistema de transmisión de 4 motores (sin giroscopio) en VEXcode V5
Para obtener más información sobre cómo funcionan los sistemas de transmisión, lea Creación de un sistema de transmisión V5.
Inicializando la clase DriveTrain#
También puedes configurar un Drivetrain manualmente utilizando un constructor con 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.