Brad Strylowski

CDS & Physics Undergraduate

Project 1

Brad Strylowski, Shamaila Malik

Introduction

A Stewart platform is a robotic platform supported by six struts with cylindrical, telescoping joints so that the incline of the platform can be adjusted by varying the length of the struts. In this project we were asked to solve the forward kinematics problem of a simple 2-dimensional model of the Stewart platform. That is, given the dimensions of a triangular platform, the length of the struts and the anchor points for each of the struts, we were asked to determine the position of the platform in a 2-dimensional plane in terms of a single vertex (x,y) and the angle theta (T) relative to the x-axis made at the vertex (x,y).

f(theta)

Verifying Our Function of Theta

Using MATLAB we were asked to create a function file for f(theta). Using the givens and some simple trigonometric equations we derived a function f in terms of a single unknown theta. We created MATLAB code for the function f that takes an angle theta as an input and returns a value close to zero if the inputted theta was a root of the function f. Using the graph of f(theta), we determined the intervals on which f(theta) has roots. We then found the roots using the bisection method. We then plotted f(theta) on the interval [-pi, pi] which we did using the ezplot command in MATLAB, and reproduced the diagram of the platform shown in Figure 1.15 on p. 69 of Numerical Analysis by Timothy Sauer.

f(theta) f(theta1) f(theta2)

Solving the Forward Kinematics Problem

Given a different set of parameters that define a new triangular platform and new strut lengths, we were asked to solve the forward kinematics problem. We began by plotting f(theta) using the new parameters, and used the graph of the function to determine the intervals on which f(theta) has roots. We then found the roots using the bisection method. Each root is a value for theta which will result in a possible position of the platform given the strut lengths. We then produced plots for each of the possible poses, using a custom-built plot generator function for the Stewart platform.

f(theta) f(theta1) f(theta2) f(theta3) f(theta4)

The Forward Kinematics Problem with Six Poses

Reusing our code from the previous section, we resolved the system with a change in the length of one of the struts. The p2 strut was changed from 5 to 7, generating six roots representing different poses.

f(theta) f(theta1) f(theta2) f(theta3) f(theta4) f(theta5) f(theta6)

A System with Two Poses

For this part of the project we were asked to find a strut length for p2 (all other parameters remaining the same as Part 4) for which there were only two poses. We did this through trial and error, adjusting our f(theta) function to show a p2 of different integer values beginning at 1 and plotting the function until we obtained a graph that had only two roots . We found that p2 of length 4 resulted in exactly two roots within the interval (1,2).

f(theta)