A.
Introduction :
Une compréhension approfondie et une modélisation précise des systèmes robotiques sont
indispensables pour garantir un contrôle efficace. Dans cette section théorique, nous explorerons plusieurs
concepts fondamentaux. Tout d'abord, le modèle géométrique direct (MGD) décrit la manière dont les
positions et les orientations des différentes parties d'un robot sont liées. Ensuite, le modèle géométrique
inverse (MGI) détermine les configurations articulaires nécessaires pour atteindre une pose spécifique. Le
modèle cinématique direct (MCD) établit la relation entre les vitesses des articulations et la vitesse de
déplacement de l'effecteur, tandis que le modèle cinématique inverse (MCI) permet de calculer les vitesses
articulaires nécessaires pour obtenir une vitesse donnée de l'effecteur. Enfin, nous aborderons la commande
non linéaire linéarisante (CNL), une méthode cruciale pour stabiliser et contrôler un robot manipulateur à
trois degrés de liberté (3DDL) en coordonnées sphériques.
B. Partie Théorique :
1. Le modèle géométrique direct (MGD) :
P x =( 〖 L 〗2 COSθ2 + 〖 L 〗3 cos(θ2 +θ3 ))∗SINθ1
P y =( 〖 L 〗2 COSθ 2 + 〖 L 〗3 cos(θ 2+θ 3))∗COSθ 1
P z=〖 L 〗2 SINθ 2+ 〖 L 〗3 sin(θ 2+ θ3)¿+ L1
2. Le (MGI) :
3. Le (MCD) :
¿
[]
ẋ
ẏ =
ż
[ C1 (L ¿ ¿ 3 C 23 + L2 C 2)¿−S1 (L ¿ ¿ 3 S 23 + L2 S 2)¿−L3 S 23 S 1
¿
−C1 (L ¿ ¿ 3 S 23 + L2 S 2) ¿ L3 C 23 + L2 C2
−L3 S2
L3 C 2
4. Le modèle cinématique inverse (MCI) :
L'objectif du modèle cinématique inverse est de calculer les vitesses articulaires q̇ à partir d'une
configuration q donnée, de manière à assurer au repère terminal une vitesse X imposée. Cette définition est
similaire à celle du modèle différentiel inverse, qui permet de déterminer la variation différentielle q̇
correspondant à une variation différentielle spécifiée des coordonnées opérationnelles Ẋ . Pour obtenir le
modèle cinématique inverse, on inverse le modèle cinématique directe en résolvant un système d'équations
linéaires. Cette résolution peut être effectuée de manière analytique ou numérique.
5. La commande Commande Non Linéaire :
T
Ṡ=[ ẋ ẏ ż]
[] [ ]
ẋ V1
ẏ =¿ J V 2
ż V3
[ ][ ]
W1 V 1
J (θ1 , θ2 ,θ3 ) W 2 = V 2
W3 V 3
[] []
W1 V1
−1
W 2 =J (θ1 ,θ 2 , θ3 ) V 2
W3 V3
V 1=k 1 (X d −X )
V 2=k 2 (Y d −Y )
V 3=k 3 (Z d−Z)
6. Le schéma Simulink :
[] []
V1
W1
V2
W2
V3
V 1=k 1 (X d −X ) W3
V 2=k 2 (Y d −Y ) W1 1
−1
C. Partie Pratique :
1. Le schéma Simulink sur Matlab avec les résultats obtenus :
le schéma fonctionnel de la boucle d'asservissement
les réponses du système y et yd.
les réponses du système x et xd.
les réponses du système z et zd.
2. Programme sous matlab :
clc;clear all;
l1 = 0.5;
l2 = 0.5;
l3 = 0.5;
theta0 = pi/4;
phi0 = pi/6;
r0 = l1 + l2;
theta_d = pi/3;
phi_d = pi/4;
r_d = l1 + l2;
xd = r_d * sin(theta_d) * cos(phi_d);
yd = r_d * sin(theta_d) * sin(phi_d);
zd = r_d * cos(theta_d);
x0 = r0 * sin(theta0) * cos(phi0);
y0 = r0 * sin(theta0) * sin(phi0);
z0 = r0 * cos(theta0);
xf1 = x0 + l3 * sin(theta0) * cos(phi0);
yf1 = y0 + l3 * sin(theta0) * sin(phi0);
zf1 = z0 + l3 * cos(theta0);
cq2 = (xd^2 + yd^2 + zd^2 - l1^2 - l2^2 - l3^2) / (2 * l1 * l2);
sq2 = sqrt(1 - cq2^2);
q2 = atan2(sq2, cq2);
cq1 = ((l1 + l2 * cos(q2)) * xd + l2 * sin(q2) * yd) / (xd^2 + yd^2);
sq1 = sqrt(1 - cq1^2);
q1 = atan2(sq1, cq1);
q3 = theta0 - q1 - q2;
x1 = l1 * sin(q1) * cos(phi0);
y1 = l1 * sin(q1) * sin(phi0);
z1 = l1 * cos(q1);
x2 = x1 + l2 * sin(q1 + q2) * cos(phi0);
y2 = y1 + l2 * sin(q1 + q2) * sin(phi0);
z2 = z1 + l2 * cos(q1 + q2);
figure;
plot3([x0 x1 x2 xf1], [y0 y1 y2 yf1], [z0 z1 z2 zf1], 'linewidth', 3);
hold on;
plot3(x0, y0, z0, '*r', 'markersize', 10);
plot3(xf1, yf1, zf1, '*g', 'markersize', 10);
grid on;
xlabel('Axe X');
ylabel('Axe Y');
zlabel('Axe Z');
IV. Conclusion :
Cette étude approfondie sur la modélisation d'un robot manipulateur à trois degrés de liberté en
coordonnées sphériques a examiné en détail les concepts fondamentaux, tels que le modèle géométrique
direct, le modèle géométrique inverse, le modèle cinématique direct, le modèle cinématique inverse, et la
commande non linéaire linéarisante. Ces modèles ont été formulés mathématiquement pour décrire la
position et les vitesses du robot en fonction des angles articulaires.