Académique Documents
Professionnel Documents
Culture Documents
Robot Matlab
Robot Matlab
- Il est nécessaire de connaître : la position (x, y) du robot, son orientation, le rayon de ses roues,
ainsi que la distance entre ses deux roues
Les robots à entraînement à direction différentielle sont des robots mobiles dont les roues sont
contrôlées indépendamment. Pour permettre à ces robots de suivre une trajectoire, il est
nécessaire de connaître des informations telles que leur position (x, y), leur orientation, le rayon
de leurs roues et la distance entre leurs deux roues.
1. Définir le point à atteindre : Tout d'abord, il faut définir le point que le robot doit atteindre. Ce
point peut être spécifié en coordonnées absolues (par exemple, latitude et longitude sur une
carte) ou en coordonnées relatives par rapport à la position actuelle du robot (par exemple, un
déplacement de 2 mètres vers l'est).
2. Détecter la position actuelle du robot : Le robot utilise ses capteurs (par exemple, un système de
positionnement global, un système de localisation et de cartographie simultanées, etc.) pour
détecter sa position actuelle. Cette information est utilisée pour déterminer la direction et la
distance à parcourir pour atteindre le point spécifié.
5. Répéter le processus : Le robot continue de suivre cette trajectoire en répétant les étapes 2 à 4
jusqu'à ce qu'il atteigne le point spécifié.
La méthode de suivi de point est souvent utilisée dans les environnements où la planification de
trajectoire n'est pas nécessaire, par exemple, lorsqu'un robot doit simplement se déplacer vers un
point spécifique dans une zone connue. Cependant, elle peut être moins efficace que d'autres
méthodes de planification de trajectoire plus sophistiquées dans les environnements complexes
ou en présence d'obstacles.
Pour étudier la méthode de suivi de point en Matlab, voici les étapes possibles que vous
pouvez suivre :
1. Définir le point à atteindre : Vous pouvez définir le point à atteindre en utilisant des variables en
Matlab. Par exemple, vous pouvez définir le point comme une paire de coordonnées (x, y) ou
comme une distance et une direction relatives par rapport à la position actuelle du robot.
2. Simuler la position du robot : Vous pouvez utiliser la fonction "sim" ou "simulink" de Matlab
pour simuler la position du robot dans un environnement virtuel. Vous pouvez utiliser des
capteurs simulés pour détecter la position actuelle du robot et l'afficher graphiquement.
4. Contrôler les moteurs : Vous pouvez utiliser la commande "sendCommand" pour envoyer des
commandes de mouvement à votre robot simulé. Cette commande ajuste la vitesse des moteurs
de chaque roue pour suivre le cap vers le point spécifié.
5. Répéter le processus : Vous pouvez répéter les étapes 2 à 4 jusqu'à ce que le robot atteigne le
point spécifié. Vous pouvez également ajouter des conditions d'arrêt pour arrêter la simulation
une fois que le robot atteint sa destination.
Il est important de noter que ces étapes peuvent varier en fonction de la configuration spécifique
de votre robot et de l'environnement de simulation. Il est recommandé de consulter la
documentation de Matlab pour des instructions détaillées sur la simulation de robots autonomes
et la planification de trajectoire.
u(t) = les commandes du contrôleur pour les vitesses des roues gauche et droite de la plante.
y(t) = la sortie de la plante - l'orientation actuelle.
controleur Plante
La méthode de suivi de référence (ou "carotte") est une technique couramment utilisée pour le
suivi de trajectoire des robots autonomes à entraînement à direction différentielle. Voici comment
elle fonctionne :
1. Définir la référence : Tout d'abord, il faut définir la trajectoire de référence que le robot doit
suivre. Cette référence peut être spécifiée en coordonnées absolues ou relatives, et peut être
représentée sous forme de signal.
2. Calculer l'erreur de trajectoire : En utilisant les capteurs de position du robot, il est possible de
calculer la différence entre la trajectoire de référence et la trajectoire actuelle du robot. Cette
erreur est exprimée en termes d'orientation désirée.
3. Utiliser un contrôleur pour ajuster la trajectoire : Un contrôleur est utilisé pour ajuster la
trajectoire du robot en fonction de l'erreur de trajectoire. Ce contrôleur utilise les informations de
l'orientation désirée et de l'orientation actuelle pour déterminer les commandes nécessaires pour
ajuster la vitesse des roues gauche et droite du robot.
4. Répéter le processus : Le robot continue de suivre cette trajectoire de référence en répétant les
étapes 2 et 3 jusqu'à ce qu'il atteigne la destination finale.
L'avantage de la méthode de suivi de référence est qu'elle permet un suivi précis de trajectoire en
temps réel en utilisant un contrôleur relativement simple. Cependant, cette méthode peut être
moins efficace dans les environnements complexes ou en présence d'obstacles, car elle ne prend
pas en compte la planification de trajectoire.
Pour étudier la méthode de suivi de référence en Matlab, vous pouvez utiliser les fonctions de
contrôle et de simulation fournies par Matlab pour simuler le comportement d'un robot
autonome à entraînement à direction différentielle. Vous pouvez également ajuster les
paramètres du contrôleur pour optimiser la performance du robot.
R
ẋ= (v + v )cos (ϕ )
2 r l
R ˙
ẏ= (v r +v l )sin (ϕ )
2
R
ϕ̇= ( v +v )
L r l
Le modèle unicycle est un modèle cinématique simplifié qui décrit le mouvement d'un robot
mobile à deux roues qui peut se déplacer dans toutes les directions en ajustant sa vitesse linéaire
et angulaire. Il est souvent utilisé pour la planification de trajectoire et la commande de robots
mobiles, tels que les robots à roues ou les drones.
Le modèle unicycle considère le robot comme un point, situé à une distance R du centre de
rotation de chaque roue. La position du robot est définie par deux coordonnées (x,y) et son
orientation par un angle θ. La vitesse linéaire et angulaire du robot sont respectivement v et ω.
Le modèle cinématique unicycle peut être décrit par les équations suivantes :
ẋ=vcos(ϕ)
ẏ=vsin(ϕ )
ϕ̇=ω
Transformation :
2 v−ωL
v l=
2R
2 v +ωL
v r=
2R
Dans le cas d'un système de contrôle de robot, l'entrée est généralement la commande de vitesse
appliquée aux moteurs du robot pour le faire avancer dans une certaine direction. Si le modèle du
système est décrit en termes de coordonnées cartésiennes, alors les dérivées des états (par
exemple, les vitesses linéaires et angulaires du robot) peuvent être directement reliées aux
commandes de vitesse appliquées aux moteurs.
Cependant, dans la plupart des cas, la relation entre les entrées et les dérivées des états est plus
complexe et nécessite une équation différentielle pour relier les deux. Par exemple, pour un robot
mobile à deux roues, la relation entre les commandes de vitesse des moteurs et les dérivées des
états (par exemple, la position et l'orientation du robot) est décrite par des équations non
linéaires qui dépendent des propriétés mécaniques et dynamiques du robot. Dans ce cas, il est
nécessaire d'utiliser des méthodes numériques pour résoudre l'équation différentielle associée au
modèle du système et pour relier les entrées aux états du système.
Où v est la vitesse linéaire, ω est la vitesse angulaire, R est le rayon des roues, L est la distance
entre les roues, ωr et ωl sont les vitesses angulaires des roues droite et gauche, x et y sont les
coordonnées du robot, et θ est l'orientation du robot par rapport à un axe de référence.
En utilisant Matlab, il est possible de simuler le modèle unicycle en définissant les paramètres du
robot, les commandes de vitesses angulaires, les conditions initiales et les contraintes du système.
Les fonctions de contrôle et de simulation de Matlab peuvent être utilisées pour calculer la
trajectoire du robot en fonction des entrées de commande et pour afficher graphiquement la
trajectoire simulée.
Exemple : script matlab
Chapitre 1: Asservissement du système
- Le système est asservi en boucle fermée à l'aide de contrôleurs PID pour ajuster la vitesse de
chaque moteur
- Les sorties des contrôleurs PID (vitesses de consigne des roues droite et gauche) sont les entrées
du système (moteurs des roues droite et gauche)
- Les entrées de référence des contrôleurs PID sont les angles désirés pour suivre le chemin
[Le modèle de robot mobile à deux roues dans Simulink est étudié en utilisant une approche
d'asservissement en boucle fermée avec des contrôleurs PID. L'objectif de l'asservissement est
d'ajuster la vitesse de chaque moteur pour suivre un chemin donné.
Les entrées de référence des contrôleurs PID sont les angles désirés pour suivre le chemin. Ces
angles sont calculés à partir d'un modèle de chemin pré-défini et sont utilisés pour ajuster la
vitesse de chaque roue de manière à suivre le chemin avec précision.
En résumé, l'étude détaillée du modèle de robot mobile à deux roues dans Simulink comprend une
approche d'asservissement en boucle fermée avec des contrôleurs PID pour ajuster la vitesse de
chaque moteur en fonction des angles de référence pour suivre le chemin de manière précise.
schéma bloc général pour le modèle de robot mobile à deux roues avec asservissement PID :
Angle de Moteur
PID Droit
référance
Angle de Moteur
référance PID Gayche
Dans ce schéma, l'angle de référence est comparé à la valeur de mesure de l'angle réel pour
déterminer l'erreur. Cette erreur est alors entrée dans le contrôleur PID qui calcule une commande
de sortie en fonction de l'erreur, qui est utilisée pour ajuster la vitesse de chaque moteur. Les
sorties des contrôleurs PID sont les vitesses de consigne pour les moteurs des roues droite et
gauche, qui contrôlent la vitesse du robot et sa direction.
Il est important de noter que ce schéma est une représentation générale du modèle de robot
mobile à deux roues avec asservissement PID, et que la mise en œuvre spécifique peut varier en
fonction des détails du système et des objectifs de contrôle.
le schéma bloc simplifié du modèle de robot mobile à deux roues dans Simulink pour
l'asservissement du système :
Trajectoire planning
Contrôle de
trajectoire
Contrôle de
vitesse
Asservissement Asservissement
PID roue gauche PID roue droit
il existe des capteurs qui peuvent être utilisés dans le cadre de la robotique pour suivre une
courbe à 2 roues et 2 moteurs. Voici quelques exemples de capteurs couramment utilisés dans ce
domaine :
1-Capteurs de position angulaire : ces capteurs mesurent l'angle de rotation des roues ou des
moteurs du robot, ce qui permet de déterminer sa position.
2-Capteurs de vitesse : ces capteurs mesurent la vitesse de rotation des roues ou des moteurs, ce
qui permet de déterminer la vitesse du robot.
3-Capteurs de distance : ces capteurs mesurent la distance parcourue par le robot, ce qui permet
de déterminer sa position.
4-Capteurs de proximité : ces capteurs mesurent la distance entre le robot et un objet proche, ce
qui permet de détecter les obstacles et d'éviter les collisions.
5-Capteurs de vision : ces capteurs utilisent des caméras pour capturer des images de
l'environnement du robot, ce qui permet de détecter les obstacles et de suivre une trajectoire
prédéfinie.
En ce qui concerne la génération de code en MATLAB, il est possible de créer des scripts et des
fonctions pour interagir avec les capteurs du robot, traiter les données capturées et calculer les
commandes nécessaires pour suivre la trajectoire souhaitée. Il est également possible d'utiliser
l'environnement Simulink pour modéliser et simuler le comportement du robot en utilisant les
capteurs et les contrôleurs appropriés
Robot
•Erreur de position : la différence entre la position actuelle du robot et la position désirée sur la
trajectoire.
•Erreur d'angle : la différence entre l'angle actuel du robot et l'angle désiré pour suivre la
trajectoire.
•Commande de vitesse : la commande de vitesse linéaire envoyée au robot pour le faire avancer
sur la trajectoire.
Entrées :
Sorties :
•Commandes de mouvement : v, ω
•Sorties : e_θ
•Sortie : v
•Sortie : ω
•Opération : dernière erreur d'angle = e_θ, intégrale de l'erreur d'angle = intégrale de l'erreur
d'angle + e_θ * temps d'échantillonnage
•Sortie : aucune
•Opération : si temps courant - temps initial > temps de parcours de la trajectoire, signal de sortie
= vrai
•Entrée : aucune
•Sortie : aucune
Introduction :
Dans cette leçon, nous allons explorer les performances d'un système de robotique à deux roues
et deux moteurs pour le suivi de courbe. Les performances d'un tel système sont mesurées en
termes de précision, de rapidité et de stabilité.
Objectifs de la leçon :
- Comprendre les performances d'un système de robotique à deux roues et deux moteurs pour le
suivi de courbe.
- Comprendre l'importance des gains PID et de la période d'échantillonnage pour les performances
du système.
- Précision:
Capacité du robot à suivre précisément le chemin de référence. Elle dépend des gains PID et de la
période d'échantillonnage.
L'erreur de positionnement peut être définie comme l'écart entre la position de référence du
robot et sa position réelle. L'objectif de la commande est de minimiser cette erreur. Le contrôleur
PID utilise l'erreur pour ajuster les commandes envoyées aux moteurs. Le terme proportionnel P
est proportionnel à l'erreur, le terme intégral I est proportionnel à l'intégrale de l'erreur sur le
temps, et le terme dérivé D est proportionnel à la dérivée de l'erreur sur le temps. Ainsi, l'erreur
de positionnement peut être écrite comme :
où e(t) est l'erreur de positionnement à l'instant t, r(t) est la position de référence à l'instant t, et
y(t) est la position réelle du robot à l'instant t.
où u(t) est la commande envoyée aux moteurs, Kp, Ki et Kd sont les gains proportionnel, intégral
et dérivé respectivement, et ∫ et de/dt représentent l'intégrale et la dérivée par rapport au
temps.
- Rapidité:
Vitesse à laquelle le robot atteint le chemin de référence et corrige les erreurs. Elle dépend des
gains PID.
La rapidité du système peut être caractérisée par sa bande passante. Plus la bande passante est
élevée, plus le système est rapide. La bande passante peut être définie comme la fréquence à
laquelle la réponse du système atteint -3 dB par rapport à sa valeur en régime permanent. Elle
peut être calculée à partir de la fonction de transfert en boucle fermée du système, qui relie la
sortie du système (la position réelle du robot) à l'entrée (la position de référence). Pour un
système du second ordre, la bande passante peut être exprimée en fonction du coefficient
d'amortissement ζ et de la pulsation naturelle ωn comme suit :
ωb = ωn √(1-ζ²)
où ωb est la bande passante en rad/s, ωn est la pulsation naturelle en rad/s et ζ est le coefficient
d'amortissement sans unité.
- Stabilité:
Le système doit rester stable lors du suivi du chemin pour éviter les oscillations. Elle dépend des
gains PID.
La stabilité du système est liée à la position des pôles de la fonction de transfert en boucle fermée.
Pour qu'un système soit stable, tous ses pôles doivent être situés dans la partie gauche du plan
complexe. Le contrôleur PID peut être réglé pour garantir la stabilité du système en utilisant des
méthodes telles que la méthode du placement des pôles ou la méthode de la réponse
fréquentielle. Le coefficient d'amortissement ζ peut être utilisé pour contrôler la stabilité du
système. Un coefficient d'amortissement faible peut entraîner des oscillations, tandis qu'un
coefficient d
c/c :
- Précision: Capacité du robot à suivre précisément le chemin de référence. Elle dépend des gains
PID et de la période d'échantillonnage.
- Rapidité: Vitesse à laquelle le robot atteint le chemin de référence et corrige les erreurs. Elle
dépend des gains PID.
- Stabilité: Le système doit rester stable lors du suivi du chemin pour éviter les oscillations. Elle
dépend des gains PID.
- L'analyse temporelle du système passe/passe-haut est utilisée pour déterminer les performances
temporelles du système (temps de montée, dépassement).
- Ils permettent de régler les gains PID pour satisfaire aux spécifications de stabilité et de
performance.
- Elle étudie l'écart statique, l'erreur dynamique pour différentes entrées de référence.
- Elle analyse l'effet de ces solutions sur les performances globales du système asservi.
J'espère que cette étude du modèle Simulink du robot mobile répond à votre question. N'hésitez pas
à demander des éclaircissements ou des détails supplémentaires sur l'un des chapitres.