Inertiel#
Introduction#
Le cerveau possède un capteur inertiel intégré. Ce capteur peut mesurer les mouvements et les rotations du cerveau.
Le capteur inertiel utilise deux éléments pour cela. Le gyroscope mesure les virages, c’est-à-dire la direction vers laquelle le cerveau est orienté et l’angle de rotation. L’accéléromètre mesure les changements de mouvement, comme une accélération, un ralentissement ou un arrêt brutal lors d’un choc.
Les méthodes inertielles peuvent être utilisées pour suivre les virages, réinitialiser les valeurs de cap ou de rotation, mesurer le roulis, le tangage et le lacet, et mesurer l’accélération.
Il existe plusieurs façons de programmer le capteur inertiel. Vous trouverez ci-dessous la liste de toutes les méthodes inertielles :
Orientation — Revenez en arrière et définissez la position, l’orientation ou l’inclinaison du Brain.
get_heading— Renvoie la direction vers laquelle le cerveau est orienté, de 0 à 359 degrés.get_rotation— Renvoie de combien le cerveau a tourné.get_yaw— Renvoie de combien le cerveau a tourné à gauche ou à droite par rapport à sa position de départ.get_roll— Renvoie de combien le cerveau est incliné à gauche ou à droite.get_pitch— Renvoie de combien le cerveau est incliné vers l’avant ou vers l’arrière.calibrate— Calibre le capteur inertiel du cerveau.reset_heading— Réinitialise le cap actuel du cerveau à 0 degré.reset_rotation— Réinitialise la rotation actuelle du cerveau à 0 degré.set_heading— Définit le cap actuel du cerveau sur une nouvelle valeur de cap.set_rotation— Définit la rotation actuelle du cerveau sur une nouvelle valeur de rotation.
Mouvement — Décrivez comment le cerveau bouge.
get_acceleration— Renvoie la vitesse à laquelle le cerveau accélère ou ralentit sur l’axe sélectionné.
Orientation#
get_heading#
Un cap est la direction vers laquelle le cerveau est orienté, mesurée en degrés de 0 à 359. get_heading renvoie le cap actuel du cerveau.
Le cap initial est de 0 degré. Si le système dépasse 359 degrés, le cap revient à 0 degré.
Usage:
inertial.get_heading()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
get_rotation#
La rotation correspond à l’angle de rotation du Brain, mesuré en degrés. Contrairement au cap, la rotation peut dépasser 359 degrés ou être inférieure à 0 degré. Au début d’un projet, la valeur de rotation est fixée à 0 degré. get_rotation renvoie la rotation actuelle du Brain.
Tourner à droite augmente la rotation, et tourner à gauche la diminue. Par exemple, deux tours complets à droite correspondent à une rotation de 720 degrés. Un tour complet à gauche, à partir de 0 degré, correspond à une rotation de -360 degrés.
Usage:
inertial.get_rotation()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
get_yaw#
Le lacet correspond à la rotation du cerveau à gauche ou à droite par rapport à sa position initiale, mesurée en degrés. get_yaw get_yaw` renvoie la valeur de lacet actuelle du cerveau.
Virer à droite augmente la valeur de lacet, et tourner à gauche la diminue. Le lacet est utile pour vérifier les virages à gauche et à droite sans utiliser la valeur de cap enroulée.
Usage:
inertial.get_yaw()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
get_roll#
Le roulis correspond à l’inclinaison du cerveau vers la gauche ou la droite, mesurée en degrés. get_roll get_roll` renvoie la valeur de roulis actuelle du cerveau.
Avec le cerveau orienté vers l’avant, incliner à gauche augmente la valeur de roulis, et incliner à droite la diminue.
Usage:
inertial.get_roll()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
get_pitch#
L’inclinaison correspond à l’angle d’inclinaison du cerveau vers l’avant ou vers l’arrière, mesuré en degrés. get_pitch get_pitch` renvoie la valeur d’inclinaison actuelle du cerveau.
Lorsque le cerveau est orienté vers l’avant, l’incliner vers l’avant augmente la valeur de la hauteur tonale, et l’incliner vers l’arrière la diminue.
Usage:
inertial.get_pitch()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
calibrate#
calibrate calibre le capteur inertiel du cerveau.
L’étalonnage permet au capteur inertiel de mesurer correctement les virages. Maintenez le drone immobile pendant environ 2 secondes lors de l’étalonnage. Si le drone bouge pendant l’étalonnage, les valeurs de cap, de rotation, de lacet, de roulis et de tangage risquent d’être inexactes.
Le projet attendra la fin de l’étalonnage avant d’exécuter la ligne de code suivante.
Usage:
inertial.calibrate()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
reset_heading#
Le cap est la direction vers laquelle le cerveau est orienté, mesurée en degrés. La commande reset_heading réinitialise le cap actuel du cerveau à 0 degré.
Une fois cette méthode utilisée, la direction actuelle du cerveau devient le nouveau cap à 0 degré.
Usage:
inertial.reset_heading()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
reset_rotation#
La rotation correspond à l’angle de rotation du cerveau, mesuré en degrés. La commande reset_rotation réinitialise la rotation actuelle du cerveau à 0 degré.
Une fois cette méthode utilisée, le cerveau suit les virages futurs à partir de la nouvelle valeur de rotation de 0 degré.
Usage:
inertial.reset_rotation()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
set_heading#
Un cap est la direction vers laquelle le cerveau est orienté, mesurée en degrés de 0 à 359. set_heading modifie le cap actuel du cerveau vers une nouvelle valeur de cap.
Par exemple, si le cerveau s’est tourné vers la droite, le fait de régler le cap à 0 degré fait de cette position la nouvelle position à 0 degré. Le cerveau peut alors suivre d’autres caps en fonction de cette nouvelle direction.
Usage:
inertial.set_heading(heading)
Paramètres |
Description |
|---|---|
|
Valeur d’orientation, en degrés, à définir pour le cerveau. Il peut s’agir d’un nombre entier compris entre 0 et 359. |
set_rotation#
La rotation correspond à l’angle de rotation du Brain, mesuré en degrés. Contrairement à l’orientation, la rotation peut dépasser 359 degrés ou être inférieure à 0 degré. Au début d’un projet, la valeur de rotation est fixée à 0 degré. La commande set_rotation modifie la rotation actuelle du Brain.
Par exemple, si le Cerveau a effectué deux rotations complètes vers la droite, sa valeur de rotation sera de 720 degrés. La définir à 0 degré la réinitialisera de 720 à 0 degré. Le Cerveau pourra ensuite suivre les rotations en fonction de cette nouvelle valeur.
Usage:
inertial.set_rotation(rotation)
Paramètres |
Description |
|---|---|
|
Valeur de rotation, en degrés, à définir pour le cerveau. Il peut s’agir d’un entier. |
Mouvement#
get_acceleration#
L’accélération correspond à la vitesse à laquelle le cerveau accélère ou ralentit. get_acceleration get_acceleration` renvoie l’accélération du cerveau sur l’axe sélectionné, de -4,0 G à 4,0 G.
G est une unité de mesure de l’accélération. 1 G correspond approximativement à l’accélération due à la gravité que l’on ressent en position assise immobile.
La valeur peut être positive ou négative selon la direction de l’accélération sur l’axe sélectionné. Les options d’axe sont X, Yet Z.
Usage:
inertial.get_acceleration(axis)
Paramètres |
Description |
|---|---|
|
L’axe sur lequel mesurer l’accélération : |
# 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)