Segouaiisssss

by borischenenpc in Workshop > Laser Cutting

16 Views, 0 Favorites, 0 Comments

Segouaiisssss

1d4504d2-aae4-4022-961a-d5b2b9608140.jpg

L’objectif de ce projet est de concevoir un robot Segway asservi. L'idée est d'avoir un robot capable de se maintenir en équilibre de manière autonome et de se redresser en cas de perturbation, grâce à une régulation par un asservissement PID.

Supplies

61hp3TQvStL._AC_UF1000,1000_QL80_.jpg
téléchargement (1).jpg

-2 MCC

-Carte Arduino Nano 33 Sens Rev 2

-DC Dual Motor Driver 30V 4A V2

-Deux batteries (11,4V et 7,8V)

-Cartion MDF 3mm

-Deux roues

Bâti Du Robot

494822095_735077242281116_8821103041104646976_n.jpg

On créé les plans du bâti du robot sur Fusion (3 pièces principales). Pour fabriquer les liaisons, nous réalisons des fentes ainsi que des équerres afin d'assurer un maintien serré. On a également créé des extensions pour nos roues pour augmenter leur rayons et ainsi augmenter la vitesse du robot. On utilise ensuite la découpeuse laser pour obtenir nos pièces.

Downloads

Assemblage

8f8f7445-45ba-4d66-8909-bb0367f35ffb.jpg
e08c4bbb-4b01-4f19-be56-7c1d50f70886.jpg

On encastre les deux moteur au bâti. On fixe la carte arduino, le Motor Driver et les batteries avec du scotch double face. On agrandit également nos roues à l'aide de la pièce obtenue à la découpe laser et ajoute du scotch pour augmenter l'adhérence au sol. Pour ce qui est des batteries, on a choisi de les placer au niveau des roues pour baisser le centre de masse et rendre le Segway plus stable.

Création Du Code

494834046_2268588310238105_847157105495823156_n.jpg
502082258_674708025465228_6133957002618802837_n.jpg

Le code utilisé est un asservissement PID ayant comme valeurs l'angle et la vitesse de rotation du robot (fournie par un gyroscope intégré dans la carte arduino). On calcule l’angle à l’aide de la mesure de l’accélération de pesanteur. L'idée est d'avoir une accélération du robot dans le sens de sa chute pour contrer celle-ci. La bibliothèque utilisé pour utilisé le gyroscope est Arduino_BMI270_BMM150.

Downloads

Réglage Du Correcteur

Réglage PID :

Initialement, on règle Ki, Kd, Kp et Setpoint à 0.

Réglage du setpoint :

Mettre une valeur arbitraire à Kp (par exemple 1).

Régler l’angle de consigne (setpoint) de manière à ce qu’il corresponde à l’angle de la carte Arduino dans la position d’équilibre du robot (proche de 0 degré).

Les moteurs ne doivent pas tourner lorsque le robot est dans cette position d’équilibre.

Réglage de Kp :

Augmenter progressivement Kp à partir de 0.

  1. Si Kp est trop faible, les moteurs n’arrivent pas à compenser la chute du robot et il tombe.
  2. Si Kp est trop élevé, la correction est trop forte : les moteurs compensent excessivement et font tomber le robot dans l’autre sens.

On cherche donc la valeur de Kp pour laquelle le segway oscille autour de sa position d’équilibre.

Réglage de Kd :

Augmenter progressivement Kd à partir de 0.

La dérivée permet d’amortir les oscillations, mais il ne faut pas en mettre trop, pour éviter que le robot soit trop « nerveux » et réagisse à la moindre perturbation.

Réglage de Ki :

Il n’y a normalement pas besoin de correction intégrale sur ce segway.

Si les réglages précédents ne suffisent pas, vous pouvez essayer d’en rajouter un peu.

Réglage de angle_limite :

Il est initialement réglé à 6 degrés. Lorsque cet angle est dépassé, les moteurs tournent à pleine puissance pour contrer la chute du segway.

On adapte ce réglage si le segway a tendance à tomber avant que la correction ne réagisse.

Difficulté Et Amélioration Possible

Difficultés rencontrées:

-Réglage du PID

-Positionnement du centre de masse

-Alimenter les moteurs avec une tension assez élevé

-Avoir un bâti rigide

Améliorations possibles:

-Segway plus léger

-Moteur plus puissant

-Roue plus grande et plus large