E.N.I.
M Département génie électrique
Université de Monastir
Ecole Nationale d’Ingénieurs de Monastir
Département Génie électrique
Eléments de robotique
TP n° 1:
Matrice de passage et modélisation géométrique
Elaboré par : BELLAZREG Nourane
BELTAIEF Youssef
Groupe : Elec2 G3
Année universitaire 2023/2024
E.N.I.M Département génie électrique
I. Introduction :
Les robots sont des automates équipés de capteurs et d'effecteurs, leur conférant
une capacité d'adaptation et d'action autonome dans leur environnement. Ils
peuvent extraire des informations de leur environnement pour prendre des
décisions. On distingue deux grandes catégories de robots : les robots
manipulateurs, ancrés physiquement à leur place de travail, qui peuvent être des
automates exécutant des actions répétitives sans perception de l'environnement,
des robots réactifs réagissant à l'état actuel de leur environnement, des robots
cognitifs analysant leur environnement pour déterminer la meilleure action, ainsi
que des robots industriels et médicaux ; et les robots mobiles, capables de se
déplacer dans leur environnement, comprenant les robots explorateurs pour des
missions d'exploration ou de secours, et les robots de service destinés à aider
l'homme dans diverses tâches telles que l'agriculture, le transport de
marchandises, les tâches ménagères, l'assistance muséale, et l'aide aux personnes
en situation de handicap ou de vieillesse.
II. Modélisation du Robot
- Pour commander ou simuler le comportement d'un système mécanique articulé
(robot), des modèles mathématiques sont nécessaires.
- Les différents niveaux de modélisation incluent :
- Modèles géométriques directs et inverses : décrivent la position de
l'organe terminal en fonction des variables articulaires et vice versa.
- Modèles cinématiques directs et inverses : décrivent la cinématique
du robot en fonction des variables articulaires et inversement.
- Modèles dynamiques : définissent les équations du mouvement du
robot en établissant les relations entre les forces ou couples appliqués
et les positions, vitesses, et accélérations des articulations.
L'obtention de ces modèles peut être difficile.
La complexité de la cinématique de la chaîne articulée influence la difficulté,
notamment :
- Nombre de degrés de liberté (DDL).
- Type des articulations (rotoïde, prismatique, sphérique, etc.).
- Type de chaîne : ouverte ou fermée.
E.N.I.M Département génie électrique
III. Exercices
Exercice1 : Rotation d’un référentiel
Soit un repère mobile peut subir une rotation autour de l’axe x, y ou z
cos 𝛼 − sin 𝛼 0
• 𝑅(𝑧,𝛼) = [ sin 𝛼 cos 𝛼 0] Matrice de passage suite à une rotation
0 0 1
d’un angle selon l’axe z
cos 𝛽 0 sin 𝛽
• 𝑅(𝑦,𝛽) = [ 0 1 0 ] Matrice de passage suite à une rotation
− sin 𝛽 0 cos 𝛽
d’un angle selon l’axe y
1 0 0
• 𝑅(𝑥,𝛾) = [0 cos 𝛾 − sin 𝛾 ] Matrice de passage suite à une rotation
0 sin 𝛾 cos 𝛾
d’un angle selon l’axe x
E.N.I.M Département génie électrique
1. Ecrire un programme sur Matlab qui génère les coordonnées d’un point M
(x, y, z) dans le repère R0 à partir de ses coordonnées dans le repère R1
suite à une rotation autour de l’un des axes x, y ou z et d’un angle Φ
close all;
clear all;
clc;
x = input('donner les coordonnees de M,X ')
y =input('donner les coordonnees de M,Y')
z=input('donner les coordonnees de M,Z ')
M=[x;y;z];
axe=input('donner l axe de rotation ', 's')
switch axe
case 'z'
alpha=input('donner l angle de rotation ');
Rz=[ cos(alpha) -sin(alpha) 0; sin(alpha) cos(alpha) 0; 0 0 1]
Mp= Rz*M
case 'y'
beta=input('donner l angle de rotation ')
Ry=[cos(beta) 0 sin(beta); 0 1 0 ;-sin(beta) 0 cos(beta)]
Mp= Ry*M
case 'x'
zeta=input('donner l angle de rotation ')
Rx=[1 0 0;0 cos(zeta) -sin(zeta); 0 sin(zeta) cos(zeta)]
Mp=Rx*M
end
2. Transformer le programme précédent pour générer les coordonnées d’un
point P dans le repère initial R0 à partir de ses coordonnées dans le repère
Rn, suite à n rotations autour des axes (x, y et z).
close all;
clear all;
clc;
E.N.I.M Département génie électrique
x = input('donner les coordonnees de M,X ')
y =input('donner les coordonnees de M,Y')
z=input('donner les coordonnees de M,Z ')
M=[x;y;z];
n=input('donner le nombre de rotation ')
for i=1:n
axe=input('donner l axe de rotation ', 's')
switch axe
case 'z'
alpha=input('donner l angle de rotation ');
Rz=[ cos(alpha) -sin(alpha) 0; sin(alpha) cos(alpha) 0; 0 0 1]
Mp= Rz*M
case 'y'
beta=input('donner l angle de rotation ')
Ry=[cos(beta) 0 sin(beta); 0 1 0 ;-sin(beta) 0 cos(beta)]
Mp= Ry*M
case 'x'
zeta=input('donner l angle de rotation ')
Rx=[1 0 0;0 cos(zeta) -sin(zeta); 0 sin(zeta) cos(zeta)]
Mp=Rx*M
end
end
E.N.I.M Département génie électrique
Exercice2 : Translation d’un référentiel
𝐷𝑥
Soit un repère R0 qui a subi une translation D=[𝐷𝑦 ]
𝐷𝑧
1. Développer une routine MATLAB qui génère les coordonnées d’un point
M dans le repère R0 à partir de ses coordonnées dans le repère R1, suite à
une translation D
close all;
clear all;
clc;
x = input('donner les coordonnees de M,X ')
y =input('donner les coordonnees de M,Y')
z=input('donner les coordonnees de M,Z ')
M=[x;y;z];
n=input('donner le nombre de translation ')
for i=1:n
a = input('donner les coordonnees de M,a ')
b =input('donner les coordonnees de M,b')
c=input('donner les coordonnees de M,c ')
D=[a;b;c];
MO=M+D
end
E.N.I.M Département génie électrique