A Stewart platform is a type of parallel robot that incorporates six prismatic actuators. The actuators provide the platform with six degrees of freedom in which to move in. In this project we will explore the planar Stewart Platform in two dimensions with three degrees of freedom (i.e. lateral, longitudinal, and yaw).
Our Stewart Platform will model a manipulator composed of a triangular platform in a fixed plane controlled by three struts. The inner triangle represents the platform whose dimensions are defined by the three lengths \( L_1 \), \( L_2 \), and \( L_3 \). The angle across from side \( L_1 \) will be denoted by \( \gamma \). The position of the platform is controlled by the variable lengths of the three actuators, or struts, \( p_1 \), \( p_2 \), and \( p_3 \).
Our goal is to solve the forward kinematics problem for our 2-D Stewart Platform. In other words, given the lengths \( p_1 \), \( p_2 \), and \( p_3 \), find \( x \), \( y \), and \( \theta \). Applying trigonometry to the figure above gives the following equations:
\( p_1^2 = x^2 + y^2 \\ p_2^2 = (x + A_2)^2 + (y + B_2)^2 \\ p_3^2 = (x + A_3)^2 + (y + B_3)^2 \)
where,
\( A_2 = L_3 \cos(\theta) - x_1 \\ B_2 = L_3 \sin(\theta) \\ A_3 = L_2 \cos(\theta + \gamma) - x_2 \\ B_3 = L_2 \sin(\theta + \gamma) - y_2 \)
These equations solve the inverse kinematics problems, where \( x \), \( y \), and \( \theta \) are given and we solve for the lengths of the struts \( p_1 \), \( p_2 \), and \( p_3 \). In order to solve the forward kinematics problem, we must rearrange the above equations to solve for \( x \) and \( y \).
By expanding the first set of equations, we get:
\( p_2^2 = x^2 + y^2 + 2 A_2 x + 2 B_2 y + A_2^2 + B_2^2 \\ p_3^2 = x^2 + y^2 + 2 A_3 x + 2 B_3 y + A_3^2 + B_3^2 \)
which can be solved for \( x \) and \( y \)
\( x = \frac{ B_3 (p_2^2 - p_1^2 - A_2^2 - B_2^2) - B_2 (p_3^2 - p_1^2 - A_3^2 - B_3^2) }{ 2 (A_2 B_3 - B_2 A_3) } = \frac{ N_1 }{ D } \\ y = \frac{ -A_3 (p_2^2 - p_1^2 - A_2^2 - B_2^2) + A_2 (p_3^2 - p_1^2 - A_3^2 - B_3^2) }{ 2 (A_2 B_3 - B_2 A_3) } = \frac{ N_2 }{ D } \)
as long as \( D \ne 0\).
Substituting these equations for \( x \) and \( y \) back into the very first equation, and multiplying through by \( D^2 \), yields
\( f(\theta) = N_1^2 + N_2^2 - p_1^2 D^2 = 0 \)
Because \( f(\theta) \) is in terms of \( \sin \theta \) and \( \cos \theta \), then given any root \( \theta \) there exists additional roots at \( \theta + 2 \pi k \) that are equivalent. For this reason, we will restrict \( \theta \) to the range \( [-\pi, \pi] \). Furthermore, it will be shown that \( f(\theta) \) has at most six roots in that interval.