Académique Documents
Professionnel Documents
Culture Documents
InitRob TP1 PDF
InitRob TP1 PDF
Le but de ce TP est de développer des fonctions sous Matlab qui permettent de définir
des transformations homogènes et de calculer le modèle géométrique direct (MGD) d’un
manipulateur. Le modèle géométrique inverse (MGI) d’un simple manipulateur à 2 DDL sera
aussi consideré.
Un compte rendu avec les méthodes proposées ainsi que les résultats intermédiaires est
à rendre à la fin de la séance par chaque étudiant. Il est à noter que du simple code n’est pas
un compte rendu: commentez vos fonctions et motivez vos choix dans votre rapport final.
Matlab est un logiciel interprété (donc sans phase préliminaire de compilation) qui exécute les
opérations demandées séquentiellement, avec possibilité de boucle, test et saut. Il ne manipule
que des données numériques et ne sait effectuer aucun calcul formel à priori.
L'écran de base comprend l'écran de contrôle, le Command Window, ainsi que des fenêtres
complémentaires permettant de suivre le fonctionnement général d'une application. Les
instructions frappées (ou collées) dans la Command Windows s'exécutent directement.
Les commandes peuvent être relancées dans la fenêtre Matlab simplement en remontant la
liste par ↑ et en validant la ligne par Return.
L'exécution d'une ligne provoque automatiquement l'affichage des résultats sous forme d'une
liste de données numériques. Cette fonctionnalité peut être bloquée en mettant un ";" à la fin
de chaque ligne de programme (préférable lorsque le calcul concerne une matrice de grande
dimension).
Tout programme enregistré sous l'extension ".m" peut être lancé depuis la Commande
Windows de Matlab, en frappant son nom (sous réserve que le chemin d'accès au fichier soit
déclaré sous Matlab, voir la commande Set Path du menu Fichiers.
La commande "help" ou "help nom-de-fonction" permet d'obtenir une aide sur le logiciel en
général, un Toolbox (ou boîte à outils) ou une fonction particulière. Toute variable utilisée est
rangée dans l'espace mémoire appelé workspace et y reste à moins d'effacer le workspace par
la commande "clear all". Le contenu du workspace peut être affiché par l'instruction "who"
(nom seul des variables) ou "whos" (noms avec description du type).
La valeur d'une variable s'affiche en frappant simplement son nom (sans le ";" en fin de
ligne). Son dimensionnement s'obtient par "size(nom-de-variable)".
3) Écrire une fonction Matlab, appelée A = TransHom(R, t), qui prend en entrée
la matrice de rotation 3 × 3, R, et le vecteur de translation 3 × 1, t, et renvoie la
matrice de transformation homogène 4 × 4, A.
b) Tester cette fonction pour les valeurs des variables articulaires θ1 et θ2 suivantes:
[0, π/2]T, [0, 0]T, [-π/2, π/2]T, [π/2, 0]T.
b. Les entrées a, alpha, d, theta, sont les vecteurs n × 1 des paramètres de Denavit-
Hartenberg (DH) du robot (les unités de mesure sont mètres et radians).
0
c. La sortie T est la matrice de transformation homogène Tn (q) qui donne la pose
de l’effecteur par rapport à sa base.
3) Ajouter les entrées qinf, qsup à la fonction « MGD_gen ». qinf, qsup sont les
vecteurs n × 1 des butées articulaires du robot. Si les paramètres fournis par
l'utilisateur ne respectent pas les butées articulaires du robot, un message d'erreur
doit être affiché.
px = d2 cos θ1
py = d2 sin θ1
Une démarche analytique simple permet de déterminer le modèle géométrique inverse du
robot. En effet, nous avons :
d2 = p2x + p2y
Écrire une fonction Matlab, appelée [theta1, d2] = MGI_RP(px, py), qui prend en entrée
les coordonnées du point P (voir la Fig. 2) et renvoie les variables articulaires du robot.
Remarque: Pour plus de robustesse dans le calcul de θ1, la fonction arc tangente à
2 arguments (tapez "help atan2" sous Matlab) est à préférer.