Rprp 3 Rpr

Post on 09-May-2015

1.119 views 1 download

description

RPRP SERIAL CHAIN MANIPULATOR & 3RPR PLANAR PARALLEL MANIPULATOR

Transcript of Rprp 3 Rpr

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