Transmissão#
Introdução#
O robô VEX V5 utiliza um sistema de transmissão para se deslocar e rodar. Um sistema de transmissão é composto por motores e rodas que trabalham em conjunto para movimentar o robô.
Um sistema de transmissão configurado pode utilizar um Sensor Inercial, Sensor GPS, Sensor Giroscópio ou nenhum sensor. Quando é utilizado um sensor, o sistema de transmissão utiliza-o para ajudar o robô a mover-se e a rodar com precisão. No início de cada projeto, o sistema de transmissão calibra o sensor automaticamente. Mantenha o robô imóvel durante a calibração para que se possa mover e rodar corretamente.
Existem várias formas de codificar o sistema de transmissão. Esta página utiliza drivetrain como exemplo de um nome do sistema de transmissão. Substitua-o pelo nome que configurou, conforme necessário.
Abaixo segue uma lista de todos os métodos de transmissão:
Ações — Mova e rode o robô.
drive— Move o robô para a frente ou para trás indefinidamente.drive_for— Move o robô para a frente ou para trás uma distância específica.turn— Vira o robô para a esquerda ou para a direita para sempre.turn_for— Roda o robô para a esquerda ou para a direita de um número específico de graus.turn_to_heading— Roda o robô para enfrentar uma direção específica de -359 a 359 graus. O robô irá rodar na direção mais curta para alcançar a direção alvo.turn_to_rotation— Roda o robô para uma rotação específica.stop— Interrompe o movimento do robô.calibrate_drivetrain– Calibra o sensor configurado com o grupo motopropulsor.
Mutadores — Ajustam as definições da transmissão.
set_drive_velocity— Indica ao robô a que velocidade deve conduzir.set_turn_velocity— Indica ao robô a velocidade a que deve virar.set_stopping— Indica como o robô irá parar de se mover: travando, deslizando ou parando.set_timeout— Define quantos segundos o robô tentará terminar um movimento.set_heading— Altera a direção atual do robô para uma nova direção.set_rotation— Altera a rotação atual do robô para uma nova rotação.set_turn_threshold– Indica o quão perto o robô deve chegar de um ângulo alvo antes de uma curva ser completada.set_turn_constant– Altera a intensidade com que o robô corrige as suas curvas.set_turn_direction_reverse– Altera se o sentido de rotação do grupo motopropulsor inteligente é invertido.
Getters — Verifique o estado da transmissão.
is_done— Retorna se o robô terminou de se mover, como um valor booleano.is_moving— Retorna se o robô se está a mover, como um valor booleano.heading— Devolve a direção atual do robô de 0 a 359,99 graus.rotation— Retorna a rotação atual do robô.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— Devolve a quantidade de binário que 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.get_timeout– Retorna a configuração de tempo limite atual.
Construtores – Criar e configurar manualmente o sistema de transmissão.
DriveTrain– Cria um grupo motopropulsor sem um Sensor Inercial, Sensor GPS ou Sensor Giroscópio.SmartDrive– Cria um grupo motopropulsor configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio.
Ações#
drive#
A entrada drive com que o robô se mova para a frente ou para trás indefinidamente. O robô continuará a mover-se até receber outra ação, como virar-se ou parar. Para RPM ou graus por segundo, o limite é alterado pela relação de transmissão do sistema de acionamento.
Usage:
drivetrain.drive(direction, velocity, units)
Parâmetros |
Descrição |
|---|---|
|
A direção em que o robô se move: |
|
Opcional. A velocidade de accionamento varia de 0% a 100% quando se utiliza |
|
Opcional. A unidade de velocidade: |
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive forward at 360 degrees per second
drivetrain.drive(FORWARD, 360.0, VelocityUnits.DPS)
drive_for#
O comando drive_for move o robô para a frente ou para trás por uma distância específica. O projeto aguardará até que o robô termine de se mover antes de executar a próxima linha de código. Para RPM ou graus por segundo, o limite é alterado pela relação de transmissão do sistema de tração.
Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)
Parâmetros |
Descrição |
|---|---|
|
A direção em que o robô se move: |
|
A distância percorrida pelo robô. Pode ser um número inteiro |
|
Opcional. A unidade de distância: |
|
Opcional. A velocidade de accionamento varia de 0% a 100% quando se utiliza |
|
Opcional. A unidade de velocidade: |
|
Opcional. |
# Drive forwards and backwards
drivetrain.drive_for(FORWARD, 5)
wait(1, SECONDS)
drivetrain.drive_for(REVERSE, 5)
turn#
turn faz com que o robô gire para a esquerda ou para a direita indefinidamente. O robô continuará a rodar até receber outra ação, como conduzir ou parar. Para RPM ou graus por segundo, o limite é alterado pela relação de transmissão do sistema de tração.
Usage:
drivetrain.turn(direction, velocity, units)
Parâmetros |
Descrição |
|---|---|
|
Direção para a qual o robô vira: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Opcional. A unidade de velocidade: |
# Turn right, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()
turn_for#
O comando turn_for roda o robô para a esquerda ou para a direita num número específico de graus. A rotação é relativa à posição atual do robô. O projeto aguardará até que o robô termine de rodar antes de executar a próxima linha de código. Para RPM ou graus por segundo, o limite é alterado pela relação de transmissão do sistema de tração.
Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)
Parâmetros |
Descrição |
|---|---|
|
Direção para a qual o robô vira: |
|
O número de graus que o robô roda. Pode ser um número inteiro |
|
Opcional. A unidade de rotação: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Opcional. A unidade de velocidade: |
|
Opcional. |
# Turn left, then turn around to the right
drivetrain.turn_for(LEFT, 90)
drivetrain.turn_for(RIGHT, 180)
turn_to_heading#
A direção é a direção para a qual o robô está virado, medida em graus. turn_to_heading roda o robô de modo a ficar virado para uma direção específica de -359 a 359 graus. O robô irá rodar na direção mais curta para alcançar a direção desejada.
A direção inicial do robô é de 0 graus.
O projeto aguardará até que o robô termine de rodar antes de executar a próxima linha de código.
Nota: Esta função só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)
Parâmetros |
Descrição |
|---|---|
|
A direção para a qual o robô deve estar virado, em graus. Pode ser um número inteiro |
|
Opcional. Unidade de medida do cabeçalho: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Opcional. A unidade de velocidade: |
|
Opcional. |
# Turn to face the cardinal directions
drivetrain.turn_to_heading(90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(270, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(0, DEGREES)
# Turn twice slowly
drivetrain.turn_to_heading(90, DEGREES, 20, PERCENT)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES, 20, PERCENT)
turn_to_rotation#
turn_to_rotation roda o robô para uma rotação específica.
A rotação é o quanto o robô rodou, medida em graus. No início de um projeto, o valor de rotação é definido como 0 graus. A rotação também pode ser definida através do método set_rotation.
Os valores de rotação são absolutos. Isto significa que a direção da viragem depende da rotação atual do robô. Virar para a direita aumenta a rotação, e virar para a esquerda diminui a rotação.
Por exemplo, se o robô começar a 0 graus e rodar 720 graus, este irá virar para a direita duas vezes. Se depois rodar 360 graus, virará para a esquerda uma vez, porque 360 é inferior a 720.
O projeto aguardará até que o robô termine de rodar antes de executar a próxima linha de código.
Nota: Este método só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)
Parâmetros |
Descrição |
|---|---|
|
O valor de rotação, em graus ou voltas, para o qual o robô irá rodar. Pode ser um número inteiro |
|
Opcional. A unidade de rotação: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Opcional. A unidade de velocidade: |
|
Opcional. |
# Turn left, then spin in a circle clockwise and face right
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES)
# Turn left then slowly spin in a circle clockwise
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES, 20, PERCENT)
stop#
stop interrompe o movimento do robô.
Usage:
drivetrain.stop(mode)
Parâmetros |
Descrição |
|---|---|
|
Opcional. Como o robot irá parar:
|
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
calibrate_drivetrain#
calibrate_drivetrain é uma função integrada que calibra o Sensor Inercial, Sensor GPS ou Sensor Giroscópio configurado do grupo motopropulsor.
A calibração ajuda o sensor a medir o movimento corretamente. Mantenha o robô imóvel durante cerca de 2 segundos durante a calibração. Se o robô se mover durante este período, o sensor poderá não medir o movimento corretamente.
O projeto aguardará a conclusão da calibração antes de executar a linha de código seguinte.
Nota: Esta função só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
calibrate_drivetrain()
Parâmetros |
Descrição |
|---|---|
Esta função não tem parâmetros. |
Mutantes#
set_drive_velocity#
O parâmetro set_drive_velocity ( set_drive_velocity define a velocidade de deslocação do robô. Uma percentagem mais elevada aumenta a velocidade de deslocação, enquanto uma percentagem mais baixa diminui. Para RPM ou graus por segundo, o limite é alterado pela relação de transmissão do sistema de tração.
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.
Usage:
drivetrain.set_drive_velocity(velocity, units)
Parâmetros |
Descrição |
|---|---|
|
A velocidade de condução varia de 0% a 100% quando se utiliza |
|
Opcional. A unidade de velocidade: |
# Drive forward at the default velocity
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
set_turn_velocity#
O parâmetro set_turn_velocity ( set_turn_velocity 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 o faz girar mais devagar. Para RPM ou graus por segundo, o limite é alterado pela relação de transmissão do sistema de propulsão.
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.
Usage:
drivetrain.set_turn_velocity(velocity, units)
Parâmetros |
Descrição |
|---|---|
|
A velocidade de rotação varia de 0% a 100% quando se utiliza |
|
Opcional. A unidade de velocidade: |
# Turn at the default velocity
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
set_stopping#
set_stopping define a forma como o robô irá parar de se mover: travando, deslizando ou parando.
Usage:
drivetrain.set_stopping(mode)
Parâmetros |
Descrição |
|---|---|
|
Como o robot irá parar:
|
Caso este método não seja utilizado, o robô utilizará BRAKE ao parar.
set_timeout#
O parâmetro set_timeout set_timeout 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.
Usage:
drivetrain.set_timeout(value, units)
Parâmetros |
Descrição |
|---|---|
|
O tempo que o robô pode tentar para completar um movimento. Pode ser um número inteiro positivo |
|
Opcional. A unidade de tempo: |
set_heading#
A direção é a direção para a qual o robô está virado, medida em graus. set_heading altera a direção atual do robô para um novo valor de direção.
Por exemplo, se o robô se virou para a direita, definir a direção para 0 graus faz com que essa posição virada para a direita se torne os novos 0 graus. De seguida, o robô pode rodar para outras posições com base nessa nova direção.
Nota: Este método só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.set_heading(heading, units)
Parâmetros |
Descrição |
|---|---|
|
O valor de direção, em graus ou voltas, a definir para o robô. Pode ser um número inteiro |
|
Opcional. A unidade de direção: |
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
set_rotation#
A rotação indica o quanto o robô rodou, medida em graus. No início de um projeto, o valor de rotação é definido como 0 graus. O comando set_rotation altera a rotação actual do robô para um novo valor.
Por exemplo, se o robô tiver dado duas voltas completas para a direita, o seu valor de rotação será de 720 graus. Definir a rotação para 0 graus irá repor essa rotação de 720 para 0 graus. De seguida, o robô poderá rodar para rotações baseadas nesse novo valor.
Nota: Este método só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.set_rotation(rotation, units)
Parâmetros |
Descrição |
|---|---|
|
O valor de rotação, em graus ou voltas, a definir para o robô. Pode ser um número inteiro |
|
Opcional. A unidade de rotação: |
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
set_turn_threshold#
set_turn_threshold define a proximidade que o robô deve atingir a partir de um ângulo alvo antes de uma curva estar concluída.
Um limite mais baixo pode tornar as curvas mais precisas, mas o robô pode demorar mais tempo a completá-las. Um limite mais elevado pode fazer com que as curvas terminem mais cedo, mas podem ser menos precisas.
Nota: Este método só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.set_turn_threshold(value)
Parâmetros |
Descrição |
|---|---|
|
O limite de curva, em graus. Pode ser um número inteiro |
set_turn_constant#
O parâmetro set_turn_constant altera a intensidade com que o robô corrige as suas curvas.
Um valor mais elevado faz com que o robô corrija as curvas com mais força. Um valor mais baixo faz com que o robô corrija as curvas de forma mais suave. O valor predefinido é 1,0.
Nota: Este método só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.set_turn_constant(value)
Parâmetros |
Descrição |
|---|---|
|
A constante de rotação. Pode ser um número decimal ( |
set_turn_direction_reverse#
set_turn_direction_reverse altera se o sentido da curva do sistema de transmissão inteligente for invertido.
Isto pode ser utilizado se a transmissão rodar na direção oposta à esperada após ser configurada manualmente no código. Este método funciona da mesma forma que a definição do parâmetro reverse para True ao construir um SmartDrive.
Nota: Este método só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.set_turn_direction_reverse(value)
Parâmetros |
Descrição |
|---|---|
|
Se deve inverter o sentido de viragem do sistema de transmissão inteligente: |
Getters#
is_done#
is_done devolve um valor booleano indicando se o robô terminou de se mover. Isto pode ser utilizado para controlar o tempo de outras ações com base no movimento do robô.
True— O robô terminou de se mover.False— O robô ainda se está a mover.
Este método funciona em conjunto com os seguintes métodos Drivetrain que têm o parâmetro wait : drive_for, turn_for, turn_to_heading, e turn_to_rotation.
Usage:
drivetrain.is_done()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
is_moving#
is_moving devolve um valor booleano indicando se o robô está em movimento. Isto pode ser utilizado para controlar o tempo de outras ações com base no movimento do robô.
True— O robô está em movimento.False— O robô não se está a mover.
Utilização:
drivetrain.is_moving()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
heading#
A direção indica o rumo para o qual o robô está virado, medida em graus. O comando heading devolve a direção atual do robô, variando de 0 a 359,99 graus.
A direção inicial do robô é de 0 graus.
Nota: Este método só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.heading(units)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A unidade para devolver o rumo: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())
rotation#
A rotação indica o quanto o robô rodou, medida em graus. No início de um projeto, o valor de rotação é definido como 0 graus. O comando rotation devolve a rotação atual do robô.
Virar para a direita aumenta a rotação, e virar para a esquerda diminui a rotação. Por exemplo, duas voltas completas para a direita resultarão numa rotação de 720 graus.
Nota: Este método só está disponível se o sistema de transmissão estiver configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio na janela Dispositivos.
Usage:
drivetrain.rotation(units)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A unidade para voltar à rotação: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())
velocity#
A velocidade velocity indica a velocidade de deslocação do robô.
It can return velocity as a percentage from -100% to 100%, in RPM, or in VelocityUnits.DPS (degrees per second). A positive value means the robot is driving forward. A negative value means the robot is driving in reverse.
Usage:
drivetrain.velocity(units)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A unidade de velocidade: |
current#
current devolve a quantidade de corrente eléctrica que o sistema de transmissão está a utilizar, medida em amperes (ampères). A corrente é a quantidade de eletricidade que flui através do sistema de transmissão.
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.
Usage:
drivetrain.current(units)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A unidade para retornar a corrente: |
power#
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.
Usage:
drivetrain.power()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
torque#
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.
Usage:
drivetrain.torque(units)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A unidade para devolver o binário: |
efficiency#
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.
Usage:
drivetrain.efficiency()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
temperature#
A temperatura temperature temperatura selecionada.
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 mais 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.
Usage:
drivetrain.temperature(units)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A unidade para voltar à temperatura: |
get_timeout#
get_timeout devolve o timeout actualmente definido em milissegundos.
Usage:
drivetrain.get_timeout()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
Construtores#
Constructors are used to manually create DriveTrain and SmartDrive objects, which are necessary for configuring a drivetrain outside of VEXcode.
Pelo menos dois objetos Motor ou MotorGroup devem ser criados antes de criar um grupo motopropulsor.
DriveTrain#
DriveTrain cria um grupo motopropulsor sem um Sensor Inercial, Sensor GPS ou Sensor Giroscópio.
Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parâmetro |
Descrição |
|---|---|
|
O motor ou grupo motor esquerdo. |
|
O motor ou grupo motor direito. |
|
Opcional. Circunferência das rodas da transmissão. O valor predefinido é 300 milímetros. |
|
Opcional. A largura entre as rodas esquerda e direita. O valor predefinido é 320 milímetros. |
|
Opcional. Distância entre as rodas dianteiras e traseiras. O valor predefinido é 320 milímetros. |
|
Opcional. A unidade para |
|
Opcional. A relação de transmissão utilizada para ajustar as distâncias de acionamento, caso sejam utilizadas engrenagens. Pode ser um número |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a drivetrain with default values
drivetrain = DriveTrain(left_motor, right_motor)
# Create the motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = DriveTrain(left_motor, right_motor, 319.19, 295, 40, MM, 1)
SmartDrive#
SmartDrive cria um grupo motopropulsor configurado com um Sensor Inercial, Sensor GPS ou Sensor Giroscópio.
Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parâmetro |
Descrição |
|---|---|
|
O motor ou grupo motor esquerdo. |
|
O motor ou grupo motor direito. |
|
O Sensor Inercial, Sensor GPS ou Sensor Giroscópio utilizado pelo sistema de transmissão. |
|
Opcional. Circunferência das rodas da transmissão. O valor predefinido é 300 milímetros. |
|
Opcional. A largura entre as rodas esquerda e direita. O valor predefinido é 320 milímetros. |
|
Opcional. Distância entre as rodas dianteiras e traseiras. O valor predefinido é 320 milímetros. |
|
Opcional. A unidade para |
|
Opcional. A relação de transmissão utilizada para ajustar as distâncias de acionamento, caso sejam utilizadas engrenagens. Pode ser um número |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
# Create a drivetrain with default values
drivetrain = SmartDrive(left_motor, right_motor, gyro_a)
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = SmartDrive(left_motor, right_motor, gyro_a, 319.19, 295, 40, MM, 1)