Safe Wall Following Ideas?


#1

Spoiler Alert: Wall Following may be a lot easier with new EasyGoPiGo3 motor commands coming soon

I’m brainstorming wall following ideas for the GoPiGo3 with servo mounted distance sensor.

Please enhance, extend, and create!

These scenarios begin pointed parallel to a wall, wall on the left:

  1. Slow Walk With Twin Interests:
  • look left, measure distance to wall for reference distance
  • look fwd, ensure no obstacle within “stopping distance”
  • start motors at slow speed
  • repeat until “fwd obstacle within stopping distance”
    • look left, measure distance to wall, adjust motors to correct change from reference
    • look fwd, measure distance
  1. Run With Shared Off Axis Focus:
  • look diagonally between wall and fwd (“offset from parallel”), measure reference distance
  • ensure reference distance is greater than stopping distance * arctan(offset from parallel)
  • start motors
  • repeat until distance measurement within (stopping distance * arctan(offset from parallel)):
    • adjust motors to correct change from reference distance
    • take distance measurement
  1. Only As Far As Trust Allows:
  • look fwd, ensure no obstacle close
  • start a “drive trusted distance”:
    • dist = safety factor * arc-sin( parallel pointing accuracy) * dist to wall
  • repeat until obstacle close or drive completed
    • take distance measurement
    • check drive status (stopped and target reached)
  • if drive not finished, issue stop()

**YOUR IDEAS?**