Upload
phunglien
View
220
Download
4
Embed Size (px)
Citation preview
Cooperative Towing with Multiple Robots
Peng Cheng Jon Fink Vijay Kumar
GRASP Lab
University of Pennsylvania
Philadelphia, PA 19104
Email: {chpeng, jonfink, kumar}@grasp.upenn.edu
Jong-Shi Pang
Department of Industrial and Enterprise Systems Engineering
University of Illinois
Urbana, IL 61801
Email: [email protected]
ABSTRACT
In this paper, we address the cooperative towing of payloads by multiple mobile robots in the plane.
Robots are attached via cables to a planar object or a pallet carrying a payload, and they coordinate
their motion to manipulate the payload through a planar, warehouse-like environment. We formulate a
quasi-static model for manipulation and derive equations of motion that yield the motion of the payload
for a prescribed motion of the robots in the presence of dry friction and tension constraints. We present
experimental results that demonstrate the basic concepts.
1 Introduction
There are many important applications in which vehicles are used to tow payloads using cables or chains.
Conventional oceanographic data collection is largely dependent on towed systems. Tugboats are used to maneu-
ver large boats and ships through rivers and canals. Tow boats are generally used for pushing while tug boats are
used for towing a barge or multiple barges tied together. Helicopters are often used to carry suspended payloads.
In this paper we are primarily interested in cooperative manipulation of payloads by multiple vehicles. Co-
operative lifting of large payloads by multiple helicopters has great benefits in humanitarian or military field
operations. There are advantages to using multiple tugboats for towing. Smaller tugboats which have better ma-
neuverability can be reconfigured to tow large barges depending on their payloads. For warehousing operations,
automatic guided vehicles (AGVs) are generally used for pallets. But pallets can also be towed by AGVs. And if
pallets of different sizes and weights are used, multiple robots can be reconfigured to tow pallets based on the size
and payload.
From the standpoint of robotics, towing is an important manipulation process [1]. However, there are few
studies of robotic towing, especially tasks involving cooperation between multiple robots. The kinematics and
dynamics of cable-actuated, parallel manipulators, which have been studied extensively [2–5], are relevant to this
work. However, this body of literature primarily addresses the control of the cable extensions or forces in order to
manipulate the payload. In contrast, towing involves cables of fixed length where manipulation is accomplished
by controlling the motions of the ”pivot points” in the parallel manipulators. While manipulation using cables
has been studied in the context of distributed manipulation [6–8], these papers do not address the mechanics or
control of the cooperative manipulation task.
Because we address the quasi-static manipulation of objects on a plane the body of work on the mechanics
of objects sliding on a rough plane is very relevant. Because assumptions of rigidity and planar contact are not
compatible in practice, planar surface contact is difficult to model. It has been shown that any planar contact with
dry friction can be modeled by three point contacts [1, 9]. Quasi-static analysis of a planar rigid body on a rough,
horizontal plane reduces to first determining the force distribution in the vertical direction using a three-point-
contact support, and then determining the frictional forces from the motion of the rigid body. However, there is
no canonical three-point-contact support for a rigid body. Further, dry friction is very difficult to model [10].
Finally, the unilateral constraints imposed by cables that can only admit positive forces introduce another
degree of complexity into the problem. Because the tension on a cable can only be positive and the distance
between the two end-points of a cable cannot be more than its free length, and further the tension is non zero only
when the distance is equal to the free lengths – each cable introduces a complementarity constraint of the type:
s≥ 0, λ≥ 0, λ s = 0 (1)
where s is the slack in the cable and λ is the tension in the cable. The solutions to systems of linear equations sub-
ject to such constraints, the so-called Linear Complementarity Problem (LCP), have been studied extensively [11].
Even though all the terms in the LCP are linear in the unknowns, the system can have multiple solutions or no
solutions at all. In addition to having complementarity constraints, the planar towing problem considered here has
Initial configuration
Goal configuration
Towing robots
Static obstacles
Fig. 1. Multiple cooperative manipulation by towing
frictional constraints which are nonlinear.
In this paper, we first formulate a quasi-static model of towing planar objects with multiple robots in Section 2.
A key assumption in this section is the three-point-contact support model which is realized in our experimental
testbed by supporting the payload on three castors. In Section 3, we present an analysis of the instantaneous
kinematics conditions for the existence of a unique object twist. We next explore the set of configurations in which
a system with a three-point-contact support can be quasi-statically towed using multiple robots in Section 4. In
Section 5, we show experimental results with a system of position-controlled robots towing a payload. The robots
have no force sensors and must coordinate their relative velocities to achieve a desired twist. We show that
our model correctly predicts the resulting motion. Finally, in Section 6, we outline a few open problems in the
kinematics, planning and control of cooperative towing, and extensions of the research described here.
2 The Quasi-Static Model for Cooperative Towing
Our task is to control multiple robots so they can cooperatively tow or carry a planar object subject to gravity
and frictional forces from any initial part configuration to a desired goal part configuration. We want to avoid
obstacles as shown in Fig. 1 and achieve a specified degree of precision in positioning and orienting the object at
a desired final position and orientation.
The different variables characterizing a robot towing a payload are shown in Fig. 2. The position and orienta-
tion of the payload is given by (x,y,θ). The velocity of the payload is a twist (in the plane), which can be written
S3
S2
(x, y)!
"1s1
Ob
xw
yw
Ow
xb
yb
S1
Pj#j
rj
Rj
uj
vRj
New
figure 3
S3 S
2
S1
!n,1
!n,3
!n,2
!t,1
!t,2
!t,3
!c,jPj
Ob
mg
Fig. 2. Quasi-static manipulation: The object is supported by three support points, Si, with normal forces (out of the plane), λn,i and
tangential frictional forces, λt,i. It is pulled by m cables, each exerting a force λc, j . Note the robot R j pulls by moving the object with a
prescribed (given) velocity.
in the world frame:
ξ =
x
y
θ
. (2)
Even though the following modeling and analysis on the twist are in the world frame, they can be easily extended
for the twist in the body-fixed frame by using the rotation matrix to transform quantities in the world frame into
the body-fixed frame. We have used this to maintain the twist in the body-fixed frame in our experiments as shown
in Section 5.
Let xR, j = (xR, j,yR, j) denote the position of the reference point R j on robot j. If there are m robots with
cables attached to points R j on robot j and Pj on the payload, and if∣∣∣−−→PjR j
∣∣∣ equals the free length of the cable, the
unilateral kinematic constraints associated with cables are:
Aξ≥ 1b (3)
where
A =
A1
. . .
Am
, b =
b1
. . .
bm
, (4)
1this vector inequality denotes that each element of the vector satisfies the inequality
A j is a function of the unit vector, u j, showing the direction of the cable j and the position vector ρ j =−−→ObP j:
ATj =
u j
ρ j×u j
, (5)
b j is a function of u j and the velocity vR, j of the towing robot j:
b j = uTj vR, j. (6)
Note that b j ∈ [−vmaxR ,vmax
R ] because the robot velocity vR, j is bounded by vmaxR .
The set of twists of freedom is defined with respect to the tuple (A,b) as follows:
Σ(A,b) = {ξ |Aξ ≥ b}. (7)
Note that this set is determined by the configuration of the robots, specified by the matrix A, and the payload as
well as the velocities of the robots, given by the vector b.
The kinematics-statics duality is evident in this problem. There are similarly constraints on the cable tensions.
λc, the m× 1 vector of cable tensions, is non negative and is non zero only when the equality in (3) is satisfied.
Thus we write complementarity constraints:
0≤ λc ⊥ Aξ−b≥ 0, (8)
where “⊥” implies λc, j(Aξ−b) j = 0. Since λc and Aξ−b are non negative, λTc (Aξ−b) = 0.
In order to model the dry friction between the object and the support surface, we assume that the object is
supported by a finite number of frictional point contacts. For three non collinear support points, the support forces
λn,i, i = 1,2,3 can be uniquely obtained.
If the object undergoes quasi-static motion, the tensions associated with m cables and the frictional forces
(λt,i,x,λt,i,y) at each of the three support points (i = 1,2,3) must add to zero. Thus, we have the equilibrium
equations:
BTλt +AT
λc = 0, λc ≥ 0 (9)
where B is a full rank 6×3 matrix:
BT =[
BT1 BT
2 BT3
]=
1 0 1 0 1 0
0 1 0 1 0 1
−ys,1 xs,1 −ys,2 xs,2 −ys,3 xs,3
, Bi =
1 0 −ys,i
0 1 xs,i
, (10)
and λt is a 6×1 unknown vector:
λt = [λTt,1, λ
Tt,2, λ
Tt,3]
T , λt,i = [λt,i,x, λt,i,y]T . (11)
We use F C i to denote the friction cone at the ith support point defined by Coulomb friction:
0≤ ‖λt,i‖ ≤ µλn,i, ‖λt,i‖=√
λ2t,i,x +λ2
t,i,y. (12)
Note that F C i is the friction cone with a known λn,i.
For a given object twist, the 2×1 velocity vector of the support point is given by:
vt,i = Bi ξ =
1 0 −ys,i
0 1 xs,i
ξ.
From Coulomb’s law, the friction forces are equal to µλn,i and are opposite to the direction of slip, except if the
slip is zero when the magnitude is indeterminate. This can be written explicitly as:
λ t,i(ξ) ∈ argminλ t,i∈F C i
vt,i(ξ)Tλ t,i,
or in aggregate form,
λ t(ξ) ∈ argminλ t,i∈F C i
ξT BT
λ t . (13)
It is not too hard to verify that this is equivalent to the Coulomb friction law [12].
3 Existence and Uniqueness of Solutions to (8), (9), and (13)
In this section, we will study the quasi-static model in Section 2, specifically addressing the existence and
uniqueness of solutions to (8), (9), and (13) by considering the following max-min problem:
maximizeξ∈Σ(A,b)
minimizeλ t,i∈F C i
L(ξ,λ t) (14)
with the saddle function L(ξ,λ t) ≡ ξT BT λ t being bilinear in its arguments. We say that a pair (ξ,λ t) is feasible
if ξ satisfies the kinematic constraint (3) and λ t satisfies the friction constraints: λ t,i ∈ F C i for all i = 1,2,3. By
definition, a feasible pair (ξ, λ t) is a saddle point of L if for all feasible pairs (ξ,λ):
L(ξ,λ t) ≥ L(ξ, λ t) ≥ L(ξ, λ t). (15)
It is known [13, Theorem 1.4.1] that the following three statements are equivalent:
(a) (ξ, λ t) is a saddle point of L over the feasible pairs of admissible twists and friction forces;
(b) ξ ∈ argmaxξ∈Σ(A,b)
ϕ(ξ) and λ t ∈ argminλ t,i∈F C i
ψ(λt), where
ϕ(ξ) ≡ minλ t,i∈F C i
L(ξ,λ t) and ψ(λ t) ≡ maxξ∈Σ(A,b)
L(ξ,λ t);
(c) ϕ(ξ) = ψ(λ t) = L(ξ, λ t).
The existence and uniqueness of a solution to the quasi-static towing problem formulated in (8), (9), and (13) are
established in two steps: (a) such a solution is characterized as a saddle point of L in (14); and (b) such a saddle
point exists and is unique. The result below establishes the first step.
Theorem 1. A feasible pair (ξ, λ t) is a saddle point of L if and only if λc exists such that the triple (ξ, λ t , λc)
satisfies conditions (8), (9), and (13).
Proof. The right-hand inequality in (15) holds if and only if ξ maximizes L(•, λ t) over the set Σ(A,b). In turn,
since the latter maximization is a linear program in the variable ξ ∈ Σ(A,b), it follows that the right-hand inequality
in (15) holds if and only if λc exists such that (ξ, λ t , λc) satisfies conditions (8) and (9). Clearly, the left-hand
inequality in (15) is just (13). �
To proceed to the second step, notice that
ϕ(ξ) =3
∑i=1
minimizeλt,i∈F C i
{(Biξ)T
λ t,i}
= −3
∑i=1
µλn,i
√(x− ys,iθ
)2 +(
y+ xs,iθ)2
The next result is based on the maximization problem of ϕ(ξ) over Σ(A,b).
Theorem 2. Suppose that Σ(A,b) is not empty (i.e., there exists a twist that satisfies the kinematic constraint in
(3)) and that B ∈ R6×3 is full rank. There exists a unique ξ and possibly non unique (λ t , λc) such that (ξ, λ t , λc)
satisfies the conditions (8), (9), and (13); moreover, ξ is the unique solution of the problem:
minimizeξ=(x,y,θ)
−ϕ(ξ)
subject to Aξ ≥ b
(16)
and for i = 1,2,3, λ t,i ∈ argminλ t,i∈F C i
vt,i(ξ)Tλ t,i.
Proof. The minimization problem (16) is clearly equivalent to the maximization problem of ϕ(ξ) over Σ(A,b). The
objective function of (16), −ϕ(ξ), is a coercive function of ξ, i.e.,
lim‖ξ‖→∞
−ϕ(ξ) = ∞.
This is because B is full rank and the coefficients µ and λn,i are positive. Since −ϕ(ξ) is a continuous, coercive
function of ξ and the polyhedron Σ(A,b) is a closed set, an optimal solution to (16) is guaranteed [14].
To show the uniqueness of such an optimal solution, let ξi ≡ (xi, yi, θi) be two optimal solutions. Since−ϕ(ξ)
is a convex function, it follows that
ϕ(τξ1 +(1− τ)ξ2) = ϕ(ξ1) = ϕ(ξ2), ∀τ ∈ [0,1],
which implies
‖vt,i(τξ1 +(1− τ)ξ2)‖ = ‖vt,i(ξ1)‖ = ‖vt,i(ξ2)‖, ∀τ ∈ [0,1].
Hence, Biξ1 = Biξ
2 for i = 1,2,3, and hence ξ1 = ξ2 by the same full rank condition of B.
With ξ denoting the unique optimal solution of (16), it follows that λc exists such that (ξ, λc) satisfies (8) and
0 ∈ −AT λc−∂ϕ(ξ), where −∂ϕ(ξ) denotes the subdifferential of the convex function −ϕ at ξ. Since
−ϕ(ξ) =3
∑i=1
µλn,i ‖Biξ‖,
we have
−∂ϕ(ξ) =3
∑i=1
µλn,i BTi (∂‖v‖)v=Biξ
=3
∑i=1
µλn,i BTi
{
Biξ
‖Biξ‖
}if Biξ 6= 0
F C i/(µλn,i) if Biξ = 0
= −BT λ t .
Thus, (ξ, λ t , λc) satisfies (8), (9), and (13). �
Remark: The optimization problem (16) is a convex program. Indeed, it is equivalent to a non-standard linear
program over a second-order cone:
minimizeξ=(x,y,θ),σ
3
∑i=1
µλn,i σi
subject to Aξ ≥ b
and σi =√(
x− ys,iθ)2 +
(y+ xs,iθ
)2 ≤ σmaxi , for i = 1,2,3.
(17)
where σmaxi is a positive upper bound for the sliding velocity at the support point i. This is a problem that has been
extensively studied in the recent mathematical programming literature; see e.g. [15]. We use standard Matlab c©
functions to solve (14) for the object twist to generate the results shown in Section 5.
4 Control of Object Twists
In this section, we will study when admissible twists exist for a towing configuration A, whether there exist
inadmissible twists that cannot be produced by a group of robots, and how to coordinate the robots to achieve a
desired twist.
4.1 Admissible and inadmissible object twists
We will first study conditions on A to ensure the existence of an object twist and whether there exist inadmis-
sible twists for three robots.
Theorem 3 below shows that there exists a unique admissible twist if A is full rank and m≤ 3.
Theorem 3. If A is full rank and m≤ 3, then there always exists a unique twist ξ to the towing problem formulated
in (8), (9), and (13).
Proof: Stiemke’s lemma is a theorem of alternatives that states that one of the following two conditions is true:
Either
∃λc > 0, ATλc = 0. (18)
or,
∃ξ : A ξ > 0. (19)
If A is full rank and m≤ 3, (18) is not true. Therefore there must exist twists that satisfy the constraint (19). For
any given b, if elements b j ≤ 0, (19) implies the constraint A jξ≥ b j is satisfied. If there are elements b j > 0, then
we can always scale ξ with a positive scalar so that a feasible ξ that satisfies A jξ≥ b j can be found. Thus, Σ(A,b)
is not empty. Theorems 1 and 2 guarantee that there always exists a unique part twist ξ for (8), (9), and (13). �
Remark It is well known that if a wrench w is applied on an object moving on a plane with a twist t, the rate at
which work is done is given by wT t provided the elements of the twist and wrench are written as follows:
w =
fx
fy
mz
, t =
x
y
θ
(20)
The rate of work done by all the wrenches on the towed object must be zero, which means:
λTc Aξ+λ
Tt Bξ = 0. (21)
We know that λTt Bξ≤ 0 because this term is associated with the rate of work done by frictional forces which must
be non positive. Also ξ 6= 0 if and only if
λTt Bξ < 0. (22)
Thus, if ξ 6= 0, from (21) we have
λTc Aξ > 0. (23)
The strict inequality means that at least one cable is pulling the object.
From Theorem 3, when A is full rank with m ≤ 3, different twists can be produced by changing the robot
velocities to generate different b vectors. However, the following theorem shows that for three or fewer robots
with specified lines of action of the cables, there always exist inadmissible twists that cannot be produced no
matter what the robot velocities are.
Theorem 4. If A is full rank and m≤ 3, not all twists can be produced.
Proof: From Stiemke’s lemma, either
∃λc > 0,−ATλc = 0. (24)
or,
∃ξ : −A ξ > 0. (25)
If A is full rank and m≤ 3, (24) is not true. This means (25) must be true, or equivalently,
∃ξ : A ξ < 0.
Therefore, there exist twists that violate (23) because λc ≥ 0. �
4.2 Producing any twist with more than three robots
We have shown that there exist inadmissible twists that cannot be produced by three robots. However, with a
fourth robot, we can produce any twist up to scale as shown in the following theorem.
Theorem 5. Given four towing robots and any part twist ξdes, we can find β ∈ (0,1) and (A,b) such that
ξ = βξdes (26)
is the unique solution to (14).
Proof: We will first prove that there exists a matrix A for four robots such that ξdes can be produced if the robots
can move arbitrarily fast. Secondly, we will show that there exist b and ξ = βξdes for 0 < β < 1 such that ξ can be
produced even though there exist upper bounds on the robot velocities.
Step 1: Again we use Stiemke’s lemma in the form of (24) and (25). We will construct the matrix A for four
robots satisfying (24) such that all twists can be produced. This is done by selecting A j, the lines of action for the
cables or the rows of A, such that the four submatrices, D1 = [AT2 AT
3 AT4 ], D2 = [AT
1 AT3 AT
4 ], D3 = [AT1 AT
2 AT4 ], and
D4 = [AT1 AT
2 AT3 ] satisfy the following properties.
(a) All submatrices are full rank; and
(b) −det(D1), det(D2), −det(D3), and det(D4) have the same sign.
According to [4, Corollary 3.4] , (24) has a solution if and only if the above conditions are satisfied.
In the following, we will show that there exists a matrix A satisfying the above conditions. We can first select
any three non parallel and non concurrent cable directions. Without losing generality, we assume these cables are
respectively for robots 1,2 and 3. It can be checked that the resulting submatrix D4 is full rank. Then, there exist
αi < 0 for i = 1,2, and 3 such that q = [q1 q2 q3]T = α1A1 +α2A2 +α3A3 with q21 +q2
2 6= 0. It can be checked that
choosing A4 of the fourth robot as
A4 =q√
q21 +q2
2
=α1√
q21 +q2
2
A1 +α2√
q21 +q2
2
A2 +α3√
q21 +q2
2
A3
will ensure the above two conditions. The first two elements of A4 determine the cable direction u4 and the third
element determines a straight line set in which the anchor point on the part can be chosen.
Thus, such matrix A guarantees that (25) is not true. In other words, there is no twist such that Aξ < 0.
Alternatively, for all twists, including ξdes, the opposite must be true:
Aξdes ≥ 0.
In other words, ξdes can be produced with bdes = Aξdes, which can always be achieved if there are no constraints
on the speed of the robots.
Step 2: If the robot speed is bounded by vmaxR , for any ξdes we can always find
β ∈
0,min
vmaxR
maxj=1,2,3,4
|A jξdes|
,1
(27)
such that the scaled twist, ξ = β ξdes, can be produced by robot velocities vR, j given by:
vR, j ·u j = A j
(β ξ
des)
, j = 1,2, . . . ,m. (28)
�
5 Experiments and Verification
In this section, we will present our experimental results to validate the proposed model for the system of
cooperating robots. We present results for one, two and three robots towing an object. We also show that the
robots are able to produce desired twists in the body-fixed frame leading to desired motions corresponding to
one-parameter subgroups in the Euclidean group in two dimensions.
5.1 Experimental testbed
All experiments were conducted on a multi-robot testbed [16] utilizing a team of small differential drive robots
(radius 0.15m) called Scarabs, and an overhead tracking system for localization of both the manipulated object
and the robots. Each Scarab is equipped with a differential drive axle placed at the center of the length of the
robot with a 21 cm wheel base. The robot is driven by two low-power stepper motors which each drive 10 cm
(standard rubber scooter) wheels with a gear reduction (using timing belts) of 4.4:1, resulting in a nominal holding
torque of 28.2kg-cm at the axle. Each robot has an on-board computer equipped with a Nano ITX motherboard
with a 1 GHz. processor and 1 GB of RAM. A compact flash drive provides low-energy data storage in place of
a hard drive. A power management board and smart battery provide approximately two hours of experimentation
time (under normal operating conditions). The on-board embedded computer supports two IEEE 1394 devices
and 802.11a/b/g wireless communication. The sensors, actuators, and controllers are modular and connected
through the Robotics Bus [17] (which is derived from the CAN bus protocol) or standard interfaces such as USB
or IEEE 1394. The result is a plug-and-play system where sensors and actuators can be added or removed from
Fig. 3. The Scarab platform used for experiments and a photograph showing three Scarabs towing a payload.
the hardware configuration. More details are available in [16].
The Scarab robot in Fig. 3 depicts a typical platform configuration with a Hokuyo URG laser range finder
and a Point Grey Firefly IEEE 1394 camera. A foam bumper protects the robot while allowing it to physically
interact with its environment. The physical dimensions of the robot in this configuration (less the bumper) are
20×13.5×22.2 cm3 with a mass of 8 kg.
5.2 System parameters
In Fig. 3 (right), the robots are manipulating an L-shaped object with a characteristic length of 1m, mass of
2.5Kg, and an approximate coefficient of friction with the floor of µs = 0.08. The low coefficient of friction is
due to the rolling friction at the castors. The castors also help reduce the uncertainties associated with the force
distribution. If there were no castors, the problem of determining the normal support forces for a planar rigid body
resting on a plane has infinite solutions.
The robots are connected to the object through fixed length cables (0.75m) which are fastened to known
attachment points on both the object and robot. Since the robots are actuated by a differential drive system, they
have nonholonomic constraints and we simplify the control problem by controlling the point R j at which the cable
is attached using a standard feedback linearization scheme [18]. This point is chosen to be at a 0.09m offset from
robot axle to guarantee input-output linearization.
For these experiments, we assume our tracking system has an accuracy of ±2cm and ±5◦. For our estimation
of the towing configuration, A, from experimental trajectories, we depend on the difference between two measure-
ments and thus the assumed error on these values is doubled. A centralized clock is used so we assume timing
error to be negligible.
-1.5 -1.0 -0.5 0.0 0.5
-0.5
0.0
0.5
1.0
(a)
6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11−0.2
0
0.2Predicted/Actual Velocity Error
X E
rror
(m
/s)
6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11−0.2
0
0.2
Y E
rror
(m
/s)
6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11−5
05
1015
θ E
rror
(de
g/s)
Time (s)
(b)
Fig. 4. (a) Snapshots from a representative experimental trajectory for one robot towing the object. The red solid line shows the robot
trajectory. (b) Comparison between predicted and measured velocities of the object during the one-robot towing experiment shown in (a).
Error bars indicate the measurement errors.
5.3 Comparison of theoretical predictions with experimental results
We predict the twist of the object being pulled with a given towing configuration according to the model de-
veloped in previous sections. To validate the accuracy of this model, we conducted several experiments with one,
two and three robot towing configurations. Using tracking information of the robots and object trajectories during
experimental trials, we estimate the towing configuration A and the vector b, and compare the predicted twist with
the actual object twist throughout the duration of each towing maneuver. Note that we make no assumption that
all cables are in tension for the two and three robot cases.
5.3.1 One robot towing
An experimental trajectory for one robot towing is shown in Fig. 4a. Note that the towing configuration
changes during the manipulation task since the robot is following a constant velocity in the world frame. Also,
even if the robot velocities are commanded to be a known constant vector, the actual velocity varies because of
errors in the robot controller. Thus, we estimate (A,b) at each time instant from the experimental data and compare
the predicted object twist from Equation 14 with the measured twist as depicted in Fig 4b.
5.3.2 Two robot towing
Experimental trajectories for several two-robot towing experiments are shown in Fig. 5. The predicted versus
actual object twist during a representative two robot towing maneuver is depicted in Fig. 6b. In fact, the error is
small through most of the maneuver. It is interesting to note that a two-robot towing maneuver does not guarantee
that the tensions on both cables remain positive. Indeed, in the experiment shown in Fig. 5c, because of errors in
the robot velocities, our data indicates that at any given time, only one of the two robots is actually pulling the
object while the other cable is slack.
-0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
-1.0
-0.5
0.0
0.5
1.0
(a)
-0.5 0.0 0.5 1.0-0.6
-0.4
-0.2
0.0
0.2
0.4
0.6
0.8
1.0
(b)
-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
(c)
Fig. 5. (a)-(c) Snapshots and trajectories from representative experimental trials of two robots towing the part. The solid red curves show
the robot trajectories.
-1.5 -1.0 -0.5 0.0 0.5
-1.0
-0.5
0.0
0.5
1.0
(a)
19 19.2 19.4 19.6 19.8 20 20.2 20.4 20.6 20.8 21−0.2
0
0.2Predicted/Actual Velocity Error
X E
rror
(m
/s)
19 19.2 19.4 19.6 19.8 20 20.2 20.4 20.6 20.8 21−0.2
0
0.2
Y E
rror
(m
/s)
19 19.2 19.4 19.6 19.8 20 20.2 20.4 20.6 20.8 21−5
05
1015
θ E
rror
(de
g/s)
Time (s)
(b)
Fig. 6. (a) Snapshots and trajectory from a representative experimental trial of two robots towing the object. The solid red curves show the
robot trajectories. (b) Comparison between predicted and measured velocities of the object during the two-robot towing experiment shown in
(a)
5.3.3 Three robot towing
For towing configurations where all cables are in tension and A is full-rank, we can achieve any twist (up
to scale) that lies in the subspace Aξ ≥ 0. In fact, for a desired twist ξdes that satisfies Aξdes ≥ 0 for the current
configuration A, robot velocities that will satisfy b = βAξdes for a suitable scaling factor β are obtained easily.
Further, by determining robot velocities that maintain the desired body-fixed twist and a constant A throughout
the motion, we can obtain left-invariant screw motions. Such a towing experiment is depicted in Fig. 7 where
the robots are commanded to tow the part with a desired twist ξdes =[−0.08 0.0 0.02
]T
in a body-fixed frame.
In this way, it is possible to generate a finite twist. In Fig. 7a, the axis of rotation for the desired and measured
finite twists are shown. Additionally, by analyzing the instantaneous twist of the part at several times throughout
its trajectory, we show in Fig.7b that with the exception of initial transients, errors are within our measurement
accuracy. Other representative towing maneuvers are depicted in Fig. 8.
-1 0 1 2 3
X Position (m)
-1
0
1
2
3Y
Posit
ion
(m
)
Axes of rotationAcheived
Desired
(a)
0 5 10 15 20 25 30 35 40 45−0.1
0
0.1
0.2
0.3Twist Error
x (m
/s)
0 5 10 15 20 25 30 35 40 45−0.05
0
0.05
0.1
0.15
y (m
/s)
0 5 10 15 20 25 30 35 40 45−0.1
0
0.1
0.2
0.3
θ (r
ad/s
)
Time (s)
(b)
Fig. 7. (a) Plot of part trajectory while being towed along a desired twist by three robots. The desired and measured rotation axes are shown
in the upper left. (b) Error on instantaneous twist components with error bars showing the measurement accuracy of our tracking system
-1.0 -0.5 0.0 0.5 1.0 1.5 2.0
-1.0
-0.5
0.0
0.5
(a)
-1.5 -1.0 -0.5 0.0 0.5-1.5
-1.0
-0.5
0.0
0.5
(b)
-1.0 -0.5 0.0 0.5 1.0 1.5-1.0
-0.5
0.0
0.5
1.0
1.5
(c)
Fig. 8. (a)-(c) Snapshots and trajectories from representative experimental trials of three robots towing the part. The solid red curves show
the robot trajectories.
6 Conclusion
In this paper, we studied the mechanics of planar, multi-robot towing in which multiple robots tow a planar
payload subject to friction. The problem formulation incorporates complementarity constraints which are neces-
sary to allow for cables becoming slack during a towing maneuver. We established the uniqueness and existence
for the solutions to the forward dynamics problems using a max-min problem formulation. We also showed that
three robots cannot produce arbitrary desired twists, however, four robots are able to produce any twist up to
scale. By controlling the robots to produce such an arbitrary desired twist in a body-fixed frame, any left-invariant
(screw) motion can be produced. Further, the payload can be towed along any prescribed path in the plane.
The experimental results presented in this paper show that it is necessary to model transitions between non
zero tension and zero tension using the complementarity formulation. It is impossible to maintain non zero
tensions without force sensors and we expect cables to exhibit transitions. Even so, the experimental data shows
consistency with the theoretical predictions.
There are three avenues for future research, all of which are being pursued independently. First, from a design
perspective, it is necessary to introduce compliance into the cables. Rigid cables result in cable tensions changing
from positive values to zero values introducing non smoothness. Compliance is also necessary to analyze sys-
tems with more than three robots. Secondly, from a control perspective, it is necessary to incorporate feedback
of robot and object information to allow the robots to coordinate their motion and to follow desired object tra-
jectories. Because of the inevitable errors in coordinating robot motions and the uncertainty in support friction,
we are particularly interested in analyzing the case where more than three castors (typically four are used for a
pallet) are used and designing planning and control strategies that are effective for towing payloads in a cluttered
environment. Finally, it is useful to consider the extension to problems in which inertial effects are significant.
The uniqueness and existence issues are likely to be simpler because of the existence of a positive-definite inertia
matrix. However, the coordinated control of the robots is more difficult.
Acknowledgement
We gratefully acknowledge the support of NSF grants DMS01-39747, DMS-075437, IIS02-22927, and IIS-
0413138, and ARO grant W911NF-04-1-0148.
References
[1] Mason, M. T., 2001. Mechanics of robotic manipulation. MIT Press.
[2] Oh, S., and Agrawal, S., 2003. “Cable-suspended planar parallel robots with redundant cables: Controllers
with positive cable tensions”. In Proc. of IEEE International Conference on Robotics and Automation,
pp. 3023–3028.
[3] Bosscher, P., and Ebert-Uphoff, I., 2004. “Wrench based analysis of cable-driven robots”. In Proceedings of
the IEEE International Conference on Robotics and Automation, pp. 4950–4955.
[4] Stump, E., and Kumar, V., 2006. “Workspaces of cable-actuated parallel manipulators”. ASME Journal of
Mechanical Design, 128, January.
[5] Verhoeven, R., 2004. “Analysis of the workspace of tendon-based stewart platforms”. PhD thesis, University
of Duisburg-Essen.
[6] Donald, B. R., Gariepy, L., and Rus, D., 2000. “Distributed manipulation of multiple objects using ropes”.
In Proceedings IEEE International Conference on Robotics & Automation.
[7] Donald, B. R., 1995. “On information invariants in robotics”. Artificial Intelligence Journal, 72, pp. 217–
304.
[8] Donald, B. R., 1997. “Information invariants for distributed manipulation”. International Journal of Robotics
Research, 16.
[9] Peshkin, M. A., 1986. “Planning robotic manipulation strategies for sliding objects”. PhD thesis, Carnegie
Mellon University Department of Physics, November.
[10] Goyal, S., Ruina, A., and Papadopolous, J., 1989. “Limit surface and moment function descriptions of planar
sliding”. pp. 794–799.
[11] Cottle, R. W., Pang, J., and Stone, R. E., 1992. The Linear Complementarity Problem. Academic Press.
[12] Anitescu, M., and Potra, F. A., 2002. “A time-stepping method for stiff multibody dynamics with contact
and friction”. International Journal of Numerical Methods Engineering, July, pp. 753–784.
[13] Facchinei, F., and Pang, J. S., 2003. Finite-dimensional Variational Inequalities and Complementarity Prob-
lems. Springer-Verlag, New York.
[14] Bertsekas, D. P., 1989. Constrained Optimization and Lagrange Multiplier Methods. Academic Press, New
York, NJ.
[15] Boyd, S., and Vandenberghe, L., 2004. Convex Optimization. Cambridge University Press.
[16] Michael, N., Fink, J., and Kumar, V., 2008. “Experimental testbed for large multi-robot teams: Verification
and validation”. IEEE Robotics and Automation Magazine, Mar.
[17] Gomez-Ibanez, D., Stump, E., Grocholsky, B., Kumar, V., and Taylor, C. J., 2004. “The robotics bus: a local
communications bus for robots”. In Mobile Robots, D. W. Gage, ed. pp. 155–163.
[18] Murray, R. M., Li, Z., and Sastry, S., 1994. A Mathematical Introduction to Robotic Manipulation. CRC
Press, Boca Raton, FL.