Bonjour à tous.....
je suis etudiant en robotique et modeliser mon robot sur Matlab en utilisant la toolbox RTB de peter corke. Malheuresement je suis bloqué au niveau de la determination des equations dynamique et aussi pour developper la commande de mon robot.
Mon robot est un scara à 4 dégres de libertés.
Voici mon code pour determiner les quations dynamiques mais il y'a erreur au niveau de la matice Mask.
Error using SerialLink/ikine (line 164)
Number of robot DOF must be >= the same number of 1s in the mask matrix
coordialement!!!!!Code:clc; clear all; syms a1 a2 d1 d4 q1 q2 q3 q4 q qd qdd preach =[0.2, 0.2, 0.3]; %%%%%%%% CREATION DES JOINTS UTILISANT LES PARAMETRES D-H L(1)=Link([0 d1 a1 0]) L(2)=Link([0 0 a2 0]) L(3)=Link([0, q3,0,0,1],'standard') L(4)=Link([0 d4 0 pi]) L(3).qlim=[0.35 1] %%%%%%%% definition de la masse des joints L(1).m = 4.43; L(2).m = 10.2; L(3).m = 4.8; L(4).m = 1.8; %%%%%%%%%% DEFINITION DU CENTRE DE GRAVITE L(1).r = [ 0 0 -0.08]; L(2).r = [ -0.216 0 0.26]; L(3).r = [ 0 0 0.216]; L(4).r = [ 0 0.02 0]; %%%%%%%%%% DEFINITION DE LA MATRICE D'INERTIE %%%%%%%%% INTERPRETER DANS L'ORDRE SUINVANT [Ixx Iyy Izz Ixy Iyz Ixz] L(1).I = [ 0.195 0.195 0.026 0 0 0]; L(2).I = [ 0.588 1.886 1.470 0 0 0]; L(3).I = [ 0.324 0.324 0.017 0 0 0]; L(4).I = [ 3.83e-3 2.5e-3 3.83e-3 0 0 0]; %%%%%%%% DEFINITION DE LA LIMITE DES JOINTS L(1).qlim =[deg2rad(-160) deg2rad(160)]; L(2).qlim =[deg2rad(-125) deg2rad(125)]; L(3).qlim =[deg2rad(-270) deg2rad(90)]; %%%%%%%%%% CONTRUCTION DU MODEL DU ROBOT SCARAT %%%%% j'ai ajouté mask matrix dans To et qreach Scarat = SerialLink(L, 'name', 'Scarat'); qready = [0 -pi/6 pi/6 pi/3]; m = [1,1,1,1,1,1] %%%%% mask matrix T0 = fkine(Scarat, qready) t = [0:.056:2]; %%%%%%%%%% FAIRE LA CINEMATIQUE INVERSE qreach = Scarat.ikine(T0, preach); [q,qd,qdd]=jtraj(qready,qreach,t); %%%%%%%%%% COMPLILATION DU MODELE DYNAMIQUE INVERSE EN UTILISANT %%%%%%%%%% L'ALGORITHME RECURSIVE DE NEWTON-EULER Tauf = Scarat.rne(q, qd, qdd) %%%%%%%% DYNAMIQUE DIRECTE [t1,Q,Qd] = Scarat.fdyn(2, Tauf(5,:),q(5,:), qd(5,:));
-----