MATH 5: Computer Project # - Due on September 7, Kinematics of the Stewart Platform (Reality Check : page 7) 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-offreedom robot, the Stewart platform can be placed at any point and inclination in three-dimensional space that is within its reach. To simplify matters, the project concerns a two-dimensional version of the Stewart platform. It will model a manipulator composed of a triangular platform in a fixed plane controlled by three struts, as shown in Figure. The inner triangle represents the planar Stewart platform whose dimensions are defined by the three lengths L, L, and L. Let γ denote the angle across from side L. The position of the platform is controlled by the three numbers p, p, and p, the variable lengths of the three struts. y (x, y ) p (x + L cos (θ + γ), y + L sin (θ + γ) L L (x + L cos θ, y + L sin θ) γ L p θ p (x, y) x (, ) (x, ) Figure : Schematic of planar Stewart platform. The forward kinematics problem is to use the lengths p, p, p to determine the unknowns x, y, θ. Finding the position of the platform, given the three strut lengths, is called the forward, or direct, kinematics problem for this manipulator. Namely, the problem is to compute (x, y) and θ for each given p, p, p. Since there are three degrees of freedom, it is natural to expect three numbers to specify the position. For motion planning, it is important to solve this problem as fast as possible, often in real time. Unfortunately, no closed-form solution of the planar Stewart platform forward kinematics problem is known. The best current methods involve reducing the geometry of Figure to a single equation and solving it using one of the solvers explained in this chapter. Your job is to complete the derivation of this equation and write
code to carry out its solution. Simple trigonometry applied to Figure implies the following three equations: In these equations, A = L cos θ x B = L sin θ p = x + y p = (x + A ) + (y + B ) p = (x + A ) + (y + B ) () A = L cos (θ + γ) x = L [cos θ cos γ sin θ sin γ] x B = L sin (θ + γ) y = L [cos θ sin γ + sin θ cos γ] y. Note that () solves the inverse kinematics problem of the planar Stewart platform, which is to find p, p, p given x, y, θ. Your goal is to solve the forward problem, namely, to find x, y, θ, given p, p, p. Multiplying out the last two equations of () and using the first yields which can be solved for x and y as p = x + y + A x + B y + A + B = p + A x + B y + A + B p = x + y + A x + B y + A + B = p + A x + B y + A + B, x = N D = B y = N D = A ( p p A ) ( B B p p A ) B (A B B A ) ( p p A ) ( B + A p p A ) B (A B B A ) as long as D = (A B B A ). Substituting these expressions for x and y into the first equation of (), and multiplying through by D, yields one equation, namely, f = N + N p D = () in the single unknown θ. (Recall that p, p, p, L, L, L, γ, x, x, y, are known.) If the roots of f(θ) can be found, the corresponding x- and y- values follow immediately from (). Note that f(θ) is a polynomial in sin θ and cos θ, so given any root θ, there are other roots θ + πk that are equivalent for the platform. For that reason, we can restrict attention to θ in [ π, π]. Activities () (). Write a Matlab function file for f(θ). The parameters L, L, L, γ, x, x, y are fixed constants, and the strut lengths p, p, p will be known for a given pose. Check Appendix B.5 if you are new to Matlab function files. Here are the first and last lines: function out=f(theta). out=n^+n^-p^*d^; To test your code, set the parameters L =,L = L =, γ = π/, p = p = p = 5 from Figure. Then substituting θ = π/ or θ = π/, corresponding to Figures a and b, respectively, should make f(θ) =.. Plot f(θ) on [ π, π]. You may use the @ symbol as described in Appendix B.5 to assign a function handle to your function file in the plotting command. You may also need to precede arithmetic operations with the. character to vectorize the operations, as explained in Appendix B.. As a check of your work, there should be roots at ±π/. Solution: See Figure.
(a) (b) Figure : Two poses of the planar Stewart platform with identical arm lengths. Each pose corresponds to a solution of () with strut lengths p = p = p = 5. The shape of the triangle is defined by L =,L = L =, γ = π/.. Reproduce Figure. The Matlab commands >> plot([u u u u],[v v v v], r ); hold on; >> plot([ x x],[ y], bo ); will plot a red triangle with vertices (u,v),(u,v) (u,v) and place small circles at the strut anchor points (,), (x,), (x,y). In addition, draw the struts. Solution: See Figures a and b.. Solve the forward kinematics problem for the planar Stewart platform specified by x = 5, (x, y ) = (, ), L = L =, L =, γ = π/, p = p = 5, p =. Begin by plotting f(θ). Use an equation solver to find all four poses, and plot them. Check your answers by verifying that p, p, p are the lengths of the struts in your plot. Solution: The roots are: θ =.7..7.59 and the respective poses are shown in Figures 5a to 5d. 5. Change the strut length to p = 7 and re-solve the problem. For these parameters, there are six poses. Solution: The roots are: θ = and the respective poses are shown in Figures a to f..7.57.7.59.9777.59
Roots at θ = { -π/, π/}........ f(θ)..........5.5.5.5.5.5 θ Figure : Function f(θ) with respect to the θ-axis.. Find a strut length p, with the rest of the parameters as in Step, for which there are only two poses. Solution: Any value for p in the following intervals is valid..77 p. and 7.9 p 9. 7. Calculate the intervals in p, with the rest of the parameters as in Step, for which there are,,, and poses, respectively. Solution: Approximate intervals are (see Figure 7): # of roots x x..79.77..7.97.9 7. 7. 7. 7.9 9. 9.9.. (Graduate Students) Show that f(θ) has at most six roots in that interval.
y y x (a) θ = π/ x (b) θ = π/ Figure : Two poses of Step (a) θ =.7 (b) θ =. (c) θ =.7 (d) θ =.59 Figure 5: Four poses of Step 5
(a) θ =.7 (b) θ =.57 (c) θ =.7 (d) θ =.59 (e) θ =.9777 Figure : Six poses of Step 5 (f) θ =.59
Number of roots for f(θ) versus the value of p. number of roots.5.5.5.5.5 5 5.5.5 7 7.5.5 9 9.5.5 p Figure 7: Intervals for which there are,,, and roots. 7