Professional Documents
Culture Documents
Matlab 2
Matlab 2
q2 l2
l1
q1
Workspace of 2 dof planar manipulator
0 q1 2 - q1
0 q2 2 -/2 q2 /2
Px sin q1 l2 cos q 2 l3 cos(q 2 q3 )
l3 Py cos q1 l2 cos q 2 l3 cos(q 2 q3 )
Pz l1 l2 sin q 2 l2 sin(q 2 q3 )
q3
q2
z0 l2
l1
x0
x1
q1 y1
y0
Inverse Kinematics of 2 dof planar manipulator
P Px l1 cos q1 l2 cos(q1 q 2 )
Py l1 sin q1 l2 sin(q1 q 2 )
l1 l2 cos q 2 Px
l sin q
P Py l1 l2 cos q 2 Pxl2 sin q 2
sin q1
2 2 y
l sin q l1 l2 cos q 2
2 2
x=30;
y=30;
c2=(x^2+y^2-l1^2-l2^2)/(2*l1*l2);
s2=sqrt(abs(1-c2^2));
t2=atan2(s2,c2);
c1=(x*(l1+l2*c2)+y*l2*s2)/((l1+l2*c2)^2+(l2*s2)^2);
s1=(y.*(l1+l2*c2)-x.*l2*s2)/((l1+l2*c2)^2+(l2*s2)^2);
t1=atan2(s1,c1);
px=l1*cos(t1)+l2*cos(t1+t2);
py=l1*sin(t1)+l2*sin(t1+t2);
plot(px,py,'*');
Painting Robot
Forward kinematics Inverse kinematics
q1 R
y1
y0
x0 x1
[x,y]=meshgrid(-pi/2:0.03:pi/2, [x,y]=meshgrid(40:1:100,
-pi/2:0.03:pi/2); 30:1:100);
t1=atan2(-x,y); l2=sqrt(x.^2+y.^2);
surfl(x,y,t1); surfl(x,y,l2);
xlabel('Axis X (cm)'); xlabel('Axis X (cm)');
ylabel('Axis Y (cm)'); ylabel('Axis Y (cm)');
zlabel('Axis z (Rad)'); zlabel('Axis z (cm)');
SCARA Robot
(Selective Compliance Assembly Robotic Arm)
SCARA Robot
(Selective Compliance Assembly Robotic Arm)
Tray
l2
l3
P
q2
l1 l3
Conveyor
z0
l4 q2
q1 q1
x0 y0
l2
y0
x0
SCARA Robot
(Selective Compliance Assembly Robotic Arm)
Forward kinematics
q2 X x0 at
q1
y0
Y y0 bt
l2
Z z0 ct
x0
Thanks for Hydraulics – Pneumatics
watching