Go Down

Topic: Robot follow person (Read 4124 times) previous topic - next topic

mahumada

Hi,

I wanted to know what is the best way to setup a robot to follow a person. This will some sort of autonomous bot that will have wheels and follow a person. What type of sensors would you recommend? A friend recommended a ultrasound transmitter, but i think that the bot will get confused if something were to cross its path and essentially loose the person. PLease lend your advise.

Thanks

zoomkat

You may want to search the old forum for golf caddie as there was some lengthy discussion there to make a golf bag caddie that followed the golfer around.
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

mahumada

I am reading over what that person did right now and it is some pretty intense coding. He used some type of GPS module for his. I was thinking something along the lines of mounting something on the person and having the robot follow that signal. I was thinking IR, but it seems to have a lot of noise.. Would i be able to get off with an IR transmitter and receiver? Is a GPS my best bet?

zoomkat

search the old forum for ir beacon.
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

AWOL

Quote
and it is some pretty intense coding

It's a suprisingly difficult problem.

Quote
Would i be able to get off with an IR transmitter and receiver?

Caution: scroll down to "Marathon Robot - October 1997"
http://www.theregister.co.uk/2000/07/04/home_truths_bionic_man_takes/
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

robtillaart

Quote
mounting something on the person and having the robot follow that

A serial cable ? ;) 

I would go for sound beacon, and let the robot do sweep scans with a microphone.
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

mahumada


Quote
and it is some pretty intense coding

It's a suprisingly difficult problem.

Quote
Would i be able to get off with an IR transmitter and receiver?

Caution: scroll down to "Marathon Robot - October 1997"
http://www.theregister.co.uk/2000/07/04/home_truths_bionic_man_takes/


Well what if i were to operate this thing only inside for the time being. Keep in mind that it would be a well lit room where sunlight could come in. Would the IR work?


Quote
mounting something on the person and having the robot follow that

A serial cable ? ;) 

I would go for sound beacon, and let the robot do sweep scans with a microphone.



Wouldn't this give a huge amount of noise to the receiver, given that this would be operated in a room where there may be people talking loudly?

zoomkat

Quote
Well what if i were to operate this thing only inside for the time being. Keep in mind that it would be a well lit room where sunlight could come in. Would the IR work?


You could start by testing with a simple IR receiver module like below using a TV IR remote control as the beacon. The IR signals are modulated at ~38khz, which makes them generally immune from normally occurring IR sources. I think I've seen the receiver modules on bots mounted on servos that panned left and right to find where the IR transmitter is located.

http://www.radioshack.com/product/index.jsp?productId=2049727
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

imgod22222

I've been considering a similar project. However, if you use anything IR-related, as soon as you go outside, you'll be bombarded with noise.

I have a few tests to do with a few sensors... not sure how it'll go (probably won't work) and I'll undoubtedly lose this thread when I do finish the tests. However, an IMU may be something worth looking into.

mahumada


Remember that after you solve the "BEARING" (which direction?) problem (IF you can solve it!), you then have the "RANGE" (how far?) problem which is even WORSE.  How does the robot know when to slow down or stop to avoid running over the person? These are far more difficult problems that you probably realize. People have been working on them for years.


good point. Ill try to see if i can work with the IR for now and see what i get. For the range, i was thinking an ultrasound, or if the IR reading receives a signal higher than a certain amount, which would be the case if it were right next to the person, then it would stop. Anybody have any other ideas i could use? im sure in the end it will not be as sophisticated as i want, given that i only have the semester to do it. But I will try! hahah

zoomkat

You could have two of the IR detectors on a bar on the servo like a pair of eyes. Put little blinder tubes on the detectors so they only see sraight ahead. Rotate the servo and when the first detector has a peak, record the servo position. When the second servo has a peak, use triangulation with the first servo position to calculate a distance.
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

jadkins

I am working on a sketch to have a robot follow me.  It uses a ping sensor. I decided against IR, since I wanted it to work outside as well as inside. My first test was to have the sensor look forward and follow me in a straight line until it gets within a specific distance and then it will stop. If I walk too close to the robot, it will back up. This works reasonably well. The problem I am having is when I rotate the sensor left, forward, and right to detect the closest object. The code is straight forward and should work, except it doesn't. Has anyone else tried this approach?

Jerry

tylernt


The problem I am having is when I rotate the sensor left, forward, and right to detect the closest object. The code is straight forward and should work, except it doesn't.
Post your code. I assume you are panning the ping sensor with a servo and storing an array of ping results in order left-to-right or right-to-left, then using the closest result to get a bearing on the human?

mirith

Keep in mind that if you block the source, your bounces will have the strongest signal.  I was debating a similar project because I'd love to have my luggage follow me on its own, but I couldn't work out how to judge distance either.  And GPS don't work inside.

jadkins

I have changed the code to take several reading from the servo driven ping sensor sweep. I capture the readings into an array.  I then use a function that returns the reading that represents the closest object in inches. Now, I have to figure out how to use the reading to make precise turns with DC motors. If it were continuous rotation servos driving the wheels, it would probably be easier, but with DC motors, even a variation of the batteries driving the DC motors will make a difference in the turn. I am using the vehicle in this YouTube tutorial, which is using an obstacle avoidance sketch.

http://www.youtube.com/watch?v=dKHN3Ue4K1I

Go Up