Coordinated Motion Controllers

stripe

bullet Coordinated Teams of Reactive Mobile Platforms

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.


Leader Follower Simulation

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.
leader follower controller process graph



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.

stripe

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.
bullet On Viewpoint Control

Experiment

gradient1 gradient2
gradient3 gradient4

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.

stripe

Movies
Viewpoint control video
Top down view of viewpoint control