Inercial#
Introdução#
O robô de programação VEX AIM possui um sensor inercial integrado. Este sensor mede como o robô se move e gira.
O sensor inercial utiliza duas partes para desempenhar esta função. O giroscópio mede a rotação, como a direção, a rotação propriamente dita, a velocidade de rotação e a orientação do robô. O acelerómetro mede as mudanças de movimento, como aceleração, desaceleração ou paragem repentina durante uma colisão.
Os blocos inerciais podem ser utilizados para rastrear curvas, medir aceleração, detetar colisões e repor valores de direção ou rotação.
Segue abaixo a lista de todos os blocos:
Valores — Reportar dados de orientação e movimento.
heading — Reporta a direção para a qual o robô está virado, de 0 a 359,99 graus.
rotação — Reporta o quanto o robô rodou.
aceleração — Reporta a rapidez com que o robô está a acelerar ou a desacelerar no eixo selecionado.
obter taxa de rotação — Reporta a velocidade com que o robô está a rodar no eixo selecionado.
orientação — Reporta o ângulo de rotação, inclinação ou guinada do robô.
Ações — Responder a colisões ou repor os valores das curvas.
quando colidido — Executa blocos anexados quando o robô deteta um impacto repentino.
definir sensibilidade de colisão — Ajusta a sensibilidade da deteção de colisões aos impactos.
repor direção — Repõe o valor da direção do robô para 0 graus.
repor rotação — Repõe o valor de rotação do robô para 0 graus.
Valores#
cabeçalho#
A direção (heading) indica para onde o robô está virado, medida em graus de 0 a 359,99. O bloco de relatório heading informa a direção atual do robô.
A direção inicial é de 0 graus. Se o robô rodar para além dos 359,99 graus, a direção volta a 0 graus.
direção em graus
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplos
quando iniciar
[Turn right until the heading reaches 90 degrees.]
virar [direita v]
aguardar [0.05] segundos
aguardar até <(direção em graus) [math_greater_than v] [90]>
parar todo o movimento
quando iniciar
[Display the robot's heading as it is rotated by hand.]
para sempre
limpar linha [1] na tela
definir cursor para linha [1] coluna [1] na tela
imprimir (direção em graus) na tela ▶
aguardar [0.05] segundos
rotação#
A rotação indica o quanto o robô rodou, medida em graus. Ao contrário da direção, a rotação pode ultrapassar os 359,99 graus ou diminuir para menos de 0 graus. No início de um projeto, o valor da rotação é definido como 0 graus. O bloco de relatório de rotação informa 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. Uma volta completa para a esquerda a partir dos 0 graus resultará numa rotação de -360 graus.
(rotação em graus)
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Print the rotation value as the robot turns.]
virar [direita v] por [480] graus ◀ e não aguardar
para sempre
limpar tela
definir cursor para linha [1] coluna [1] na tela
imprimir (rotação em graus) na tela ▶
aceleração#
A aceleração indica a rapidez com que o robô está a acelerar ou a desacelerar. O bloco de registo de aceleração informa a aceleração do robô ao longo do eixo selecionado, de -4,00 G a 4,00 G.
A G é uma unidade utilizada para medir a aceleração. 1 G é aproximadamente a aceleração que sente devido à gravidade quando está parado.
O valor pode ser positivo ou negativo, dependendo do sentido da aceleração no eixo selecionado. No AIM, as opções de eixo são nomeadas de acordo com as direções no robô: para a frente, para a direita e para baixo.
(aceleração do eixo [frente v] em g :: custom-controller-inertial-timer)
Parâmetros |
Descrição |
|---|---|
eixo |
Eixo para medir a aceleração:
|

Exemplo
quando iniciar
[Show the change in acceleration as the robot begins to move.]
definir cursor para linha [4] coluna [1] na tela
imprimir (juntar [Resting: ] (aceleração do eixo [para a direita v] em g :: custom-controller-inertial-timer)) na tela ▶
mover cursor para a próxima linha na tela
aguardar [0.5] segundos
mover [direita v] por [50] [mm v] ◀ e não aguardar
aguardar [0.1] segundos
imprimir (juntar [Startup: ] (aceleração do eixo [para a direita v] em g :: custom-controller-inertial-timer)) na tela ▶
obter taxa de rotação#
A taxa de rotação indica a velocidade de rotação do robô. O bloco de relatório obter taxa de rotação informa a velocidade de rotação atual do robô ao longo do eixo selecionado, em graus por segundo \(dps\), como um número inteiro.
O valor pode ser positivo ou negativo, dependendo da direção de rotação do robô em torno desse eixo. A imagem abaixo utiliza setas para mostrar o sentido da rotação positiva para a inclinação (roll), rotação (pitch) e guinada (yaw).

(obter taxa de giro do eixo [guinada v] em dps)
Parâmetros |
Descrição |
|---|---|
eixo |
Eixo para reportar a taxa de rotação:
|
Exemplo
quando iniciar
[Observe the yaw turn rate as the robot turns.]
virar [direita v] por [180] graus ◀ e não aguardar
para sempre
limpar tela
definir cursor para linha [1] coluna [1] na tela
imprimir (obter taxa de giro do eixo [guinada v] em dps) na tela ▶
orientação#
A orientação é o ângulo atual do robô num eixo de rotação selecionado. O bloco de relatório de orientação informa a rotação, inclinação ou guinada do robô, de -180,00 a 180,00 graus, como um número decimal.
Os movimentos de inclinação (roll), arfagem (pitch) e guinada (yaw) descrevem as diferentes formas como o robô se pode inclinar ou rodar. A imagem abaixo utiliza setas para mostrar o sentido da rotação positiva para estes movimentos.

orientação de [guinada v] em graus
Parâmetros |
Descrição |
|---|---|
eixo |
Eixo de orientação a reportar:
|
Exemplo
quando iniciar
[Display the robot's orientation as it is rotated by hand.]
para sempre
limpar linha [1] na tela
definir cursor para linha [1] coluna [1] na tela
imprimir (orientação de [rolagem v] em graus) na tela ▶
aguardar [0.05] segundos
Ações#
quando caiu#
O bloco quando colidido executa a pilha ligada quando o robô deteta um impacto ou colisão repentina. A deteção de colisões utiliza o acelerómetro e a sensibilidade de colisão atual.
quando colidir
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Start moving forward.]
definir velocidade de movimento para [100]%
mover [frente v]
quando colidir
[Respond when a crash is detected.]
parar todo o movimento
reproduzir som [colisão v] ▶
Defina a sensibilidade a falhas.#
O bloco de pilha set crash sensitivity ajusta a quantidade de aceleração repentina necessária para que o robô detete uma colisão.
definir sensibilidade de colisão para [baixo v]
Parâmetros |
Descrição |
|---|---|
sensibilidade |
Nível de sensibilidade do robô na deteção de colisões:
|
Exemplo
quando iniciar
[Move slowly with high crash sensitivity.]
definir velocidade de movimento para [35]%
definir sensibilidade de colisão para [alto v]
mover [frente v]
quando colidir
[Respond when a crash is detected.]
parar todo o movimento
reproduzir som [colisão v] ▶
repor cabeçalho#
O bloco de pilha repor direção redefine a direção atual do robô para 0 graus. Após a execução deste bloco, a direção para a qual o robô está a apontar passa a ser a nova direção de 0 graus.
reiniciar direção
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Face left before turning around.]
virar para a direção [270] graus ▶
reiniciar direção
aguardar [1] segundos
virar para a direção [180] graus ▶
repor rotação#
O bloco de pilha repor rotação repõe o valor de rotação atual do robô para 0 graus. Após a execução deste bloco, o robô segue as curvas futuras a partir do novo valor de rotação de 0 graus.
reiniciar rotação
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Turn for 480 degrees before resetting rotation.]
virar [direita v] por [480] graus ▶
reiniciar rotação
para sempre
limpar tela
definir cursor para linha [1] coluna [1] na tela
imprimir (rotação em graus) na tela ▶