A presentation that explores the possibility of the Elastic Band construct, which combines controllers with motion planning for more dynamic robot motion
2. Robot Motion Planning
● Gives us a path between a starting point and a finish point
● Acts on a model of the world
● Fast planning algorithms that are of practical use exist but computationally
expensive for the general case
● Possible to plan for an optimal path
● Unable to account for changes in the environment
3. PID Controllers
● Application of Control Theory
● Allows to act on feedback received from sensors and react
Source: Wikipedia
4. PID Controllers (cont.)
● Reacts to changes in the real environment
● Cannot achieve a global goal like moving from A to B, only local goals can
be achieved
5. Elastic Bands (Quinlan, Khatib ‘93)
The path from the planner is deformed in real time to handle local changes in
the environment detected by sensors and to smooth the path.
Contraction force and
repulsion force applied
Source: http://cm.bell-labs.com/who/seanq/icra93.pdf
6. Is curve collision free?
Difficult to compute for 2 reasons
● Even for simple planar robot the boundary of the free space is 3 D
● We have to check that curves rather than line segments are in the free
space
7. Bubbles
● Instead of trying to compute and represent the entire free space, a model
of the environment and robot is used to generate, on the fly, local subsets
of the free space
● Each subset, called a bubble, is computed by examining the local freedom
of the robot at a given configuration
Source: http://cm.bell-labs.com/who/seanq/icra93.pdf
8. Defining a bubble
● The function ρ(b) that gives the minimum distance between the robot at
configuration b and the obstacles in the environment.
● B(b) = {q : || b−q || < ρ(b) } - The subset B(b) is labeled the bubble at b.
Source: http://cm.bell-labs.com/who/seanq/icra93.pdf
9. Bubbles for Higher Dimensions
● Robot described by b = (x, y, ϴ)
● rmax - maximum distance from the origin of the robot to any other point on
the robot
● If robot moves from configuration b to b’ we can bound D(b-b’)
10. Manipulating the Bubbles
● The overall strategy for deforming the elastic band is to scan up and down
the sequence of bubbles, moving each in turn.
● Compute an artificial force consisting of internal contraction force and
external repulsive force
Source: http://cm.bell-labs.com/who/seanq/icra93.pdf
11. The internal contracting force
kc- global contraction gain
● Internal contraction models the forces in a physical elastic band
● The force of a bubble at bi is given by
● The interpretation is a series of springs between the bubbles
● The force from each spring is normalized to reflect a uniform tension
12. The repulsive force
● The repulsive forces pushes the bubbles away from the obstacles
● The size of a bubble gives an indication of how far the robot is from
collision. So it’s defined so that it increases this size
kr- global repulsion gain
𝝆0- distance upto which force
is applied
h- step size set to 𝝆(b)
13. New position of the bubble
● After computing the total force, compute the new position of the bubble
𝜶- one possible value is 𝝆(bold)
14. Conclusion
● Elastic bands form a basis for real-time collision free motion control
● Still, to determine a bubble of free space, we need to determine the
distance from each link to the obstacle
● Real time will depend on number of bubbles and processor speed. As
distance of all bubbles have to be calculated around a speed of 10 Hz.