constant following distance simulations

21
1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson

Upload: axel-shepherd

Post on 30-Dec-2015

15 views

Category:

Documents


1 download

DESCRIPTION

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: - PowerPoint PPT Presentation

TRANSCRIPT

1

Constant Following Distance Simulations

CS547 Final ProjectDecember 6, 1999

Jeremy Elson

2

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...)

3

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

4

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

5

simple SAL model

20 m

6

robot sonar model

0

12

3 45

6

Exact sonar readings are never used; all 7 sonars areclassified into NEAR (< 2m), MID (2-5 m), or FAR (>5m)

7

desired steady state

don’t care

!NEAR MIDNEAR=collisionFAR=corner coming soon

MIDNEAR=too close to wallFAR=corner crossing or too far from wall

!NEAR

Goal: endlessly circle SAL, clockwise

FAR

!NEAR

8

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

9

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

10

resulting path (1 robot)

Tic marks are atconstant timeintervals

Note robot slowsdown as it reachescorners

11

repeated traverses

12

obstacle avoidance

Robot backs up,turns, goes forwards

Robot takeswide turn

Obstacle avoidanceoverrides

wall following

13

repeated traverses

14

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

15

idealized model

nominal transmit range = 5m

16

simulated model

nominal transmit range = 5m

17

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 { // leader nominalSpeed = 7.0;}

18

results

19

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

20

future work

• Additional Radio Models & Behaviors– e.g., bit error rate model: packet success

becomes sensitive to packet length– Then, probe with both short and long packets

• Implementation on real Pioneer-2– Compare performance under simulation to that

of the real implementation

21

that’s all, folks!