Vous êtes sur la page 1sur 12

COMPTE RENDU

TD 4 – 5
Modélisation de Robots

DAVILLERD Etienne
NASCIMENTO CORREA Samily

Formation Ingénieur Mécanique

Clermont-Ferrand
décembre, 2023
Sommaire
1 Introduction 2

2 Construction du modèle 3

3 Génération de trajectoire 8

4 Conclusion 11

1
1 Introduction
Le but de ce compte rendu est de présenter le fonctionnement et les étapes associées à la
modélisation et la simulation cinématique du robot sériel UR10 et répondre aux questions
proposées par le TD4-5. Ça c’est très important pour la compréhension du fonctionnement du robot
et de l’imposition de mouvement à l’effecteur et aussi de la structure.
Le travail a été fait avec l’aide des logiciels ADAMS View, pour faire le montage et la
simulation du mouvement fait par le robot, et MATLAB, utilisé pour trouver les variables
articulaires en fonction des variables opérationnelles à partir du méthode MGI.
Ce compte rendu est divisé en deux parties principales : le pas-à-pas de la structuration du
robot UR10 et la génération de la trajectoire de l’effecteur à partir du méthode MGI. Les étapes
sont faites suivant les étapes du TD4-5.

2
2 Construction du modèle
Après l’ouverture du logiciel ADAMS, le dossier R_10_TP1_Points a été ouvert comme un
modèle déjà existant. Ce modèle affiche un ensemble de points qui seront utiles comme repère
géométrique pour le positionnement des articulations du robot étudié.

F IGURE 1 – Dossier UR_10_TP1_Points ouvert dans le logiciel ADAMS

F IGURE 2 – Exemple d’ouverture d’un segment du robot

Par la suite, après l'ouverture du dossier contenant l'ensemble des points définis, les fichiers au
format ".SLDPRT" correspondant à chaque composant du robot ont été activés. Le robot est segmenté
en 7 parties distinctes (base, bras 1, bras 2, ..., bras 7), et chacune de ces parties est intégrée
individuellement dans le fichier principal. Les archives sont consultées en tant que fichiers provenant de
SolidWorks. Après nous avons fait la création d’un Part name pour ouvrir le fichier dans le dossier
principal.

3
F IGURE 3 – Exemple de création d’un Part name

F IGURE 4 – Fichier ouverte après l’importation

Fini d’importer toutes les pièces qui composent le UR_10, la structure du robot est complète. Sa
configuration dans le logiciel ADAMS est représentée sur la figure ci-dessous.

4
F IGURE 5 – Structure du robot UR_10

A présent, il est nécessaire d'attribuer à chaque composant les repères correspondants issus du
fichier de points (R_10_TP1_Points). Ceci vise à préciser la position et le déplacement associés
à chaque articulation rotative. Pour créer les repères, nous avons utilisé la fonction Construction
Geometry : Maker. Pour associer un repère à chaque pièce, on lui associe un point et une
translation / rotation par rapport au système coordonnées précédent, comme indiqué par les
tableaux ci-dessous.

Repére 𝑅0 𝑅1 𝑅2 𝑅3 𝑅4 𝑅5 𝑅6
Point 𝑂0 𝑂1 𝑂2 𝑂3 𝑂4 𝑂5 𝐸

TABLE 1 – Point associé à chaque repère

5
F IGURE 6 – Relation entre les repères du robot UR_10

À partir de maintenant, les articulations seront placées une fois que le système de coordonnées
associé à chaque pièce du robot sera établi. Pour implémenter tous les joints rotatifs, il faut utiliser
le fonction Create a revolution joint (Connectors > Joints>Create a revolution joint).

F IGURE 7 – Insertion des joints du robot UR_10

Finalement, le genre de mouvement effectué pour chaque joint est correctement déterminé
pour bien signaliser la rotation de chaque partie du robot.

6
F IGURE 8 – Mouvement fait pour chaque joint du robot UR_10

3 Génération de trajectoire
L'objectif consiste à réaliser une trajectoire linéaire le long de l'axe X entre deux poses de
l'effecteur dans l'espace de travail. L'orientation de l'effecteur restera constante le long de la
trajectoire. Les variables xf et x0 représentent respectivement la position finale et initiale du
mouvement de l'effecteur. Les positions finale et initiale ont été déterminées dans le script Matlab
de manière à permettre le mouvement de l'effecteur. La trajectoire est définie par une fonction
polynomiale du cinquième degré en fonction du temps afin d'éviter tout choc au démarrage et à
l'arrêt du robot :

𝑋𝑒 (𝑡) = 𝑐0 + 𝑐1 𝑡 + 𝑐2 𝑡 2 + 𝑐3 𝑡 3 + 𝑐4 𝑡 4 + 𝑐5 𝑡 5 (1)
𝑋̇𝑒 (𝑡) = 𝑐1 + 2𝑐2 𝑡 + 3𝑐3 𝑡 2 + 4𝑐4 𝑡 3 + 5𝑐5 𝑡 4 (2)
𝑋̈𝑒 (𝑡) = 2𝑐2 + 6𝑐3 𝑡 + 12𝑐4 𝑡 2 + 20𝑐5 𝑡 3 (3)

La trajectoire est délimitée par les contraintes ci-dessous :

𝑋𝑒 (𝑡 = 0) = 𝑐0 = 𝑋𝑒0 (4)
𝑋𝑒 (𝑡 = 𝑡𝑓 ) = 𝑐0 + 𝑐1 𝑡𝑓 + 𝑐2 𝑡𝑓 2 + 𝑐3 𝑡𝑓 3 + 𝑐4 𝑡𝑓 4 + 𝑐5 𝑡𝑓 5 = 𝑋𝑒𝑓
𝑋̇𝑒 (𝑡 = 0) = 𝑐1 = 0 (5)
𝑋̇𝑒 (𝑡 = 𝑡𝑓 ) = 𝑐1 + 2𝑐2 𝑡𝑓 + 3𝑐3 𝑡𝑓 2 + 4𝑐4 𝑡𝑓 3 + 5𝑐5 𝑡𝑓 4 = 0
𝑋̈𝑒 (𝑡 = 0) = 2𝑐2 = 0 (6)
7
𝑋̈𝑒 (𝑡) = 2𝑐2 + 6𝑐3 𝑡𝑓 + 12𝑐4 𝑡𝑓 2 + 20𝑐5 𝑡𝑓 3 = 0

Après avoir fait le calcul à la main, les résultats obtenus pour les valeurs de c0, c1, c2, à partir
de les contraintes sont :
𝑐0 = 𝑋𝑒0 (7)
𝑐1 = 0 (8)
𝑐2 = 0 (9)

On obtient après simplification les équations suivantes :

𝑋𝑒𝑓 − 𝑋𝑒0 = 𝑐3 𝑡𝑓 3 + 𝑐4 𝑡𝑓 4 + 𝑐5 𝑡𝑓 5
{ 0 = 3𝑐3 𝑡𝑓 2 + 4𝑐4 𝑡𝑓 3 + 5𝑐5 𝑡𝑓 4
0 = 6𝑐3 𝑡𝑓 + 12𝑐4 𝑡𝑓 2 + 20𝑐5 𝑡𝑓 3
Et
𝑐0 = ∆𝑋𝑒 = 𝑋𝑒𝑓 − 𝑋𝑒0
{ 𝑐1 = 0
𝑐2 = 0

On regroupe tous :

𝑡𝑓 3 𝑡𝑓 4 𝑡𝑓 5 𝑐3 ∆𝑋𝑒
2 3 4 𝑐
(3𝑡𝑓 4𝑡𝑓 5𝑡𝑓 ) ( 4 ) = ( 0 )
𝑐5 0
6𝑡𝑓 12𝑡𝑓 2 20𝑡𝑓 3
Apres résolution matriciel :

10∆𝑋𝑒 (10)
𝑐3 =
𝑡𝑓 3
−15∆𝑋𝑒
𝑐4 = (11)
𝑡𝑓 4
6∆𝑋𝑒
𝑐5 = 5
{ 𝑡𝑓 (12)

Donc, la fonction trajectoire sera :

x(t) = x0 + 10(xf −x0)t3 − 15(xf −x0)t4 + 6(xf −x0)t5 (13)

Les temps initiales et finales de la trajectoire sont choisit ci-dessous à fin de simplifier le
calculs :

t0 = 0s

t f = 1s
Et la différence entre les variables x0 et x f a été établi comme suit :

x f −x 0 = 100mm (14)
8
Cette distance déterminera le parcours fait pour l’effecteur.

En utilisant les logiciels Matlab et Excel. On crée un fichier CSV pour stocker les
informations sur la position des variables opérationnelles. On a utilisé le programme suivant.

% Programme principale Q=zeros(n,6);


clc
clear for i=1:1:n
close all ti=t(i);
% parametre de greta... X(i)=cx0+cx1*ti+cx2*ti^2+cx3*ti^3+cx4*ti^4
global d1 d4 d5 d6 a2 a3 +cx5*ti^5;
d1=127.3 Y(i)=cy0+cy1*ti+cy2*ti^2+cy3*ti^3+cy4*ti^4
d4=-163.941
d5=115.7 +cy5*ti^5;
d6=92.2 Z(i)=cz0+cz1*ti+cz2*ti^2+cz3*ti^3+cz4*ti^4+
cz5*ti^5;
a2=612 A = [ ...
a3=572.3 1 0 0 X(i);
0 0 1 Y(i);
MGD_UR10([0,pi/2,0,-pi/2,0,0]) 0 -1 0 Z(i)
% MGI_UR10([0,pi/2,0,-pi/2,0,0]) 0 0 0 1 ];
%position initiale Q(i,:)=MGI_UR10(A);
A0=MGD_UR10([0,pi/2,0,-pi/2,0,0]); end
X0=A0(1,4);
Y0=A0(2,4); % A = [ ...
Z0=A0(3,4); % 1 0 0 200;
% génération de trajectoire % 0 0 1 300;
Dx=0; % 0 -1 0 600];
Dy=0;
Dz=-200;

tf=1;%
t=0:0.01:tf;

Xf=X0+Dx;
Yf=Y0+Dy;
Zf=Z0+Dz;

%coef
cx0=X0; cx1=0; cx2=0; cx3=10*(Xf-X0)/tf^3;
cx4=-15*(Xf-X0)/tf^4; cx5=6*(Xf-X0)/tf^5;

cy0=Y0; cy1=0; cy2=0; cy3=10*(Yf-Y0)/tf^3;


cy4=-15*(Yf-Y0)/tf^4; cy5=6*(Yf-Y0)/tf^5;

cz0=Z0; cz1=0; cz2=0; cz3=10*(Zf-Z0)/tf^3;


cz4=-15*(Zf-Z0)/tf^4; cz5=6*(Zf-Z0)/tf^5;

n=length(t);
X=zeros(n,1)
Y=zeros(n,1)
Z=zeros(n,1)

%cOORDENES QRTICULQIRES

9
Après l'importation du fichier CSV dans ADAMS, la fonction AKISPL est utilisée pour
établir la relation entre chaque articulation et chaque spline. Des ajustements ont été apportés car
les rotations imposées ne correspondent pas à celles données par le modèle. Le tableau ci-dessous
récapitule les splines associées à chaque pivot.

Pivot Spline
Pivot 1 disp(time) = -AKISPL(time,0,SPLINE_1, 0)
Pivot 2 disp(time) = -AKISPL(time,0,SPLINE_2, 0)-pi/2
Pivot 3 disp(time) = -AKISPL(time,0,SPLINE_3, 0)
Pivot 4 disp(time) = -AKISPL(time,0,SPLINE_4, 0)+pi/2
Pivot 5 disp(time) = -AKISPL(time,0,SPLINE_5, 0)
Pivot 6 disp(time) = -AKISPL(time,0,SPLINE_6, 0)

TABLE 2 – Spline associé à chaque joint

Après toute la procédure, l’effecteur du robot UR_10 fait la trajectoire rectiligne dans l’axis
X, comme indiqué par l’image :

F IGURE 9 – Parcours fait pour le robot UR_10 à travers du MGI

10
4 Conclusion
Ainsi, au cours de l'exécution du projet, il a été possible de saisir l'assemblage et le
fonctionnement du robot UR_10, ainsi que le processus du MGI (Modèle Géométrique Inverse)
utilisé pour calculer les variables articulaires en fonction des variables opérationnelles, c'est-à-
dire la pose de l'effecteur. Cela a permis d'obtenir les mouvements souhaités pour l'effecteur.
Le logiciel ADAMS a joué un rôle crucial dans la simulation des mouvements, confirmant
ainsi le bon fonctionnement du modèle. Il a facilité la visualisation, l'assemblage et le
comportement de toutes les articulations et pièces sur le robot étudié. De plus, le logiciel a fourni
des graphiques associés aux mouvements de l’effecteur.
La vidéo de la simulation de la trajectoire rectiligne entre deux poses de l’effecteur est
conforme, ainsi que le modèle ADAMS au format cmd est assemblé comme demander dans le
TP. Finalement, le programme MATLAB de génération de trajectoire a été utilisé pour déterminer
le mouvement fait pour l’effecteur de la même manière qu’a géré le dossier csv

11

Vous aimerez peut-être aussi