Upload
sumittripathi
View
1.126
Download
1
Embed Size (px)
DESCRIPTION
RPRP SERIAL CHAIN MANIPULATOR & 3RPR PLANAR PARALLEL MANIPULATOR
Citation preview
RPRP SERIAL CHAIN MANIPULATOR
3RPR PLANAR PARALLEL MANIPULATOR
Sumit Tripathi
Saket Kansara
RPRP serial chain manipulator
Forward kinematicsInverse kinematicsTrajectory tracking
CircleEllipse
Task space control
RPRP GUI
USE OF HOMOGENEOUS TRANSFORMATION TO DRAW LINK POLYGONS matlab_th1= theta1_g*pi/180; matlab_th2 = matlab_th1+theta2_g*pi/180; x1_t=x1_g*cos(matlab_th1); % So that prismatic joint
1 is always on top of revolute joint 1(circle) y1_t=y1_g+ r_g*sin(matlab_th1); Tm1 = [ cos(matlab_th1) -sin(matlab_th1) 0
x1_t % Transform to frame '1' sin(matlab_th1) cos(matlab_th1) 0
y1_t
0 0 1 0
0 0 0 1 ];
HOW DO WE APPLY CONTROL ??
xd=(xc+R*cos(w*t)); yd=(yc+R*sin(w*t)); ErrorX=[ (xd-x); (yd-y) ]; K=[g 0; 0 g]; error_correction = jacobian_i*K*ErrorX;
qdot=jacobian_i*Xdot + error_correction;
TASK SPACE CONTROL FOR TRACING CIRCLE
No control With control
VARIATION OF RADIUS
0 1 2 3 4 5 6 7 8 9 104
6
8
10
12
14
16
Time
Rad
ius
w.r
.t.
(Xc,
Yc)
No control With control
0 1 2 3 4 5 6 7 8 9 108
10
12
14
16
18
20
22
24
Time
Rad
ius
w.r
.t.
(Xc,
Yc)
TASK SPACE CONTROL FOR TRACING ELLIPSE
No control With control
MANIPULATOR LIMIT REACHED !!!
When any of the joint variables exceeds the maximum limit or goes below minimum limit, then it shows manipulator limit reached.
3RPR PARALLEL MANIPULATOR
3RPR PARALLEL MANIPULATOR
Forward kinematics Inverse kinematics Trajectory tracing GUI
3RPR PLANAR PARALLEL MANIPULATOR
3RPR GUI
MANIPULATOR LIMIT REACHED
FORWARD KINEMATICS EQUATIONS m = (k*sin(theta2 - pi)*cos(theta1)*sin(theta3) )/(sin(theta2-theta1)) -
(k*sin(theta2- pi)*sin(theta1)*cos(theta3))/(sin(theta2-theta1)) - k*cos(2*pi/3)*sin(theta3) - k*sin(2*pi/3)*cos(theta3);
n = (-k*cos(theta2- pi)*cos(theta1)*sin(theta3))/(sin(theta2-theta1)) + (k*cos(theta2- pi)*sin(theta1)*cos(theta3))/(sin(theta2-theta1)) + k*sin(2*pi/3)*sin(theta3) - k*cos(2*pi/3)*cos(theta3);
p = (-a*sin(theta2 - 2*pi/3)*cos(theta1)*sin(theta3))/(sin(theta2-theta1)) + (a*sin(theta2 - pi/3)*sin(theta1)*cos(theta3))/(sin(theta2-theta1)) + a*sin(theta3-2*pi/3);
phi = 2*(atan2(-n + sqrt(n^2 -p^2 + m^2),(p-n)));
x = (k*sin(theta2 - phi-pi) + a*sin(theta2-pi/3))*cos(theta1)/(sin(theta2-theta1));
y = (k*sin(theta2 - phi-pi) + a*sin(theta2-pi/3))*sin(theta1)/(sin(theta2-theta1));
d1 = sqrt(x^2 + y^2); d2 = sqrt((x- k*cos(phi+pi) - a*cos(pi/3))^2 + (y- k*sin(phi+pi)- a*sin(pi/3))
^2) ; d3 = sqrt((x - k*cos(-2*pi/3-phi) + a*cos(2*pi/3))^2 + (y - k*sin(-2*pi/3-phi) +
a*sin(2*pi/3))^2);
INVERSE KINEMATIC EQUATIONS theta1 = atan2(y,x); theta2 = atan2((y - k*sin(phi+pi) - a*sin(pi/3)),(x - k*cos(phi+pi) -
a*cos(pi/3))); theta3 = atan2((y - k*sin(-2*pi/3-phi) - a*sin(2*pi/3)),(x - k*cos(-
2*pi/3-phi) - a*cos(2*pi/3))); d1 = sqrt(x^2 + y^2); d2 = (sqrt((x- k*cos(phi+pi) - a*cos(pi/3))^2 + (y- k*sin(phi+pi)-
a*sin(pi/3)) ^2)) ; d3 = (sqrt((x - k*cos(-2*pi/3-phi) + a*cos(2*pi/3))^2 + (y - k*sin(-
2*pi/3-phi) + a*sin(2*pi/3))^2));
HOW TO DO TRAJECTORY TRACING ?? J1 = [ -d1*sin(theta1) cos(theta1) -k*sin(theta4);
d1*cos(theta1) sin(theta1) k*cos(theta4);
1 0 1]; Similarly calculate J2 and J3; M = [ J1, -J2, zeros(3);
J1, zeros(3), -J3]; theta_dependant_dot = -inv(M2)*M1*theta_independant_dot;
M1 = matrix of rates of independent variables M2 = matrix of rates of dependent variables
theta_dot = [ theta1_dot, d1_dot, theta4_dot, theta2_dot, d2_dot, theta5_dot, theta3_dot, d3_dot, theta6_dot ]';
Integrate theta_dot to get all the joint variables. Then use forward kinematics to plot.
Thank You