My Follow Me HexCrawler - A Heat Seeking Robot
I’ve seen a lot of discussion around building robots that can follow a person. I decided to take up the challenge and built what I call a "Follow Me" HexCrawler. Based on the CrustCrawler HexCrawler it's able to follow me around the house while avoiding common objects like walls and chairs. I can lead it from about 2 feet out to 10 feet. When it gets to close it will stop and backup. If it loses me it will simply stop. Occasionally it even locks onto the cat although the cat is able to out run the HexCrawler.
The “Follow Me” HexCrawler is constructed from 3 major components. At the front is the Robot Sensor Array (RSA). It has 2 PIC microcontrollers. One processes the left/right IR proximity sensors while the other handles the Ping and the Thermal Array Sensor from Devantech. This array has 8 thermal sensors configured in a single row with an addition sensor for ambient temperature. The PIC reads these temperature values and performs the necessary signal processing. It can easily detect a person’s body heat. Its field of view is about 45 degrees. Also mounted on the RSA are 8 LEDs that indicate where the thermal sensor is registering heat. By using these two PICSs I’m able to offload all the sensor processing and provide a simple 4 wire interface to the Basic Stamp.
The second component is what I call a “GaitPIC”. It's another PIC microcontroller that performs all the servo sequencing for the 6 legs (12 servos) on the HexCrawler. It interfaces to the Parallax Servo Controller. The Basic Stamp talks to the GaitPIC with a simple serial protocol issuing commands like “Walk Forward” or “Turn Right”. Again this offloads all complex walking sequences from the Stamp.
The last component is the Basic Stamp and the BOE. The Stamp coordinates the sensor information and GaitPIC and basically controls the “mission” of this robot. In this case it’s to follow a person until its batteries are dead. The Stamp code is pretty simple and easy to modify and change the mission. An example of another mission might be to avoid people instead of following them. I know I have had this mission on occasion myself.
I’ve posted an action packed video (a 30 Meg QuickTime) on the CrustCrawler site. You can get to it from the following link.
share.crustcrawler.com/NorrisLabs/FollowMeHexCrawler/FollowMe.htm
Below are some pictures of my “Follow Me” HexCrawler.
The “Follow Me” HexCrawler is constructed from 3 major components. At the front is the Robot Sensor Array (RSA). It has 2 PIC microcontrollers. One processes the left/right IR proximity sensors while the other handles the Ping and the Thermal Array Sensor from Devantech. This array has 8 thermal sensors configured in a single row with an addition sensor for ambient temperature. The PIC reads these temperature values and performs the necessary signal processing. It can easily detect a person’s body heat. Its field of view is about 45 degrees. Also mounted on the RSA are 8 LEDs that indicate where the thermal sensor is registering heat. By using these two PICSs I’m able to offload all the sensor processing and provide a simple 4 wire interface to the Basic Stamp.
The second component is what I call a “GaitPIC”. It's another PIC microcontroller that performs all the servo sequencing for the 6 legs (12 servos) on the HexCrawler. It interfaces to the Parallax Servo Controller. The Basic Stamp talks to the GaitPIC with a simple serial protocol issuing commands like “Walk Forward” or “Turn Right”. Again this offloads all complex walking sequences from the Stamp.
The last component is the Basic Stamp and the BOE. The Stamp coordinates the sensor information and GaitPIC and basically controls the “mission” of this robot. In this case it’s to follow a person until its batteries are dead. The Stamp code is pretty simple and easy to modify and change the mission. An example of another mission might be to avoid people instead of following them. I know I have had this mission on occasion myself.
I’ve posted an action packed video (a 30 Meg QuickTime) on the CrustCrawler site. You can get to it from the following link.
share.crustcrawler.com/NorrisLabs/FollowMeHexCrawler/FollowMe.htm
Below are some pictures of my “Follow Me” HexCrawler.
Comments
·· This is worthy of the Completed Projects Forum.· If you would like it moved there, let me know.· Very nice!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
If you think this topic would be more appropriate in the Completed Projects Forum please move it. Since it was about robotics I posted it here.
Thanks,
Steve Norris
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
Is that as fast as is it can walk? I assumed (wrong I guess) that with todays high speed servos it could walk abit faster.
Your Bot is awsome by the way, props for the hard work.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
(Frequently heard from other's)
Tommy, I know it wasn't designed to·x, but can you make it·do x·anyway?
·
Steve Norris
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"When the government is afraid of the people there is liberty, when the people are afraid of the government, there is tryanny"
· Thomas Jefferson
·
Is this the heat sensor?
http://www.acroname.com/robotics/parts/R255-TPA81.html
Wire wrap, I love to see that Old School skills combined with high tech. is not lost.
Robbie
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PG
The Rover version of Steve's Crawler can be found here: http://www.norrislabs.com/Projects/FollowMeRov/index.html
I built a modified version of Steve's Rover in that I created a BS2p program that performed the same function as the PIC processor that Steve used in his project.
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!