This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Triple Scissor Extender: A 6-DOF Lifting and Positioning Robot*

Daniel J. Gonzalez and H. Harry Asada1 *This work was supported by The Boeing Company.1The authors are with the d’Arbeloff Laboratory for Information Systems and Technology in the Department of Mechanical Engineering, Massachusetts Institute of Technology, Cambridge, MA 02139, USA. Email: {dgonz, asada}@mit.edu
Abstract

We present a novel 6 DOF robotic mechanism for reaching high ceilings and positioning an end-effector. The end-effector is supported with three scissor mechanisms that extend towards the ceiling with 6 independent linear actuators moving the base ends of the individual scissors. The top point of each scissor is connected to one of three ball joints located at the three vertices of the top triangular plate holding the end-effector. Coordinated motion of the 6 linear actuators at the base allows the end-effector to reach an arbitrary position with an arbitrary orientation. The design concept of the Triple Scissor Extender is presented, followed by kinematic modeling and analysis of the the Inverse Jacobian relating actuator velocities to the end-effector velocities. The Inverse Jacobian eigenvalues are determined for diverse configurations in order to characterize the kinematic properties. A proof-of-concept prototype has been designed and built. The Inverse Jacobian for use in differential control is evaluated through experiments.

Keywords: Robot Mechanism, Scissor Lift, Parallel Manipulator, Stewart Platform, 6-PSU, Jacobian

I Introduction

Industrial automation applications requiring both a high payload capacity and a large workspace typically rely on large serial link articulated robots. While these robots are an excellent choice for factory floors with ample maneuvering space, they are often too heavy for mobile applications and unable to reach the desired workspace in confined settings.

For example, a stationary articulated robot arm can easily perform various operations along the outside of a commercial aircraft fuselage as it is being assembled, but this same arm cannot be placed on a mobile base and rolled into the fuselage barrel to perform additional operations: the arm is simply too large and heavy to make this usage feasible.

Parallel manipulators such as the 6-DOF Gough-Stewart hexapod platform [1] [2], are small and light relative to their load-bearing capacity, unlike articulated serial-link arms. These advantages make the 6-DOF parallel manipulator a candidate for confined-space maneuvering and assembly, but they have small workspaces due to the use of piston-style prismatic actuators as their linkages. A fully-retracted Parallel Platform of unit height hh cannot reach past 2h2h because its actuators cannot extend any more than twice their smallest length.

Refer to caption
Figure 1: Triple Scissor Extender

To address this limitation, scissor mechanisms can be used to amplify the height range. A 3-DOF example of this concept is analyzed in [3]. We designed a new class of 6-DOF parallel platform that uses parallel scissor mechanisms to achieve a large workspace compared to its original size while maintaining the benefits of most parallel manipulators. Three scissor lift mechanisms are combined so that the end-effector can be supported by them in parallel and the position and orientation of the end-effector can be controlled arbitrarily in 3-dimensional space.

Refer to caption
Figure 2: Demonstration of the Triple Scissor Extender’s large height range

This Triple Scissor Extender (TSE) (see Fig. 1) is particularly useful both for reaching high ceilings or walls and positioning/orienting its end-effector freely within a working space. When the TSE is fully contracted, the whole structure becomes compact, making it easy for transportation. At full extension, the device height becomes many times greater than its original height (like a traditional 1-DOF aerial scissor lift commonly used for maintenance, assembly, and construction), allowing it to reach high ceilings and walls.

We first explain in detail the concept of extending the workspace of a 6-DOF parallel manipulator with pantograph/scissor mechanisms and the design of the TSE. The relationship between the 6 actuator inputs and the 6-DOF 3D pose, that is, the combined position and orientation, of the top platform are revealed through the Kinematic Constraint Equations.

The Inverse Jacobian Matrix, which characterizes the linear differential relationship between the inputs and outputs of the TSE system about a home position, is derived from the Kinematic Constraint Equations. A Singular Value Decomposition is performed on the Inverse Jacobian Matrix in order to reveal important properties of the TSE about these home positions.

We then reveal our prototype of the TSE, perform an experimental validation of positioning accuracy using our Inverse Jacobian control scheme, and discuss the results.

II Design Concept

This design is a combination of two concepts: the use of the pantograph or scissor mechanism to amplify motion and the kinematics of 6-DOF parallel manipulators like the Stewart-Gough platform.

Consider two links of length 0\ell_{0} existing on a plane xyxy joined together at one end with a rotational joint at point CC. The other end of each link is attached to a rotational joint that is coupled to a linear slide located on the xx-axis. Both of these linear slides sAs_{A} and sBs_{B} travel along the same line. The point we wish to control is point C, which has 2 degrees of freedom, (xC,yC)(x_{C},y_{C}). As inputs, we can change the position, xAx_{A} or xBx_{B} of each linear slide. Two modes of motion exist: if both slide sAs_{A} and slide sBs_{B} move at the same velocity along the xx-axis, then point CC will also move at that same velocity in the xx direction; if slide sAs_{A} and slide sBs_{B} move towards or away from each other with equal and opposite velocities, then point CC will move only in the yy direction. Through the superposition of these modes of motion, we can reach any point above the xx-axis up to some maximum height.

Now consider extending each link beyond point CC by some smaller length 1\ell_{1}, each with a rotational joint at the end, and then adding to those joints two more links of length 1\ell_{1} that are joined together at the other end, which becomes the new point CC. We now have a triangle with a parallelogram on top: a basic scissor mechanism. The same two modes of motion exist as in the previous case but the ratio of inward motion of slides sAs_{A} and sBs_{B} and the vertical motion of point C has been amplified by the pantograph mechanism! Additional parallelograms of side length 2<3<<n\ell_{2}\textless\ell_{3}\textless\dots\textless\ell_{n} can be added to the assembly to produce a mechanism like that in Fig. 3.

Refer to caption
Figure 3: Kinematic parameters of a single scissor mechanism.

Now we introduce the third dimension to the model and change the coordinate frame orientation such that the previous xyxy-plane becomes the new yzyz-plane, with the zz-axis pointed upwards, the points AA and BB lying along the yy-axis, and the xx-axis orthogonal to the yzyz-plane. We turn the rotational joints at slide sAs_{A} and slide sBs_{B} into ball joints that allow the entire scissor mechanism to rotate about the line AB¯\overline{AB}. Ball joints are used because the scissor mechanism is required to pitch and yaw with respect to the linear slides in 3D space while moving, and must roll with respect to the linear slides in order to rotate about line AB¯\overline{AB}.

Now consider the scissor mechanism’s location on the new xyxy-plane. We introduce two identical scissor mechanisms, which we label 22 and 33, and then arrange the trio in a triangular configuration. We introduce a small triangular top plate, and connect points C1C_{1}, C2C_{2}, and C3C_{3} to the three apices of the top plate via ball joints. Finally we can put the six independent linear slides sA1s_{A1}, sB1s_{B1}, sA2s_{A2}, sB2s_{B2}, sA3s_{A3}, and sB3s_{B3} (two per scissor) on a plane and arrange them in pairs to get the final formulation of the TSE, shown in Fig. 1.

Refer to caption
Figure 4: Intuitive Coordinated Motion Patterns of the Triple Scissor Extender

The top platform of the TSE has 6 DOFs. Some of these can be deduced intuitively by reasoning about the differential motion of the six slides and how they affect the pose of the top platform (see Fig. 4). By moving only slides sA1s_{A1} and sB1s_{B1} inwards, point C1C_{1} moves upwards, rotating the top platform about line C2C3¯\overline{C_{2}C_{3}}. Similar rotations can be achieved with scissor mechanisms 22 and 33. Through a combination of these motions, the pitch and the roll of the top platform can be commanded. By moving all 6 slides inward simultaneously, the top platform translates upward. By alternating the direction of each slide sequentially, the top plate rotates about the zz-axis in a yaw motion. By moving one adjacent pair of scissors outward and the remaining scissors inward, translational motion is achieved in the average direction of motion.

By the coordinated superposition of these various modes of motion, the top platform can move to any desired pose within its workspace.

III Kinematic Modeling

Traditional 6-DOF platforms have relatively simple inverse kinematics solutions [4], but the highly coupled motion of the scissors relative to the actuators in the TSE make finding the inverse kinematics challenging. We now analyze the kinematic behavior of the TSE subject to geometric constraints and attain kinematic constraint equations.

Fig. 5 shows the coordinate system used for describing the kinematic behavior of the Triple Scissor Extender. The top plate position is represented with vector XϵT=(xϵyϵzϵ)TX_{\epsilon}^{T}=\begin{pmatrix}x_{\epsilon}&y_{\epsilon}&z_{\epsilon}\end{pmatrix}^{T} with reference to the base coordinate system OxyzO-xyz. The orientation of the top plate is described with roll, pitch, and yaw angles Θ=(φθψ)T\Theta=\begin{pmatrix}\varphi&\theta&\psi\end{pmatrix}^{T}.

Refer to caption
Figure 5: Key variables and parameters of the base platform.

As shown in Fig. 5, let n^\hat{n}, t^\hat{t}, b^\hat{b} be, respectively, the unit vectors pointing in the three directions of a Cartesian coordinate frame OϵxyzO_{\epsilon}-x^{\prime}y^{\prime}z^{\prime} attached to the top plate. Concatenating these unit vectors in a 3x3 matrix we can write the orientation of the top plate in a compact expression

[n^t^b^]=Rxyz(φ,θ,ψ)=Rx(φ)Ry(θ)Rz(ψ)\begin{bmatrix}\hat{n}&\hat{t}&\hat{b}\end{bmatrix}=R_{xyz}(\varphi,\theta,\psi)=R_{x}(\varphi)R_{y}(\theta)R_{z}(\psi) (1)

where Rx(φ)R_{x}(\varphi), Ry(θ)R_{y}(\theta), Rz(ψ)R_{z}(\psi) are 3x3 rotation matrices about the x, y, and z axes, respectively.

The three apices of the top plate, C1C_{1}, C2C_{2}, and C3C_{3}, are connected to the three independent scissor mechanisms, while each scissor mechanism is activated with two linear actuators at the base. Let sAis_{Ai} and sBis_{Bi} be displacements of the linear actuators moving points AiA_{i} and BiB_{i} of the ii-th scissor mechanism. Collectively, the six actuator displacements:

q=(sA1sB1sA2sB2sA3sB3)Tq=\begin{pmatrix}s_{A1}&s_{B1}&s_{A2}&s_{B2}&s_{A3}&s_{B3}\end{pmatrix}^{T} (2)

form a 6-dimensional joint coordinate vector. These joint coordinates determine the top plate position and orientation:

p=(XϵTΘϵT)T=(xϵyϵzϵφϵθϵψϵ)Tp=\begin{pmatrix}X_{\epsilon}^{T}&\Theta_{\epsilon}^{T}\end{pmatrix}^{T}=\begin{pmatrix}x_{\epsilon}&y_{\epsilon}&z_{\epsilon}&\varphi_{\epsilon}&\theta_{\epsilon}&\psi_{\epsilon}\end{pmatrix}^{T} (3)

The kinematic equation relating the endpoint pose pp to the actuator displacements qq is prohibitively complex, while its inverse kinematic relationship is tractable: q=f(p)q=f(p).

Refer to caption
Figure 6: Projection of Relevant Points onto the Base Plane

The inverse kinematics problem can be solved in the following steps:

  • Given the 6-DOF pose pp of the top plate, obtain coordinates of points C1C_{1}, C2C_{2}, and C3C_{3} relative to the OxyzO-xyz frame using the unit vectors in (1)

    XC1=Xt+tn^XC2=Xtt(32t^+12n^)XC3=Xt+t(32t^12n^)\begin{split}X_{C1}&=X_{t}+\ell_{t}\hat{n}\\ X_{C2}&=X_{t}-\ell_{t}\left(\frac{\sqrt{3}}{2}\hat{t}+\frac{1}{2}\hat{n}\right)\\ X_{C3}&=X_{t}+\ell_{t}\left(\frac{\sqrt{3}}{2}\hat{t}-\frac{1}{2}\hat{n}\right)\end{split} (4)

    where t\ell_{t} is the distance from the center of the top plate to each apex (See Fig. 6).

  • For each scissor mechanism ii, given top point coordinates CiC_{i}, solve for the actuator displacements (sAi,sBi)(s_{Ai},s_{Bi}). In order to maintain generality, an intermediate coordinate system OixyzO_{i}-xyz is created with its origin located at the intersection of linear slides AA and BB (See Fig. 6), its OizO_{i}-z axis parallel to the OzO-z axis, and its yy-axis pointing outward from the center of the TSE (see Fig. 7). The point coordinates of CiC_{i} are converted from the TSE origin frame OxyzO-xyz to the new frame OixyzO_{i}-xyz, and the general Kinematic Constraint Equations derived in the next sections can be used to obtain the actuator displacements (sAi,sBi)(s_{Ai},s_{Bi})

We obtain the Kinematic Constraint Equations in the following subsections.

III-A 2D Scissor Mechanism

First, the basic 2D kinematic relationship of a single scissor mechanism will be obtained. As shown in Fig. 3, there is a functional relationship between the width of the scissors base, wi=AiBi¯w_{i}=\overline{A_{i}B_{i}}, and the height of the scissors hih_{i}, i=1,2,3i=1,2,3. For brevity, the subscript ii will be omitted hereafter. The scissor mechanism consists of nn parallelograms of side length 1,2,,n\ell_{1},\ell_{2},\dots,\ell_{n}, and one isosceles triangle of equal side 0\ell_{0}, connected at the center nodes N1,N2,,NnN_{1},N_{2},\dots,N_{n}. Let α\alpha be the angle of each scissor link relative to the baseline, α=ABN1\alpha=\angle ABN_{1}, as shown in the figure. The width ww is given by

w=20cos(α)w=2\ell_{0}cos(\alpha) (5)

Since all the links are kept parallel, the height h is given by

h=Lsin(α)h=Lsin(\alpha) (6)

where the total length L is given by

L=0+21++2n1+2nL=\ell_{0}+2\ell_{1}+\dots+2\ell_{n-1}+2\ell_{n} (7)

See Fig. 3 for geometric interpretation. Eliminating angle α\alpha from (5) and (6) yields

(hL)2+(w20)2=1\left(\frac{h}{L}\right)^{2}+\left(\frac{w}{2\ell_{0}}\right)^{2}=1 (8)

III-B Projection onto the O1xyO_{1}-xy Plane

As shown in Fig. 6, consider the projection of Point C1C_{1} onto the base plane, O1xyO_{1}-xy. The projected point H1H_{1} is redrawn within the O1xyO_{1}-xy-plane in Fig. 7. Again, for brevity, the subscript 11 is omitted in the following equations.

The (x,y)(x,y) coordinates of scissor base points AA and BB are determined by the linear actuators, which move the scissors base points along the two radial directions, respectively. Therefore,

xA=sAcos(π6),yA=sAsin(π6)xB=sBcos(π6),yB=sBsin(π6)\begin{split}x_{A}=s_{A}cos\left(\frac{\pi}{6}\right),\ \ &y_{A}=s_{A}sin\left(\frac{\pi}{6}\right)\\ x_{B}=-s_{B}cos\left(\frac{\pi}{6}\right),\ \ &y_{B}=s_{B}sin\left(\frac{\pi}{6}\right)\end{split} (9)
Refer to caption
Figure 7: Top View of Base Plane showing Projected Point HH on O1xyO_{1}xy-plane

Using these coordinates, the width of the scissors, ww, can be written as

w2=(xAxB)2+(yAyB)2w^{2}=(x_{A}-x_{B})^{2}+(y_{A}-y_{B})^{2} (10)

which, when combined with (9) simplifies to

w2=sA2+sBsA+sB2w^{2}=s_{A}^{2}+s_{B}s_{A}+s_{B}^{2} (11)

Note that the scissor mechanism is symmetric with respect to its centerline connecting the center nodes N1,N2,,NnN_{1},N_{2},\dots,N_{n}. Therefore, point HH, that is, the projection of point CC onto the xyxy-plane, is on the bisector of the baseline ABAB. Hence, AH¯=BH¯=r\overline{AH}=\overline{BH}=r, or

r2=(xAxC)2+(yAyC)2=(xBxC)2+(yByC)2\begin{split}r^{2}&=(x_{A}-x_{C})^{2}+(y_{A}-y_{C})^{2}\\ &=(x_{B}-x_{C})^{2}+(y_{B}-y_{C})^{2}\end{split} (12)

where xCx_{C} and yCy_{C} are the xyxy coordinates of point CC, i.e. those of point HH. This produces two conditions:

sA23(sA+sB)xC=sB2+(sAsB)yCs_{A}^{2}-\sqrt{3}(s_{A}+s_{B})x_{C}=s_{B}^{2}+(s_{A}-s_{B})y_{C} (13)
r2=sA2sA(3xC+yC)+xC2+yC2r^{2}=s_{A}^{2}-s_{A}(\sqrt{3}x_{C}+y_{C})+x_{C}^{2}+y_{C}^{2} (14)

III-C Implicit equations relating apex coordinates (xC,yC,zC)(x_{C},y_{C},z_{C}) and actuator displacements (sA,sB)(s_{A},s_{B})

The zz coordinate of point CC provides another condition. Considering the right triangle C1H1D1C_{1}H_{1}D_{1} in Fig. 6, we obtain

h2=b2+zC2h^{2}=b^{2}+z_{C}^{2} (15)

From Fig. 7,

r2=b2+(w2)2r^{2}=b^{2}+\left(\frac{w}{2}\right)^{2} (16)

Eliminating rr, ww, hh, and bb from (11), (14), (15) and (16) yields

xC2+yC2+zC2=L2sA2+sA(3xC+yC)+14(1(L0)2)(sA2+sBsA+sB2)\begin{split}x_{C}^{2}+y_{C}^{2}+z_{C}^{2}=L^{2}-s_{A}^{2}+s_{A}(\sqrt{3}x_{C}+y_{C})+\\ \frac{1}{4}\left(1-\left(\frac{L}{\ell_{0}}\right)^{2}\right)(s_{A}^{2}+s_{B}s_{A}+s_{B}^{2})\end{split} (17)

Simultaneous equations (13) and (17) determine actuator displacements (sA,sB)(s_{A},s_{B}) for given coordinates (xC,yC,zC)(x_{C},y_{C},z_{C}). While the above derivation was only carried out for the first scissor mechanism, the other two scissor mechanisms can be treated in the same manner.

IV The Inverse Jacobian and Singular Value Analysis

IV-A Characterizing the TSE Kinematic Properties

Based on the Inverse Kinematic relations obtained in the previous section, basic properties of the Triple Scissor Extender will be highlighted in this section through the analysis of differential motion.

Given a limited movable range, or stroke, of each actuator, “small workspace” implies a small end-effector displacement relative to large displacements at the actuators. In other words, the ratio of the end-effector displacement to the actuator displacements is small. Let |Δq|=ΔsA12+ΔsA12++ΔsB32\left|\Delta q\right|=\sqrt{\Delta s_{A1}^{2}+\Delta s_{A1}^{2}+\dots+\Delta s_{B3}^{2}} be the magnitude of the six actuator displacements, and |ΔXϵ|\left|\Delta X_{\epsilon}\right| and |ΔΘϵ|\left|\Delta\Theta_{\epsilon}\right| be, respectively, the magnitude of the translational and rotational displacements of the end-effector. We characterize the kinematic properties of the TSE in terms of the ratios:

γt(p)=|ΔXϵ|Δq,γr(p)=|ΔΘϵ|Δq,\gamma_{t}(p)=\frac{\left|\Delta X_{\epsilon}\right|}{\Delta q},\gamma_{r}(p)=\frac{\left|\Delta\Theta_{\epsilon}\right|}{\Delta q}, (18)

which physically mean spatial, multi-DOF “gear ratios” associated with the translation and rotation of the end-effector, respectively. These ratios vary depending on the end-effector pose pp, as well as the direction of the end-effector motion. We will obtain the maximum and the minimum of γt(p)\gamma_{t}(p) and γr(p)\gamma_{r}(p) at each configuration of the end-effector pose pp, and examine how the maximum/minimum ratios distribute over the workspace.

This entails identifying the Jacobian relating the end-effector displacements to actuator displacements

Δq=𝕁IΔp\Delta q=\mathbb{J}_{I}\Delta p (19)

where 𝕁I\mathbb{J}_{I} is the 6×66\times 6 Inverse Jacobian matrix. This is also often called the Manipulability Matrix [5]. Note that the elements of the Jacobian Matrix are partial derivatives of input motion to output motion, not time derivatives.

As in the previous kinematic analysis, the Inverse Jacobian Matrix can be split into two main parts. We obtain the differential relationship

(ΔC1ΔC2ΔC3)T=𝕁CΔp(\Delta C_{1}\quad\Delta C_{2}\quad\Delta C_{3})^{T}=\mathbb{J}_{C}\Delta\vec{p} (20)

where 𝕁C\mathbb{J}_{C} is the 9×69\times 6 Jacobian between the top platform pose p\vec{p} and the top platform apexes CiC_{i}. For top platform translation, differential motion is 1:1, and the left half of 𝕁C\mathbb{J}_{C} is made of Identity matrices. For top platform rotation, which corresponds with the right half of 𝕁C\mathbb{J}_{C}, the differential motion can be obtained from the transform matrices of (1).

For each scissor we obtain the differential relationship between point CiC_{i} and actuator displacements sAs_{A} and sBs_{B} where

𝕁Si=[sAixCisAiyCisAizCisBixCisBiyCisBizCi]\mathbb{J}_{S_{i}}=\begin{bmatrix}\cfrac{\partial s_{Ai}}{\partial x_{Ci}}&\cfrac{\partial s_{Ai}}{\partial y_{Ci}}&\cfrac{\partial s_{Ai}}{\partial z_{Ci}}\\ \cfrac{\partial s_{Bi}}{\partial x_{Ci}}&\cfrac{\partial s_{Bi}}{\partial y_{Ci}}&\cfrac{\partial s_{Bi}}{\partial z_{Ci}}\end{bmatrix} (21)

is the individual scissor Jacobian and the block matrix

𝕁S=[𝕁S1000𝕁S2000𝕁S3]\mathbb{J}_{S}=\begin{bmatrix}\mathbb{J}_{S1}\quad 0\quad 0\\ 0\quad\mathbb{J}_{S2}\quad 0\\ 0\quad 0\quad\mathbb{J}_{S3}\end{bmatrix} (22)

is the combined 6×96\times 9 scissor Jacobian.

When both 𝕁C\mathbb{J}_{C} and 𝕁S\mathbb{J}_{S} combined, we obtain

𝕁I=𝕁S𝕁C\mathbb{J}_{I}=\mathbb{J}_{S}\mathbb{J}_{C} (23)

which is the final 6×66\times 6 Inverse Jacobian Matrix.

Obtaining 𝕁S\mathbb{J}_{S} typically requires the Inverse Kinematics, which is not explicitly solvable. In the following sections the outline of an alternative computation of 𝕁S\mathbb{J}_{S} is described.

IV-B Computation of the Jacobians

TSE consists of three pairs of scissor mechanisms, each governed by the implicit kinematic equations (13) and (17). These determine the relationship between actuator displacements sAs_{A}, sBs_{B} and the apex position xCx_{C}, yCy_{C}, zCz_{C} in the local coordinate frame OixiyiziO_{i}-x_{i}y_{i}z_{i} . For brevity the subscript is again omitted. Differentiating both equations (13) and (17) at a given apex position pp, we can obtain a differential relationship in the following form:

a11ΔsA+a12ΔsB=b11Δxc+b12Δyc+b13Δzca21ΔsA+a22ΔsB=b21Δxc+b22Δyc+b23Δzc\begin{split}&{{a}_{11}}\Delta{{s}_{A}}+{{a}_{12}}\Delta{{s}_{B}}={{b}_{11}}\Delta{{x}_{c}}+{{b}_{12}}\Delta{{y}_{c}}+{{b}_{13}}\Delta{{z}_{c}}\\ &{{a}_{21}}\Delta{{s}_{A}}+{{a}_{22}}\Delta{{s}_{B}}={{b}_{21}}\Delta{{x}_{c}}+{{b}_{22}}\Delta{{y}_{c}}+{{b}_{23}}\Delta{{z}_{c}}\\ \end{split} (24)

where parameters a11,,b23a_{11},\dots,b_{23} are evaluated at the given apex position p\vec{p}. Using vector-matrix form, we can write the Jacobian relating the two actuator displacement ΔsA\Delta s_{A}, ΔsB\Delta s_{B} to those of the apex coordinates ΔxC\Delta x_{C}, ΔyC\Delta y_{C}, ΔzC\Delta z_{C} as:

(ΔsAΔsB)=𝕁SΔ𝐗c,Δ𝐗c=(ΔxcΔycΔzc)\left(\begin{matrix}\Delta{{s}_{A}}\\ \Delta{{s}_{B}}\\ \end{matrix}\right)={{\mathbb{J}}_{S}}\Delta{{\mathbf{X}}_{c}},\quad\Delta{{\mathbf{X}}_{c}}=\left(\begin{matrix}\Delta{{x}_{c}}\\ \Delta{{y}_{c}}\\ \Delta{{z}_{c}}\\ \end{matrix}\right) (25)

where 𝕁S=𝐀1𝐁,𝐀={aij},𝐁={bij}{{\mathbb{J}}_{S}}={{\mathbf{A}}^{-1}}\mathbf{B},\ \mathbf{A}=\left\{{{a}_{ij}}\right\},\mathbf{B}=\left\{{{b}_{ij}}\right\}. Of particular interest is the case where the top plate is kept level and moves along the zz-axis. At this center configuration, sA=sB=s{{s}_{A}}={{s}_{B}}=s and xc=0,yc=tΔγ{{x}_{c}}=0,\ {{y}_{c}}={{\ell}_{t}}-\Delta\gamma (where γ\gamma is half the distance between adjacent linear slides such as sB1s_{B1} and sA2s_{A2}), the Jacobian is given by

𝕁S|=Center(3s2st+Δγ3s2st+Δγ2(tΔγ)s6cs2s+tΔγ2(tΔγ)s6cs2s+tΔγ2zc6cs2s+tΔγ2zc6cs2s+tΔγ)T\begin{split}&{{\mathbb{J}}_{S}}\left|{}_{Center}\right.=\\ &\left(\begin{matrix}\dfrac{\sqrt{3}s}{2s-{{\ell}_{t}}+\Delta\gamma}&-\dfrac{\sqrt{3}s}{2s-{{\ell}_{t}}+\Delta\gamma}\\ \dfrac{2({{\ell}_{t}}-\Delta\gamma)-s}{6cs-2s+{{\ell}_{t}}-\Delta\gamma}&\dfrac{2({{\ell}_{t}}-\Delta\gamma)-s}{6cs-2s+{{\ell}_{t}}-\Delta\gamma}\\ \dfrac{2{{z}_{c}}}{6cs-2s+{{\ell}_{t}}-\Delta\gamma}&\dfrac{2{{z}_{c}}}{6cs-2s+{{\ell}_{t}}-\Delta\gamma}\\ \end{matrix}\right)^{T}\end{split} (26)

which is a specific version of the general Jacobian in (21).

We can obtain similar equations for all three scissor mechanisms. We denote the three Jacobians by 𝕁S1,𝕁S2,𝕁S3{{\mathbb{J}}_{S1}},{{\mathbb{J}}_{S2}},{{\mathbb{J}}_{S3}}.

The apex local coordinates are functions of the end-effector position and orientation, 𝐗ϵ{{\mathbf{X}}_{\epsilon}} and Θϵ{{\Theta}_{\epsilon}}, according to (17). For the first pair of scissors, its derivatives are given by

Δ𝐗C1=Δ𝐗ϵ+td𝐧^dΘϵΔΘϵ\Delta{{\mathbf{X}}_{C1}}=\Delta{{\mathbf{X}}_{\epsilon}}+{{\ell}_{t}}\frac{d\,\mathbf{\hat{n}}}{d{{\Theta}_{\epsilon}}}\Delta{{\Theta}_{\epsilon}} (27)

Substituting (27) in (25) yields

(ΔsA1ΔsB1)=𝕁S1Δ𝐗ϵ+t𝕁S1d𝐧^dΘϵΔΘϵ\left(\begin{matrix}\Delta{{s}_{A1}}\\ \Delta{{s}_{B1}}\\ \end{matrix}\right)={{\mathbb{J}}_{S1}}\Delta{{\mathbf{X}}_{\epsilon}}+{{\ell}_{t}}{{\mathbb{J}}_{S1}}\frac{d\,\mathbf{\hat{n}}}{d{{\Theta}_{\epsilon}}}\Delta{{\Theta}_{\epsilon}} (28)

Similarly for the other two pairs of scissor mechanisms,

(ΔsA2ΔsB2)=𝕁S2Δ𝐗ϵt𝕁S2(32d𝐭^dΘϵ+12d𝐧^dΘϵ)ΔΘϵ(ΔsA3ΔsB3)=𝕁S3Δ𝐗ϵ+t𝕁S3(32d𝐭^dΘϵ12d𝐧^dΘϵ)ΔΘϵ\begin{split}&\left(\begin{matrix}\Delta{{s}_{A2}}\\ \Delta{{s}_{B2}}\\ \end{matrix}\right)={{\mathbb{J}}_{S2}}\Delta{{\mathbf{X}}_{\epsilon}}-{{\ell}_{t}}{{\mathbb{J}}_{S2}}\left(\frac{\sqrt{3}}{2}\frac{d\,\mathbf{\hat{t}}}{d{{\Theta}_{\epsilon}}}+\frac{1}{2}\frac{d\,\mathbf{\hat{n}}}{d{{\Theta}_{\epsilon}}}\right)\Delta{{\Theta}_{\epsilon}}\\ &\left(\begin{matrix}\Delta{{s}_{A3}}\\ \Delta{{s}_{B3}}\\ \end{matrix}\right)={{\mathbb{J}}_{S3}}\Delta{{\mathbf{X}}_{\epsilon}}+{{\ell}_{t}}{{\mathbb{J}}_{S3}}\left(\frac{\sqrt{3}}{2}\frac{d\,\mathbf{\hat{t}}}{d{{\Theta}_{\epsilon}}}-\frac{1}{2}\frac{d\,\mathbf{\hat{n}}}{d{{\Theta}_{\epsilon}}}\right)\Delta{{\Theta}_{\epsilon}}\\ \end{split} (29)

From (1) the derivatives of the unit vectors at the centerline are given by

d𝐭^dΘϵ=(000001010),d𝐧^dΘϵ=(001000100)\frac{d\,\mathbf{\hat{t}}}{d{{\Theta}_{\epsilon}}}=\left(\begin{matrix}0&0&0\\ 0&0&1\\ 0&-1&0\\ \end{matrix}\right),\quad\frac{d\,\mathbf{\hat{n}}}{d{{\Theta}_{\epsilon}}}=\left(\begin{matrix}0&0&-1\\ 0&0&0\\ 1&0&0\\ \end{matrix}\right) (30)

Combining these yields,

Δ𝐪=𝕁tΔ𝐗ϵ+𝕁rΔΘϵ\Delta\mathbf{q}={{\mathbb{J}}_{t}}\Delta{{\mathbf{X}}_{\epsilon}}+{{\mathbb{J}}_{r}}\Delta{{\Theta}_{\epsilon}} (31)

where

𝕁t=(𝕁S1𝕁S2𝕁S3)6×3{{\mathbb{J}}_{t}}=\left(\begin{matrix}{{\mathbb{J}}_{S1}}\\ {{\mathbb{J}}_{S2}}\\ {{\mathbb{J}}_{S3}}\\ \end{matrix}\right)\in{{\Re}^{6\times 3}} (32)

is the Jacobian associated with the translational displacement of the end-effector, and

𝕁r=t(𝕁S1d𝐧^dΘϵ𝕁S2(32d𝐭^dΘϵ+12d𝐧^dΘϵ)𝕁S3(32d𝐭^dΘϵ12d𝐧^dΘϵ))6×3{{\mathbb{J}}_{r}}={{\ell}_{t}}\begin{pmatrix}{{\mathbb{J}}_{S1}}\dfrac{d\,\mathbf{\hat{n}}}{d{{\Theta}_{\epsilon}}}\\ -{{\mathbb{J}}_{S2}}\left(\dfrac{\sqrt{3}}{2}\dfrac{d\,\mathbf{\hat{t}}}{d{{\Theta}_{\epsilon}}}+\dfrac{1}{2}\dfrac{d\,\mathbf{\hat{n}}}{d{{\Theta}_{\epsilon}}}\right)\\ {{\mathbb{J}}_{S3}}\left(\dfrac{\sqrt{3}}{2}\dfrac{d\,\mathbf{\hat{t}}}{d{{\Theta}_{\epsilon}}}-\dfrac{1}{2}\dfrac{d\,\mathbf{\hat{n}}}{d{{\Theta}_{\epsilon}}}\right)\\ \end{pmatrix}\in{{\Re}^{6\times 3}} (33)

is the Jacobian associated with the rotational displacement of the end-effector. From these we can obtain the block matrices (22) and (23), and thus the full Inverse Jacobian Matrix about this specific center point.

IV-C Evaluation of Spatial Gear Ratios

The maximum of the translational gear ratio γt(𝐩)=|Δ𝐗e|/|Δ𝐪|{{\gamma}_{t}}(\mathbf{p})=\left|\Delta{{\mathbf{X}}_{e}}\right|/\left|\Delta\mathbf{q}\right| is given by the minimum non-zero singular value associated with the Singular-Value Decomposition of Jacobian 𝕁t{{\mathbb{J}}_{t}}, (and vice-versa for the maximum gear ratio):

𝕁t=𝐔tΣt𝐕tT{{\mathbb{J}}_{t}}={{\mathbf{U}}_{t}}{{\Sigma}_{t}}\mathbf{V}_{t}^{T} (34)

where Σt6×3{{\Sigma}_{t}}\in{{\Re}^{6\times 3}} is a rectangular diagonal matrix consisting of the square root of the eigenvalues associated with the real symmetric matrix 𝕁tT𝕁t3×3\mathbb{J}_{t}^{T}{{\mathbb{J}}_{t}}\in{{\Re}^{3\times 3}}:

Σt=(1/λt10001/λt20001/λt3000000000)(0<λt1λt2λt3)\begin{split}&{{\Sigma}_{t}}=\left(\begin{matrix}1/{{\lambda}_{t1}}&0&0\\ 0&1/{{\lambda}_{t2}}&0\\ 0&0&1/{{\lambda}_{t3}}\\ 0&0&0\\ 0&0&0\\ 0&0&0\\ \end{matrix}\right)\\ &(0<{{\lambda}_{t1}}\leq{{\lambda}_{t2}}\leq{{\lambda}_{t3}})\end{split} (35)

and 𝐔t6×6{{\mathbf{U}}_{t}}\in{{\Re}^{6\times 6}} and 𝐕t3×3{{\mathbf{V}}_{t}}\in{{\Re}^{3\times 3}} are, respectively, unitary matrices consisting of the eigenvectors of the matrices 𝕁t𝕁tT6×6{{\mathbb{J}}_{t}}\mathbb{J}_{t}^{T}\in{{\Re}^{6\times 6}} and 𝕁tT𝕁t3×3\mathbb{J}_{t}^{T}{{\mathbb{J}}_{t}}\in{{\Re}^{3\times 3}}. Note that the Jacobian matrices we have obtained are for the inverse kinematics relating actuator displacements to the end-effector displacements, thus taking the reciprocal of the eigenvalue in (30). The rotational gear ratio γr(𝐩)=|ΔΘe|/|Δ𝐪|{{\gamma}_{r}}(\mathbf{p})=\left|\Delta{{\Theta}_{e}}\right|/\left|\Delta\mathbf{q}\right|can be examined in a similar manner.

Refer to caption
Figure 8: Jacobian at Various Heights along zz-axis

Fig. 8 shows the translational gear ratio γt(𝐩)=|Δ𝐗e|/|Δ𝐪|{{\gamma}_{t}}(\mathbf{p})=\left|\Delta{{\mathbf{X}}_{e}}\right|/\left|\Delta\mathbf{q}\right| at diverse end-effector locations along the zz-axis. Note that near the ground the vertical component of γt\gamma_{t} grows large, and as the top platform nears the end of its upward travel γt\gamma_{t} decreases, indicating a singular configuration where no more upward motion can be obtained. This can be interpreted intuitively by thinking of the three scissor mechanisms as the TSE top platform moves upward and how they elongate until no more motion can be achieved.

Refer to caption
Figure 9: Jacobian Ellipsoids for points at constant z=914.40z=914.40 millimeters

Fig. 9 shows the translational gear ratio γt\gamma_{t} for various points at a constant height in the center of the TSE’s workspace. While virtual gear ratio values along the xx and yy axes do change as a function of the robot’s configuration, they do not change as dramatically as the virtual gear ratio in the vertical direction does. This difference between the planar and vertical components of γt\gamma_{t} serves to further highlight the nature of the TSE, which was designed with vertical motion amplification in mind. This result serves to mathematically validate our design.

V Prototype

A prototype Triple Scissor Extender (TSE) was built to test our kinematic model (see Fig. 10). The size of the robot was chosen such that it would have a maximum height of 1619.25 millimeters (63.75 inches) while being able to collapse to a height of 323.85mm (12.75 inches). The ratio between the lowest link length and the total length, 0/L\ell_{0}/L, is 0.02470.0247. This allows for a maximum height amplification of 5.

Refer to caption
Figure 10: Experimental Setup

The ballscrew assemblies, servo motors, and servo drives were chosen by analyzing the worst-case loading while bearing a 11.34 kilogram (25 pound) gravitational load. The Parker Origa ballscrew servo assemblies are mounted on a single plate made from 6061 aluminum cut on an Omax waterjet. The plate has additional support from 8020 extrusion ribs and lining.

Each scissor mechanism is attached at the bottom points AA and BB as well as the top point CC by commercial off-the-shelf ball joint rod ends. The geometry was designed with hard stops such that the TSE would never pass through a singular configuration. The scissor links were all cut on a waterjet out of aluminum. Each joint uses twin flanged roller bearings that are preloaded for stiffness and a shoulder bolt as a pin. The top plate is also made of waterjet aluminum, and has mounting holes for the use of an end-effector or tool in the future.

Each servo is driven and controlled by a Copley Accelnet panel. The six servo drives use a Kvaser Leaf CANopen USB Interface to communicate with a C++ control program running on a laptop running Ubuntu Linux 14.04LTS. This program leverages the C++ Motion Libraries (CML) provided by Copley for servo control and the Armadillo Linear Algebra Library [6] for computing the Inverse Jacobian 𝕁I\mathbb{J}_{I} on-line.

VI Experimental Validation

An experiment was conducted in order to evaluate the Inverse Jacobian’s effectiveness for use in purely differential (stepping, or jogging) motion control of the TSE (See Fig. 10). By beginning the experiment at a known state of actuator displacements qq and top platform pose pp, differential motion can be achieved by calculating the current Inverse Jacobian, multiplying it by a desired small change top platform pose, and commanding the actuators to move by that amount, as in (19). For simplicity, only the horizontal configuration (no rotation) was considered.

The control program writes each new pp and qq to a file to create a dataset of desired states. The top platform’s actual motion cam be measured using a motion capture system to create a dataset of actual states. An OptiTrack motion capture system consisting of four Flex3 cameras and a supporting structure was built around the TSE. OptiTrack Motive software was used to track markers that were placed at the three apexes of the TSE’s top platform. These data were then exported and compared to the desired dataset to verify the Inverse Jacobian differential control scheme.

Refer to caption
Figure 11: Top Platform Desired and Measured Translation vs Time

A set of discrete translations in increments of 6.35 millimeters (0.25 inches) was performed about a central pose at a height of 1173.16 millimeters (46.1875 inches), as shown in Fig. 11.

VII Discussion of Results

Fig. 11 shows that the top platform consistently moves the same amount in each axis, but does not move the desired amount. This reveals a systematic error, either in the model or in the control architecture. The model does not take into account the passive structural mechanics such as the mass and stiffness of the individual components of the TSE and how gravitational loading may alter the modeled versus the actual position.

Another possible source of error could be that the experimental jog amount of 6.35 millimeters is too large to allow for first-order control about the point. As the Jacobian is effectively a linearization about some operating point, this first-order approximation may not properly capture the nonlinear kinematics of the TSE at the scale of the jog amount. To resolve this, the jog amount would need to be decreased so that a new Inverse Jacobian calculated more often between motions, smoothing out the kinematic nonlinearities.

Regardless of the cause of error, endpoint feedback using a motion capture system or some other external sensing could be used to obtain full closed-loop control of the TSE and eliminate any remaining error. The TSE using the Inverse Jacobian with either a passive structural mechanics model, fully continuous Jacobian calculation and motion integration, and/or closed-loop endpoint feedback control would be able to reach any pose within its workspace.

References

  • [1] V. E. Gough, “Contribution to discussion of papers on research in Automobile Stability, Control and Tyre performance”. Proc. Auto Div. Inst. Mech. Eng. (1956-1957): 392-394.
  • [2] D. Stewart. “A Platform with Six Degrees of Freedom”. Proc. Institution of Mechanical Engineers (UK) (1965-1966). Vol 180 (Pt 1, No 15).
  • [3] J. Yang, X. Wang, and X. F. Chen, “Dynamic Identification of a 3-PRS Parallel Robot with Scissor-Type Prismatic Joint: A Cloud-Based Approach”, Proceedings of the Third IEEE/IFToMM International Conference on Reconfigurable Mechanisms and Robots (ReMAR 2015), Beijing, China, July 20-22, 2015.
  • [4] D. Jakobovic, L. Jelenkovic, “The Forward and Inverse Kinematics Problems for Stewart Parallel Mechanisms” (2002).
  • [5] J. P. Merlet. “Jacobian, Manipulability, Condition Number, and Accuracy of Parallel Robots”. ISRR, Oct 2005, San Francisco, 2005.
  • [6] C. Sanderson. “Armadillo: An Open Source C++ Linear Algebra Library for Fast Prototyping and Computationally Intensive Experiments”. Technical Report, NICTA, 2010.