1 / 21

Constant Following Distance Simulations

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:

Download Presentation

Constant Following Distance Simulations

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Constant Following Distance Simulations CS547 Final Project December 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 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)

  7. desired steady state 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

  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 at constant time intervals Note robot slows down as it reaches corners

  11. repeated traverses

  12. obstacle avoidance Robot backs up, turns, goes forwards Obstacle avoidance overrides wall following Robot takes wide turn

  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!

More Related