2001_Cable_array_robot
2001_Cable_array_robot
2805
following mathematical equations describing the robot
will be developed for the general case. This will be done
using the three parameters shown in Fig. 2b, which are a,
c and θ . This set of variables simplifies the kinematics
compared to using the three sides of the triangle which
requires the law of cosines. However, the use of the
angle, θ , will result in trigonometric terms in the
kinematics and therefore, in the equations of motion for
the robot.
The forward and inverse kinematics of the
mechanism are required to derive a dynamic model of the
system which will in turn be used to develop the robot’s
control system. Furthermore, these mathematical
relationships will be used to determine the Cartesian
(a) position of the manipulated object using the servo motor
position data. Due to the cable array robot having a
closed chain structure, it is most efficient to begin by
developing expressions for the inverse kinematics which
will express the cable lengths as functions of the
Cartesian coordinates of the manipulated object, (x, y, z).
This is done by representing each cable as a vector and
then taking the magnitude of that vector:
(b) where ( xi, yi, zi) represent the Cartesian coordinates of the
Fig. 2 (a) A cable array robot with three cables. (b) A top top of the ith mast. These coordinates are:
view of the robot.
(x1 , y1 , z1 ) = (0,0, h ) (2a)
one particular member of this class. This robot is shown
in Fig. 2, which provides both a three dimensional view as
(x 2 , y 2 , z 2 ) = (a,0, h ) (2b)
well as an overhead view of the robot. As shown, this (x 3 , y 3 , z 3 ) = (c cos θ , c sin θ , h) (2c)
robot consists of three cables which are connected
together at one point. The object to be manipulated is which results in the following inverse kinematic
attached to the robot at this point. Each cable runs over a relationships:
pulley located at the top of a mast and is connected to a
servo motor.
(
L1 = x 2 + y 2 + (z − h )2 )
1/ 2
(3a)
This cable configuration results in an L2 = (( x − a ) + y
2 2
+ (z − h ) )
2 1/ 2
(3b)
underconstrained system. The three cables are capable of
controlling the three Cartesian degrees of freedom of the L3 = ((x − c cos θ ) 2
+ ( y − c sin θ ) + ( z − h )
2
)
2 1/ 2
(3c)
object but can not directly control the rotational degrees
of freedom. Furthermore, the object is not constrained in The forward kinematics can be found by solving (3a-c)
the upward direction. However, for this particular study for (x, y, z), which results in the following:
we are only interested in the Cartesian degrees freedom
and gravitational forces will be sufficient to control the
motion in the vertical direction. It is important to note x=
1 2
2a
(
L1 + a 2 − L22 ) (4a)
that the maximum acceleration in the vertical direction
will be limited by the acceleration due to gravity.
The lengths of the cables, L1, L2 and L3 respectively,
y=
1 2
2c sin θ
2
L1 − L3 −
c cos θ 2
a
(
L1 + a 2 − L22 + c 2 ) (4b)
are measured from the top of each mast to the point at
which all three cables are connected. The height of the (
z = h − L12 − x 2 − y 2 )1/ 2
(4c)
masts, h, is measured from the base of the mast to the top
of the pulley. Although a scalene triangle is used for the In order to simplify the forward kinematics and to reduce
configuration of the masts depicted in Fig. 2b, the computation, Eq. (4c) can be left in terms of x and y. This
2806
requires that x and y be computed before z. The where:
expressions in (4a-c) will now be used to develop a
dynamic model of the robot using the cable lengths as L = [L1 L2 L3 ]T (11)
generalized coordinates. This will require the substitution
of (4a-b) into (4c) which will not be shown for brevity.
τ = [τ 1 τ 2 τ 3 ]T (12)
4. Dynamic Modeling of the Robot
The equations of motion of the cable array robot are
derived using the Lagrangian method. Since the
( )
The 3 x 1 vector f L, L& , a, b, θ and the 3 x 3 matrix
manipulated object is attached to the robot at a point, it B(L, a, b, θ ) , will be referred to as f and B respectively.
will be assumed to act as a point mass. Furthermore, the The details of these expressions will be omitted for the
mass of the cables used on this robot is extremely small sake of brevity. This arrangement of the equations allows
compared to the manipulated object and will therefore be the mass of the manipulated object, m, to be isolated such
neglected. This results in a kinetic energy, T, of the that it appears only as a scalar coefficient of the input
cargo container, which can be written in Cartesian matrix. The equations of motion presented in (10) will
coordinates as: now be used to create a control law which is robust to the
uncertainty in m.
T=
1
2
(
m x& 2 + y& 2 + z& 2 ) (6) 5. Control System Design using Sliding Modes
The control system requirements for this example cable
where m is the mass of the cargo container. array robot are similar to that of almost all manipulators.
In this study, the cables are assumed to be rigid since First, the control system must be robust to the uncertainty
the modulus of elasticity of the cables in this experiment in a manipulated object’s mass. Second, the control
is large compared to the expected loads. Therefore, the system must be designed for the tracking of arbitrary
potential energy of the system, U, is due only to trajectories. The control theory chosen for this problem is
gravitational forces. The potential energy takes the form: sliding mode control due to it’s robustness to parametric
uncertainty and ability to be applied to nonlinear systems
U = mg z (7) such as the cable array robot.
The basic theory of sliding mode control has been
well documented by researchers including Utkin [12] and
where g is the acceleration due to gravity. Slotine and Li [10]. The approach will be applied to the
The variables which are directly controlled by the dynamic model presented in Eq. (10) in which the mass of
robot are the cable lengths, which can be lengthened and the manipulated object, m, is assumed to be uncertain.
shortened by the rotation of the motors. Therefore, it is The first step is to choose a sliding surface, s, which
desirable to derive the equations of motion for the system defines a surface in the state space which is stable. The
in terms of the cable lengths, L1, L2 and L3. This can be most common surface is the following:
done by substituting the forward kinematic relations in
(4a-c) into the kinetic and potential energy shown in Eqs. ~& ~
(6) and (7) respectively. Next, the equations of motion s = L +λ L (13)
can be derived by applying Lagrange’s Equations as where λ is a positive definite design matrix and :
follows:
~
L = L − Ld (14)
d ∂T ∂T ∂U
−
dt ∂L& i ∂L + ∂L = Qi i=1,2,3 (8)
The sliding surface shown in (13) is a function of the
i i
length and velocity tracking error of the cables, where Ld
where the generalized forces, Qi, are: is the desired cable length. The stable design matrix, λ, is
used to guarantee that when the system is on the sliding
Q = [-τ1/r -τ2/r -τ3/r] T (9) surface, the tracking errors will approach zero.
The sliding mode controller is typically defined as
The winch torques, τ1 , τ2 and τ3, are the control inputs, having two additive parts, namely the equivalent control,
and r is the radius of the winches. The resulting equations τeq, and the switching control, τs, such that the robot
of motion can be written in the following form: control torques can be written as:
( ) 1
L&& = f L, L& , a, b, θ + B(L, a, b, θ )τ
m
(10) τ = τ eq + τ s (15)
2807
The equivalent control is designed for the system as if The additional term in (24), which multiplies the positive
there is no uncertainty in the system, and the switching definite matrix, Φ, by the sliding surface, is used to
control is designed to compensate for the uncertainty. increase the rate of convergence of the system toward the
The switching controller in this case can be written as: sliding surface. Substituting (16) and (24) into (22) and
rearranging terms, results in the following expression:
s
τ s = −mˆ ρ B −1 (16)
s mˆ s mˆ
where m̂ is defined as the average value of m such that:
V& = − s T Φs − s T ρ
m
( (
− 1 − f − L&&d + λ L& − L& d
))
s m
(25)
0 < m min ≤ m ≤ m max (17) After taking the Euclidean norm of the right side of (25)
and using the Cauchy-Schwarz inequality, Eq. (25) can be
and: written as:
m max + m min
mˆ
V& ≤ − s T Φs − s ρ − 1 −
m
mˆ
m
( )
f − L&&d + λ L& − L& d (26)
mˆ = (18)
2
The equivalent control, τeq, and the switching control Eq. (26) allows the value of the switching control gain, ρ,
to be determined such that the stability condition shown
gain, ρ, are designed with the use of Lyapunov stability
in (21) is met. Therefore:
theory. A simple Lyapunov function, V, is defined as:
V=
1 T
s s (19) ρ > 1−
mˆ
m
( )
f − L&&d + λ L& − L& d + η (27)
2
Next, the time derivative of (19) is taken, which results in where η is a positive constant value which can be used to
the following: tune the switching gain to counteract other forms of
uncertainty which were not considered in the analysis
V& = s T s& (20) such as friction the pulley system and the inertia of the
winches. It can be shown that:
After taking the time derivative of (13), this result can be
substituted into (20) to obtain the following expression: m max − m min mˆ
≥ 1− (28)
2m min m
( (
V& = s T L&& − L&&d + λ L& − L& d )) (21)
This result is used to rewrite Eq. (27) such that m, which
Finally, the equations of motion shown in (10) are is unknown, is eliminated. The result is:
substituted into (21):
m max + m min
ρ> (
f − L&&d + λ L& − L& d + η) (29)
1
(
V& = s T f + Bτ − L&&d + λ L& − L& d
m
) (22) 2m min
In order to guarantee Lyapunov stability of the robot, the The final step in the design of the control law is to
control torques must be designed to meet the following modify (16) so that it is a continuous approximation to the
condition: discontinuous function. This will eliminate the chattering
effect caused by the discontinuous control law. This is
V& < 0 for s≠0 (23) important since chattering can often excite unmodeled
vibrational modes in flexible structures such as the cable
The equivalent control, τeq, is designed to cancel out the array robot. The form of the continuous approximation is
nonlinear dynamics of the robot and account for the taken from Edwards and Spurgeon [4] as follows:
tracking commands. The control law used in this research s
τ s = −mˆ ρ B −1 (30)
is: s +δ
The term δ is a design parameter which balances the
( ( )
τ eq = mˆ B −1 − f + L&&d − λ L& − L& d − Φs ) (24) tradeoff between the amount of chatter and the trajectory
following performance. When δ is increased, the
2808
boundary layer about the sliding surfaces becomes
thicker. This results in less chatter caused by the
switching controller. However, this also results in a
decrease in the tracking performance.
6. Experimental Results
A cable array robot with three cables, similar to that
discussed in sections 3 and 4, has been designed, built and
tested (see Fig. 3). This robot is a 1/16th scale model of a
robotic crane designed to operate onboard Naval cargo
ships. The important dimensions of the system are: a =
4.185 m, c = 4.154 m, θ = 900 and h = 1.944 m. The
cables are actuated using direct drive servo motors which
are equipped with optical encoders. These motors are
attached to winch rotors which are designed to avoid Fig. 3 The cable array robot test bed
tangling of the cables. A VMEbus computer running the
VxWorks real-time operating system was used to control
the robot. The control software was developed using the
ControlShell software package from Real Time 2.6
Actual
Innovations. Desired
2.4
The sliding mode controller presented in the previous
section was tested on this robot. A simple trajectory was 2.2
designed for this test in which the robot must manipulate
an object with a mass of 6.8 kg along a triangle in the x-y 2
plane. While tracking the triangle, the robot must 1.8
maintain a constant height. The controller gains used in m
y
this experiment were λ = diag( 7, 7, 7), Φ = diag( 5, 5, 5) 1.6
and δ = 0.05. The minimum and maximum payload mass
1.4
are mmin = 3.5 kg and mmax = 8.5 kg respectively.
The results of this test are shown in Fig. 4. The 1.2
maximum error in the x-y plane was 0.0332 m while the
maximum error in the z direction was 0.0336 m. Due to 1
the large workspace of the robot, which in the x-y plane is
1 1.5 2 2.5
17.38 m2, these results are extremely reasonable for the
x (m)
application of cargo handling. The source of the error can
Fig. 4 Experimental results for position tracking in the x-
be the result of several things. One of these is the fact
y plane
that the sliding surface presented is analogous to a PD
controller. Therefore, since the continuous approximation
the order of three centimeters, was small compared to the
of the switching controller was used, a steady state error
size of the robots workspace. These results show that the
results. However, this can be improved by simply adding
system is capable of operating in an industrial setting such
an integral term to the sliding surface. Other possible
as a robotic crane. However, if the robot was intended for
sources of error include friction in the pulley system and
applications requiring more precision such as in part
stretching of the cables.
assembly, the controller would need to be modified to
gain higher performance.
7. Conclusion
Cable array robots are a class of robotic mechanisms
Acknowledgements
which have many applications. Their simplicity of
The authors gratefully acknowledge the support of the
design, light weight and ability to support large loads
Office of Naval Research and the National Science
make them useful in many industrial and military settings.
Foundation for this research.
This paper presented in detail a specific cable array robot
with three cables. The kinematic equations, a dynamic
References
model and sliding mode controller have been derived for
[1] Albus, J., Bostelman, R., Dagalakis, N., “ The NIST
this general system. The results were then applied to an
ROBOCRANE”, Journal of Robotic Systems, Vol. 10 pp.
experimental test bed to verify these developments. It
709-724, 1993.
was found that the error in the trajectory, which was on
2809
[2] Arai, T., Hisashi, O., Yamaguchi, H., “ Assembly Suspended Robots”, Journal of Robotic Systems Vol. 15
Robot Suspended by Three Wires with Seven Degrees of pp.581-597, 1998.
Freedom”, SME Technical Paper MS90-807, 1990. [9] Shiang, W., Cannon, D., Gorman, J., “ Optimal Force
[3] Edwards, C. and Spurgeon, S., Sliding Mode Control: Distribution Applied to a Robotic Crane with Flexible
Theory and Applications, Taylor and Francis, 1998. Cables”, Proceedings of the IEEE International
[4] Eichstadt, F., Campbell, P., Haskins, T., “ Tendon Conference on Robotics and Automation, pp. 1948-1954,
Suspended Robots: Virtual Reality and Terrestrial 2000.
Applications”, SAE Technical Paper 951571, 1995. [10] Slotine, J.J. and Li, W., Applied Nonlinear Control,
[5] Gorman, J., Jablokow, K., Cannon, D., “ Modeling Prentice Hall, Englewood Cliffs, NJ, 1991.
and Robust Nonlinear Control of a Two Cable Robotic [11] Tadokoro, S. et al, “ On Fundamental Design of Wire
Crane”, Proceedings of the IASTED International Configurations of Wire-Driven Parallel Manipulators with
Conference on Robotics and Applications, pp. 210-216, Redundancy”, Proceedings of the Japan/USA Symposium
1999. on Flexible Automation, pp. 151-158, 1996.
[6] Kawamura, S. et al., “ Development of an Ultrahigh [12] Utkin, V., Sliding Modes in Control and
Speed Robot FALCON using Wire Drive System”, Optimization, Springer-Verlag, New York, 1992.
Proceedings of the IEEE International Conference of [13] Yang, L. and Mikulas, M. Jr., “ Mechanism
Robotics and Automation, pp. 215-219, 1995. Synthesis and 2-D Control Designs of an Active Three
[7] Maeda, K. et al, “ On Design of a Wire-Driven Cable Crane”, Proceedings of the AIAA Structures.
Parallel Robot WARP Manipulator”, Proceedings of the Structural Dynamics and Materials Conference, pp. 402-
IEEE International Conference on Robotics and 411, 1992.
Automation, pp. 895-900, 1999.
[8] Roberts, R., Graham, T., Lippitt, T., “ On the Inverse
Kinematics, Statics and Fault Tolerance of Cable
2810