IMA Short Course
Distributed Optimization and Control
Virtual Shells for Avoiding Collisions
A. S. Morse
Yale University
University of Minnesota
June 3, 2014
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
Behaviors which affect group coordination:
•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.
•Neighbors can cooperate
•The ``block’’ or ``moving slot’’ protocol
•Neighbors can cooperate
•The ``block’’ or ``moving slot’’ protocol
RAILROAD
BLOCK CONTROL
block 1
block 2
block 3
At most one train in one block at one time
Generalization
block 4
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.
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.
Induces a
natural hierarchy:
•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.
Shells can gently hit each other, but such collisions are always “lossless”.
A swarm or school or flock of virtual shells thus admits the model
of a hybrid dynamical system.
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 Impacting Ellipsoids
normal vectors
must be scalar
multiples of each
other
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
Lecture 13
Nonholonomic Cart
f
wL
y
wR
x
nonholonomic
cart model
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
Tracking Problem: Devise a feedback controller which
causes the nonholonomic cart to “track” a given
reference trajectory {xr, yr, fr}.
nonholonomic
cart model
nonholonomic
cart reference
Find tracking controls
to cause x ! xr, y ! yr,
and f ! fr
Implement
nonholonomic
cart model
nonholonomic
cart reference
error system
error system
error system in
new coordinates
error system in
new coordinates
closed-loop
error system in
new coordinates
stable
stable
closed-loop
error system in
new coordinates
going to zero
closed-loop
error system in
new coordinates
What’s it take to keep a vehicle in its shell?
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 np
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 p at each impact.
r = 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
© Copyright 2026 Paperzz