Constant Following Distance Simulations

1 / 21

# Constant Following Distance Simulations - PowerPoint PPT Presentation

Constant Following Distance Simulations. CS547 Final Project December 6, 1999 Jeremy Elson. research goals. Motivation: Explore the effect of different radio models on the accuracy of simulation Two opposing models:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Constant Following Distance Simulations' - axel-shepherd

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Constant Following Distance Simulations

CS547 Final Project

December 6, 1999

Jeremy Elson

research goals
• Motivation: Explore the effect of different radio models on the accuracy of simulation
• Two opposing models:
• Arena: Smother everything and noise; forces you to build algorithms that are noise-resistant
• network simulators: Extremely detailed
• In network simulation, very accurate radio models might be required
• What about in robotics? (Easier target...)
experimental goals
• To explore this, the idea was:
• Implement a simple set of behaviors in simulation across different radio models
• Characterize the behavior across radio models (perhaps across behavior sets)
• Implement the algorithms in reality
• Compare simulation to reality
• This work is still entirely simulation; implementation coming
the experiment
• Idea: Use radio contact to allow “constant distance following”
• Both robots follow the same path, one tries to keep a constant distance behind the other
• Path: Endlessly circling SAL
• Assume that the radio acts as a “proximity detector”
• Within radio range: you’re too close
• Out of range: you’re too far away
robot sonar model

3

4

2

1

5

0

6

Exact sonar readings are never used; all 7 sonars are

classified into NEAR (< 2m), MID (2-5 m), or FAR (>5m)

Goal: endlessly circle SAL, clockwise

FAR

!NEAR

!NEAR

!NEAR

MID

NEAR=collision

FAR=corner coming soon

don’t care

MID

NEAR=too close to wall

FAR=corner crossing

or too far from wall

basic behaviors
• Speed and direction controlled independently
• Direction:

if (state[6] == FAR) {

turnRate = 4.0; // Sharp right turn to follow the wall

} else if (state[5] == FAR || state[1] == NEAR || state[2] == NEAR) {

turnRate = 2.0; // Shallow right for left collision, or drift away from wall

} else if (state[3] != FAR || state[4] == NEAR || state[5] == NEAR

|| state[6] == NEAR) {

turnRate = -2.0; // Shallow left for right or dead on collision,

} // or getting too close to wall

basic behaviors
• Speed:

if (state[2] == NEAR || state[3] == NEAR || state[4] == NEAR)

speed = -1.0; // Go backwards if we’re running into something

else if (state[6] == FAR)

speed = 2.5; // Slow down a lot if we’re past the end of the wall

else if (state[5] == FAR)

speed = 5.0; // Slow down a little if the wall end is coming

else

speed = nominalSpeed; // 7.0

resulting path (1 robot)

Tic marks are at

constant time

intervals

Note robot slows

down as it reaches

corners

obstacle avoidance

Robot backs up,

turns, goes forwards

Obstacle avoidance

overrides

wall following

Robot takes

wide turn

proximity detection
• Simple model of Radiometrix (or similar) radio -- xmit success probability drops off sharply as distance increases
• Our goal: live on the slope of the curve
• Simulated with “(d + error) squared threshold” model
• Potential range of error is a percentage of d; chosen at random uniformly from that range
• The percentage is a parameter
idealized model

nominal transmit range = 5m

simulated model

nominal transmit range = 5m

following behavior
• One robot is leader (nominal speed = 7.0), one is follower (nominal speed is variable)

if (following) {

getLossRate(&shortLossRate);

if (shortLossRate > 80)

nominalSpeed = 9.0;

else if (shortLossRate < 20)

nominalSpeed = 5.0;

else

nominalSpeed = 7.0;

} else {

nominalSpeed = 7.0;

}

conclusions
• Simple rules are best
• More complex rules never worked as well!
• Priority is (naturally) critical!
• Using proximity detection seems to work reasonably
• Given that it is not entirely easy to track speed and distance around turns, etc.
• Surprisingly, percent-distance error seemed to have little impact on the outcome
future work