San Diego 7/11/01
VIRTUAL SHELLS FOR AVOIDING COLLISIONS Yale University A. S. Morse
OVERALL PROBLEM Develop local control concepts to enable a large grouping of mobile autonomous agents to perform biologically inspired group maneuvers such as schooling, swarming, flocking in a safe and purposeful manner.
THE MAIN ISSUE COLLISION AVOIDANCE Virtual Shells
The concept of a virtual shell stems from two ideas: Neighbors can cooperate The ``block’’ or ``moving slot’’ protocol
The concept of a virtual shell stems from two ideas: Neighbors can cooperate The ``block’’ or ``moving slot’’ protocol
Schooling fish sometimes rub against each other Flocking birds sometimes gently hit each other Individuals sometimes maneuver through a crowd by pushing Crowds reform by gently nudging to pass through a portal Children can successfully maneuver bumper cars at amusement parks Football players sometimes guide teammates motion by pushing Cocktail Party Problem A key component of large group coordination seems to be the ability of agents to cause nearest neighbors to cooperatively react to their wishes in order to effectively maneuver. Behaviors which affect group coordination:
Neighbors can cooperate The ``block’’ or ``moving slot’’ protocol
Neighbors can cooperate The ``block’’ or ``moving slot’’ protocol
RAILROAD block 1block 4block 3block 2 At most one train in one block at one time BLOCK CONTROL Generalization
Personal Rapid Transit A dedicated guideway network on which small driverless vehicles move between stations under computer control. Slot Concept: Contiguous streams of computer generated virtual blocks or slots move along each segment of guideway with variable temporal and physical spacings defined in such a way so that the slot flow is the same throughout the network. Slots merge at merges and diverge at diverges. At most one vehicle can occupy one slot at one time.
Personal Rapid Transit A dedicated guideway network on which small driverless vehicles move between stations under computer control. Induces a natural hierarchy: Slot Concept: Contiguous streams of computer generated virtual blocks or slots move along each segment of guideway with variable temporal and physical spacings defined in such a way so that the slot flow is the same throughout the network. Slots merge at merges and diverge at diverges. At most one vehicle can occupy one slot at one time. Vehicle slot-tracking controllers Slot assignment based on real-time network flows Slot slipping or vehicle maneuvering control
The Virtual Shell Concept By a virtual shell is meant a closed non-deformable surface of appropriate shape For planning purposes, shells are regarded as rigid dynamical bodies which move through 2d or 3d space and are subject to force fields. Force fields are typically determined by potential functions designed to accomplish particular tasks. A swarm or school or flock of virtual shells thus admits the model of a hybrid dynamical system. Shells can gently hit each other, but such collisions are always “lossless”.
Collision avoidance is achieved by requiring each vehicle to remain within its own shell for all time This is accomplished by “conventional” tracking control applied to each vehicle. For this to be possible, each vehicle must know the trajectory of the shell it is tracking. Since shell trajectories are determined by force fields and collisions with nearest neighbors, nearest neighbor shell position and orientation must be available to each vehicle. Communication between nearest neighbors is thus required.
Issues Shell shape Impact rules Impact detection Tracking controllers Virtual force fields
Issues Shell shape Impact rules Impact detection Tracking controllers Virtual force fields 2D: circles or ellipses 3D: spheres or ellipsoids
Issues Shell shape Impact rules Impact detection Tracking controllers Virtual force fields
1. Elastic collision rule: Impacting shells interchange normal components of velocity vectors at impact point. 2. Reflection rule: Impacting shells each change the sign of its normal component of its velocity vector’s at impact point.
Issues Shell shape Impact rules Impact detection Tracking controllers Virtual force fields Easy for circles and spheres: Impact occurs just when distance between centers equals sum of radii. What about ellipsoids ?
Detecting Intersecting EllipsoidsDetecting Impacting Ellipsoids
Issues Shell shape Impact rules Impact detection Tracking controllers Virtual force fields
Issues Shell shape Impact rules Impact detection Tracking controllers Virtual force fields ….for a three wheeled, nonholonomic cart
LL RR x y Nonholonomic Cart
Brockett nonholonomic integrator Do not exist continuous time-invariant control laws u = f(x, y, f ) v = g(x, y, f ) which stabilize the origin x =y = f = 0 ! nonholonomic cart model
nonholonomic cart model Tracking Problem: Devise a feedback controller which causes the nonholonomic cart to “track” a given reference trajectory {x r, y r, r }. Sussmann and Liu Brockett and Morgansen DeLuca et. al. Approximate inversion Model Following
Find tracking controls to cause x ! x r, y ! y r, and ! r Implement nonholonomic cart model nonholonomic cart reference
nonholonomic cart model nonholonomic cart reference error system
error system in new coordinates
error system in new coordinates
error system in new coordinates closed-loop
error system in new coordinates closed-loop stable
error system in new coordinates closed-loop going to zero
Suppose a vehicle is initially centered on its shell and that at most n reflection rule determined collisions can occur before the preceding tracking control can re-center the vehicle within its shell. Then the maximum distance from center cannot exceed n This is a consequence of the already shown fact that is non-increasing, the fact that and the fact that can jump by at most at each impact. What’s it take to keep a vehicle in its shell?
= 35 distance of vehicle from center of its shell number of impacts
Each vehicle must continuously compute its own shell’s position. Since each vehicle’s shell position depends on impacts with the shells of nearest neighbors, nearest neighbor shell position and orientation must be available to each vehicle. Communication between nearest neighbors is thus required. One possible way to avoid the need for this communication, it for each vehicle to assume that its neighbors are centered within their shells at impact – this is the centering protocol. Worst case vehicle spacing = shell radius