1 constant following distance simulations cs547 final project december 6, 1999 jeremy elson
TRANSCRIPT
![Page 1: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/1.jpg)
1
Constant Following Distance Simulations
CS547 Final ProjectDecember 6, 1999
Jeremy Elson
![Page 2: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/2.jpg)
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...)
![Page 3: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/3.jpg)
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
![Page 4: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/4.jpg)
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
![Page 5: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/5.jpg)
5
simple SAL model
20 m
![Page 6: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/6.jpg)
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)
![Page 7: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/7.jpg)
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
![Page 8: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/8.jpg)
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
![Page 9: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/9.jpg)
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
![Page 10: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/10.jpg)
10
resulting path (1 robot)
Tic marks are atconstant timeintervals
Note robot slowsdown as it reachescorners
![Page 11: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/11.jpg)
11
repeated traverses
![Page 12: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/12.jpg)
12
obstacle avoidance
Robot backs up,turns, goes forwards
Robot takeswide turn
Obstacle avoidanceoverrides
wall following
![Page 13: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/13.jpg)
13
repeated traverses
![Page 14: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/14.jpg)
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
![Page 15: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/15.jpg)
15
idealized model
nominal transmit range = 5m
![Page 16: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/16.jpg)
16
simulated model
nominal transmit range = 5m
![Page 17: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/17.jpg)
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;}
![Page 18: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/18.jpg)
18
results
![Page 19: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/19.jpg)
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
![Page 20: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/20.jpg)
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
![Page 21: 1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson](https://reader035.vdocuments.net/reader035/viewer/2022062717/56649e395503460f94b2afa8/html5/thumbnails/21.jpg)
21
that’s all, folks!