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 |
---|---|
|
El nombre del Motor o Grupo Motor izquierdo. |
|
El nombre del Motor o Grupo Motor derecho. |
|
Circunferencia de las ruedas motrices. El valor predeterminado es 300 mm. |
|
Ancho de vía del tren motriz. El valor predeterminado es 320 mm. |
|
Distancia entre ejes del tren motriz. El valor predeterminado es 320 mm. |
|
Una distanceUnit válida para las unidades en las que se especifican wheelTravel, trackWidth y wheelBase. El valor predeterminado es |
|
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 ( |
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 ( |
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 |
unidades_v |
Una velocityUnit válida. El valor predeterminado es |
esperar a que se complete |
Determina si el comando bloqueará los comandos subsiguientes ( |
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 |
unidades_v |
Una velocityUnit válida. El valor predeterminado es |
esperar a que se complete |
Determina si el comando bloqueará los comandos subsiguientes ( |
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 |
unidades |
Una velocityUnit válida. El valor predeterminado es |
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 |
esperar a que se complete |
Determina si el comando bloqueará los comandos subsiguientes ( |
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 |
esperar a que se complete |
Determina si el comando bloqueará los comandos subsiguientes ( |
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 |
velocidad |
La velocidad a la que girará la transmisión. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método |
unidades_v |
Una velocityUnit válida. El valor predeterminado es |
esperar a que se complete |
Determina si el comando bloqueará los comandos subsiguientes ( |
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 |
velocidad |
La velocidad a la que girará la transmisión. Si no se proporciona, se utilizará la velocidad predeterminada establecida por el método |
unidades_v |
Una velocityUnit válida. El valor predeterminado es |
esperar a que se complete |
Determina si el comando bloqueará los comandos subsiguientes ( |
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 |
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 |
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 |
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.