Back to Main Page

Project 1 - Stewart Platforms


"A Stewart platform consist of six variable length struts, or prismatic joints, supporting a payload. Prismatic joints operate by changing th 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." -Timothy Sauer, Numerical Analysis.

So essentially, a Stewart Platform is a very helpful, adjustable triangle. If one knows certain pieces of information about the triangle's position and orientation, they can find the proper settings for the triangle and even graph it. Sometimes, there are multiple triangles that will satisfy the parameters. One can find the proper values of the variables by doing a bit of arithmetic. This project explores doing this arithmetic to solve the planar Stewart platform.

A planar Stewart platform has many values associated to it. L1, L2, and L3 refer to the side lengths of the triangle. The end of one leg is placed at the origin. Another leg is positioned on the x-axis at x1. The end of the third leg is placed at (x1, x2). Gamma is an angle of the triangle. p1, p2, and p3 are the lengths of the legs. Theta is the orientation of the triangle, while x and y denote a single coordinate of the triangle. , So given L1, L2, L3, x1, x2, y2, p1, p2, p3, and gamma, can one find x, y, and theta? To do such a thing will require solving what is called the forward kinematics problem of the planar Stewart platform.



Part 1


First, using various values for L1, L2, L3, x1, x2, y2, p1, p2, p3, and gamma, Matlab code was writen to produce f(theta), a function of 1 variable and 7 constants. This function is designed in such a way that its zeros will provide the solutions for theta. Here is a link for this code. It shows which values for the variables were used, as well as demonstrates how one should go about solving the forward kinematics problem.



Part 2


Here is the plot of f(theta).

Now, all that is needed are the zeros of f(theta). Note that since there are two zeros, there are two possibilities for theta. This will mean that there are two possible positions for a Stewart platform using these parameters. These zeros were found by using a simple bisection method. (Timothy Sauer).



Part 3


Once the two possibilities of theta were found, coordinates for x and y were derived from it. This made it possible to graph the possible figures for the Stewart platform. The following plots are the Stewart platform positions for the given test parameters. The values for theta were -pi/4 and pi/4. Here is a link to the code to plot, which also demonstrates how to compute x and y.



Part 4

The next question provided different parameters. Below is the graph of the new f(theta). Here is the code.

This provided four new possible values of theta. These values of theta were then used to make four new plots. The values of theta were approximately -.7208, -.3310, 1.1437, 2.1159.

Part 5

Here, p2 has been adjusted to 7.00000007. The graph of f(theta) now has 6 solutions, for which there are 6 poses. Here is the code.

Then the 6 poses.



Part 6

Next, a value of p2 was adjusted so that there were only 2 poses. 4 seemed particularly enticing. Here is the code

Then the 2 Poses.




Credits

Henry Taing

Lead coder, grapher, plotter, and editor.

Donnelly Phillips

Lead analyst, problem solver, debugger, and wep-page developer.


Back to Main Page