Shop OBEX P1 Docs P2 Docs Learn Events
Beacon-based Robot Navigation System — Parallax Forums

Beacon-based Robot Navigation System

norris56norris56 Posts: 69
edited 2008-07-25 17:58 in Robotics
I have recently completed work on an infrared beacon system for robot navigation. Using a scanning IR detector a robot can lock on and navigate toward a beacon. Once at the beacon the robot turns and navigates to the next beacon. By using multiple beacons you can mark out any path you desire. The robot can reliably traverse this path over and over again very much like a night watchman would make his rounds.
·
The beacons are simple 38 kHz IR LED emitters. If you don’t want to build your own beacons you can reuse iRobot Roomba Virtual Walls as beacons.
·
Located on the robot is a simple IR detector (PNA4602) mounted on a servo. The detector is enclosed in a narrow tube that makes it very directional. By scanning left to right with the servo the bearing to the beacon can be accurately determined.
·
The brain of this beacon system is the Propeller chip. All my robots now use the Propeller chip. The system is implemented with the following reusable objects:
·
ADF – Automatic Direction Finder. Uses the servo and IR Detector to locate and provide a bearing to the beacon.
·
Pinger – Uses a Ping ultrasonic sensor to determine the distance to the beacon and also avoid bumping into things.
·
BeaconNav – The top level object that implements the navigation mission using the above objects.
·
I've implemented this technology on several of my robots including a CrustCrawler QuadCrawler and a Lynxmotion 4WD1 rover.
·
I’ve posted a couple of videos you can watch on YouTube.
·
4WD1 - http://www.youtube.com/watch?v=UVbyeScchz4
·
QuadCrawler - http://www.youtube.com/watch?v=dC6GwUswtOI
·
I will publish more details including source code, schematics, etc. to my personal web site in the next week at http://www.norrislabs.com.
·
·

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You can’t mix matter and antimatter cold!

Steve Norris

Post Edited (norris56) : 4/20/2007 11:45:02 AM GMT
1024 x 681 - 67K
1024 x 681 - 61K
1024 x 681 - 28K
1024 x 681 - 29K

Comments

  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2007-04-18 19:31
    Steve,

    Very nice! I was just reading about your other robot in this months Robot Magazine (page 46?) and here you have two more very nice creations! Congrats on really showing off the fusion of various platforms and sensors and making it so smooth.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
  • crgwbrcrgwbr Posts: 614
    edited 2007-04-18 19:51
    Very Nice, that could be useful for a lot of indoor projects.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

    Microsoft: "You've got questions. We've got dancing paper clips."
  • JossJoss Posts: 32
    edited 2007-04-18 21:40
    Great stuff!

    I can't wait to read all about it on your website.

    Can I bother to ask you to let me know when the information is up there so I don't miss it? This olde brain doesn't remember so good anymore.

    Regards and gratsi,

    Joss
  • norris56norris56 Posts: 69
    edited 2007-04-20 11:42
    I’ll post the notification here when I publish the project to my web site. Above I posted a couple of pictures of the beacons. There are two flavors right now. With one I used an iRobot Roomba Virtual Wall. I built a small stand to elevate up to the height I needed. The other I constructed with two emitters mounted at a right angle. This is used to mark out turns in the desired path.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You can’t mix matter and antimatter cold!

    Steve Norris
  • JossJoss Posts: 32
    edited 2007-04-20 12:23
    Thanks for the pictures of the beacons, Steve.

    I'm looking forward to seeing the details.

    Regards,

    Joss
  • norris56norris56 Posts: 69
    edited 2007-07-31 16:36
    Robot Magazine·has·published my·article called the Night WatchBot in the Fall issue. This robot uses my beacon navigation system descibed above. You can download the Spin source code and schematics directly·from the Robot Magazine site.

    http://www.botmag.com/issue8/



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You can’t mix matter and antimatter cold!

    Steve Norris
  • OSOKOSOK Posts: 35
    edited 2007-08-01 04:07
    Quick question...

    If the IR light from the LEDs is omnidirectional, and the IR sensors are digital, how do you narrow down the location of the beacon? How can you tell that the IR light gets stronger or weaker?
  • norris56norris56 Posts: 69
    edited 2007-08-01 15:56
    The IR detector is mounted in a housing that reduces the field of view to a few degrees. By panning the detector back and forth on a servo you can determine the location of the beacon. I attached a picture of the IR detector assembly. The detector is located at the rear of the housing.

    The robot uses a Ping to determine the distance to the beacon and does not need to measure the signal strength.



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You can’t mix matter and antimatter cold!

    Steve Norris
    1024 x 681 - 296K
  • DgswanerDgswaner Posts: 795
    edited 2007-08-01 21:38
    Nice work, I do have a few of questions though?

    1. you seem to get a really good range from your beacons, when your bot reaches one beacon does it actually see the other beacon at that distance or just know to head in that direction, until it locks on to the beacon?

    2. your video shows your bot already seeing a beacon can your bot be placed in a room and then find the beacon and navigate to it?

    3. can your bots tell which beacon it is looking at? are you sending a message like a remote control or does it lock on to a 38Mhz IR signal.

    I'm sure if I was up on my Spin code I could answer these my self, but alas I'm not.

    Thanks

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    A complex design is the sign of an inferior designer. - Jamie Hyneman, Myth Buster
  • WhitWhit Posts: 4,191
    edited 2007-08-02 02:48
    Extremely nice Steve. Great pictures and video (also enjoyed the Robot article) I've linked this thread to a mapping thread over in the sandbox we've had going for a while. Super work!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Whit+


    "We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
  • norris56norris56 Posts: 69
    edited 2007-08-03 17:49
    Dgswaner said...
    Nice work, I do have a few of questions though?

    1. you seem to get a really good range from your beacons, when your bot reaches one beacon does it actually see the other beacon at that distance or just know to head in that direction, until it locks on to the beacon?

    2. your video shows your bot already seeing a beacon can your bot be placed in a room and then find the beacon and navigate to it?

    3. can your bots tell which beacon it is looking at? are you sending a message like a remote control or does it lock on to a 38Mhz IR signal.

    I'm sure if I was up on my Spin code I could answer these my self, but alas I'm not.

    Thanks

    Thanks, Dgswaner,

    1. The robot centers the IR detector forward and then turns away from the current beacon and starts to look for the next beacon. You can select the direction of this turn (CW or CCW) in a pre-defined route table or you can use the default of CW.

    2. Yes, it searches for the beacon (using the above algorithm) if it does not initially see it.

    3. The beacons are modulated at 38 khz and pulsed at 1 khz. This is to be compatible with the Roomba Virtual Walls. You could encode the ID of the beacon by changing the pulse rate. I have experimented with this but have not formally implemented it.

    Hope this helps.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You can’t mix matter and antimatter cold!

    Steve Norris
  • OSOKOSOK Posts: 35
    edited 2007-08-04 02:03
    So the turns are hardcoded?
  • norris56norris56 Posts: 69
    edited 2007-08-04 03:50
    The routes (turns, gotos, etc) are represented as meta data in the DAT section. You can set any path you want between beacons.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You can’t mix matter and antimatter cold!

    Steve Norris
  • norris56norris56 Posts: 69
    edited 2007-08-04 13:24
    Whit said...
    Extremely nice Steve. Great pictures and video (also enjoyed the Robot article) I've linked this thread to a mapping thread over in the sandbox we've had going for a while. Super work!

    Thanks Whit! It's been a fun project.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You can’t mix matter and antimatter cold!

    Steve Norris
  • Tom CTom C Posts: 461
    edited 2007-09-01 20:39
    Hi all,

    I just completed putting together Steve's Night Watchbot (http://www.botmag.com/issue8/) based on a Create chassis that I had originally earmarked for another project.

    The robot project went together pretty smoothly except for a few minor problems that were easily overcome.

    The robot performs to expectations and the PC GUI that Steve has created to control the Watchbot remotely by Bluetooth works fine.

    I higly recommend the Night Watchbot project to anyone with intermediate to high level robotic skills that wants to add to the security of their home.

    Regards,
    TCIII

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you are going to send·a Robot·to save the world, you·better make sure it likes it the way it is!
  • TomvnTomvn Posts: 103
    edited 2008-07-25 05:44
    Hi Steve
    i dont see schematics for beacon dual , i love that ,very nice project
  • norris56norris56 Posts: 69
    edited 2008-07-25 13:27
    Sorry, I guess I missed that (and no one asked before)·so here it is. I also included the C source and Hex file·since it uses a 12F683 PIC microcontroller.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Steve Norris

    www.norrislabs.com
  • TomvnTomvn Posts: 103
    edited 2008-07-25 17:58
    thanks very much Steve.
Sign In or Register to comment.