Tren de transmisión#

Introducción#

La clase de sistema de transmisión drivetrain controla cómo se desplaza y gira un robot. Un sistema de transmisión está compuesto por motores y ruedas que trabajan conjuntamente para mover el robot.

Un sistema de transmisión drivetrain no utiliza un sensor inercial, sensor giroscópico ni sensor GPS para giros basados ​​en rumbo o rotación. Puede avanzar o retroceder y girar a la izquierda o a la derecha, pero no puede girar a un rumbo o rotación específicos. Para giros basados ​​en rumbo y rotación, utilice la clase smartdrive.

Clases derivadas#

La clase drivetrain sirve como clase base para las siguientes clases derivadas:

  • smartdrive: esta clase agrega soporte para sensor inercial, sensor GPS o sensor giroscópico para habilitar giros basados en rumbo y rotación.

Constructores de clase#

1 - Crea una transmisión utilizando objetos motor_group existentes para los lados izquierdo (&l) y derecho (&r).

drivetrain(
    motor_group      &l,
    motor_group      &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

2 - Crea un tren motriz utilizando objetos de motor existentes para los lados izquierdo (&l) y derecho (&r).

drivetrain(
    motor            &l,
    motor            &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

Destructor de clase#

Destruye el objeto drivetrain y libera los recursos asociados.

virtual ~drivetrain();

Parámetros#

Parámetro

Tipo

Descripción

&l / &r

motor_group / motor

Los motores o grupos de motores izquierdo y derecho. Ambos parámetros deben usar el mismo tipo: ya sea dos objetos motor_group o dos objetos motor.

wheelTravel

double

La circunferencia de las ruedas del tren motriz. El valor predeterminado es 320.

trackWidth

double

La distancia entre las ruedas izquierda y derecha. El valor predeterminado es 320.

wheelBase

double

La distancia entre las ruedas delanteras y traseras. El valor predeterminado es 130.

unit

distanceUnits

La unidad para wheelTravel, trackWidthy wheelBase: mm (milímetros, por defecto) u inches.

externalGearRatio

double

La relación de transmisión utilizada para ajustar las distancias de transmisión si se utilizan engranajes. El valor predeterminado es 1.0.

Ejemplo#

// Create the left and right motor objects
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor object
    rightMotor, // right motor object
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Funciones de los miembros#

La clase drivetrain incluye las siguientes funciones miembro:

Acciones: mueve y gira el robot.

  • drive - Mueve el robot hacia adelante o hacia atrás para siempre.

  • driveFor - Mueve el robot hacia adelante o hacia atrás una distancia específica.

  • turn - Gira el robot a la izquierda o a la derecha para siempre.

  • turnFor - Gira el robot a la izquierda o a la derecha un número específico de grados.

  • stop - Detiene el movimiento del robot.

Ajustes: ajusta los ajustes del tren motriz.

  • setDriveVelocity - Le dice al robot qué tan rápido conducir.

  • setTurnVelocity - Le dice al robot qué tan rápido debe girar.

  • setStopping - Indica cómo dejará de moverse el robot: frenando, desplazándose por inercia o sosteniéndose.

  • setTimeout: establece cuántos segundos intentará el robot terminar un movimiento.

Valores - Compruebe el estado del movimiento.

  • isDone - Devuelve si el robot ha terminado de moverse, como un valor booleano.

  • isMoving - Devuelve si el robot se está moviendo, como un valor booleano.

  • velocity: devuelve la velocidad a la que conduce el robot.

  • current: Devuelve la cantidad de corriente eléctrica que utiliza el tren motriz.

  • power: devuelve la rapidez con la que el tren motriz consume energía.

  • torque - Devuelve la cantidad de torque que está utilizando el tren motriz.

  • efficiency: devuelve la eficiencia con la que el tren motriz utiliza la energía.

  • temperature: devuelve la temperatura del tren motriz.

  • voltage - Devuelve el voltaje eléctrico suministrado al tren motriz.

Antes de llamar a cualquier drivetrain del miembro del drivetrain objeto del tren motriz, como se muestra a continuación:

/* This constructor is required when using VS Code.
Drivetrain configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the left and right motor objects
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor object
    rightMotor, // right motor object
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Acciones#

unidad#

drive mueve el robot hacia adelante o hacia atrás para siempre. El robot continuará moviéndose hasta que se le dé otra acción, como girar o detenerse. Para RPM o DPS, el límite se cambia por la relación de transmisión del tren motriz.

Available Functions

1 - Conduce con la velocidad de conducción configurada actual.

void drive(
    directionType dir );

2 - Conduce a la velocidad especificada.

void drive(
    directionType dir,
    double        velocity,
    velocityUnits units );

Parameters

Parámetro

Tipo

Descripción

dir

directionType

La dirección en la que se mueve el robot: forward o hacia reverse.

velocity

double

La velocidad para conducir con del 0% al 100% cuando se usan velocityUnits::pct, de 0 a 600 rpm cuando se usan rpm, o de 0 a 3600 grados por segundo cuando se usan dps. Si no se proporciona velocidad, el robot se acciona a la velocidad de accionamiento actual.

units

velocityUnits

La unidad de velocidad velocityUnits::pct (porcentaje), rpm (rotaciones por minuto) o dps (grados por segundo).

Return Values

Esta función no devuelve un valor.

Notes
  • drive no está en espera; el proyecto continuará ejecutando la siguiente línea de código inmediatamente después de la llamada.

  • El tren de transmisión continuará moviéndose hasta que se llame a stop o se ejecute otra función de movimiento del tren de transmisión (como driveFor o turn).

  • Las funciones como isDone y isMoving no son aplicables a drive, ya que no utiliza movimiento basado en objetivos (no tiene un parámetro de distance).

Examples
// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();

driveFor#

driveFor mueve el robot hacia adelante o hacia atrás una distancia específica. El proyecto esperará hasta que el robot termine de moverse antes de que se ejecute la siguiente línea de código de forma predeterminada. Para RPM o DPS, el límite se cambia por la relación de transmisión del tren motriz.

Available Functions

1 - Conduce en la dirección especificada durante una distancia utilizando la velocidad de conducción configurada actual.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

2 - Conduce en una dirección que depende de la distancia utilizando la velocidad de conducción configurada actual.

bool driveFor(
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

3 - Conduce en una dirección que depende de la distancia a la velocidad especificada.

bool driveFor(
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - Conduce en la dirección especificada una distancia a la velocidad especificada.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

Parámetro

Tipo

Descripción

dir

directionType

La dirección en la que se mueve el robot: forward o hacia reverse.

distance

double

La distancia que recorre el robot.

units

distanceUnits

La unidad de distancia: mm (milímetros), incheso cm (centímetros).

velocity

double

La velocidad para conducir con del 0% al 100% cuando se usan velocityUnits::pct, de 0 a 600 rpm cuando se usan rpm, o de 0 a 3600 grados por segundo cuando se usan dps. Si no se proporciona velocidad, el robot se acciona a la velocidad de accionamiento actual.

units_v

velocityUnits

La unidad de velocidad velocityUnits::pct (porcentaje), rpm (rotaciones por minuto) o dps (grados por segundo).

waitForCompletion

bool

true (predeterminado) hace que el proyecto espere hasta que el robot termine de moverse antes de que se ejecute la siguiente línea de código. false hace que la siguiente línea de código se ejecute de inmediato.

Return Values

Devuelve si el robot alcanzó la distancia objetivo, como un valor booleano.

  • true - El robot alcanzó la distancia objetivo.

  • false - El robot no terminó el movimiento, o la función regresó antes de que se completara el movimiento porque waitForCompletion se estableció en false.

Notes
  • Ejecutar otra función de movimiento del tren motriz (como drive o turnFor) mientras driveFor está en curso interrumpirá el movimiento actual.

  • Debido a que driveFor se basa en un objetivo (utiliza un parámetro de distancia distance ), funciones como isDone y isMoving funcionan con driveFor.

Examples
// Drive 200 mm, then back 200 mm
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);

giro#

turn hace que el robot gire a izquierda o derecha indefinidamente. El robot seguirá girando hasta que se le indique otra acción, como conducir o detenerse. Para RPM o DPS, el límite se modifica según la relación de transmisión del sistema de propulsión.

Available Functions

1 - Gira con la velocidad de giro configurada actual.

void turn(
    turnType dir );

2 - Gira a la velocidad especificada.

void turn(
    turnType     dir,
    double       velocity,
    velocityUnits units );

Parameters

Parámetro

Tipo

Descripción

dir

turnType

La dirección en la que gira el robot: left o right.

velocity

double

La velocidad para girar es de 0% a 100% cuando se usan velocityUnits::pct, de 0 a 600 rpm cuando se usan rpm, o de 0 a 3600 grados por segundo cuando se usan dps. Si no se proporciona velocidad, el robot gira a la velocidad de giro actual.

units

velocityUnits

La unidad de velocidad velocityUnits::pct (porcentaje), rpm (rotaciones por minuto) o dps (grados por segundo).

Return Values This function does not return a value. Notes
  • turn no está en espera; el proyecto continuará ejecutando la siguiente línea de código inmediatamente después de la llamada.

  • El tren de transmisión continuará girando hasta que se llame a stop o se ejecute otra función de movimiento del tren de transmisión (como turnFor o drive).

  • Las funciones como isDone y isMoving no son aplicables a turn, ya que no utiliza movimiento basado en objetivos (no tiene un parámetro angle).

Examples
// Turn right, then left, then stop
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();

turnFor#

turnFor gira el robot a la izquierda o a la derecha un número específico de grados. El giro es relativo a la posición actual del robot. El proyecto esperará hasta que el robot termine de girar antes de que se ejecute la siguiente línea de código de forma predeterminada. Para RPM o DPS, el límite se cambia por la relación de transmisión del tren motriz.

Available Functions

1 - Gira el ángulo especificado utilizando la velocidad de giro configurada actual.

bool turnFor(
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

2 - Gira en la dirección especificada para un ángulo utilizando la velocidad de giro configurada actual.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

3 - Gira el ángulo especificado a la velocidad especificada.

bool turnFor(
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - Gira en la dirección especificada para un ángulo a la velocidad especificada.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

Parámetro

Tipo

Descripción

dir

turnType

La dirección en la que gira el robot: left o right.

angle

double

El ángulo que gira el robot.

units

rotationUnits

La unidad de giro: deg (grados), rev (revoluciones) o raw (unidades RAW). Una revolución equivale a 360 grados.

velocity

double

La velocidad para girar es de 0% a 100% cuando se usan velocityUnits::pct, de 0 a 600 rpm cuando se usan rpm, o de 0 a 3600 grados por segundo cuando se usan dps. Si no se proporciona velocidad, el robot gira a la velocidad de giro actual.

units_v

velocityUnits

La unidad de velocidad velocityUnits::pct (porcentaje), rpm (rotaciones por minuto) o dps (grados por segundo).

waitForCompletion

bool

true (predeterminado) hace que el proyecto espere hasta que el robot termine de girar antes de que se ejecute la siguiente línea de código. false hace que la siguiente línea de código se ejecute de inmediato.

Return Values

Devuelve si el robot alcanzó el ángulo objetivo, como un valor booleano.

  • true - El robot alcanzó el ángulo objetivo.

  • false - El robot no terminó el turno, o la función regresó antes de que se completara el turno porque waitForCompletion se estableció en false.

Notes
  • Ejecutar otra función de movimiento del tren motriz (como turn o drive) turnFor turnFor está en curso interrumpirá el movimiento actual.

  • Debido a que turnFor se basa en un objetivo (utiliza un parámetro angle ), funciones como isDone y isMoving funcionan con turnFor.

Examples
// Turn right then left
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);

parada#

stop detiene el movimiento del robot. Si se proporciona un modo de parada, controla cómo se detiene el robot para esta llamada de función.

Available Functions

1 - Detiene la transmisión utilizando el modo de parada configurado actualmente.

void stop();

2 - Detiene la transmisión utilizando el modo de freno especificado.

void stop(
    brakeType mode );

Parameters

Parámetro

Tipo

Descripción

mode

brakeType

Cómo se detendrá el robot:

  • brake - Se detiene de inmediato. punto
  • coast - Se detiene lentamente.
  • hold - Se detiene de inmediato y mantiene la posición de las ruedas.

Return Values

Esta función no devuelve un valor.

Examples
// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

Mutadores#

setDriveVelocity#

setDriveVelocity le dice al robot qué tan rápido conducir. Un porcentaje más alto hace que el robot conduzca más rápido y un porcentaje más bajo hace que el robot conduzca más lento. Para las RPM, el límite se cambia por la relación de transmisión del tren motriz.

Cada proyecto comienza con el robot conduciendo al 50% de la velocidad por defecto.

Nota: Una velocidad más alta hace que el robot conduzca más rápido, pero puede ser menos preciso. Una velocidad más baja hace que el robot conduzca más lento, pero puede ser más preciso.

Available Functions
void  setDriveVelocity(
  double velocity,
  velocityUnits units );

Parameters

Parámetro

Tipo

Descripción

velocity

double

La velocidad para conducir con del 0% al 100% cuando se usan velocityUnits::pct, de 0 a 600 rpm cuando se usan rpm, o de 0 a 3600 grados por segundo cuando se usan dps.

units

velocityUnits

La unidad de velocidad velocityUnits::pct (porcentaje), rpm (rotaciones por minuto) o dps (grados por segundo).

Return Values

Esta función no devuelve un valor.

Notes
  • La velocidad de transmisión se aplica a todas las funciones de movimiento del tren motriz posteriores (como drive y driveFor) a menos que se proporcione una velocidad específica en la llamada a la función.

Examples
// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

setTurnVelocity#

setTurnVelocity le dice al robot qué tan rápido debe girar. Un porcentaje más alto hace que el robot gire más rápido y un porcentaje más bajo hace que el robot gire más lento.

Cada proyecto comienza con el robot girando a una velocidad del 50% por defecto.

Nota: Una velocidad más alta hace que el robot gire más rápido, pero puede ser menos preciso. Una velocidad más baja hace que el robot gire más lento, pero puede ser más preciso.

Available Functions
void  setTurnVelocity(
  double velocity,
  velocityUnits units );

Parameters

Parámetro

Tipo

Descripción

velocity

double

La velocidad para girar es de 0% a 100% cuando se usan velocityUnits::pct, de 0 a 600 rpm cuando se usan rpm, o de 0 a 3600 grados por segundo cuando se usan dps.

units

velocityUnits

La unidad de velocidad: percent o pct (porcentaje), rpm (rotaciones por minuto) o dps (grados por segundo).

Return Values

Esta función no devuelve un valor.

Notes
  • La velocidad de giro se aplica a todas las funciones de giro del tren motriz posteriores (como turn y turnFor) a menos que se proporcione una velocidad específica en la llamada a la función.

Examples
// Try default, slow, then fast
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(20, percent);
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(100, percent);
myDrivetrain.turnFor(right, 360, degrees);

setStopping#

setStopping establece cómo el robot dejará de moverse: frenando, deslizándose o sosteniéndose.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parámetro

Tipo

Descripción

mode

brakeType

Cómo se detendrá el robot:

  • brake - Se detiene de inmediato. punto
  • coast - Se detiene lentamente.
  • hold - Se detiene de inmediato y mantiene la posición de las ruedas.

Return Values

Esta función no devuelve un valor.

Notes
  • El modo de parada se aplica a todas las llamadas stop posteriores a menos que se proporcione un modo de parada específico en la llamada a la función.

setTimeout#

setTimeout establece cuántos segundos el robot intentará terminar un movimiento. Si el robot no puede terminar en ese tiempo, dejará de intentarlo y pasará a la siguiente línea de código. Esto evita que el robot se atasque en un movimiento.

Available Functions
void  setTimeout(
  int32_t time,
  timeUnits units );

Parameters

Parámetro

Tipo

Descripción

time

int32_t

La cantidad de tiempo que el robot puede intentar terminar un movimiento. Este debe ser un número entero positivo.

units

timeUnits

La unidad de tiempo: sec (segundos) o msec (milisegundos).

Return Values

Esta función no devuelve un valor.

Notes
  • El tiempo de espera solo se aplica a las funciones de movimiento del tren motriz basadas en objetivos (como driveFor y turnFor).

Examples
// Start turning if driving takes too long
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);

Getters#

isDone#

isDone devuelve si el robot ha terminado de moverse, como un valor booleano. Esto se puede utilizar para controlar el tiempo de otros comportamientos basados en el movimiento del robot.

Available Functions
bool isDone( void );

Parameters

Esta función no acepta ningún parámetro.

Return Values
  • true - El robot ha terminado de moverse.

  • false - El robot todavía se está moviendo.

Notes
  • isDone es compatible con movimientos de transmisión basados ​​en objetivos (funciones que se mueven hacia un objetivo, como driveFor y turnFor).

  • isDone es compatible con funciones como drive y turn, ya que no utilizan el movimiento basado en objetivos.

isMoving#

isMoving devuelve si el robot se está moviendo, como un valor booleano. Esto se puede utilizar para controlar el tiempo de otros comportamientos basados en el movimiento del robot.

Available Functions
virtual bool isMoving( void );

Parameters

Esta función no acepta ningún parámetro.

Return Values
  • true - El robot se está moviendo.

  • false - El robot no se mueve.

Notes
  • isMoving es compatible con movimientos de transmisión basados ​​en objetivos (funciones que se mueven hacia un objetivo, como driveFor y turnFor).

  • isMoving es compatible con funciones como drive y turn, ya que no utilizan el movimiento basado en objetivos.

velocidad#

velocity devuelve la velocidad a la que conduce el robot.

Un valor positivo significa que el robot está avanzando. Un valor negativo significa que el robot está conduciendo en reversa.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parámetro

Tipo

Descripción

units

velocityUnits

La unidad de velocidad: percent o pct (porcentaje), rpm (rotaciones por minuto) o dps (grados por segundo).

Return Values

Devuelve la velocidad del tren motriz como un double en la unidad seleccionada.

Examples
// Show velocity before and during motion
Brain.Screen.print("Resting: %f", myDrivetrain.velocity(percent));
myDrivetrain.drive(forward, 100, velocityUnits::pct);
wait(1, seconds);
Brain.Screen.newLine();
Brain.Screen.print("Moving: %f", myDrivetrain.velocity(percent));
myDrivetrain.stop();

actual#

current devuelve la cantidad de corriente eléctrica que está utilizando el tren motriz. La corriente es la cantidad de electricidad que fluye a través del tren motriz. Se puede devolver en amperios (amperios) o como porcentaje, dependiendo de la unidad.

Un valor de corriente más alto significa que el tren motriz está utilizando más corriente eléctrica. Esto puede suceder cuando el robot está empujando contra un objeto o tratando de moverse cuando está atascado.

Esto se puede usar para verificar si el tren motriz tiene dificultades durante un movimiento. Si la corriente se mantiene alta, el tren motriz puede calentarse o usar la energía de manera menos eficiente.

Available Functions

1 - Devuelve la corriente eléctrica del tren motriz en amperios.

double current(
    currentUnits units = currentUnits::amp );

2 - Devuelve la corriente eléctrica del tren motriz como porcentaje del máximo.

double current(
    percentUnits units );

Parameters

Parámetro

Tipo

Descripción

units

currentUnits

La unidad para devolver la corriente en: amp (amperios, por defecto).

units

percentUnits

La unidad para devolver la corriente en: percent o pct.

Return Values

Devuelve la corriente del tren motriz como un double en la unidad seleccionada.

potencia#

la power devuelve la cantidad de potencia que está utilizando el tren motriz, medida en vatios. La potencia muestra la rapidez con la que el tren motriz está utilizando la energía.

Un valor de potencia más alto significa que el tren motriz está utilizando la energía más rápido. Esto puede suceder cuando el robot está empujando contra un objeto o tratando de moverse cuando está atascado.

Esto se puede usar para comparar movimientos o verificar si el tren motriz tiene dificultades. Si la potencia se mantiene alta, el tren motriz puede calentarse o usar la energía de manera menos eficiente.

Available Functions
double power(
  powerUnits units = powerUnits::watt );

Parameters

Parámetro

Tipo

Descripción

units

powerUnits

La unidad de potencia: watt (vatios, por defecto).

Return Values

Devuelve la potencia de la transmisión como un double en vatios.

torque#

El par de torsión muestra la fuerza con la que la transmisión puede empujar o tirar mientras las ruedas giran.

torque devuelve la cantidad de torque que está utilizando el tren motriz, medido en Newton-metros (Nm) o pulgadas-libras (InLb).

Un valor de par más alto significa que el tren motriz está empujando o tirando con más fuerza. Esto puede suceder cuando el robot está empujando contra un objeto o tratando de moverse cuando está atascado.

Esto se puede usar para verificar si la transmisión tiene dificultades o para comparar cuánto empuje necesitan los diferentes movimientos.

Available Functions
double torque(
  torqueUnits units = torqueUnits::nm );

Parameters

Parámetro

Tipo

Descripción

units

torqueUnits

La unidad para devolver el torque en: Nm (medidores de newton, predeterminado) InLb InLb (libras-pulgada).

Return Values

Devuelve el par del tren motriz como un double en la unidad seleccionada.

eficiencia#

efficiency devuelve la eficiencia con la que el tren motriz está utilizando la energía, como un porcentaje del 0% al 100%.

La eficiencia muestra qué parte de la potencia de la transmisión se está utilizando para el movimiento. Un valor de eficiencia más alto significa que se está utilizando más potencia del tren motriz para moverse. Un valor de eficiencia más bajo puede ocurrir cuando el tren motriz está trabajando duro pero no se mueve mucho, como cuando el robot está atascado o empujando contra un objeto.

Esto se puede usar para comparar movimientos o verificar si el tren motriz está desperdiciando energía en lugar de usarla para el movimiento.

Available Functions
double efficiency(
  percentUnits units = percentUnits::pct );

Parameters

Parámetro

Tipo

Descripción

units

percentUnits

La unidad para devolver la eficiencia en: percent o pct (predeterminado).

Return Values

Devuelve la eficiencia del tren motriz como un double en la unidad seleccionada.

temperatura#

temperature devuelve la temperatura promedio del tren motriz como un porcentaje del 0% al 100%.

La temperatura muestra qué tan calientes están los motores del tren motriz. Una temperatura más alta significa que los motores se calientan mientras funcionan. Los motores deben permanecer por debajo de 55°C para seguir funcionando a pleno rendimiento.

Si los motores se calientan demasiado, bajarán su corriente máxima para protegerse. A 70°C, los motores dejarán de funcionar hasta que se enfríen.

Esto se puede usar para verificar si el tren motriz se está calentando demasiado durante movimientos repetidos, carreras largas o cuando está empujando contra un objeto.

Available Functions
double temperature(
  percentUnits units );

Parameters

Parámetro

Tipo

Descripción

units

percentUnits

La unidad para devolver la temperatura en: percent o pct.

Return Values

Devuelve la temperatura media del tren motriz como un double en la unidad seleccionada.

Notes
  • Un valor devuelto del 50% indica que la temperatura promedio del motor es de aproximadamente 45°C (113°F).

  • El rango típico de temperatura de funcionamiento para el sistema de transmisión es aproximadamente de 20°C (68°F) a 70°C (158°F).

voltaje#

el voltage devuelve el voltaje eléctrico suministrado al tren motriz.

El voltaje es la presión eléctrica suministrada a los motores del tren motriz. Esto se puede utilizar con los valores de corriente y potencia para comprender cómo el tren motriz está utilizando la energía eléctrica.

Available Functions
double  voltage(
  voltageUnits units = voltageUnits::volt );

Parameters

Parámetro

Tipo

Descripción

units

voltageUnits

La unidad para devolver el voltaje en: volt (voltios, por defecto) voltageUnits::mV (milivoltios).

Return Values

Devuelve el voltaje del tren motriz como un double en la unidad seleccionada.