Project 1: Kinematics of the Stewart Platform
Group Member: Aidan Curran and Varis Nijat
Contents
A Stewart platform consists of six variable length struts, or prismatic joints, supporting a payload. Prismatic joints operate by changing the length of the strut, usually pneumatically or hydraulically. As a six-degree-of-freedom robot, the Stewart platform can be placed at any point and inclination in three-dimensional space that is within its reach
Our Goal is to solve the forward problem, namely, to find x,y,theta,given p1,p2,and p3
Question One
Write a Matlab function file for f (theta). The parameters L1,L2,L3,gamma, x1, x2, y2 are fixed constants, and the strut lengths p1,p2,p3 will be known for a given pose To test our code, substitute theta = -pi/4 or theta = pi/4, and we should get f(theta)=0
theta=pi/4; result_1=f(theta) theta=-pi/4; result_2=f(theta)
result_1 = -4.5475e-13 result_2 = -4.5475e-13
Question Two
Plot f (theta) on [ -pi ,pi ]. Theree should be roots at +-pi/4
ezplot(@f,[-pi,pi]) hold on plot([-pi,pi],[0,0]) hold off
Warning: Function failed to evaluate on array inputs; vectorizing the function may speed up its evaluation and avoid the need to loop over array elements.
Question Three
Reproduce Figure 1.15.
First Graph
x=1;y=2; x1=4; x2=0;y2=4; u1=1; u2=2; u3=2; v1=2; v2=1; v3=3; plot([u1,u2,u3,u1],[v1,v2,v3,v1],'r'); hold on plot([0,x1,x2],[0,0,y2],'bo') plot([0 1],[0 2],'b') plot([0,2],[4,3],'b') plot([4 2],[0 1],'b') hold off
Second Graph
plot([1 2 3 1],[2 1 2 2],'r') hold on plot([0 4 0],[0 0 4],'bo') plot([4 3], [0 2], 'b') plot([0 1], [4 2], 'b') plot([0 2], [0 1], 'b') hold off
Question Four
Solve the forward kinematics problem for the planar Stewart platform
Graph
ezplot(@f_4,[-pi,pi]) hold on plot([-pi,pi],[0,0]) hold off
Warning: Function failed to evaluate on array inputs; vectorizing the function may speed up its evaluation and avoid the need to loop over array elements.
Roots
t1=fzero(@f_4,-0.75) t2=fzero(@f_4,-0.4) t3=fzero(@f_4,1.2) t4=fzero(@f_4,2.1)
t1 = -0.7208 t2 = -0.3310 t3 = 1.1437 t4 = 2.1159
Question Five
Change strut length to p2 to some value close to 7 and re-solve the problem. For these parameters, there are six poses
Graph
ezplot(@f_5,[-pi,pi]) hold on plot([-pi,pi],[0,0]) hold off
Warning: Function failed to evaluate on array inputs; vectorizing the function may speed up its evaluation and avoid the need to loop over array elements.
Roots
t1=fzero(@f_5,-0.8) t2=fzero(@f_5,-0.4) t3=fzero(@f_5,0.1) t4=fzero(@f_5,0.5) t5=fzero(@f_5,1) t6=fzero(@f_5,2.5)
t1 = -0.7164 t2 = -0.2490 t3 = -0.0174 t4 = 0.4532 t5 = 0.9782 t6 = 2.5117
Question Six
Find a strut length p2, with the rest of the parameters as in Step 4, for which there are only two poses
ezplot(@f_6,[-pi,pi]) hold on plot([-pi,pi],[0,0]) hold off
Warning: Function failed to evaluate on array inputs; vectorizing the function may speed up its evaluation and avoid the need to loop over array elements.