11institutetext: Polytechnique Montreal, Montreal QC H3T 1J4, Canada,
11email<EMAIL_ADDRESS>22institutetext: National
Institute of Technology, Tiruchirapalli, India

# Collective transport via sequential caging

Vivek Shankar Vardharajan 11 Karthik Soma 22 Giovanni Beltrame 11

###### Abstract

We propose a decentralized algorithm to collaboratively transport arbitrarily
shaped objects using a swarm of robots. Our approach starts with a task
allocation phase that sequentially distributes locations around the object to
be transported starting from a seed robot that makes first contact with the
object. Our approach does not require previous knowledge of the shape of the
object to ensure caging. To push the object to a goal location, we estimate
the robots required to apply force on the object based on the angular
difference between the target and the object. During transport, the robots
follow a sequence of intermediate goal locations specifying the required pose
of the object at that location. We evaluate our approach in a physics-based
simulator with up to 100 robots, using three generic paths. Experiments using
a group of KheperaIV robots demonstrate the effectiveness of our approach in a
real setting.

###### keywords:

Collaborative transport, Task Allocation, Caging, Robot Swarms

##  1 Introduction

Several insect species exhibit an incredible level of coordination to lift and
carry heavy objects to their nest, whether for building materials or food.
Paratrechina longicornis can collectively transport heavy food from a source
location to its nest purely through local interaction with neighboring ants
[10]. These ants are capable of carrying an object of arbitrary shape and ten
times heavier than their bodies by collaborating in an effective manner.
Designing approaches to realize collaborative transport using a group of
robots can find its application in warehouse management [19] and collaborative
construction of structures [14].

Deployment
---
Cluster
Caging
---
Transportation
---
Figure 1: Illustration of the process of object transpiration, with the robots
starting from a deployment cluster, caging the object and transporting the
object.

In this work, we take inspiration from these natural insect species to design
an approach to collaboratively transport heavy objects (i.e. that cannot be
carried by a single robot) of arbitrary shape using a swarm of robots. The
main challenges of this type of collective transport are:  1. the effective
placement of robots around the transported object,  2. the effective
application of force around the object to avoid tugs-of-war, and  3. adapting
to the objects center-of-mass movement and the alignment of forces between
neighbors.  Our approach starts with a task allocation phase, where the robots
are sequentially deployed around the object, a process known as caging [23].
Completing the task allocation phase, the robots transport the object towards
a target location as shown in fig. 1.

Collaborative transport is a well-studied topic: some approaches use ground
robots [14, 24, 7, 3] for cooperative manipulation either with explicit
communication [8] or force based coordination [9], while others use
quadcopters carrying a cable-suspended [5] or rigidly attached [27] object
that is heavier than one robot’s maximum payload.

Many of the approaches discussed earlier do not explicitly consider robot’s
interaction with other robots to continuously maintain cage formation, while
including an obstacle avoidance mechanism within their control framework. This
latter is particularly limiting when the perimeter of the pushed object is
small, as it might prevent the robots to get close to the object to apply an
effective force. In our approach, we design a sequential placement of robots
to avoid this scenario and maintain the initial formation continuously while
moving.

Approaches like [2] assume that the position and shape of the object is either
continuously known or periodically updated using a central system. Measuring
the position and shape of the object in a real world scenarios might be
difficult and would limit the use of the transport system to some indoor
applications. Furthermore, some approaches either assume that the robots are
readily placed around the object to be manipulated [20] and design control
strategies for the manipulation of the object. A few approaches provide
emphasis on caging or design a control policy for a specific type of caging
[13]. In this paper, we design a complete system that allows the robots to
start from a deployment cluster and take up positions around the object to be
transported, in a way that is similar to [7]. Our approach periodically
estimates the centroid of the object using only the relative positional
information shared by neighboring robots, avoiding the need to have continuous
external measurements. Our task allocation allows heterogeneous robots with
varying capabilities (e.g. path planning), as well as provides a way to
addressing robot failures [22]. We provide sufficient conditions for the
convergence of our caging, and show that our approach terminates for convex
objects.

##  2 Related Work

The concept of caging was first introduced by Rimon and Blake [18] for a
finger gripper. Caging is a concept of trapping the object to be manipulated
by a gripping actuator, in our work we use a group of robots to act as a
single entity to grip the object using form closure as in [23]. A simple form
of caging and leader-follower based strategies [26] are employed to push the
object by sensing the resultant forces. The main constraint of these works is
that the robots cannot follow paths with sharp turns.

Pereira et al. [13] introduce a new type of caging called object closure, in
which the object to be transported is loosely caged until the configuration
satisfies certain conditions in an imaginary closure configuration space. Each
robot in the team has to estimate the orientation and position of the object
to use this approach. Wan et al. [23] propose robust caging to minimize the
number of robots to form closure using translation and rotation constraints.
Wan et al. also extended their work for polygons, balls and cylinders to be
transported on a slope [24]. This approach requires continuous positional
updates from an external system and uses a central system to compute the
minimum number of robots required.

An approach to caging L-shaped objects is proposed in [7]: the robots switch
between different behavioral states to approach the object and achieve
potential caging. This approach requires the robots to know certain properties
of the object beforehand, such as the minimum and maximum diameter of the
caged object. A caging strategy for polygonal convex objects is proposed in
[6], the approach uses a sliding mode fuzzy controller to traverse predefined
paths. A leader robot coordinates the transportation using the relative
position of all the other robots.

Gerkey et. al. [11] propose a strategy for pushing an object by assigning
“pushers” and “watchers”. Watchers monitor the position of the object and
other robots, while pushers perform the pushing task. The approach provides
fault tolerance to robot failures and relies heavily on the performance of the
watchers. Chen et al. [3] propose an approach in which the robots are placed
around an object that occludes the transportation destination: the robots that
do not see the destination are the ones that push the object. The intuition
behind this placement is that the location that is most effective for pushing
the object is the occluded region, i.e. the opposite side of the direction of
movement. Our strategy is similar to [3], where we estimate the angular
difference between the object and the goal using the proximity sensor, and
only the robots that are below a threshold apply a force to the object. Our
approach places robots all around the object to adjust and follow a sequence
of changing target location, as opposed to only placing robots in the occluded
region [3].

The work in [25] combines reinforcement learning and evolutionary algorithms
to coordinate 3 types of agents to learn to push an object. “Vision robots”
estimate the positions of the object and other robots, “evolutionary learning
agents” generate plans for the “worker robots”, and these latter execute the
plan to push the object. Alkilabi et al. [1] use an evolutionary algorithm to
tune a recurrent neural network controller that allows a group of e-puck
robots to collaboratively transport a heavy object. The robots use an optical
flow sensor to determine and achieve an alignment of forces. The authors
demonstrate that the approach works well for different object sizes and
shapes, however, the proper functioning of the algorithm relies heavily on the
performance of the optical flow sensors.

##  3 Methodology

Fig. LABEL:fig:State_machine shows the high level state machine used in our
collaborative transport behavior. At initialization, the robots enter into a
sequence of task allocation rounds allowing the robots to take up positions
around the object to be transported with a desired inter-robot distance. Once
caging is complete, the robots that are a part of the object cage agree on the
desired object path and start pushing and rotating the object. The path is
represented as a sequence of points, and all the robots in the cage use a
barrier (i.e. they wait for consensus) to go through each intermediate point.

###  3.1 Problem Formulation

Let $C_{o}(t)\in\mathbb{R}^{2}$ be the centroid of an arbitrary shaped object
at time $t$, $x_{i}(t)\in\mathbb{R}^{2}$ the position of robot $i$ at time
$t$, and $X(t)=\\{x_{1}(t),x_{2}(t),...,x_{n}(t)\\}$ the set containing the
positions of the robots at time $t$. Let $S_{o}$ be a closed, convex set
representing the perimeter of the object to be transported. Given a sequence
of target locations $\mathbb{T}=\\{\tau_{1},\tau_{2},...,\tau_{n}\\}$ the task
of the robots is to take up locations around the perimeter of the object
$S_{o}$ with a desired inter-robot distance $I_{d}\in\mathbb{R}$ and drive the
centroid of the object $C_{o}$ from a known initial state $C_{o}(0)$ to a
final state $C_{o}(t_{f})$ at some time $t_{f}$, passing through the target
locations in $\mathbb{T}$.

We assume that the robots can perceive the goal in the environment and know an
estimate of the initial centroid location $C_{o}(0)$ of the object to be
transported. The mass of the object is assumed to be proportional to the size
with a minimum density for the object. We also assume that the line connecting
two subsequent targets $\tau_{x-1}$ and $\tau_{x}$ does not go through
obstacles and the perimeter of the object $S_{o}$ to be transported is greater
than $3*I_{d}$. We consider a point mass model for the robots
($\dot{x}_{i}(t)=u_{i}$) and assume that the robots are fully controllable
with $u_{i}$. The robots are assumed to be equipped with a range and bearing
sensor to determine the relative positional information and communicate with
neighboring robots within a small fixed communication range $d_{C}$. In our
experiments, we used KheperaIV robots that are equipped with 8 proximity
sensors at equal angles around the robot, and we assume similar capabilities
in general.

$C_{o}$
---
$C_{o}$
---
Stopping Distance
---
Seed Robot
---
Left Branch
---
Right Branch
---
New Task
---
New Task
---
Deployment Cluster
---
Edge following path
---
$u_{t}$
---
$u_{t}$
---
$d_{s}$
---
$I_{d}$
---
$d_{T}$
---
$l_{1}$
---
$r_{1}$
---
$d_{l_{1},r_{1}}$
---
(a)
---
(b)
---
$s_{p}$
---
$t_{p}$
---
$l_{n}$
---
$r_{n}$
---
Figure 3: Illustration of the process of task allocation based caging (a)
illustrate the process of edge following to reach the new target (b) the
stopping condition to terminate caging.

###  3.2 Task Allocation based Caging

Consider a group of robots randomly distributed in a cluster and a known
initial position of the object. The goal of the robots is to deploy to
suitable location around the perimeter of the object $C_{o}$ to guarantee
object closure while respecting the required inter-robot distance $I_{d}$.

The caging process starts with the allocation of the first task (an estimation
of the centroid of the object) to a seed robot (closest robot to the object,
elected via bidding) as shown in Figure 3 (a). The seed robot moves towards
the center of the object until it detects the object with its on-board
proximity sensors. As the seed robot touches the object, it creates two target
locations (one to its left and one to its right, called _branches_). The
robots bid for these new target locations and continue the process of spawning
the new targets along their branch until the minimum distance between robots
in the two branches is smaller than $d_{T}$.

Our task allocation algorithm performs the role of determining the appropriate
target around the object for each robot, the _caging targets_. We consider a
Single Allocation (SA) problem [4], where every robot is assigned a single
task. The caging targets are sequentially available to the robots, i.e. a new
target becomes available after a robot has reached its target. Note that these
targets are considered to be approximate (created by establishing a local
coordinate system like in [21]), hence they are refined by the robots using
their proximity sensors and the position of the closest robot in the branch on
reaching the assigned target. The approach of sequential caging is
particularly appropriate for scenarios where the shape of the object is
initially or continuously unknown, the robots sequentially assign robots to
the closure and enclose the transported object.

We use a bidding algorithm [22] (described in the supplementary material
111https://mistlab.ca/papers/CollectiveTransport/): the robots locally compute
bids for a task and recover the lowest bid of the team from a distributed,
shared tuple space [16]. The robots update the tuple space if the local bid is
lower, with conflicts resolved using the procedure outlined in [22]). After a
predetermined allocation time ($T_{a}$), the lowest bid in the tuple space is
declared as the winner. $T_{a}$ has to be selected considering the
communication topology and delays to avoid premature allocation as detailed in
[22].

To reach the assigned target, the robots edge-follow the neighbors in their
target branch. The control inputs ($u_{i}$) are generated using range and
bearing information from neighbors: the robots find their closest neighbor and
create a neighbor vector $x_{n}$ using the range and bearing information. The
control inputs are then $u_{i}=(\perp x_{n})+(||x_{n}||-I_{d})*x_{n}$; the
first term makes sure the robot orbits the neighbor and the second term
applies a pulling or pushing force to keep the robot at distance $I_{d}$. On
reaching the target (detected using the proximity sensors), the robot measure
the distance to the closest neighbor of the branch and apply a distance
correction to keep the inter-robot caging distance to be $I_{d}$. The robot
creates an obstacle vector using the proximity values: $x_{o}=\frac{\sum_{i\in
P}p_{i}}{|P|}$, with $P=\\{p_{0},..,p_{7}\\},p_{i}\in\mathbb{R}^{2}$ being the
set containing the individual proximity readings as vectors. The inter-robot
distance correction control inputs are generated using: $u_{i}=\perp x_{o}$.
When there are not enough robots to complete the caging, the robots can adapt
by increasing $I_{d}$ and applying inter-robot distance correction control
until the termination condition is met.

Proposition 1 Consider two sets L and R denoting the left and right branch
respectively, L contains all the attachment points of the left branch robots
to the object, and R contains the attachment points on the right branch. The
caging terminates if $\exists p\in L,q\in R$ such that $d_{pq}\leq d_{T}$
while $d_{lr}>d_{T}\quad\forall l\in L-\\{p\\}\wedge\forall r\in R-\\{q\\}$.

Referring to fig. 3(b), consider two closed, convex sets,
$L_{o}=\\{l_{1},...,l_{n}\\}$ containing all the points on the curve
$l_{1}l_{n}$ and $R_{o}=\\{r_{1},...,r_{n}\\}$ containing all the points on
the curve $r_{1}r_{n}$. Set $L_{o}$ and $R_{o}$ are ordered and the distance
between the two constitutive points satisfy $d(l_{n},l{n-1})>d_{T}$.

###  3.3 Behaviors for pushing and rotating

Once two robots around the perimeter of the object satisfy the termination
condition and a consensus is reached on the path, the robots initiate the
target following routine. The path is represented as a sequence of desired
object centroid target locations $\mathbb{T}$ and each entry
$\tau_{i}=(\tau_{p},\tau_{r})$, with $\tau_{p}\in\mathbb{R}^{2}$ and
$\tau_{r}\in[0,2\pi]$. $\tau_{p}$ is the local target location and $\tau_{r}$
is the desired object orientation along the z-axis (yaw) at that target
location. The main intuition behind having these local targets is to use a
geometric path planner. One of the robot in the swarm with the ability to
compute a path to the user defined target $\tau_{n}$ compute the path and
share it as a sequence of states(targets) using virtual stigmergy [16]. The
robots sequentially traverse the targets in $\mathbb{T}$, on reaching a
$\tau_{p}$, the robots rotate the object to $\tau_{r}$. Each robot in caging
computes $u_{fp}$ as in equ. 1 to exert a forward force and push the object.
Similarly, for rotating the object the robots apply $u_{fr}$ as in equ. 2.

$\displaystyle u_{fp}$ $\displaystyle=u_{t}+u_{f}+u_{cp},$ (1) $\displaystyle
u_{fr}$ $\displaystyle=u_{r}+u_{f}+u_{cr}$ (2)

where, $u_{t}$ and $u_{r}$ are a force to move the object towards the target
by pushing, and a torque to rotate the object to the desired angle,
respectively. $u_{f}$, as shown in equ. 3, is the contribution that makes sure
the robots stay in the same formation. $u_{cp}$ (equ. 4) and $u_{cr}$ (equ. 5)
are contributions that ensure the robots stay in contact with the object
during pushing and rotation.

Maintaining Formation The robot formation from the caging operation tends to
get distorted as a result of its application of pushing force on the object to
move it towards the target. The robots in the cage apply a force to stay in
this formation throughout the transportation task: they store a set
$\textit{N}_{f}=\\{(d_{i},\theta_{i})|d_{i}\leq k*I_{d},\forall
i\in\textit{N}\\}$ that contains the range and bearing measurements of their
neighbors, with $k$ being a design parameter. The control input $u_{f}$ to
maintain formation is:

$u_{f}=\sum_{\forall
i\in\textit{N}_{f}}{\frac{K_{f}(d_{i}-d_{cur})}{d_{i}}}\begin{bmatrix}d_{i}\cos{\theta_{i}}-\cos{\frac{\theta_{i}-\theta_{cur}}{\theta_{i}}}\\\
d_{i}\sin{\theta_{i}}-\sin{\frac{\theta_{i}-\theta_{cur}}{\theta_{i}}}\end{bmatrix}$
(3)

The first term in the equ. 3 is the desired inter-agent distance correction,
while the second term applies the desired orientation correction. This
formulation is inspired from the commonly used edge potential to preserve a
lattice structure among the robots [12]. We apply this edge potential among
adjacent robots in a cage to preserve the formation and the desired inter-
agent distance.

Maintaining contact with the Object The robots in the formation need to
determine if they need to apply a force and stay in contact with the object.
During pushing, the robots apply a control input to stay in contact with the
object, determining its effectiveness in pushing as in equ. 4. The
effectiveness of a robot’s pushing depends on the position of the robot with
respect to the object and the target.

The angle $\theta_{p}$ (a parameter) determines if the robot is an effective
pusher: if the angle between the object $x_{o}$ and the target $\tau_{p}$ is
greater or equal to $\theta_{p}$, pushing is considered effective, and the
robots apply an input $u_{cp}$ to maintain contact. Similarly, the robots
apply $u_{cr}$ to maintain contact during rotations:

$\displaystyle u_{cp}$
$\displaystyle=\begin{cases}[0,0]^{T},&\angle(x_{o},\tau_{p})\geq\theta_{p}\\\
\frac{K_{cp}x_{o}}{||x_{o}||},&\angle(x_{o},\tau_{p})<\theta_{p}\end{cases}$
(4) $\displaystyle u_{cr}$ $\displaystyle=\frac{K_{cr}x_{o}}{||x_{o}||}$ (5)

where $x_{o}$ is the proximity vector that determines the current object
location in robots coordinate system, and $\theta_{p}$, $K_{cp}$ and $K_{cr}$
are design parameters. $\theta_{p}$ is a design parameter that defines the
effective pushing perimeter around the object, as shown in fig. 4.

Applying forces The robots have to exert force in the right direction to move
and rotate the object according to the targets in $\mathbb{T}$. The robots
must apply force in the desired angular window around the perimeter of the
object to avoid tugs-of-war. The control inputs $u_{t}$ and $u_{r}$ make sure
the robots exert the force in the right direction:

$\displaystyle u_{t}$
$\displaystyle=\begin{cases}[0,0]^{T},&||\tau_{p_{l}}-x_{i}||\leq d_{tol}\\\
\frac{K_{t}[\tau_{p_{l}}-x_{i}]}{||\tau_{p_{l}}-x_{i}||},&||\tau_{p_{l}}-x_{i}||>d_{tol}\end{cases}$
(6) $\displaystyle u_{r}$ $\displaystyle=\begin{cases}\begin{bmatrix}0&-1\\\
1&0\end{bmatrix}\frac{K_{r}(x_{i}-C_{o})}{||x_{i}-C_{o}||},&\angle(\tau_{p},C_{o})<\theta_{r}\\\
[0,0]^{T},&\angle(\tau_{p},C_{o})\geq\theta_{r}\end{cases}$ (7)

where, $d_{tol}$ is a design parameter that defines the distance tolerance,
$\tau_{p_{l}}$ is the local target computed by the robot using the centroid
position and its position along the perimeter of the object. On reaching an
intermediate target $\tau_{i}$ the robots share their approximate position
with respect to a common coordinate system computed as in [21] in a
distributed, shared tuple space [16] with all the other robots. The robots
retrieve this positional information and compute the centroid of the object
$C_{o}$, which is then used during the rotation of the object.

$\tau_{p}=(0,0)$
---
N
---
$u_{t}$
---
$u_{t}$
---
$\theta_{tc}$
---
F
---
d
---
c
---
T
---
R
---
$u_{c}$
---
$u_{c}$
---
$\theta_{tc}$
---
$\theta_{p}$
---
$2\pi$-$\theta_{p}$
---
N
---
$\tau_{p}$
---
$2\pi$-$\theta_{p}$
---
$\theta_{p}$
---
$\theta_{tc}$
---
$u_{t}$
---
d
---
c
---
R
---
T
---
F
---
$u_{c}$
---
$u_{c}$
---
$u_{t}$
---
Figure 4: Illustration of the resultant force and the angle of effective
robots, the effective pushing positions on the perimeter of the object is
shown in green.

As in [3], we can prove that the object reaches the goal as $t\to\infty$, with
the difference being that the robots exerting force are not based on the
occluded perimeter of the object, but are instead the robots satisfying
$\angle(x_{o},\tau_{p})<\theta_{p}$.

######  Theorem 3.1.

The distance between the centroid of the object $C_{o}$ and the target
location $\tau_{p}$ strictly decreases if the velocity of the transported
object is governed by the translation dynamics equation of the object
$\dot{v_{o}}=kF$. For $t\to\infty$, the center of the object $C_{o}$ reaches
$\tau_{p}$, where $\dot{v_{o}}$ is the derivative of the object velocity and
$kF$ is the fraction of the force that is transfered to the object from the
robots.

######  Proof 3.2.

Fig. 4 shows the resultant F transferred from the robots to the object and the
effective angular window (along the curve cTd) on the perimeter of the object
to exert force. Consider all the robots along the curve cTd are applying a
force using a control input determined by the unit vector $u_{t}$. The overall
force transferred to the object is $F=(c_{x}-c_{y})-(d_{x}-d_{y})$, which is
the tangent vector $(d-c)$ rotated by ($\frac{\pi}{2}$) [3].

Consider the squared distance between the target $\tau_{p}=[0,0]^{T}$ and
centroid $C_{o}$ at time t to be $d_{g}(t)=||\tau_{p}-C_{o}||^{2}$, taking the
time derivative gives $\dot{d_{g}}=2k*C_{o}*F$, substituting F with the
resultant force gives
$\dot{d_{g}}=k*((C_{o_{y}}c_{x}-C_{o_{x}}c_{y})-(C_{o_{y}}d_{x}-C_{o_{x}}d_{y}))$.
The distance $d_{g}(t)\geq 0,\forall t>0$, when the center of the object lies
outside the desired goal $\tau_{p}$ and since $C_{o}*F<0$ is strictly
decreasing because of the force applied by the robots, we get
$\lim_{t\to\infty}\dot{d_{g}}=0$. In other words, the center $C_{o}$ will
eventually reach the goal $\tau_{p}$.

##  4 Experiments

We performed a set of experiments in a physics-based simulator (ARGoS3 [17])
with a KheperaIV robot model under various conditions to study the performance
of our approach. We implemented our behavioral state machine for the robots
using Buzz [15]. We set the number of robots $N_{r}\in\\{25,50,100\\}$ and
adapt the size $S\in\\{[2,2],[3.6,6],[7.2,12]\\}m$ and mass
$M\in\\{5.56,30.024,120.096\\}kg$ of a cuboid object according to the number
of robots. The mass of the object is calculated assuming a constant density
hollow material. In another set of experiments, we used three irregular
objects: cloud, box rotation, and clover. We set the design parameters of the
algorithm to the values shown in Tab. 1. We choose the gain parameters for
maintaining formation($k_{f}$), contact with object($k_{cp}$) and force
application ($k_{t}$) based on several rounds of trail-and-error simulations.
The tolerance parameters $d_{tol}$ and Orient. tol. are chosen to fit our non-
holonomic robots: a large part of the error shown in fig. 7 is due to the non-
holonomic nature of our robots. We evaluate the various performance metrics
over three benchmark paths: a straight line, a zigzag, and straight line with
two $None$ rotations (straight_rot in Fig. 5). All the paths consists of 9
waypoints (WPs) and straight_rot has its rotations at WP 3 and 6. Each
experiment is repeated 30 times with random initial conditions.

Table 1: Experimental parameters | Caging
---
$d_{s}$ | 0.35m
$I_{d}$ | 0.45m
$d_{tol}$ | 0.05m
$d_{T}$ | $1.85I_{d}$
$K_{t}$ | 30
Prox. thres. | 0.7
| Pushing
---
$\theta_{p}$ | $115^{\circ}$
$K_{cp}$ | 40($<115^{\circ}$), 20($\geq 115^{\circ}$)
$d_{tol}$ | 0.1m
$K_{f}$ | 40
$K_{t}$ | 60
Barrier | 90%
| Rotating
---
$K_{cr}$ | 450
Orient. tol. | $5.72^{\circ}$
$K_{f}$ | 400
$K_{r}$ | 600
Barrier | 90%
Figure 5: Trajectory taken by the centroid of the object vs the desired path
in the three benchmarking paths.

Results We assess the performance of the algorithm observing the time taken to
cage the object and push it along the benchmark paths, plotted in Fig. 6. The
time to cage the object increases with the perimeter of the object: the median
times to cage are
$247\text{\,}\mathrm{s}779\text{\,}\mathrm{s}2753\text{\,}\mathrm{s}$ for
$2550100$ robots, respectively transporting objects of size $\\{2,2\\}$,
$\\{3.6,6\\}$, $\\{7.2,12\\}$. The 3 irregular shapes took around
$300\text{\,}\mathrm{s}$ to cage when using 30 robots. The time taken to push
the object is approximately $100\text{\,}\mathrm{s}$ for the straight path
(regardless of the object size) and about $160\text{\,}\mathrm{s}$ for the
zigzag with $2550$ robots.

When using 100 robots for the straight line and the zigzag, the system was
slightly faster, which could be explained by the higher cumulative force
exerted by the robots. The time taken following a straight path with rotations
increases sub-linearly with the number of robots with median times being
$135\text{\,}\mathrm{s}155\text{\,}\mathrm{s}200\text{\,}\mathrm{s}$ for
$2550100$ robots, respectively.

Figure 6: Time to complete caging (left) and push an object along 3 paths
(right). Figure 7: From top to bottom: the first plot shows the average
centroid estimation error, the second shows the object centroid position
error, and the third shows the object orientation error; from left to right,
the figure shows the results for our 3 benchmark paths.  Figure 8: Number of
robots that were effective in pushing and rotating at different waypoints of
the three benchmark paths.

Fig. 7 shows the centroid estimation error, position error and orientation
error on each row from left to right. The centroid estimation error increases
as the robots progress along the path, which can be explained by the
distortion in formation as the robots progress towards the final target. The
centroid estimation error for 100 robots is relatively large and shows some
variability, which could be largely influenced by the communication topology
during the centroid estimation process, as detailed in sec. 3. The object
position error computed using the difference between the desired position and
the ground truth position appears stable around 0.1m, which is within our
design tolerance ($d_{tol}$). In the $straight_{rot}$ case with 100 robots,
the position error drastically increases around the final WPs, likely due to
the drift induced by the second rotation. The orientation error accumulates
slowly for the other paths, likely because the pushing force applied towards
the target induces a small torque. Without global positioning, the error
accumulates at every rotation.

Fig. 8 shows the number of effective robots for pushing and rotating the
transported object, computed using 4. The number of effective pushers appears
to increase slowly as the robots progress towards the final target in all
cases, which could be due to distortions of the caging formation. The number
of effective rotators stays constant for most of the cases, but increases
during rotations, due to the robots either getting closer to the corners or
the mid point of the object. This could be caused by the large error in the
estimation of the centroid resulting in a generation of biased control input
to rotate the object.

Robot Experiments We perform a small set of experiments using a group of 6
KheperaIV robots. The robots use a hub to compute and transmit the range and
bearing information from a motion capture system, for more details on the
experimental setup, we refer the reader to [22]. We performed two sets of
experiments with robots transporting a foam box of size (0.285, 0.435)m:
without any payload, and with $4\text{\,}\mathrm{kg}$ of LiPo battery on the
object. Fig. 9 shows the trajectories followed by the robots and the inter-
robot distance during the 3 runs without any payload and one run with the
payload. It can be observed that the robots were able to consistently reach
the target (0,0.9) by following the 3 WPs placed at every 0.3m. The inter-
robot distance between the two adjacent robots in a cage approximates well the
desired $I_{d}=0.45m$ at caging and it is maintained consistently during
pushing in all runs with a maximum standard deviation of 0.1m.

Figure 9: Trajectories taken by the robots (left) and the inter-robot distance
between the two adjacent robot in the cage (right).

##  5 Conclusions

We propose a decentralized algorithm to cage an arbitrary-shaped object and
transport it along a desired path consisting of a set of object poses. The
robots periodically estimate the centroid of the object based on the
positional information shared by the robots caging the object, and use this
information to transport the object. We study the performance of our algorithm
using a large set of simulation experiments with up to 100 robots traversing 3
benchmark paths and a small set of experiments on KheperaIV robots. As future
work, we plan to implement a path planner to provide the object path in a
cluttered environment.

## References

  * [1] Muhanad H Mohammed Alkilabi, Aparajit Narayan, and Elio Tuci.  Cooperative object transport with a swarm of e-puck robots: robustness and scalability of evolved collective strategies.  Swarm intelligence, 11(3-4):185–209, 2017.
  * [2] Ramon S Melo B, Douglas G Macharet, Mario Fernandom M Campos, Ramon S Melo, Douglas G Macharet, and Mario Fernandom M Campos.  Collaborative object transportation using heterogeneous robots.  In Robotics, pages 172–191. Springer, 2016.
  * [3] Jianing Chen, Melvin Gauci, Wei Li, Andreas Kolling, and Roderich Groß.  Occlusion-Based Cooperative Transport with a Swarm of Miniature Mobile Robots.  IEEE Transactions on Robotics, 31(2):307–321, 2015.
  * [4] H. Choi, L. Brunet, and J. P. How.  Consensus-based decentralized auctions for robust task allocation.  IEEE Transactions on Robotics, 25(4):912–926, 2009.
  * [5] Ryan Cotsakis, David St-Onge, and Giovanni Beltrame.  Decentralized collaborative transport of fabrics using micro-uavs.  In 2019 International Conference on Robotics and Automation (ICRA), pages 7734–7740. IEEE, 2019.
  * [6] Yanyan Dai, YoonGu Kim, SungGil Wee, DongHa Lee, and SukGyu Lee.  Symmetric caging formation for convex polygonal object transportation by multiple mobile robots based on fuzzy sliding mode control.  ISA transactions, 60:321–332, 2016.
  * [7] Jonathan Fink, Nathan Michael, and Vijay Kumar.  Composition of vector fields for multi-robot manipulation via caging.  In Robotics: Science and Systems, volume 3, 2007.
  * [8] Antonio Franchi, Antonio Petitti, and Alessandro Rizzo.  Distributed Estimation of State and Parameters in Multiagent Cooperative Load Manipulation.  IEEE Transactions on Control of Network Systems, 6(2):690–701, 2019\.
  * [9] Chiara Gabellieri, Marco Tognon, Dario Sanalitro, Lucia Pallottino, and Antonio Franchi.  A study on force-based collaboration in swarms.  Swarm Intelligence, 14(1):57–82, 2020.
  * [10] Aviram Gelblum, Itai Pinkoviezky, Ehud Fonio, Abhijit Ghosh, Nir Gov, and Ofer Feinerman.  Ant groups optimally amplify the effect of transiently informed individuals.  Nature Communications, 6, 2015.
  * [11] Brian P Gerkey and Maja J Mataric.  Pusher-watcher: An approach to fault-tolerant tightly-coupled robot coordination.  In International Conference on Robotics and Automation (ICRA), volume 1, pages 464–469. IEEE, 2002.
  * [12] Mehran Mesbahi and Magnus Egerstedt.  Graph theoretic methods in multiagent networks, volume 33.  Princeton University Press, 2010.
  * [13] Guilherme A.S. Pereira, Mario F.M. Campos, and Vijay Kumar.  Decentralized algorithms for multi-robot manipulation via caging.  International Journal of Robotics Research, 23(7-8):783–795, 2004\.
  * [14] Kirstin H. Petersen, Nils Napp, Robert Stuart-Smith, Daniela Rus, and Mirko Kovac.  A review of collective robotic construction.  Science Robotics, 4(28), 2019.
  * [15] Carlo Pinciroli and Giovanni Beltrame.  Buzz: An extensible programming language for heterogeneous swarm robotics.  In International Conference on Intelligent Robots and Systems, pages 3794–3800, October 2016.
  * [16] Carlo Pinciroli, Adam Lee-Brown, and Giovanni Beltrame.  A tuple space for data sharing in robot swarms.  In Proceedings of the 9th EAI International Conference on Bio-inspired Information and Communications Technologies, BICT’15, pages 287–294, 2016.
  * [17] Carlo Pinciroli, Vito Trianni, Rehan O’Grady, Giovanni Pini, Arne Brutschy, Manuele Brambilla, Nithin Mathews, Eliseo Ferrante, Gianni Di Caro, Frederick Ducatelle, Mauro Birattari, Luca Maria Gambardella, and Marco Dorigo.  ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems.  Swarm Intelligence, 6(4):271–295, 2012.
  * [18] Elon Rimon and Andrew Blake.  Caging Planar Bodies by One-Parameter Two-Fingered Gripping Systems.  The International Journal of Robotics Research, 18(3):299–318, 1999\.
  * [19] Ariel Rosenfeld, A Noa, O Maksimov, and S Kraus.  Human-multi-robot team collaboration for efficent warehouse operation.  Autonomous Robots and Multirobot Systems (ARMS), 2016.
  * [20] Michael Rubenstein, Adrian Cabrera, Justin Werfel, Golnaz Habibi, James McLurkin, and Radhika Nagpal.  Collective transport of complex objects by simple robots.  Proceedings of the 2013 International Conference on Autonomous Agents and Multi-agent Systems, pages 47–54, 2013.
  * [21] Michael Rubenstein, Alejandro Cornejo, and Radhika Nagpal.  Programmable self-assembly in a thousand-robot swarm.  Science, 345(6198):795–799, 2014.
  * [22] V. S. Varadharajan, D. St-Onge, B. Adams, and G. Beltrame.  Swarm relays: Distributed self-healing ground-and-air connectivity chains.  IEEE Robotics and Automation Letters, 5(4):5347–5354, 2020.
  * [23] Weiwei Wan, Rui Fukui, Masamichi Shimosaka, Tomomasa Sato, and Yasuo Kuniyoshi.  Cooperative manipulation with least number of robots via robust caging.  IEEE/ASME International Conference on Advanced Intelligent Mechatronics, AIM, pages 896–903, 2012.
  * [24] Weiwei Wan, Boxin Shi, Zijian Wang, and Rui Fukui.  Multirobot Object Transport via Robust Caging.  IEEE Transactions on Systems, Man, and Cybernetics: Systems, 50(1):270–280, 2020.
  * [25] Ying Wang and Clarence W de Silva.  Cooperative transportation by multiple robots with machine learning.  In 2006 IEEE International Conference on Evolutionary Computation, pages 3050–3056. IEEE, 2006.
  * [26] ZhiDong Wang, Yasuhisa Hirata, and Kazuhiro Kosuge.  Control a rigid caging formation for cooperative object transportation by multiple mobile robots.  In IEEE International Conference on Robotics and Automation, 2004\. Proceedings. ICRA’04. 2004, volume 2, pages 1580–1585. IEEE, 2004.
  * [27] Zijian Wang, Sumeet Singh, Marco Pavone, and Mac Schwager.  Cooperative Object Transport in 3D with Multiple Quadrotors Using No Peer Communication.  Proceedings - IEEE International Conference on Robotics and Automation, pages 1064–1071, 2018.


# Forward Kinematics of Object Transport by a Multi-Robot System with
Deformable Sheet ††thanks: This work was supported in part by the National
Natural Science Foundation of China (U1813224). The code of the proposed
Forward Kinematics method is publicly available at
https://github.com/sjtuhjw/VVCM_ForwardKinematics. (Corresponding author:
Zhenhua Xiong, Jingang Yi).

Jiawei Hu, Wenhang Liu, Jingang Yi and Zhenhua Xiong Jiawei Hu, Wenhang Liu
and Zhenhua Xiong are with the School of Mechanical Engineering, Shanghai Jiao
Tong University, Shanghai, China. (e-mail<EMAIL_ADDRESS><EMAIL_ADDRESS>mexiong@sjtu.edu.cn).J. Yi is with the Department of
Mechanical and Aerospace Engineering, Rutgers University, Piscataway, NJ 08854
USA. (e-mail: jgyi@rutgers.edu).

###### Abstract

We present object handling and transport by a multi-robot team with a
deformable sheet as a carrier. Due to the deformability of the sheet and the
high dimension of the whole system, it is challenging to clearly describe all
the possible positions of the object on the sheet for a given formation of the
multi-robot system. A complete forward kinematics (FK) method is proposed in
this paper for object handling by an $N$-mobile robot team with a deformable
sheet. Based on the virtual variable cables model, a constrained quadratic
problem (CQP) is formulated by combining the form closure and minimum
potential energy conditions of the system. Analytical solutions to the CQP are
presented and then further verified with the force closure condition. With the
proposed FK method, all possible solutions are obtained with the given initial
sheet shape and the robot team formation. We demonstrate the effectiveness,
completeness, and efficiency of the FK method with simulation and experimental
results.

###### Index Terms:

Object handling and transport, multi-robot system, forward kinematics,
deformable sheet

##  I Introduction

As a common handling carrier, a deformable sheet can be easily used to hold
the object steadily, while the operators can apply force to hold the sheet at
multiple locations. For example, rectangular bed sheets are often used in
hospitals when transferring patients, where multiple persons hold the sheet at
corners [1]. Instead of human operators, mobile robots are used to hold the
deformable sheet to handle and transport objects [2]. Due to the highly
deformable sheet [3], robotic manipulation of the sheet is a challenging
problem [4]. A simplified model of the deformable sheet and multi-robot
manipulation of deformable objects have been used in [5, 6]. Hunte and Yi [2]
proposed a sheet-handling system using three mobile robots that held and
supported the sheet vertices. In [7], a geometric link model of the sheet-
object kinematic relationship was proposed for a three-robot team to transport
an object to follow a given trajectory. The recent work in [8] further
extended the sheet-object kinematic model to include the rotational motion of
a spherical-shaped object for pose manipulation. However, these work only
considered three mobile robots and as the number of robots increases, the
transported object may have multiple equilibrium states on the sheet and the
above-mentioned results cannot be directly applied.

Inspired by the cable suspended robots (CSRs) [9], the virtual variable cables
model (VVCM) was proposed in [10], and by using VVCM, the robots-sheet-object
interactions can be viewed as a robot-cable-object system. The effectiveness
of the VVCM approach was verified through simulations and object transporting
experiments. In order to maintain the stability of the object during the
handling process, all virtual cables were assumed to be straight and taut. As
the cable in CSRs can be slack [11], the virtual cable in the VVCM therefore
has a slack state. With different numbers of taut cables under the same robot
formation, the transported object may have multiple equilibrium states. The
object position at each equilibrium state is obtained by the forward
kinematics (FK) method for the multi-robot system. As the number of robots
increases, the number of combinations of possible taut cable configurations
exponentially increases and not all combinations are valid FK solutions.
Therefore, it is a challenging task to effectively and efficiently determine
the equilibrium states of the multi-robot system for object transport.

The concept of taut cable in VVCM corresponds to the positive cable tension in
the field of CSRs [12] and cable-driven parallel robots (CDPRs) [13]. Inspired
by the modeling method of CSRs and CDPRs, we obtain three conditions that need
to be satisfied to solve the FK problem of VVCM. The first condition is the
form closure condition that satisfies the geometric constraints of the cable
length [14]. For CSRs and CDPRs, the length of the cable can be actively
controlled [15, 16] or be fixed, and the object was manipulated by changing
the robotic formation [17]. These configurations are different from VVCM, in
which the length of the cable is constrained by the initial shape of the
sheet. The second condition is the minimum potential energy of the system
under the quasi-static condition [18]. We obtain the free energy of the
robots-sheet-object system based on [2], and construct a constrained quadratic
problem (CQP) combined with geometric constraints. The third condition is to
satisfy the force closure condition [19] and the tension of the cable should
be non-negative [20].

Based on the above three conditions, we propose a novel FK method of multi-
robot system with a deformable sheet. The FK method obtains all valid
solutions with possible taut cable combinations. We first transform the
geometric constraints from quadratic equations into linear equations, and the
form closure condition is checked by the rank of the augmented matrix. The CQP
is proposed by combining the form closure condition and minimum potential
energy of the system. In order to obtain a general solution for CQP, the
Lagrange multiplier method (e.g., [21]) is adopted and the force closure
condition is checked to obtain physically feasible solutions. The
effectiveness of the method and the algorithm is verified through a four-robot
experiment and the completeness of the FK method is verified through
simulation. The main contribution of this paper is the novel computational
forward kinematics method and algorithm of a multi-robot system with a
deformable sheet. The proposed FK algorithms can be further extended for real-
time multi-robot control for object handling and transporting with a
deformable sheet.

The remainder of this paper is organized as follows. The system configuration
and the problem statement are given in Section II. In Section III, the
complete FK method and algorithm are proposed. Simulation and experimental
results are presented in Section IV. Finally, Section V summarizes the
concluding remarks.

##  II System Configuration and Problem Statement

We consider that $N$ mobile robots hold a deformable sheet to handle and
transport an object. Fig. 1(a) illustrates the basic configuration of the
robotic system. A team of $N$ mobile robot, $N\geq 3,N\in\mathbb{N}$, holds a
flexible sheet $\mathcal{S}$ at points ${\bm{p}}_{i}$, $i=1,\cdots,N$, and
object $O$ is sit on $\mathcal{S}$. An inertial coordinate system
$\mathcal{W}$ is setup with the $Z$-axis upward. The planar position of each
robot is denoted as $\bm{r}_{i}=[x_{i}\;y_{i}]^{T}$, $i=1,\cdots,N$ in
$\mathcal{W}$. The robot formation is denoted as
$\mathcal{R}_{N}=[{\bm{r}}_{1}\,\cdots\,{\bm{r}}_{N}]^{T}\in\mathbb{R}^{N\times
2}$. The position of the robot-sheet holding point is denoted as
$\bm{p}_{i}=[\bm{r}_{i}^{T}\;z_{r}]^{T}$, where $z_{r}$ is the a constant
height for all holding points, as shown in Fig. 2.

Figure 1:  The system configuration and experimental setup for a four-robot
team. (a) Experimental setup and system configuration. Positions of the robot
$\bm{r}_{i}$, the holding point $\bm{p}_{i}$ and the object $\bm{p}_{o}$ in
the world coordinate system $W$. (b) The initial shape of the deformable sheet
in the local coordinate system $W_{S}$. Virtual cables $l_{i}$ is determined
by the contact point $\bm{v}_{o}$.

For sheet $\mathcal{S}$, the initial shape is a convex polygon with $N$
vertices in the local planar frame $\mathcal{W}_{S}$ attached to the sheet, as
shown in Fig. 1(b). The initial position vector of the vertices in
$\mathcal{W}_{S}$ is denoted as
$\mathcal{V}_{N}^{0}=[\bm{v}_{1}\,\cdots\,\bm{v}_{N}]^{T}\in\mathbb{R}^{N\times
2}$, where the $i$th vertex’s position in $\mathcal{W}_{S}$ is
$\bm{v}_{i}=[x_{vi}\;y_{vi}]^{T},i=1,\cdots,N$. The contact point between
object $O$ and the sheet is denoted as $\bm{v}_{o}=[x_{vo}\;y_{vo}]^{T}$ in
$\mathcal{W}_{S}$. The premise of the convex polygonal sheet ensures that the
line between $\bm{v}_{o}$ and ${\bm{v}}_{i}$ exists and can be viewed as the
virtual cable in VVCM.

Object $O$ is considered as a point mass and the motion of the object is
quasi-static, that is, the dynamic effects of the particular motion are
neglected. Moreover, the deformable sheet is assumed to be inelastic and soft.
Based on these assumptions, the object moves freely on the sheet under the
gravitational force and stays at the position where the system energy is
minimal. The convex $N$ polygon sheet is viewed as $N$ virtual cables by VVCM,
and the length of each cable is denoted as
$l_{i}=\|\bm{v}_{i}-\bm{v}_{o}\|_{2}$, $i=1,\cdots,N$. When $\bm{v}_{o}$
changes, virtual cables vary. Since the virtual cables might be taut or slack,
as shown in Fig. 1(c), the Euclidean distance between ${\bm{p}}_{o}$ and
$\bm{p}_{i}$ in $\mathcal{W}$ is less than or equal to the corresponding
virtual cable length $l_{i}$ in $\mathcal{W}_{S}$, that is,

$l_{i}=\|\bm{v}_{i}-\bm{v}_{o}\|_{2}\geq\|{\bm{p}}_{i}-{\bm{p}}_{o}\|_{2},\;i=1,\cdots,N.$
(1)

Let $\mathcal{I}_{t}$ denote the index set of all taut cables and its
cardinality is denoted as $k=|\mathcal{I}_{t}|$. Because the sheet is
inelastic and completely flexible, it is obvious that $3\leq k\leq N$. Fig. 2
illustrates an example of three possible combinations of taut/slack virtual
cables of a 5-robot team under the same formation to hold object $O$ by a
deformable sheet, that is, $\mathcal{I}_{t}=\\{1,2,3,4,5\\}$,
$\mathcal{I}_{t}=\\{1,2,3,4\\}$, and $\mathcal{I}_{t}=\\{1,2,4\\}$ with
$k=5,4,3$, respectively. This example illustrates that different
$\mathcal{I}_{t}$ under the same robot formation can lead to different
equilibrium states for object $O$.

Figure 2: Three possible static equilibrium conditions for a five-robot
formation. (a) $\mathcal{I}_{t}=\\{1,2,3,4,5\\}$ and $k=|\mathcal{I}_{t}|=5$.
(b) $\mathcal{I}_{t}=\\{1,2,3,4\\}$ and $k=|\mathcal{I}_{t}|=4$. (c)
$\mathcal{I}_{t}=\\{1,2,4\\}$ and $k=|\mathcal{I}_{t}|=3$.

Problem Statement: For the $N$-robot system with a deformable sheet
$\mathcal{S}$ to hold object $O$, the goal of the forward kinematics problem
is to find all possible object position $\bm{p}_{o}$ in $\mathcal{W}$ and
corresponding $\bm{v}_{o}$ in $\mathcal{W}_{S}$ under given a robot formation
$\mathcal{R}_{N}$ (i.e., ${\bm{p}}_{i},i=1,...,N$).

From the above statement, the output of each FK solution consists of five
variables $(\bm{p}_{o},\bm{v}_{o})$, ${\bm{p}}_{o}\in\mathbb{R}^{3}$ and
${\bm{p}}_{o}\in\mathbb{R}^{2}$ along with taut cable set $\mathcal{I}_{t}$.
Since there exist multiple equilibria under a given $\mathcal{R}_{N}$, all FK
solutions then include the object position set
$\mathbb{P}_{o}=\\{\bm{p}_{o}\\}$ and the corresponding sheet position set
$\mathbb{V}_{o}=\\{\bm{v}_{o}\\}$. The taut cable set group
$\mathbb{I}_{t}=\\{\mathcal{I}_{t}\\}$.

##  III Forward Kinematics Methods and Algorithm

For a possible FK solution, it should satisfy the form closure condition,
minimum potential energy condition, and force closure condition
simultaneously.

###  III-A Forward Kinematics Methods

####  III-A1 Form Closure Condition

Without loss of generality, we denote the taut cable set
$\mathcal{I}_{t}=\left\\{i_{1},i_{2},...,i_{k}\right\\}$, and the slack cable
index set is then
$\mathcal{I}_{s}=\mathcal{I}_{N}\setminus\mathcal{I}_{t}=\left\\{i_{k+1},i_{k+2},...,i_{N}\right\\}$,
where $\mathcal{I}_{N}$ is the entire index set of $\mathcal{R}_{N}$. In each
element in $\mathcal{I}_{t}$, the inequality in (1) becomes equality, namely,
the form closure condition satisfies the following geometric constraint.

$\|\bm{v}_{i}-\bm{v}_{o}\|_{2}^{2}=\|{\bm{r}}_{i}-{\bm{r}}_{o}\|_{2}^{2}+(z_{r}-z_{o})^{2},\;i\in\mathcal{I}_{t}$
(2)

Since ${\bm{v}}_{o}\in\mathbb{R}^{3}$, at least three geometric constraints
are required to satisfy (2), i.e., $k\geq 3$. With the given
$\mathcal{R}_{N}$, the geometric constraints (1) are expressed as the
following $N$ formulas.

$\displaystyle z_{o}$ $\displaystyle=$ $\displaystyle
z_{r}-[(x_{vi_{1}}-x_{vo})^{2}+(y_{vi_{1}}-y_{vo})^{2}$ (3a)
$\displaystyle-({x}_{i_{1}}-{x}_{o})^{2}-({y}_{i_{1}}-{y}_{o})^{2}]^{\frac{1}{2}},$
$\displaystyle b_{i}$ $\displaystyle=$
$\displaystyle({x}_{i}-{x}_{i_{1}}){x}_{o}+({y}_{i}-{y}_{i_{1}}){y}_{o}-({x}_{vi}-{x}_{v{i_{1}}}){x}_{vo}$
(3b) $\displaystyle-({y}_{vi}-{y}_{v{i_{1}}}){y}_{vo},\quad
i\in\mathcal{I}_{t},i\neq i_{1}$ $\displaystyle b_{i}$ $\displaystyle<$
$\displaystyle({x}_{i}-{x}_{i_{1}}){x}_{o}+({y}_{i}-{y}_{i_{1}}){y}_{o}-({x}_{vi}-{x}_{v{i_{1}}}){x}_{vo}$
(3c) $\displaystyle-({y}_{vi}-{y}_{v{i_{1}}}){y}_{vo},\quad
i\in\mathcal{I}_{s}$

where
$b_{i}=\frac{x_{v{i_{1}}}^{2}+y_{v{i_{1}}}^{2}-{x}_{i_{1}}^{2}-{y}_{i_{1}}^{2}}{2}-\frac{x_{vi}^{2}+y_{vi}^{2}-{x}_{i}^{2}-{y}_{i}^{2}}{2}$.
(3a) can be directly obtained by plugging $i=i_{1}$ into (2), which is a
quadratic equation with respect to all five output variables
$({\bm{p}}_{o},{\bm{v}}_{o})$. The rest $(N-1)$ formulas in (3b) and (3c) are
obtained by subtracting (2) from (1), which are linear with
$\bm{x}=[{x}_{o}\,{y}_{o}\,x_{vo}\,y_{vo}]^{T}\in\mathbb{R}^{4}$ and can be
rewritten as

$\bm{A_{1}}\bm{x}=\bm{b}_{1},\;\bm{A_{2}}\bm{x}>\bm{b}_{2}.$ (4)

where $\bm{A}_{1}\in\mathbb{R}^{(k-1)\times 4}$,
$\bm{A}_{2}\in\mathbb{R}^{(N-k)\times 4}$, $\bm{b}_{1}\in\mathbb{R}^{(k-1)}$,
$\bm{b}_{2}\in\mathbb{R}^{(N-k)}$, which can be expressed as follows

$\displaystyle\bm{A}_{1}=\begin{bmatrix}{x}_{i_{2}}-{x}_{i_{1}}&{y}_{i_{2}}-{y}_{i_{1}}&{x}_{v{i_{1}}}-{x}_{v{i_{2}}}&{y}_{v{i_{1}}}-{y}_{v{i_{2}}}\\\
\vdots&\vdots&\vdots&\vdots\\\
{x}_{i_{k}}-{x}_{i_{1}}&{y}_{i_{k}}-{y}_{i_{1}}&{x}_{v{i_{1}}}-{x}_{v{i_{k}}}&{y}_{v{i_{1}}}-{y}_{v{i_{k}}}\end{bmatrix}$
$\displaystyle\bm{A}_{2}=\begin{bmatrix}{x}_{i_{k+1}}-{x}_{i_{1}},\,{y}_{i_{k+1}}-{y}_{i_{1}},\,{x}_{v{i_{1}}}-{x}_{v{i_{k+1}}},\,{y}_{v{i_{1}}}-{y}_{v{i_{k+1}}}\\\
\vdots\\\
{x}_{i_{N}}-{x}_{i_{1}}\quad{y}_{i_{N}}-{y}_{i_{1}}\quad{x}_{v{i_{1}}}-{x}_{v{i_{N}}}\quad{y}_{v{i_{1}}}-{y}_{v{i_{N}}}\end{bmatrix}$
$\displaystyle\bm{b}_{1}=\begin{bmatrix}b_{i_{2}}&\cdots&b_{i_{k}}\\\
\end{bmatrix}^{T},\;\text{and}\;\,\bm{b}_{2}=\begin{bmatrix}b_{i_{k+1}}&\cdots&b_{i_{N}}\\\
\end{bmatrix}^{T}.$

When $\bm{x}$ is solved and the object height $z_{o}$ is obtained by (3a), the
solution to the FK problem is then obtained. Therefore, we now focus on
solving and obtaining $\bm{x}$.

From the above discussion, the form closure condition can be simplified as
whether the solution of $\bm{A_{1}}\bm{x}=\bm{b}_{1}$ exists. Defining
augmented matrix
$\bar{\bm{A}}_{1}=[\bm{A}_{1}\;\bm{b}_{1}]\in\mathbb{R}^{(k-1)\times 5}$, the
necessary condition for (4) to have the solution is given as

$\mathop{\rm rank}\nolimits(\bm{A}_{1})=\mathop{\rm
rank}\nolimits(\bar{\bm{A}}_{1}),$ (5)

where $\mathop{\rm rank}\nolimits$ represents the rank of a matrix. The
computational complexity for determining condition (5) is $O(k^{2})$ at worst
case. The taut cable sets that do not meet the condition can be directly
eliminated and therefore, this condition greatly saves the amount of
subsequent computations.

####  III-A2 Minimum Potential Energy

We need to find the minimum potential energy condition of the system to solve
$\bm{x}$ in each equilibrium state. Considering the gravitational force of the
object on sheet $\mathcal{S}$, the free-energy $\Gamma$ of the system is
written as

$\Gamma(\bm{x})=\iint\limits_{\mathcal{S}}W(\bm{V})dxdy-
m_{o}\bm{g}\cdot{\bm{p}}_{o},$ (6)

where $\bm{V}\in\mathbb{R}^{2\times 2}$ is the metric tensor of the deformed
sheet. $W:SO(2)\to\mathbb{R}$ is the strain energy function, $m_{o}$ is the
mass of the object $O$, $\bm{g}=[0\;0\;-g]^{T}$ and $g$ is the gravitational
constant. The strain energy function can be expressed as
$W(\bm{V})=\frac{E}{2}|\bm{\epsilon}|^{2}$,
$\bm{\epsilon}=\sqrt{\bm{V}}-\bm{I}$ [2], where $\bm{I}$ is the identity
matrix, $E>0$ is considered as elastic modulus of sheet $\mathcal{S}$ and
$\bm{\epsilon}$ is the strain. Since $S$ is inelastic and flexible,
$\bm{V}=\bm{I}$. Thus, $\Gamma(\bm{x})$ in (6) can be rewritten as

$\Gamma(\bm{x})=m_{o}gz_{o}$ (7)

where $z_{o}$ can be represented by $\bm{x}$ by (3a).

The object always moves in the direction of the lowest potential energy and
eventually comes to rest. The equilibrium position is determined and obtained
by minimizing $\Gamma(\bm{x})$ with the linear geometric constraints (4). By
observing (7), when $\Gamma(\bm{x})$ reaches its minimum, so does $z_{o}$.
Therefore, by (3a), we construct an objective function $f(\bm{x})$ that is a
quadratic real function.

$\displaystyle\text{}f(\bm{x})=$
$\displaystyle-(z_{r}-z_{o})^{2}=({x}_{i_{1}}-{x}_{o})^{2}+({y}_{i_{1}}-{y}_{o})^{2}-(x_{vi_{1}}$
$\displaystyle-
x_{vo})^{2}-(y_{vi_{1}}-y_{vo})^{2}=\frac{1}{2}\bm{x}^{T}\bm{H}\bm{x}+\bm{c}^{T}\bm{x}+f_{0},$
(8)

where $0<z_{o}<z_{r}$, $\bm{H}=\mathop{\rm diag}\nolimits(2,2,-2,-2)$,
$\bm{c}=[-2{x}_{i_{1}}\;-2{y}_{i_{1}}\;2x_{v{i_{1}}}\;2y_{vi_{1}}]^{T}$,
$f_{0}={x}_{i_{1}}^{2}+{y}_{i_{1}}^{2}-x_{v{i_{1}}}^{2}-y_{v{i_{1}}}^{2}$.
Thus, the solution of FK can be regarded as solving the following constrained
quadratic problem (CQP).

$\displaystyle\min_{{\bm{x}}}$ $\displaystyle
f(\bm{x})=\frac{1}{2}\bm{x}^{T}\bm{H}\bm{x}+\bm{c}^{T}\bm{x}+f_{0}$ s.t.
$\displaystyle\bm{A}_{1}\bm{x}=\bm{b}_{1},\bm{A}_{2}\bm{x}>\bm{b}_{2},f(\bm{x})<0.$
(9)

For (III-A2), we first use the Lagrangian multiplier method to solve $\bm{x}$
and then bring the solution into the inequality to determine whether other
conditions are satisfied. Before constructing Lagrangian function
$L(\bm{x},\bm{\lambda})$ and obtaining the non-singular Lagrangian matrix
$\bm{L}$, we can find the maximum linearly independent equations in
$\bm{A}_{1}\bm{x}=\bm{b}_{1}$ by Gaussian elimination. Therefore, we further
partition the equality constraint of (III-A2) as

$\bm{A}_{1}=\begin{bmatrix}\bm{A}_{11}\\\
\bm{A}_{12}\end{bmatrix},\bm{b}_{1}=\begin{bmatrix}\bm{b}_{11}\\\
\bm{b}_{12}\end{bmatrix},\bm{A}_{11}\bm{x}=\bm{b}_{11},\bm{A}_{12}\bm{x}=\bm{b}_{12},$
(10)

where $\bm{A}_{11}\in\mathbb{R}^{(k_{1}-1)\times 4}$,
$\bm{b}_{11}\in\mathbb{R}^{(k_{1}-1)}$,
$\bm{A}_{12}\in\mathbb{R}^{(k-k_{1})\times 4}$,
$\bm{b}_{12}\in\mathbb{R}^{(k-k_{1})}$, and $k_{1}=\mathop{\rm
rank}\nolimits(\bm{A}_{1})+1\leq k$. $\bm{A}_{11}\bm{x}=\bm{b}_{11}$ is the
maximum linearly independent equations. Therefore, $\bm{A}_{11}$ is a row full
rank matrix. Because of $\mathop{\rm rank}\nolimits(\bm{A}_{11})\leq 4$, the
value of $k_{1}$ can only be $3$, $4$, or $5$. Fig. 3 shows an example of a
4-robot team to form a square shape. For such an example, $k=4$, $k_{1}=3$,
$\mathop{\rm rank}\nolimits(\bm{A}_{11})=\mathop{\rm
rank}\nolimits(\bm{A}_{1})=2$.

Figure 3: A robot system that both the initial sheet shape and robot formation
are square. The taut cable number is four, i.e., $k=4$, but maximum linearly
independent equations in $\bm{A_{1}}\bm{x}=\bm{b}_{1}$ is $k_{1}-1=2$, that
is, we only need to use the constraints of three taut cables ($k_{1}=3$).

After obtaining the maximum linearly independent equations, both
$\bm{A}_{11}\bm{x}=\bm{b}_{11}$ and $\bm{A}_{12}\bm{x}=\bm{b}_{12}$ are
satisfied. Therefore, the Lagrange function of (III-A2) is defined as

$L(\bm{x},\bm{\lambda})=\frac{1}{2}\bm{x}^{T}\bm{H}\bm{x}+\bm{c}^{T}\bm{x}-\bm{\lambda}^{T}(\bm{A}_{11}\bm{x}-\bm{b}_{11}),$
(11)

where vector $\bm{\lambda}\in\mathbb{R}^{(k_{1}-1)}$. The optimal solution of
$L(\bm{x},\bm{\lambda})$ needs to satisfy the first-order conditions

$\nabla_{\bm{x}}L(\bm{x},\bm{\lambda})=\bm{0},\quad\nabla_{\bm{\lambda}}L(\bm{x},\bm{\lambda})=\bm{0}.$

Then we obtain

$\underbrace{\begin{bmatrix}\bm{H}&-\bm{A}_{11}^{T}\\\
-\bm{A}_{11}&\bm{0}\end{bmatrix}}_{{\bm{L}}}\begin{bmatrix}\bm{x}\\\
\bm{\lambda}\end{bmatrix}=\begin{bmatrix}-\bm{c}\\\
-\bm{b}_{11}\end{bmatrix},$ (12)

where Lagrange matrix $\bm{{L}}\in\mathbb{R}^{(k_{1}+3)\times(k_{1}+3)}$. The
solution of CQP (III-A2) can be obtained by multiplying both sides of (12)
with $\bm{L}^{-1}$ provided the following fact.

###### Lemma 1

The Lagrange matrix $\bm{L}$ in (12) is full rank and therefore invertible.

###### Proof 1

We need to prove that $\text{rank}(\bm{L})=k_{1}+3$. We analyze the row rank
of $\bm{L}$. Since $\mathop{\rm rank}\nolimits(\bm{H})=4$, the first four rows
of $\bm{L}$ are full rank. Therefore, $\bm{L}$ is full rank if and only if
$[-\bm{A}_{11}\quad\bm{0}]$ is row full rank, namely, $\mathop{\rm
rank}\nolimits([-\bm{A}_{11}\quad\bm{0}])=k_{1}-1$, which is true by
definition of $\bm{A}_{11}$. Thus, $\mathop{\rm
rank}\nolimits(\bm{A}_{11})\equiv k_{1}-1$ and $\bm{L}$ is invertible.

Indeed, the inverse matrix of $\bm{{L}}$ is further obtained as follows.

$\bm{{L}}^{-1}=\begin{bmatrix}\bm{H}&-\bm{A}_{11}^{T}\\\
-\bm{A}_{11}&\bm{0}\end{bmatrix}^{-1}=\begin{bmatrix}\bm{B}&-\bm{C}^{T}\\\
-\bm{C}&\bm{D}\end{bmatrix},$ (13)

where
$\bm{B}=\bm{H}^{-1}-\bm{H}^{-1}\bm{A}_{11}^{T}(\bm{A}_{11}\bm{H}^{-1}\bm{A}_{11}^{T})^{-1}\bm{A}_{11}\bm{H}^{-1}$,
$\bm{C}=(\bm{A}_{11}\bm{H}^{-1}\bm{A}_{11}^{T})^{-1}\bm{A}_{11}\bm{H}^{-1}$,
$\bm{D}=-(\bm{A}_{11}\bm{H}^{-1}\bm{A}_{11}^{T})^{-1}$. With (13) and (12),
the solution of the $\bm{x}$ is obtained as.

$\bm{x}=-\bm{B}\bm{c}+\bm{C}^{T}\bm{b}_{11},\,\bm{\lambda}=\bm{C}\bm{c}-\bm{D}\bm{b}_{11}.$
(14)

Since the maximum order of $\bm{L}$ is $8$, the computational complexity of
obtaining solution is $O(1)$.

After obtaining $\bm{x}$, if $\bm{A_{2}}\bm{x}>\bm{b}_{2}$, $f({\bm{x}})<0$
also satisfies, $\bar{\bm{x}}$ is then the solution of CQP (III-A2). $z_{o}$
is obtained by (III-A2) and due to $z_{r}>z_{o}$, $z_{o}$ is expressed as

$z_{o}=z_{r}-\sqrt{-f(\bm{x})},$ (15)

where $z_{o}>0$ needs to be satisfied; otherwise the object is in contact with
the ground. By now, we can obtain the FK solution $\bm{p}_{o}$ and
$\bm{v}_{o}$ when the taut cable set $\mathcal{I}_{t}$ is given.

####  III-A3 Force Closure Condition

The last step is to verify whether the solution obtained in the previous
section is feasible physically. When $k$ cables are taut, the force closure
condition is given by

$\sum_{i=1}^{k}F_{i}\bm{\tau}_{i}=-m_{o}\bm{g},$ (16)

where $F_{i}\geq 0$ is the magnitude of the tension force of the $i$th cable,
$\bm{\tau}_{i}=\frac{{\bm{p}}_{i}-{\bm{p}}_{o}}{l_{i}}$ is the unit vector of
the along the $i$th cable, $i\in\mathcal{I}_{t}$. The left side of (16) is the
non-negative linear combination of $\bm{\tau}_{i}$, $i=1,\cdots,k$, which is
known as the cone combination. $\bm{\tau}_{i}$ and all its cone combination
form a convex cone $\mathcal{C}$ with the origin at the object $O$. Condition
(16) holds if and only if cone $\mathcal{C}$ contains $-m_{o}\bm{g}$ [22].
Therefore, we get the criterion that if the projected point ${\bm{r}}_{o}$ of
object $O$ on the $XY$ plane is within the polygon formed by robots
$\mathcal{R}_{k}=[\bm{r}_{1}\,\cdots\,\bm{r}_{k}]^{T}$ corresponding to the
taut cables group $\mathcal{I}_{t}$, a set of $F_{i}$ can be then found to
satisfy (16). If this $\mathcal{R}_{k}$ positioning condition is not satisfied
force on the $XY$ plane cannot be balanced.

###  III-B Taut Cable Number Analysis

The geometric constraints of the taut cable set is
$\bm{A}_{1}\bm{x}=\bm{b}_{1}$, $\bm{A}_{1}\in\mathbb{R}^{(k-1)\times 4}$ in
(4). When $k\leq 5$, the number of equations is no more than or equals to
four. Therefore, the system either has one solution or infinity solutions,
while the form closure condition (5) is also satisfied. When $k>5$, the number
of equations is more than four and this leads to a no-solution situation. In
this case, the form closure condition is difficult to satisfy. Therefore, the
FK solution with more than five taut cables is rare but can exist, as shown in
the results in the next section. We here present a special case with all
cables taut as in the following lemma.

###### Lemma 2

For an $N$-robot system with a deformable sheet $\mathcal{S}$, the robotic
system has only one solution with all the virtual cables taut, where the robot
formation is a regular $N$-side polygon. The contact point $\bm{v}_{o}$ is at
the center of $\mathcal{S}$ with the projected position $\bm{r}_{o}$ of object
$O$ is at the center of the formation.

###### Proof 2

For a regular $N$-side polygon, we obtain that
$\bm{v}_{i}=[r_{s}\cos\frac{2\pi i}{N}\;r_{s}\sin\frac{2\pi i}{N}]^{T}$,
$\bm{r}_{i}=[r_{f}\cos\frac{2\pi i}{N}\;r_{f}\sin\frac{2\pi i}{N}]^{T}$,
$i=1,\cdots,N$, where $r_{s}$ and $r_{f}$ are the radii of its circumscribed
circles, respectively. According to (4), since
$\bm{r}_{i}=\frac{r_{f}}{r_{s}}\bm{v}_{i}$, the third and fourth columns of
$\bm{A}_{1}$ are eliminated by the elementary column transformation of the
matrix. Thus, for any set of $\mathcal{I}_{t}$, we obtain $\bm{b}_{1}=\bm{0}$,
$\mathop{\rm rank}\nolimits(\bm{A}_{1})=\mathop{\rm
rank}\nolimits(\bar{\bm{A}}_{1})=\mathop{\rm rank}\nolimits({\bm{A}}_{11})=2$
and this implies $k_{1}=3$ for all $k$. By solving (III-A2), we obtain
$\bm{v}_{o}=\bm{0}$, $\bm{r}_{o}=\bm{0}$,
$z_{o}=z_{r}-\sqrt{r_{s}^{2}-r_{f}^{2}}$, $\mathcal{I}_{t}=\mathcal{I}_{N}$.
Therefore, the object has a unique position with all taut virtual cables.

###  III-C Forward Kinematics Algorithm

Section III-A presents how to solve the FK problem when the taut cable set
$\mathcal{I}_{t}$ is given. Algorithm 1 summarizes the procedure to find all
possible FK solutions. The algorithm searches all possible combinations of
taut cables and then finds the possible solution. For an $N$-robot system, the
minimum number of taut cables is $k\geq 3$ for stable equilibrium. Therefore,
the total number of taut cable combinations is $\sum_{k=3}^{N}C_{N}^{k}$.
Algorithm 1 consists of the following four main steps. Step 1: Select one
$\mathcal{I}_{t}$ with $k$ taut cables from $\sum_{k=3}^{N}C_{N}^{k}$
combinations and this is achieved by function $\texttt{NChooseK}(N,k)$ (line
2). Step 2: Verify the form closure condition in (5) by function FormClosure
(line 3). Step 3: Construct and solve the CQP to obtain
$({\bm{p}}_{o},{\bm{v}}_{o})$ by combining the form closure condition and
minimum potential energy of the system (lines 4 and 5). Step 4: Verify the
force closure condition and the cable tensions should be non-negative. If the
condition is met, update sets $\mathbb{P}_{o}$, $\mathbb{V}_{o}$ and
$\mathbb{I}_{t}$ and search for the next element in $\mathcal{I}_{t}$.

Input : $N$, $z_{r}$, $\mathcal{V}_{N}^{0}$, $\mathcal{R}_{N}$

Output : $\mathbb{P}_{o}$, $\mathbb{V}_{o}$, $\mathbb{I}_{t}$.

1$\mathbb{P}_{o}=\emptyset,\mathbb{V}_{o}=\emptyset,\mathbb{I}_{t}=\emptyset$

if  _ $\texttt{FormationFeasible}(\mathcal{V}_{N}^{0},\mathcal{R}_{N})$_ then

for  _$k=3$ to $N$ _ do

for  _$j=1$ to $C_{N}^{k}$_ do

2 $\mathcal{I}_{t}=\texttt{NChooseK}(N,k)$ ;

3
$\texttt{FormClosure}(z_{r},\mathcal{V}_{N}^{0},\mathcal{R}_{N},\mathcal{I}_{t})$
;

if  _$\mathop{\rm rank}\nolimits(\bm{A}_{1})=\mathop{\rm
rank}\nolimits(\bar{\bm{A}}_{1})$_ then

4 Obtain $\bm{x}$ by (14) and $z_{o}$ by (15) ;

5 $(\bm{v}_{o},\bm{p}_{o})\leftarrow(\bm{x},z_{o})$ ;

if  _ForceClosure $(\bm{v}_{o},\bm{p}_{o})=\textit{True}$_ then

6 $\mathbb{P}_{o}=\mathbb{P}_{o}\cup{\bm{p}}_{o}$,
$\mathbb{V}_{o}=\mathbb{V}_{o}\cup\bm{v}_{o}$,
$\mathbb{I}_{t}=\mathbb{I}_{t}\cup\mathcal{I}_{t}$ ;

end if

end if

end for

end for

end if

7 return False

Algorithm 1 FK computation with VVCM

Algorithm 1 traverses all taut cable sets to ensure the completeness of
forward kinematics computation. The total number of loops of the algorithm is
$\sum_{k=3}^{N}C_{N}^{k}$. We briefly discuss the computational complexity of
each loop. After entering the loop, the worst time complexity of determining
condition (5) is $O(k^{2})$. If the form closure condition is satisfied, the
complexity of constructing (10) is $O(k^{2})$ and the calculation of CQP (14)
is $O(1)$. Subsequently, the complexity of Step 4 is $O(k)$. Therefore, the
total complexity of each loop is $O(k^{2})$. By the above analysis, the main
contribution of complexity is the number of combinations (loops). Fortunately,
if the condition (5) is satisfied, the CQP does not have a feasible solution
and then a new loop search starts. Therefore, the algorithm can complete all
combination searches fast and we will analyze the improvement of algorithm
efficiency based on simulation examples in the next section.

TABLE I: Experiment Results and Errors of Forward Kinematics Solutions For the
Four-Robot Team
($N=4$, $z_{r}=0.8$ m, ${\text{e}rror}=\frac{\|{\bm{p}}_{o}^{\text{r}eal}-{\bm{p}}_{o}^{sim}\|}{\|{\bm{p}}_{o}\|^{\text{s}im}}\times 100\%$) Taut cable set | $\bm{p}_{o}$ (m) | Taut Cable Length (m)
---|---|---
$\mathcal{I}_{t}$ | $x_{o}$ | $y_{o}$ | $z_{o}$ | No. 1 | No. 2 | No. 3 | No. 4
$\\{1,2,3\\}$ |  $0.571$ $(0.36\%)$ |  $0.320$ $(-1.44\%)$ |  $0.143$ $(4.62\%)$ |  $0.773$ $(-0.72\%)$ |  $0.753$ $(-1.04\%)$ |  $0.772$ $(-0.63\%)$ | –
$\\{1,3,4\\}$ |  $0.566$ $(1.36\%)$ |  $0.341$ $(-0.05\%)$ |  $0.144$ $(4.98\%)$ |  $0.776$ $(-0.32\%)$ | – |  $0.767$ $(-1.18\%)$ |  $0.766$ $(-0.59\%)$
$\\{1,2,3,4\\}$ |  $0.463$ $(6.43\%)$ |  $0.275$ $(15.13\%)$ |  $0.158$ $(4.56\%)$ |  $0.706$ $(1.43\%)$ |  $0.766$ $(-1.08\%)$ |  $0.827$ $(-3.83\%)$ |  $0.779$ $(-3.26\%)$

##  IV Experimental and Simulation Results

###  IV-A Experimental Setup

We conduct physical and simulation experiments to verify and demonstrate the
effectiveness of Algorithm 1. We constructed a four-robot team in experiments,
as shown in Fig. 1(a). To satisfy the VVCM conditions and help build an
experimental platform, we chose a solid metal ball (radius $25$ mm) as the
handling object. A soft plastic cloth was selected as shown in Fig. 1(b), and
$\mathcal{V}_{N}^{0}$ is listed in Fig. 4. A rod was mounted on each robot and
the deformable sheet was held on the tip of the rod. The height of holding
points was $z_{r}=0.8$ m in the experiment. The elastic deformation of the
sheet during the experiment can be ignored. The position of the holding points
and the object were measured by the motion capture system (6 cameras from
NOKOV) at a rate of $60$ Hz. The robot was a differential wheel structure
driven by two stepper motors with an embedded system (Arduino UNO R3). The
communication method between robots was ZigBee, which is a wireless network
protocol for low-speed and short-distance transmission.

###  IV-B Experimental and Simulation Results

Given the robot formation, Algorithm 1 calculated all feasible equilibrium
states, each of which was constrained by the corresponding taut cable group
$\mathcal{I}_{t}$. We took a four-robot team as Example 1 to verify the
effectiveness of the proposed FK method. Fig 4 shows the experimental and
simulation results of different combinations of taut cable sets for the
4-robot team. The positions of the robots $\mathcal{R}_{N}$ and vertex
positions $\mathcal{V}_{N}^{0}$ are shown in the figure. There are three FK
solutions for this example, as shown in Fig. 4. The top row in the figure is
the simulation results, and the bottom row is the corresponding experimental
results.

Figure 4: The forward kinematics simulation (top row) and experimental results
(bottom row) of four-robot formation to handle an object with a deformable
sheet.
$\mathcal{V}_{N}^{0}=[-0.32\;-0.42;\;0.80\;-0.38;\;0.75\;0.71;\;-0.37\;0.66]^{T}$
m, and
$\mathcal{R}_{N}=[0.21\;0.12;\;0.80\;0.04;\;0.90\;0.55;\;0.44\;0.72]^{T}$ m. A
straight line segment (taut cable) is formed when the plastic sheet is
subjected to tension, which is marked by a blue solid line. (a)
$\mathcal{I}_{t}=\\{1,2,3\\}$. (b) $\mathcal{I}_{t}=\\{1,3,4\\}$. (a)
$\mathcal{I}_{t}=\\{1,2,3,4\\}$.

Figure 5: Forward kinematics computation for an eight-robot formation of
Example 2. The solid blue line represents the taut cable and the red solid
point represents the object $O$. The blue dotted line indicates the sub-
formation of the robots involved in the handling the object. The sheet shape
is a regular octagon, and the radius of its circumscribed circle is $0.9$ m.
$\mathcal{R}_{N}=[0.5\;0;\;0.35\;0.35;\;-0.05\;0.5;\;-0.35\;0.35;\;-0.50\;0;\;-0.30\;-0.35;\;0\;-0.50;\;0.35\;-0.40]^{T}$
m. (a) $\mathcal{I}_{t}=\\{4,5,8\\}$. (b) $\mathcal{I}_{t}=\\{1,5,7,8\\}$. (c)
$\mathcal{I}_{t}=\\{3,4,5,8\\}$. (d) $\mathcal{I}_{t}=\\{3,5,7,8\\}$. (e)
$\mathcal{I}_{t}=\\{4,5,6,8\\}$. (f) $\mathcal{I}_{t}=\\{1,3,5,7,8\\}$.

Table I lists the experimental results and the comparison with the simulation
results. The errors are mainly caused by position errors of the markers, whose
diameter is $1$ cm. Most of the errors are within $1$ cm. The large errors on
the $X$ and $Y$ axes in Fig. 4(c) are $6.43\%$ and $15.13\%$, respectively.
This is because, among all three solutions of the example, the height of the
object $z_{o}$ in Fig. 4(a) and 4(b) was lower than that in Fig. 4(c) and
therefore, the potential energy in the former case was lower than that in the
latter case and the equilibrium state is more stable. There was a tendency of
the object to roll towards the other two FK solutions and this resulted in
large error.

We then conducted simulation results with to illustrate the FK algorithm and
solution analysis. An eight-robot team ($N=8$) was selected as Example 2 to
verify the FK completeness. The height of the held object was set to $1$ m.
The shape of the sheet was selected as a regular octagon, and the radius of
its circumscribed circle was $r_{s}=0.9$ m. Fig. 5 shows the results of
$\mathcal{R}_{N}$ and $\mathcal{V}_{N}^{0}$. Similar to the previous example,
the FK algorithm found all feasible equilibrium states and Table II lists the
number of valid $\mathcal{I}_{t}$ after each step of the algorithm. The last
column indicates whether the step produced a solution after computation.

TABLE II: The Valid $I_{k}$ after Each Step of Algorithm 1 in Example 2 Step | Conditions to be met | Element number | ($\bm{p}_{o},\bm{v}_{o}$)
---|---|---|---
|  | $k=|\mathcal{I}_{t}|$ |
$1$ | All taut cable combinations | $219$ | $(100\%)$ | $\times$
$2$ | Form closure feasible | $182$ | $(83.11\%)$ | $\times$
$3$ | CQP feasible | $22$ | $(10.05\%)$ | $\checkmark$
$4$ | Force closure feasible | $6$ | $(2.74\%)$ | $\checkmark$

From the results in Table II, we observe that there are 219 combinations of
possible taut cables sets in $\mathbb{I}_{t}$ of the eight-robot system. Out
of these sets, $37$ combinations did not meet the form closure condition (5)
and were then eliminated. In Step 3 of the algorithm, we computed and obtained
solution ${\bm{x}}$ and these solutions still need to satisfy the constraints
that the rest of the cables are slack ($\bm{A}_{2}\bm{x}>\bm{b}_{2}$) and the
height of the object is feasible, $z_{o}\in(0,z_{r})$. Therefore, after
solving the CQP, only $22$ solutions $(\bm{p}_{o},\bm{v}_{o})$ were feasible
out of the $182$ solutions. Finally, we verified the force closure condition
of these 22 solutions and obtained the following six FK solutions. We list all
FK solutions $\\{\bm{p}_{o},\bm{v}_{o}\\}$ and their taut cables group
$\mathcal{I}_{t}$ in Table III.

TABLE III: FK solutions and results for Example 2 Taut Cable Group |  $\bm{v}_{o}$ (mm) | $\bm{p}_{o}$ (mm)
---|---|---
$\mathcal{I}_{t}$ | $x_{vo}$ | $y_{vo}$ | $x_{o}$ | $y_{o}$ | $z_{o}$
$\\{4,5,8\\}$ | $-12.7$ | $-13.0$ | $-8.6$ | $-30.5$ | $261.8$
$\\{1,5,7,8\\}$ | $-14.8$ | $-193.2$ | $-26.6$ | $-347.8$ | $310.2$
$\\{3,4,5,8\\}$ | $16.4$ | $-22.2$ | $43.3$ | $-46.9$ | $263.2$
$\\{3,5,7,8\\}$ | $51.4$ | $-165.0$ | $98.7$ | $-290.9$ | $300.5$
$\\{4,5,6,8\\}$ | $-220.7$ | $-76.7$ | $-389.3$ | $-142.0$ | $340.6$
$\\{1,3,5,7,8\\}$ | $-13.9$ | $-193.3$ | $-25.0$ | $-348.0$ | $310.2$
TABLE IV: FK computation and results of three multi-robot systems
($N=10,15,20$)

Robot number | Taut cable set | Form closure feasible | Reduction rate | CQP feasible | Force closure feasible | Taut cable number
---|---|---|---|---|---|---
$N$ | (Step 1), $M_{1}$ | (Step 2), $M_{2}$ | $\frac{M_{1}-M_{2}}{M_{1}}$ | (Step 3), $M_{3}$ | (Step 4), $M_{4}=M$ | $k=3$ | $k=4$ | $k=5$
$10$(1) | $968$ | $582$ |  $39.9$% | $34$ | $5$ | $0$ | $2$ | $3$
$15$(2) | $32,647$ | $4,823$ |  $85.2$% | $93$ | $2$ | $1$ | $1$ | $0$
$20$(3) | $1,048,365$ | $21,489$ |  $98.0$% | $152$ | $13$ | $1$ | $6$ | 6

  * (1)

Example 3:
$\mathcal{V}_{N}^{0}=[27\;7;\;54\;2;\;85\;7;\;98\;36;\;96\;65;\;76\;93;\;44\;96;\;15\;75;\;7\;48;\;12\;22]^{T}$
cm,
$\mathcal{R}_{N}=[45\;14;\;64\;14;\;80\;27;\;81\;47;\;78\;64;\;66\;76;\;49\;78;\;33\;66;\;27\;43;\;30\;23]^{T}$
cm.

  * (2)

Example 4:
$\mathcal{V}_{N}^{0}=[50\;4;\;65\;5;\;80\;12;\;91\;24;\;94\;43;\;91\;63;\;80\;80;\;65\;91;\;46\;94;\;28\;84;\;15\;69;\;11\;51;\;11\;30;\;18\;10;\;33\;3]^{T}$
cm,
$\mathcal{R}_{N}=[2\;13;\;64\;15;\;72\;21;\;77\;32;\;79\;47;\;76\;59;\;68\;67;\;59\;72;\;48\;73;\;37\;66;\;30\;55;\;26\;42;\;26\;30;\;29\;19;\;40\;12]^{T}$
cm.

  * (3)

Example 5:
$\mathcal{V}_{N}^{0}=[51\;6;\;62\;6;\;73\;9;\;82\;15;\;88\;25;\;92\;39;\;93\;53;\;91\;67;\;85\;80;\;77\;89;\;67\;95;\;56\;97;\;45\;94;\;35\;88;\;27\;78;\;20\;62;\;19\;47;\;$
$21\;33;\;27\;20;38\;11]^{T}$ cm,
$\mathcal{R}_{N}=[58\;16;\;64\;18;\;68\;23;\;72\;29;\;74\;36;\;77\;45;\;77\;54;\;75\;65;\;71\;71;\;66\;75;\;60\;77;\;55\;77;\;50\;73;\;46\;64;\;46\;55;$
$\;47\;46;\;48\;37;\;50\;30;\;52\;24;\;54\;19]^{T}$ cm.

TABLE V: FK solutions with more than five taut cables in Example 6 ($N=8$, $z_{r}=1$ m, $r_{s}=0.9$ m, $r_{f}=0.5$ m) | Formation change | Taut cable number | Taut cable set | $\mathop{\rm rank}\nolimits(\bm{A}_{1})$ | FK number |  $\bm{v}_{o}$ (m) |  $\bm{p}_{o}$ (m)
---|---|---|---|---|---|---|---
|  $\bm{\delta}=[50\;0]^{T}$ mm | $k$ | $\mathcal{I}_{t}$ |  | $M$ | $x_{vo}$ | $y_{vo}$ | $x_{o}$ | $y_{o}$ | $z_{o}$
(a) | —– | $8$ | $\\{1,2,3,4,5,6,7,8\\}$ | $2$ | $1$ | $0$ | $0$ | $0$ | $0$ | $0.252$
(b) | $\bm{r}_{1}=\bm{r}_{1}-\bm{\delta}$ | $7$ | $\\{2,3,4,5,6,7,8\\}$ | $2$ | $1$ | $0$ | $0$ | $0$ | $0$ | $0.252$
(c) |  $\bm{r}_{1}=\bm{r}_{1}-\bm{\delta}$, $\bm{r}_{5}=\bm{r}_{5}+\bm{\delta}$ | $6$ | $\\{2,3,4,6,7,8\\}$ | $2$ | $1$ | $0$ | $0$ | $0$ | $0$ | $0.252$

Out of these six solutions, one solution is with three taut cables, four
solutions are with four taut cables, and one solution is with five taut
cables. Fig. 5 shows the robot formation and positions of these results, which
demonstrates six equilibrium states under the same robot formation. It is
interesting to observe that both Fig. 5 and 5 contain the taut cable set
$\\{4,5,8\\}$, which is also the taut cables in Fig. 5. These three solutions
are different because of various $\bm{A}_{11}$ and $\bm{b}_{11}$ in (14) for
given different taut cable sets. Same observation is obtained from three
solutions in Fig. 5, 5, and 5, in which the taut cable sets all contain
$\\{5,7,8\\}$. Among all six solutions, the results in Fig. 5 and 5 are with
the lowest potential energy.

For Example 2, as shown in Table II, each step in the FK algorithm
significantly reduces the number of possible solutions that were obtained in
the previous step (i.e., third column of the table). To further verify the
efficiency improvement of the FK algorithm, we conducted a simulation of three
examples with robot numbers $N=10$, $15$, and $20$, marked as Examples 3, 4,
and 5, respectively. Table IV lists the initial sheet shape
$\mathcal{V}_{N}^{0}$, robot formation $\mathcal{R}_{N}$, and the proportion
of infeasible combinations computed in Step 2. The computed reduction rate in
Step 2 is listed in the fourth column in the table, that is, $39.$%, $85.2$%,
and $98.0$% for $N=10,15,20$, respectively. It is found that as the number of
robots increases, Step 2 significantly reduces the complexity of the algorithm
and improves its efficiency.

Figure 6: Simulation results of three cases in Example 6 where the number of
taut cables is greater than 5. $\mathcal{V}_{N}^{0}$ is the same as that in
Example 2. (a) $\mathcal{I}_{t}=\\{1,2,3,4,5,6,7,8\\}$. The robot position is
$\bm{r}_{i}=[r_{f}\cos\frac{2\pi(i-1)}{N},r_{f}\sin\frac{2\pi(i-1)}{N}]^{T}$
m, $i=1,\cdots,N$, $r_{f}=0.5$ m. (b) $\mathcal{I}_{t}=\\{2,3,4,5,6,7,8\\}$.
(c) $\mathcal{I}_{t}=\\{2,3,4,6,7,8\\}$.

The previous examples show that even for the cases where the number of robots
$N>5$, the taut cable number of the FK solutions is less than five, which
confirms the taut cable number analysis in Section III-B. For the equilibrium
state with more than five taut cables, we took and simulated the 8-robot
system with the regular octagonal sheet, marked as Example 6. The initial
shape of the sheet was the same as that of Example 2. We first show the
special case given in Lemma 2 and then we fine-tuned the shape of regular
polygonal formation by changing the position of the robots to construct the
equilibria with more than five taut cables. Fig. 6 shows the simulation
results of the robot formation and active cable sets and Table V further lists
the detailed computational results. The results show three cases with more
than five taut cables in robot formation, that is, $k=8,7,6$. Fig. 6(b) and
6(c) show the robot formations that were perturbed with a small range (marked
as ${\bm{\delta}}$ in the table) from the formation in Fig. 6(a). It is
interesting to notice that the position of the object $O$ remains unchanged in
these three cases, which shows that the special case discussed in Lemma 2 is
stable. Under this formation, a unique and stable solution to the FK problem
is particularly of interest that would be useful for object manipulation and
transportation tasks.

The FK algorithm finds all equilibrium states under which the object might
have different potential energies and therefore stability. It was further
discovered in the experiment that the equilibrium state position with high
potential energy tended to move close toward the position with lower potential
energy. This implies that equilibrium states with lower potential energy are
more stable and more suitable for transporting tasks. Further study should
look into this observation and further develop motion control and planning
strategies for the robotic team.

##  V Conclusion

In this paper, we extended the concept of virtual variable cable model and
(VVCM) and presented a complete forward kinematics method for multi-robot-
based object handling and transport with a deformable sheet. Users can choose
the arbitrarily number and formation of robots, the heights of handling point
of the deformable sheet, and the shape of sheet as the inputs of the forward
kinematics algorithm to obtain the feasible object positions in the world and
sheet frames. The forward kinematics algorithm was built on a set of geometric
and physical constraints and can efficiently compute the object position for
possible real-time robot planning and control. Through the simulation and
experiment, we demonstrated the effectiveness, completeness, efficiency of the
FK method with variations of robot numbers and formation. The future
developments include consideration of dynamic effects of the object motion and
disturbances during the handling and transporting process. Using the proposed
FK method and algorithm for robot motion planning and control is also among
the ongoing research directions.

## References

  * [1] B. Roy, A. Basnajian, and H. H. Asada, “Repositioning of a rigid body with a flexible sheet and its application to an automated rehabilitation bed,” _IEEE Trans. Automat. Sci. Eng._ , vol. 2, no. 3, pp. 300–307, 2005.
  * [2] K. Hunte and J. Yi, “Collaborative object manipulation through indirect control of a deformable sheet by a mobile robotic team,” in _Proc. IEEE Conf. Automat. Sci. Eng._ , Vancouver, Canada, 2019, pp. 1463–1468.
  * [3] Y. Bai, W. Yu, and C. K. Liu, “Dexterous manipulation of cloth,” in _Comp. Graph. Forum_ , vol. 35, no. 2, 2016, pp. 523–532.
  * [4] J. Zhu, A. Cherubini, C. Dune, D. Navarro-Alarcon, F. Alambeigi, D. Berenson, F. Ficuciello, K. Harada, J. Kober, X. Li _et al._ , “Challenges and outlook in robotic manipulation of deformable objects,” _IEEE Robot. Automat. Mag._ , vol. 29, no. 3, pp. 67–77, 2022.
  * [5] D. McConachie, A. Dobson, M. Ruan, and D. Berenson, “Manipulating deformable objects by interleaving prediction, planning, and control,” _Int. J. Robot. Res._ , vol. 39, no. 8, pp. 957–982, 2020.
  * [6] R. Herguedas, G. López-Nicolás, R. Aragüés, and C. Sagüés, “Survey on multi-robot manipulation of deformable objects,” in _Proc. IEEE Int. Conf. Emerg. Technol. Factory Automat._ , 2019, pp. 977–984.
  * [7] K. Hunte and J. Yi, “Collaborative manipulation of spherical-shape objects with a deformable sheet held by a mobile robotic team,” _IFAC-PapersOnLine_ , vol. 54, no. 20, pp. 437–442, 2021.
  * [8] ——, “Pose control of a spherical object held by deformable sheet with multiple robots,” _IFAC-PapersOnLine_ , vol. 55, no. 37, pp. 414–419, 2022\.
  * [9] A. Capua, A. Shapiro, and S. Shoval, “Spiderbot: a cable suspended mobile robot,” in _Proc. IEEE Int. Conf. Robot. Autom._ , Shanghai, China, 2011, pp. 3437–3438.
  * [10] J. Hu, W. Liu, H. Zhang, J. Yi, and Z. Xiong, “Multi-robot object transport motion planning with a deformable sheet,” _IEEE Robot. Automat. Lett._ , vol. 7, no. 4, pp. 9350–9357, 2022.
  * [11] A. Capua, A. Shapiro, and S. Shoval, “Motion analysis of an underconstrained cable suspended mobile robot,” in _Proc. IEEE Int. Conf. Robot. Biomimet._ , Guilin, China, 2009, pp. 788–793.
  * [12] S.-R. Oh and S. K. Agrawal, “Cable suspended planar robots with redundant cables: Controllers with positive tensions,” _IEEE Trans. Robotics_ , vol. 21, no. 3, pp. 457–465, 2005.
  * [13] S. Qian, B. Zi, W.-W. Shang, and Q.-S. Xu, “A review on cable-driven parallel robots,” _Chinese J. Mech. Eng._ , vol. 31, no. 1, pp. 1–11, 2018.
  * [14] M. Carricato and J.-P. Merlet, “Stability analysis of underconstrained cable-driven parallel robots,” _IEEE Trans. Robotics_ , vol. 29, no. 1, pp. 288–296, 2012.
  * [15] A. Pott, “An algorithm for real-time forward kinematics of cable-driven parallel robots,” in _Advances Robot Kinematics: Motion in Man and Machine_ , J. Lenarcic and M. M. Stanisic, Eds., 2010, pp. 529–538.
  * [16] H. An, H. Yuan, K. Tang, W. Xu, and X. Wang, “A novel cable-driven parallel robot with movable anchor points capable for obstacle environments,” _IEEE/ASME Trans. Mechatronics_ , vol. 27, no. 6, pp. 5472–5483, 2022.
  * [17] J.-P. Merlet, “Maximal cable tensions of a n-1 cable-driven parallel robot with elastic or ideal cables,” in _Int. Conf. Cable-Driven Parall. Robots_ , 2021, pp. 79–89.
  * [18] J.-F. Collard and P. Cardou, “Computing the lowest equilibrium pose of a cable-suspended rigid body,” _Optim. Eng._ , vol. 14, pp. 457–476, 2013\.
  * [19] X. Diao and O. Ma, “A method of verifying force-closure condition for general cable manipulators with seven cables,” _Mech. Mach. Theory_ , vol. 42, no. 12, pp. 1563–1576, 2007.
  * [20] C. B. Pham, S. H. Yeo, G. Yang, M. S. Kurbanhusen, and I.-M. Chen, “Force-closure workspace analysis of cable-driven parallel mechanisms,” _Mech. Mach. Theory_ , vol. 41, no. 1, pp. 53–69, 2006.
  * [21] R. Fletcher, _Practical Methods of Optimization_. John Wiley & Sons, 2000.
  * [22] W. Fenchel, _Convex Cones, Sets, and Functions_. Department of Mathematics, Princeton University, 1953.