transmisión#

Inicializando la clase de transmisión#

Se crea un sistema de transmisión utilizando el siguiente constructor:

El constructor drivetrain crea un objeto drivetrain.

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

Circunferencia de las ruedas motrices. El valor predeterminado es 300 mm.

ancho de pista

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

distancia entre ejes

Distancia entre ejes del tren motriz. El valor predeterminado es 320 mm.

unidades

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

El gearSetting del motor 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.
motor left_motor = motor(PORT1,false);
motor right_motor = motor(PORT2, true);
// Construct a 2-Motor drivetrain "Drivetrain" with the
// drivetrain class.
drivetrain Drivetrain = drivetrain(left_motor, right_motor, 259.34, 320, 40, mm, ratio18_1);

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

// Create the left Motors and group them under the
// motor_group "leftMotors".
motor leftMotorA = motor(PORT1, false);
motor leftMotorB = motor(PORT2, false);
motor_group leftMotors = motor_group(leftMotorA, leftMotorB);
// Create the right Motors and group them under the
// MotorGroup "rightMotors".
motor rightMotorA = motor(PORT3, true);
motor rightMotorB = motor(PORT4, true);
motor_group rightMotors = motor_group(rightMotorA, rightMotorB);
// Construct a 4-Motor drivetrain "Drivetrain" with the
// drivetrain class.
drivetrain Drivetrain = drivetrain(leftMotors, rightMotors, 259.34, 320, 40, mm, ratio18_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#

conducir()#

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

Este método se llama de las siguientes maneras:

El método drive(dir) se utiliza para conducir la transmisión en la dirección especificada para siempre a la velocidad predeterminada especificada por el método setDriveVelocity(), hasta que se utilice otro método de movimiento de la transmisión o se detenga el proyecto.

Parámetros

Descripción

director

Un DirectionType válido.

Devoluciones: Ninguna.

// Drive the drivetrain forward.
Drivetrain.drive(forward);

El método drive(dir, velocity, units) se utiliza para impulsar el tren motriz en la dirección especificada para siempre a una velocidad especificada, hasta que se utilice otro método de movimiento del tren motriz o se detenga el proyecto.

Parámetros

Descripción

director

Un directionType válido.

velocidad

La velocidad a la que se moverá el tren motriz.

unidades

Una velocityUnit válida.

Devoluciones: Ninguna.

// Drive the drivetrain forward at 100 rpm.
Drivetrain.drive(forward, 100, rpm);

conducirPara()#

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

Este método se llama de las siguientes maneras:

El método driveFor(distance, units, waitForCompletion) se utiliza para conducir el sistema de transmisión durante una distancia específica a la velocidad predeterminada.

Parámetros

Descripción

distancia

La distancia que debe recorrer el tren motriz.

unidades

Una DistanceUnit válida. El valor predeterminado es pulgadas.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: Un valor booleano que representa si la transmisión ha alcanzado la distancia objetivo.

// Drive the drivetrain for 10 inches.
Drivetrain.driveFor(10, inches);

El método driveFor(dir, distance, units, waitForCompletion) se utiliza para conducir el sistema de transmisión en una dirección específica durante una distancia específica a la velocidad predeterminada.

Parámetros

Descripción

director

Un directionType válido.

distancia

La distancia que debe recorrer el tren motriz.

unidades

Una unidad de distancia válida. El valor predeterminado es pulgadas.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: Un valor booleano que representa si la transmisión ha alcanzado la distancia objetivo.

// Drive the drivetrain forward for 10 inches.
Drivetrain.driveFor(forward, 10, inches);

El método driveFor(distancia, unidades, velocidad, unidades_v, waitForCompletion) se utiliza para conducir el sistema de transmisión durante una distancia específica a la velocidad predeterminada.

Parámetros

Descripción

distancia

La distancia que debe recorrer el tren motriz.

unidades

Una unidad de distancia válida. El valor predeterminado es pulgadas.

velocidad

La velocidad a la que se moverá la transmisión. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método setDriveVelocity().

unidades_v

Una velocityUnit válida. El valor predeterminado es rpm.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: Un valor booleano que representa si la transmisión ha alcanzado la distancia objetivo.

// Drive the drivetrain for 10 inches at 100 rpm.
Drivetrain.driveFor(10, inches, 100, rpm);

El método driveFor(dir, distance, units, velocity, units_v, waitForCompletion) se utiliza para conducir el sistema de transmisión durante una distancia específica a la velocidad predeterminada.

Parámetros

Descripción

director

Un directionType válido.

distancia

La distancia que debe recorrer el tren motriz.

unidades

Una unidad de distancia válida. El valor predeterminado es pulgadas.

velocidad

La velocidad a la que se moverá la transmisión. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método setDriveVelocity().

unidades_v

Una velocityUnit válida. El valor predeterminado es rpm.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: Un valor booleano que representa si la transmisión ha alcanzado la distancia objetivo.

// Drive the drivetrain forward for 10 inches at 100 rpm.
Drivetrain.driveFor(forward, 10, inches, 100, rpm);

doblar()#

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

Este método se llama de las siguientes maneras:

El método turn(dir) se utiliza para girar el robot en una dirección específica a la velocidad predeterminada especificada por el método setTurnVelocity(), hasta que se utilice otro método de movimiento del tren de transmisión o se detenga el proyecto.

Parámetros

Descripción

director

Un directionType válido.

Devoluciones: Ninguna.

// Turn the drivetrain right.
Drivetrain.turn(right);

El método turn(dir, velocity, units) se utiliza para girar el robot en una dirección específica a una velocidad específica, hasta que se utilice otro método de movimiento del tren de potencia o se detenga el proyecto.

Parámetros

Descripción

director

Un directionType válido.

velocidad

La velocidad a la que girará la transmisión. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método setTurnVelocity().

unidades

Una velocityUnit válida. El valor predeterminado es rpm.

Devoluciones: Ninguna.

// Turn the drivetrain right at 100 rpm.
Drivetrain.turn(right, 100, rpm);

girarPara()#

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

Este método se llama de las siguientes maneras:

The turnFor(angle, units, waitForCompletion) turns the drivetrain for a specified angle or rotations at the default velocity as specified by the setTurnVelocity() method.

Parámetros

Descripción

ángulo

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

unidades

Una rotationUnit válida. El valor predeterminado es grados.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: Un valor booleano que representa si la transmisión ha girado al ángulo objetivo.

// Turn the drivetrain for 90 degrees.
Drivetrain.turnFor(90, degrees);

The turnFor(dir, angle, units, waitForCompletion) turns the drivetrain left or right for a specified angle or rotations at the default velocity as specified by the setTurnVelocity() method.

Parámetros

Descripción

director

Un directionType válido.

ángulo

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

unidades

Una rotationUnit válida. El valor predeterminado es grados.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: Un valor booleano que representa si la transmisión ha girado al ángulo objetivo.

// Turn the drivetrain right for 90 degrees.
Drivetrain.turnFor(right, 90, degrees);

The turnFor(angle, units, velocity, units_v, waitForCompletion) turns the drivetrain for a specified angle or rotations at a specified velocity.

Parámetros

Descripción

ángulo

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

unidades

Una rotationUnit válida. El valor predeterminado es grados.

velocidad

La velocidad a la que girará la transmisión. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método setTurnVelocity().

unidades_v

Una velocityUnit válida. El valor predeterminado es rpm.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: Un valor booleano que representa si la transmisión ha girado al ángulo objetivo.

// Turn the drivetrain for 90 degrees at 100 rpm.
Drivetrain.turnFor(90, degrees, 100, rpm);

The turnFor(dir, angle, units, velocity, units_vwaitForCompletion) turns the drivetrain left or right for a specified angle or rotations at a specified velocity.

Parámetros

Descripción

director

Un directionType válido.

ángulo

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

unidades

Una rotationUnit válida. El valor predeterminado es grados.

velocidad

La velocidad a la que girará la transmisión. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método setTurnVelocity().

unidades_v

Una velocityUnit válida. El valor predeterminado es rpm.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: Un valor booleano que representa si la transmisión ha girado al ángulo objetivo.

// Turn the drivetrain right for 90 degrees at 100 rpm.
Drivetrain.turnFor(right, 90, degrees, 100, rpm);

detener()#

Este es un comando sin espera y permite que el siguiente comando se ejecute sin demora.

Este método se llama de las siguientes maneras:

El comando stop() se utiliza para detener la transmisión, estableciéndola a velocidad cero y configurando el modo de frenado actual. El tipo de freno predeterminado es coast, a menos que se haya modificado previamente con el comando setStopping().

Devoluciones: Ninguna.

// Spin Drivetrain for 2.5 seconds.
Drivetrain.spin(forward);

wait(2.5 seconds);

// Stop Drivetrain.
Drivetrain.stop();

El comando stop(mode) se utiliza para detener la transmisión mediante un tipo de freno específico.

Parámetros

Descripción

modo

Un brakeType válido.

Devoluciones: Ninguna.

// Spin Drivetrain for 2.5 seconds.
Drivetrain.spin(forward);

wait(2.5 seconds);

// Stop Drivetrain using the hold Brake Type.
Drivetrain.stop(hold);

se mueve()#

El comando isMoving() devuelve si algún motor de transmisión está encendido y girando hacia un objetivo específico.

Devuelve: true si algún motor de transmisión está encendido y girando hacia un objetivo. false si terminó de girar hacia un objetivo.

estáHecho()#

El comando isDone() regresa si todos los motores del tren de transmisión terminaron de girar hacia un objetivo específico.

Devuelve: true si todos los motores del tren de transmisión terminaron de girar hacia un objetivo. false si algún motor del tren de transmisión está encendido y girando hacia un objetivo.

establecerVelocidadDeConducción()#

El método setDriveVelocity(velocity, units) se utiliza para establecer la velocidad predeterminada del tren motriz. Esta configuración de velocidad afecta a todos los métodos de transmisión posteriores, 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

Una velocityUnit o un porcentaje válido. El valor predeterminado es rpm.

Devoluciones: Ninguna.

// Set the drivetrain to drive at a velocity of 200 rpm.
Drivetrain.setDriveVelocity(200, rpm);

establecerVelocidadDeGiro()#

El método setTurnVelocity(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

Una velocityUnit o un porcentaje válido. El valor predeterminado es rpm.

Devoluciones: Ninguna.

// Set the drivetrain to turn at a velocity of 200 RPM.
Drivetrain.setTurnVelocity(200, rpm);

establecerDetener()#

El método setStopping(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.

Devoluciones: Ninguna.

// Set the stopping mode to BRAKE.
Drivetrain.setStopping(brake);

establecerRelaciónDeEngranajes()#

El método setGearRatio(mode) se utiliza para establecer la relación de transmisión de todos los motores del tren motriz.

Parámetros

Descripción

modo

Un gearSetting válido.

Devoluciones: Ninguna.

establecerTiempo de espera()#

El método Drivetrain.setTimeout(time, units) se utiliza para establecer el tiempo de espera de todos los motores del tren motriz. Este ajuste determina durante cuánto tiempo el tren motriz intentará ejecutar el método driveFor o turnFor 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 del tren motriz.

unidades

Un tipo timeUnit válido. El valor predeterminado es mseg.

Devoluciones: Ninguna.

// Set the timeout for the drivetrain to 10 seconds.
Drivetrain.setTimeout(10, seconds);

velocidad()#

El método velocity(units) devuelve la velocidad promedio del sistema de transmisión.

Parámetros

Descripción

unidades

Una velocityUnit o un porcentaje válido. El valor predeterminado es rpm.

Devuelve: Un doble que representa la velocidad del tren motriz en las unidades especificadas.

actual()#

El método current() devuelve la corriente promedio de la transmisión.

Parámetros

Descripción

unidades

Las únicas unidades válidas para la corriente son “amperio” o “porcentaje”.

Devuelve: Un doble que representa la corriente del tren motriz en las unidades especificadas.

Voltaje()#

El método voltage(units) devuelve la velocidad promedio del sistema de transmisión.

Parámetros

Descripción

unidades

Una voltageUnit válida. El valor predeterminado es volt.

Devuelve: Un doble que representa el voltaje del tren motriz en las unidades especificadas.

fuerza()#

El método power(units) devuelve la potencia promedio del sistema de transmisión.

Parámetros

Descripción

unidades

La única unidad válida para potencia es el “vatio”.

Devuelve: Un doble que representa la potencia del tren motriz en las unidades especificadas.

esfuerzo de torsión()#

El método torque(units) devuelve el torque promedio del tren motriz.

Parámetros

Descripción

unidades

Una unidad de par válida. El valor predeterminado es Nm.

Devuelve: Un doble que representa el torque del tren motriz en las unidades especificadas.

eficiencia()#

El método efficiency(units) devuelve la eficiencia promedio del sistema de transmisión.

Parámetros

Descripción

unidades

La única unidad válida para la eficiencia es el “porcentaje”.

Devuelve: Un doble que representa la eficiencia del tren motriz en las unidades proporcionadas.

temperatura()#

El método temperature(units) devuelve la temperatura promedio de la transmisión.

Parámetros

Descripción

unidades

La única unidad válida para la temperatura es el “porcentaje”.

Devuelve: Un doble que representa la temperatura del tren motriz en las unidades proporcionadas.