Transmissão#

Introdução#

O sistema de transmissão (classe drivetrain controla a forma como um robô se move e gira. Um sistema de transmissão é composto por motores e rodas que trabalham em conjunto para movimentar o robô.

Um sistema de transmissão drivetrain não utiliza um Sensor Inercial, Sensor Giroscópio ou Sensor GPS para curvas baseadas na direcção ou rotação. Pode conduzir para a frente ou para trás e virar para a esquerda ou para a direita, mas não pode virar para uma direção ou rotação específica. Para curvas baseadas na direção e rotação, utilize a classe smartdrive.

Classes Derivadas#

A classe drivetrain serve de classe base para as seguintes classes derivadas:

  • smartdrive - Esta classe adiciona suporte para sensor inercial, sensor GPS ou sensor giroscópio para permitir curvas baseadas na direção e rotação.

Construtores de Classes#

1 - Cria um grupo motopropulsor utilizando motor_group existentes para os lados esquerdo (&l) e direito (&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 - Cria um grupo motopropulsor utilizando os objectos existentes motor para os lados esquerdo (&l) e direito (&r).

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

Destrutor de classes#

Destrói o objeto drivetrain e liberta os recursos associados.

virtual ~drivetrain();

Parâmetros#

Parâmetro

Tipo

Descrição

&l / &r

motor_group / motor

The left and right motors or motor groups. Both parameters must use the same type: either two motor_group objects or two motor objects.

wheelTravel

double

A circunferência das rodas da transmissão. O valor predefinido é 320.

trackWidth

double

A distância entre as rodas esquerda e direita. O valor predefinido é 320.

wheelBase

double

A distância entre as rodas dianteiras e traseiras. O valor predefinido é 130.

unit

distanceUnits

A unidade para wheelTravel, trackWidthe wheelBase: mm (milímetros, standard) ou inches.

externalGearRatio

double

A relação de transmissão utilizada para ajustar as distâncias de acionamento, caso sejam utilizadas engrenagens. O predefinido é 1.0.

Exemplo#

// 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

Funções de membro#

A classe drivetrain inclui as seguintes funções membro:

Ações - Mova e rode o robô.

  • drive - Move o robô para a frente ou para trás indefinidamente.

  • driveFor - Move o robô para a frente ou para trás por uma distância específica.

  • turn - Vira o robô para a esquerda ou para a direita para sempre.

  • turnFor - Roda o robô para a esquerda ou para a direita de um número específico de graus.

  • stop - Interrompe o movimento do robô.

Definições - Ajustar as definições da transmissão.

  • setDriveVelocity - Informa o robô a que velocidade deve conduzir.

  • setTurnVelocity - Diz ao robô a velocidade a que deve virar.

  • setStopping - Indica como o robô irá parar de se mover: travando, deslizando ou parando.

  • setTimeout - Define quantos segundos o robô tentará terminar um movimento.

Valores - Verificar estado de movimentação.

  • isDone - Retorna se o robô terminou de se mover, como um valor booleano.

  • isMoving - Retorna se o robô se está a mover, como um valor booleano.

  • velocity - Devolve a velocidade de deslocação do robô.

  • current - Devolve a quantidade de corrente elétrica que o grupo motopropulsor está a utilizar.

  • power - Devolve a rapidez com que o grupo motopropulsor está a utilizar energia.

  • torque - Retorna quanto binário a transmissão está a utilizar.

  • efficiency - Devolve a eficiência com que o grupo motopropulsor está a utilizar energia.

  • temperature - Devolve a temperatura da transmissão.

  • voltage - Devolve a tensão eléctrica fornecida ao grupo motopropulsor.

Antes de chamar qualquer função membro do conjunto de transmissão drivetrain , deve ser criado um objeto do conjunto de transmissão drivetrain , como se mostra abaixo:

/* 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

Ações#

conduzir#

drive moves the robot forward or reverse forever. The robot will continue to move until it is given another action, like turning or stopping. For RPM or DPS, the limit is changed by the gear ratio of the drivetrain.

Available Functions

1 - Acionamentos utilizando a velocidade de acionamento configurada.

void drive(
    directionType dir );

2 - Aciona à velocidade especificada.

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

Parameters

Parâmetro

Tipo

Descrição

dir

directionType

A direção em que o robô se move: forward ou reverse.

velocity

double

A velocidade de deslocação varia de 0% a 100% quando se utiliza velocityUnits::pct, de 0 a 600 rpm quando se utiliza rpm) ou de 0 a 3600 graus por segundo quando se utiliza dps. Se não for fornecida qualquer velocidade, o robô deslocar-se-á à velocidade de deslocamento atual.

units

velocityUnits

A unidade de velocidade: velocityUnits::pct (por cento), rpm (rotações por minuto) ou dps (graus por segundo).

Return Values

Esta função não devolve qualquer valor.

Notes
  • A unidade drive não está em espera; o projeto continuará a executar a próxima linha de código imediatamente após a chamada.

  • O grupo motopropulsor continuará a mover-se até que stop seja chamado ou outra função de movimento do grupo motopropulsor (como driveFor ou turn) seja executada.

  • Funções como isDone e isMoving não são aplicáveis ​​​​a drive, uma vez que não usa movimento baseado em alvo (não tem um parâmetro distance).

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

conduzirPara#

O comando drive driveFor controla o movimento do robô para a frente ou para trás, a uma distância específica. Por predefinição, o projeto aguardará até que o robô termine de se mover antes de executar a próxima linha de código. Para RPM ou DPS, o limite é alterado pela relação de transmissão do sistema de tração.

Available Functions

1 - Desloca-se na direção especificada por uma distância utilizando a velocidade de movimento configurada.

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

2 - Move-se numa direção dependente da distância utilizando a velocidade de movimento configurada.

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

3 - Desloca-se numa direção que depende da distância, à velocidade especificada.

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

4 - Desloca-se na direção especificada por uma distância à velocidade especificada.

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

Parameters

Parâmetro

Tipo

Descrição

dir

directionType

A direção em que o robô se move: forward ou reverse.

distance

double

A distância percorrida pelo robô.

units

distanceUnits

A unidade de distância: mm (milímetros), inches) ou cm ) (centímetros).

velocity

double

A velocidade de deslocação varia de 0% a 100% quando se utiliza velocityUnits::pct, de 0 a 600 rpm quando se utiliza rpm) ou de 0 a 3600 graus por segundo quando se utiliza dps. Se não for fornecida qualquer velocidade, o robô deslocar-se-á à velocidade de deslocamento atual.

units_v

velocityUnits

A unidade de velocidade: velocityUnits::pct (por cento), rpm (rotações por minuto) ou dps (graus por segundo).

waitForCompletion

bool

true (padrão) faz com que o projeto aguarde até que o robô termine de se mover antes de executar a linha de código seguinte. false faz com que a próxima linha de código seja executada imediatamente.

Return Values

Retorna um valor booleano indicando se o robô atingiu a distância alvo.

  • true - O robô atingiu a distância alvo.

  • false - O robô não terminou o movimento, ou a função retornou antes de o movimento estar concluído porque waitForCompletion foi definido como false.

Notes
  • A execução de outra função de movimento do grupo motopropulsor (como drive ou turnFor) enquanto driveFor está em curso irá interromper o movimento atual.

  • Como driveFor é baseado no alvo (utiliza um parâmetro de distância distance ), funções como isDone e isMoving funcionam com driveFor.

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

virar#

O comando turn a esquerda ou para a direita indefinidamente. O robô continuará a rodar até receber outra ação, como conduzir ou parar. Para RPM ou DPS, o limite é alterado pela relação de transmissão do sistema de tração.

Available Functions

1 - Curvas utilizando a velocidade de curva configurada.

void turn(
    turnType dir );

2 - Gira à velocidade especificada.

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

Parameters

Parâmetro

Tipo

Descrição

dir

turnType

A direção para a qual o robô vira: left ou right.

velocity

double

A velocidade de rotação varia de 0% a 100% quando se utiliza velocityUnits::pct, de 0 a 600 rpm quando se utilizam rpm, ou de 0 a 3600 graus por segundo quando se utilizam dpsSe não for fornecida qualquer velocidade, o robô roda à velocidade de rotação atual.

units

velocityUnits

A unidade de velocidade: velocityUnits::pct (por cento), rpm (rotações por minuto) ou dps (graus por segundo).

Return Values This function does not return a value. Notes
  • A chamada turn não espera; o projeto continuará a executar a próxima linha de código imediatamente após a chamada.

  • O grupo motopropulsor continuará a rodar até que stop seja chamado ou outra função de movimento do grupo motopropulsor (como turnFor ou drive) seja executada.

  • Funções como isDone e isMoving não são aplicáveis ​​​​a turn, uma vez que não usa movimento baseado em alvo (não tem um parâmetro angle).

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

virarPara#

turnFor , o robô roda para a esquerda ou para a direita durante um número específico de graus. O giro é relativo à posição atual do robô. Por predefinição, o projeto aguardará até que o robô termine de rodar antes de executar a próxima linha de código. Para RPM ou DPS, o limite é alterado pela relação de transmissão do sistema de tração.

Available Functions

1 - Roda para o ângulo especificado utilizando a velocidade de rotação configurada.

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

2 - Gira na direção especificada por um ângulo utilizando a velocidade de rotação configurada.

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

3 - Realiza rotações no ângulo especificado com a velocidade especificada.

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

4 - Gira na direção especificada por um ângulo à velocidade especificada.

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

Parameters

Parâmetro

Tipo

Descrição

dir

turnType

A direção para a qual o robô vira: left ou right.

angle

double

O ângulo de rotação do robô.

units

rotationUnits

A unidade de rotação: deg (graus), rev (rotações) ou raw (unidades brutas). Uma rotação é igual a 360 graus.

velocity

double

A velocidade de rotação varia de 0% a 100% quando se utiliza velocityUnits::pct, de 0 a 600 rpm quando se utilizam rpm, ou de 0 a 3600 graus por segundo quando se utilizam dpsSe não for fornecida qualquer velocidade, o robô roda à velocidade de rotação atual.

units_v

velocityUnits

A unidade de velocidade: velocityUnits::pct (por cento), rpm (rotações por minuto) ou dps (graus por segundo).

waitForCompletion

bool

true (padrão) faz com que o projeto aguarde até que o robô termine de rodar antes de executar a linha de código seguinte. false faz com que a próxima linha de código seja executada imediatamente.

Return Values

Retorna um valor booleano indicando se o robô atingiu o ângulo alvo.

  • true - O robô atingiu o ângulo alvo.

  • false - O robô não terminou o turno, ou a função regressou antes da conclusão do turno porque waitForCompletion foi definido como false.

Notes
  • A execução de outra função de movimento do grupo motopropulsor (como turn ou drive) enquanto turnFor está em curso irá interromper o movimento atual.

  • Como turnFor é baseado no alvo (utiliza um parâmetro de ângulo angle ), funções como isDone e isMoving funcionam com turnFor.

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

parar#

stop interrompe o movimento do robô. Se for fornecido um modo de paragem, este controla a forma como o robô pára para esta chamada de função.

Available Functions

1 - Interrompe o grupo motopropulsor utilizando o modo de paragem atualmente configurado.

void stop();

2 - Interrompe a transmissão utilizando o modo de travagem especificado.

void stop(
    brakeType mode );

Parameters

Parâmetro

Tipo

Descrição

mode

brakeType

Como o robô irá parar:

  • brake - Pára imediatamente.
  • coast - Diminui a velocidade até parar.
  • hold - Pára imediatamente e mantém a posição das rodas.

Return Values

Esta função não devolve qualquer valor.

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

Mutantes#

definirVelocidadeDeAcionamento#

O parâmetro setDriveVelocity define a velocidade de deslocação do robô. Uma percentagem maior aumenta a velocidade, enquanto uma percentagem menor diminui. Em relação à rotação por minuto (RPM), o limite é determinado pela relação de transmissão do sistema de acionamento.

Todos os projetos começam com o robô a deslocar-se a 50% da velocidade por defeito.

Nota: Uma velocidade mais elevada faz com que o robô se mova mais rapidamente, mas pode ser menos preciso. Uma velocidade mais baixa faz com que o robô se mova mais devagar, mas pode ser mais preciso.

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

Parameters

Parâmetro

Tipo

Descrição

velocity

double

A velocidade de condução varia de 0% a 100% quando se utilizam velocityUnits::pct, de 0 a 600 rpm quando se utilizam rpmou de 0 a 3600 graus por segundo quando se utilizam dps.

units

velocityUnits

A unidade de velocidade: velocityUnits::pct (por cento), rpm (rotações por minuto) ou dps (graus por segundo).

Return Values

Esta função não devolve qualquer valor.

Notes
  • A velocidade de acionamento aplica-se a todas as funções subsequentes de movimento do grupo motopropulsor (como drive e driveFor), a menos que seja fornecida uma velocidade específica na chamada da função.

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

definirVelocidadeDeTurno#

O parâmetro setTurnVelocity define a velocidade de rotação do robô. Uma percentagem mais elevada faz com que o robô gire mais rápido, enquanto uma percentagem mais baixa faz com que gire mais devagar.

Todos os projetos começam com o robô a rodar a 50% da velocidade por defeito.

Nota: Uma velocidade mais elevada faz com que o robô gire mais rápido, mas pode ser menos preciso. Uma velocidade mais baixa faz com que o robô gire mais devagar, mas pode ser mais preciso.

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

Parameters

Parâmetro

Tipo

Descrição

velocity

double

A velocidade de rotação de 0% a 100% quando se utiliza velocityUnits::pct, de 0 a 600 rpm quando se utiliza rpm, ou de 0 a 3600 graus por segundo quando se utiliza dps.

units

velocityUnits

A unidade de velocidade: percent ou pct (por cento), rpm (rotações por minuto), ou dps (graus por segundo).

Return Values

Esta função não devolve qualquer valor.

Notes
  • A velocidade de rotação aplica-se a todas as funções de rotação subsequentes do grupo motopropulsor (como turn e turnFor), a menos que seja fornecida uma velocidade específica na chamada da função.

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);

definirParar#

setStopping define a forma como o robô irá parar de se mover: travando, deslizando ou parando.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parâmetro

Tipo

Descrição

mode

brakeType

Como o robô irá parar:

  • brake - Pára imediatamente.
  • coast - Diminui a velocidade até parar.
  • hold - Pára imediatamente e mantém a posição das rodas.

Return Values

Esta função não devolve qualquer valor.

Notes
  • O modo de paragem aplica-se a todas as chamadas subsequentes stop a menos que seja fornecido um modo de paragem específico na chamada da função.

setTimeout#

O parâmetro setTimeout setTimeout define quantos segundos o robô tentará completar um movimento. Se o robô não conseguir completar dentro deste tempo, interromperá a tentativa e passará para a linha de código seguinte. Isto evita que o robô fique preso num movimento.

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

Parameters

Parâmetro

Tipo

Descrição

time

int32_t

O tempo que o robô pode tentar para completar um movimento. Deve ser um número inteiro positivo.

units

timeUnits

A unidade de tempo: sec (segundos) ou msec (milissegundos).

Return Values

Esta função não devolve qualquer valor.

Notes
  • O tempo limite só se aplica a funções de movimento do grupo motopropulsor baseadas no alvo (como driveFor e turnFor).

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

Getters#

está concluído#

isDone devolve um valor booleano indicando se o robô terminou de se mover. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.

Available Functions
bool isDone( void );

Parameters

Esta função não aceita qualquer parâmetro.

Return Values
  • true - O robô terminou de se mover.

  • false - O robô ainda se está a mover.

Notes
  • isDone é compatível com movimentos de transmissão baseados no alvo (funções que se movem para um alvo, como driveFor e turnFor).

  • isDone não é compatível com funções como drive e turn, uma vez que não utilizam movimento baseado no alvo.

está em movimento#

isMoving retorna se o robô se está a mover, como um valor booleano. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.

Available Functions
virtual bool isMoving( void );

Parameters

Esta função não aceita qualquer parâmetro.

Return Values
  • true - O robô está em movimento.

  • false - O robô não se está a mover.

Notes
  • isMoving é compatível com movimentos de transmissão baseados no alvo (funções que se movem para um alvo, como driveFor e turnFor).

  • isMoving não é compatível com funções como drive e turn, uma vez que não utilizam movimento baseado no alvo.

velocidade#

A velocidade velocity indica a velocidade de deslocação do robô.

Um valor positivo significa que o robô se está a mover para a frente. Um valor negativo significa que o robô se está a mover para trás.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parâmetro

Tipo

Descrição

units

velocityUnits

A unidade de velocidade: percent ou pct (por cento), rpm (rotações por minuto), ou dps (graus por segundo).

Return Values

Retorna a velocidade da transmissão como um valor double na unidade selecionada.

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();

atual#

current devolve a quantidade de corrente eléctrica que a transmissão está a utilizar. A corrente é a quantidade de eletricidade que flui através da transmissão. Pode ser devolvida em amperes (ampères) ou como percentagem, dependendo da unidade.

Um valor de corrente mais elevado significa que o sistema de transmissão está a consumir mais corrente elétrica. Isto pode acontecer quando o robô está a empurrar um objeto ou a tentar mover-se quando está preso.

Este pode ser utilizado para verificar se a transmissão está a apresentar dificuldades durante o movimento. Se a corrente permanecer elevada, a transmissão pode sobreaquecer ou utilizar a energia de forma menos eficiente.

Available Functions

1 - Devolve a corrente elétrica da transmissão em amperes.

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

2 - Devolve a corrente elétrica da transmissão em percentagem do valor máximo.

double current(
    percentUnits units );

Parameters

Parâmetro

Tipo

Descrição

units

currentUnits

A unidade para retornar corrente de entrada: amp (amps, padrão).

units

percentUnits

A unidade para devolver corrente em: percent ou pct.

Return Values

Devolve a corrente da transmissão como um valor double na unidade selecionada.

poder#

A potência power indica a potência que o sistema de transmissão está a utilizar, medida em watts. A potência mostra a rapidez com que o sistema de transmissão está a consumir energia.

Um valor de potência mais elevado significa que o sistema de transmissão está a consumir energia mais rapidamente. Isto pode acontecer quando o robô está a empurrar um objeto ou a tentar mover-se quando está preso.

Este pode ser utilizado para comparar movimentos ou verificar se a transmissão está a apresentar dificuldades. Se a potência permanecer elevada, a transmissão pode sobreaquecer ou utilizar a energia de forma menos eficiente.

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

Parameters

Parâmetro

Tipo

Descrição

units

powerUnits

A unidade de potência: watt (watts, padrão).

Return Values

Devolve a potência da transmissão como um valor double em watts.

binário#

O binário indica a força que o sistema de transmissão consegue exercer força de tração ou empurrar enquanto as rodas giram.

torque devolve a quantidade de binário que a transmissão está a utilizar, medida em Newton-metros (Nm) ou polegadas-libras (InLb).

Um valor de binário mais elevado significa que o sistema de transmissão está a empurrar ou a puxar com mais força. Isto pode acontecer quando o robô está a empurrar contra um objeto ou a tentar mover-se quando está preso.

Isto pode ser utilizado para verificar se a transmissão está com dificuldades ou para comparar quanta força é necessária para diferentes movimentos.

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

Parameters

Parâmetro

Tipo

Descrição

units

torqueUnits

A unidade para devolver o binário: Nm (newton metros, standard) ou InLb (polegadas-libras).

Return Values

Devolve o binário da transmissão como double na unidade selecionada.

eficiência#

A eficiência efficiency indica a eficiência com que o sistema de transmissão utiliza a energia, numa percentagem de 0% a 100%.

A eficiência indica quanta potência do sistema de transmissão está a ser utilizada para o movimento. Um valor de eficiência mais elevado significa que está a ser utilizada mais potência do sistema de transmissão para movimentar o robô. Um valor de eficiência mais baixo pode ocorrer quando o sistema de transmissão está a trabalhar muito, mas não se move muito, como quando o robô está preso ou a empurrar um objeto.

Isto pode ser utilizado para comparar movimentos ou verificar se a transmissão está a desperdiçar energia em vez de a utilizar para movimento.

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

Parameters

Parâmetro

Tipo

Descrição

units

percentUnits

A unidade de medida da eficiência a expressar é: percent ou pct (padrão).

Return Values

Devolve a eficiência da transmissão como double na unidade selecionada.

temperatura#

A opção temperature devolve a temperatura média da transmissão como uma percentagem de 0% a 100%.

A temperatura indica o quão aquecidos estão os motores da transmissão. Uma temperatura mais elevada significa que os motores estão a aquecer durante o funcionamento. Os motores devem permanecer abaixo dos 55°C para continuarem a funcionar com o máximo desempenho.

Se os motores aquecerem demasiado, reduzirão a corrente máxima para se protegerem. A 70°C, os motores deixarão de funcionar até arrefecerem.

Isto pode ser utilizado para verificar se a transmissão está a sobreaquecer durante movimentos repetidos, percursos longos ou quando está a empurrar contra um objeto.

Available Functions
double temperature(
  percentUnits units );

Parameters

Parâmetro

Tipo

Descrição

units

percentUnits

A unidade para voltar a temperatura em: percent ou pct.

Return Values

Retorna a temperatura média da transmissão como um valor double na unidade selecionada.

Notes
  • Um valor devolvido de 50% indica que a temperatura média do motor é de aproximadamente 45°C (113°F).

  • A gama de temperatura de funcionamento típica para o grupo motopropulsor é de aproximadamente 20°C (68°F) a 70°C (158°F).

tensão#

voltage returns the electrical voltage supplied to the drivetrain.

A tensão é a pressão elétrica fornecida aos motores da transmissão. Pode ser utilizada em conjunto com os valores de corrente e potência para compreender como a transmissão está a utilizar energia elétrica.

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

Parameters

Parâmetro

Tipo

Descrição

units

voltageUnits

A unidade para devolver a tensão: volt (volts, standard) ou voltageUnits::mV (milivolts).

Return Values

Devolve a tensão da transmissão como um duplo double na unidade selecionada.