Inercial#
Introdução#
O cérebro possui um sensor inercial integrado. Este sensor consegue medir como o cérebro se move ou gira.
O sensor inercial utiliza duas partes para desempenhar esta função. O giroscópio mede a rotação, como a direção para a qual o cérebro está virado e o quanto rodou. O acelerómetro mede as mudanças de movimento, como aceleração, desaceleração ou paragem repentina durante uma colisão.
Os métodos inerciais podem ser utilizados para rastrear curvas, repor valores de rumo ou rotação, medir a inclinação lateral, arfagem e guinada, e registar a aceleração.
Existem muitas formas de programar o sensor inercial. Abaixo está uma lista de todos os métodos inerciais:
Orientação — Volte atrás e ajuste a posição do cérebro, como está virado, rodado ou inclinado.
get_heading— Devolve a direcção para a qual o cérebro está virado, de 0 a 359 graus.get_rotation— Retorna o quanto o Cérebro rodou.get_yaw— Retorna quanto o Brain rodou para a esquerda ou para a direita a partir da sua posição inicial.get_roll— Devolve o quanto o cérebro está inclinado para a esquerda ou para a direita.get_pitch— Devolve o quanto o cérebro está inclinado para a frente ou para trás.calibrate— Calibra o sensor inercial do cérebro.reset_heading— Repõe a direção atual do cérebro para 0 graus.reset_rotation— Repõe a rotação actual do cérebro para 0 graus.set_heading— Define o cabeçalho actual do cérebro para um novo valor de cabeçalho.set_rotation— Define a rotação actual do cérebro para um novo valor de rotação.
Movimento — Devolver o padrão de movimento do cérebro.
get_acceleration— Retorna a rapidez com que o cérebro está a acelerar ou a desacelerar no eixo selecionado.
Orientação#
get_heading#
A direção é a direção para a qual o cérebro está virado, medida em graus de 0 a 359. get_heading devolve a direção atual do cérebro.
O rumo inicial é de 0 graus. Se o Brain rodar para além dos 359 graus, o rumo volta a 0 graus.
Usage:
inertial.get_heading()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
get_rotation#
A rotação indica o quanto o Cérebro rodou, medida em graus. Ao contrário da direção, a rotação pode aumentar para além dos 359 graus ou diminuir abaixo dos 0 graus. No início de um projeto, o valor de rotação é definido como 0 graus. get_rotation devolve a rotação actual do Cérebro.
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 resultam numa rotação de 720 graus. Uma volta completa para a esquerda a partir dos 0 graus resulta numa rotação de -360 graus.
Usage:
inertial.get_rotation()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
get_yaw#
O yaw indica o quanto o Brain rodou para a esquerda ou para a direita a partir da sua posição inicial, medido em graus. get_yaw ( get_yaw devolve o valor actual de yaw.
Virar à direita aumenta o valor de guinada, e virar à esquerda diminui o valor de guinada. A guinada é útil para verificar as curvas à esquerda e à direita sem utilizar o valor de rumo ajustado.
Usage:
inertial.get_yaw()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
get_roll#
A rotação (roll) indica o quanto o cérebro se inclina para a esquerda ou para a direita, medida em graus. get_roll devolve o valor actual de rotação do cérebro.
Com o cérebro virado para a frente, inclinar para a esquerda aumenta o valor da rotação, e inclinar para a direita diminui o valor da rotação.
Usage:
inertial.get_roll()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
get_pitch#
A inclinação (pitch) é o quanto o cérebro se inclina para a frente ou para trás, medida em graus. get_pitch devolve o valor actual da inclinação (pitch) do cérebro.
Com o cérebro virado para a frente, inclinar-se para a frente aumenta o valor do tom, e inclinar-se para trás diminui o valor do tom.
Usage:
inertial.get_pitch()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
calibrate#
calibrate calibra o sensor inercial do cérebro.
A calibração ajuda o sensor inercial a medir as curvas corretamente. Mantenha o módulo de controlo imóvel durante cerca de 2 segundos durante a calibração. Se o módulo se mover durante a calibração, os valores de direção, rotação, guinada, inclinação lateral e arfagem podem não ser medidos corretamente.
O projeto aguardará a conclusão da calibração antes de executar a linha de código seguinte.
Usage:
inertial.calibrate()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
reset_heading#
A direção é a direção para a qual o cérebro está virado, medida em graus. reset_heading reinicia a direção atual do cérebro para 0 graus.
Após a utilização deste método, a direção atual do cérebro passa a ser a nova direção de 0 graus.
Usage:
inertial.reset_heading()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
reset_rotation#
A rotação indica o quanto o cérebro rodou, medida em graus. reset_rotation repõe a rotação actual do cérebro para 0 graus.
Após a utilização deste método, o cérebro acompanha as rotações futuras a partir do novo valor de rotação de 0 graus.
Usage:
inertial.reset_rotation()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
set_heading#
A direcção é a direcção para a qual o Cérebro está virado, medida em graus de 0 a 359. O comando set_heading altera a direcção actual do Cérebro para um novo valor de direcção.
Por exemplo, se o cérebro 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. Assim, o cérebro pode rastrear outras direções com base nesta nova direção.
Usage:
inertial.set_heading(heading)
Parâmetros |
Descrição |
|---|---|
|
O valor da direção, em graus, a definir para o Cérebro. Pode ser um número inteiro de 0 a 359. |
set_rotation#
A rotação indica o quanto o Cérebro rodou, medida em graus. Ao contrário da direção, a rotação pode aumentar para além dos 359 graus ou diminuir abaixo dos 0 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 Cérebro para um novo valor.
Por exemplo, se o Cérebro 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 esta rotação de 720 para 0 graus. De seguida, o Cérebro poderá rastrear rotações com base nesse novo valor.
Usage:
inertial.set_rotation(rotation)
Parâmetros |
Descrição |
|---|---|
|
O valor de rotação, em graus, a definir para o cérebro. Pode ser um número inteiro. |
Movimento#
get_acceleration#
A aceleração indica a rapidez com que o cérebro acelera ou abranda. get_acceleration devolve a aceleração do cérebro no eixo seleccionado, de -4,0 G a 4,0 G.
G é uma unidade utilizada para medir a aceleração. 1 G é aproximadamente a aceleração que sente da gravidade enquanto está parado.
O valor pode ser positivo ou negativo, dependendo do sentido da aceleração no eixo selecionado. As opções de eixo são X, Ye Z.
Usage:
inertial.get_acceleration(axis)
Parâmetros |
Descrição |
|---|---|
|
O eixo para medir a aceleração é: |
# Build Used: Super Code Base 2.0
def main():
# Display the acceleration after moving.
drivetrain.set_drive_velocity(100)
console.print("Resting: ")
console.print(inertial.get_acceleration(X), precision=2)
console.new_line()
wait(1, SECONDS)
drivetrain.drive_for(FORWARD, 500, MM, wait=False)
wait(0.20, SECONDS)
console.print("Startup: ")
console.print(inertial.get_acceleration(X), precision=2)
# Start threads — Do not delete
start_thread(main)