|
|
Coordinated Motion Controllers
|

Distributed,
Coordinated Controllers for Robot Teams
The work at UMass is
aimed at structuring distributed control systems so that complete
solutions can be expressed in the form of coordinated, adaptive optimal
control schemes on multi-robot systems. Rather than construct ad hoc
coordination strategies for specific tasks, we instead construct sets of
functionally equivalent controllers distinguished by their use of
resources including communication, processor use, sensors and effectors,
and coordination strategies. We constrain the manner in which
controllers interact so that constraints regarding safety, and
functionality can be guaranteed. It is our view, that under suitable
conditions, a team to robots can learn to apply this equivalence class
of control options to many tasks.
To accomplish our
goals, we have adopted tools for exploiting redundancy in systems with
excess degrees of freedom. Foremost among these is a generalization of
null space control techniques developed to address subordinate control
objectives in the context of holonomic manipulator systems with excess
DOF. We have applied them to multi-robot, nonholonomic systems with
sets of contiguous goal states. Individual robots do not present excess
degrees of freedom, but teams of robots with kinematic constraints are
generally redundant and can accommodate tasks with multiple objectives.
Using the null space control techniques, we can provide "best-effort" guarantees that
important global properties will be preserved in distributed behavior.
"Best-effort" means that subordinate control actions are projected into the null space
of global specifications so that incorrect interactions are eliminated. By
so doing, a distributed controller can address multiple objectives
simultaneously without compromising critical performance guarantees.
Individual
controllers are constructed using the control basis approach, which
associates a state estimator with a set of effector resources through an
artificial potential. The controller generates motor commands by taking
greedy action on the potential.
Leader/Follower
Searching
One application of
this distributed control structure is a coordinated search task. A team
of mobile robots must search an unknown environment while maintaining
connectivity throughout the team to a fixed communications hub. To
guarantee connectivity, we constrain pairs of robots to maintain
line-of-sight (LOS). We allow one robot to be the search "leader," with
the robots using pairwise coordinated controllers for LOS maintenance.
This allows the robots to form a serial kinematic chain, with the
leader at the head of the chain, and the communications hub at the
base. Using the null space projection operator, the leader may perform
the search task within the null space of the LOS maintenance task with
its follower. Likewise, a robot within the chain executes LOS
controllers with its two neighbors, using the null space projection to
eliminate destructive interference. Click here
for a video showing a 2-robot leader/follower search task.
The pairwise LOS and
search controllers have two symmetric configurations, denoted "pull" and
"push." With the pull controller, the leader robot specifies that the
follower acts upon. This results in the leader "pulling" the follower
as it perfroms its search. With the push controller, the follower
specifies goals for the leader to act upon. The result is that the
leader may only search in a limited area, which resembles the follower
"pushing" the leader.
The relative size and
position of LOS goal sets and occlusion threshold goals causes significant
measurable variation in the performance of a coordinated pair. The relative
size of the threshold region influences the aggressiveness of the follower's
motion controller. The following
picture illustrates a relatively aggressive follower
(robot 1) that follows the leader (robot 0) closely as it moves toward
the goal, denoted by the black square in the lower left quadrant of the
map. The grey lines between the robots represent the LOS property.
Robot 2 maintains a more conservative pull behavior with its neighbors.
Robot 2 moves only when LOS with 1 is threatened. Robot 4 is a
stationary hub that maintains a push relationship with robot 3.
This control
approach scales to large numbers of robots by virtue of employing
pairwise
coordination primitives that bound the scope of inter-robot
communications and whose per processor
compute load is nearly evenly distributed for singly connected chains.
Load can be balanced by noticing that the LOS regions required can be (1)
computed directly using sensor data, or (2) constructed using parameters
communicated between peers.
Real-Time
Schedulability in Large Robot Systems
An exact upper bound
on the size of feasible teams can be derived by analyzing the structure
of the processes used in that task. Robot systems have inherent
real-time constraints, which are based on the desired performance of the
system. The following picture shows a graph of the process structure for
the coordinated controller described above.
Using real-time
scheduling algorithms for distributed processes, we are able to derive
an upper bound on the size of the team. If the team size is within this
bound, then every robot is guaranteed to be able to schedule all tasks
to execute before their deadline, and the most recent data is always
used.
We believe that
schedulability is an overlooked part of large multirobot system design.
As fielding large teams of robots becomes possible, real-time computing
issues such as schedulability will become an important factor in overall
performance.

ViewPoint Control
The viewpoint control task is
decomposed into three control objectives viz obstacle avoidance,
visibility and precision. A moving object is tracked in two panoramic
sensors using color histograms, and a scalar uncertainty metric of the
object position estimate is introduced. The scalar metric can be used as
a decision metric in a distributed sensor network. Individual control
objectives are accomplished by planning paths using harmonic functions
and the task is accomplished using a new "subject-to" composition
operator.
The above figure shows the
configuration of the room in which the viewpoint control experiments
were run. The entire space is divided into a 21x21 grid space. Each
grid is 30x30 sq cms. The stationary camera is placed at (8,3) grid
location. The home position of the robot is (14.5, 3). Black
corresponds to obstacles in the room. White corresponds to the free
space in which the robot can move. A single human subject was tracked
along a pre defined path as shown by the thin black line in the
figure. The two dotted lines on either side of the nominal path are
drawn to specify that the triangulated subject is expected to be always
within those lines. This is true because, humans have a wavy motion
as opposed to a robot which can move straight. Also, a
typical human would be about 60 cms wide which corresponds to about
2 grids. The path for this experiment was chosen such that the final
subject position is not visible from the initial robot position (by
putting a partition in the middle of the room as shown in the
figure). Subject always remains in visible region from the stationary
camera. The robot plans its path to not only remain visible but also
be as precise in triangulation of the subject as possible avoiding
obstacles at the same time. This is achieved using the subject-to
control composition as described earlier. The path the robot takes in
tracking the subject as the subject moves along and the triangulation
results from the two cameras for the subject can be seen in the figure.
The triangulated position obtained for the subject is shown as small
circles along the path the subject took. The bottom row of figures show
the gradient after SOR that is used by the robot to navigate.

| Movies |
| Viewpoint control video |
|
| Top down view of viewpoint control |
|