Society of Robots - Robot Forum

General Misc => Misc => Topic started by: radhoo on April 03, 2013, 02:56:54 PM

Title: make a robot follow you
Post by: radhoo on April 03, 2013, 02:56:54 PM
Guys, I've seen a couple of old posts on this, but no good idea so far. So here is this question again: how to make a robot follow you?

It's for this project: http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/ (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/)

I won't be able to use GPS because of the errors, so I'm considering using an ultrasound/infrared portable beacon (in user's hand), and the robot to detect and follow that.

What do you think?
Title: Re: make a robot follow you
Post by: radhoo on April 03, 2013, 03:35:05 PM
Here's the robot:
(http://www.pocketmagic.net/wp-content/uploads/2013/02/android-robot-2.jpg)

And here is a demo video, showing a software for Android OS that I wrote, used to control the robot in real time via BLuetooth and a UART Bluetooth Module mounted on the robot:
Android OS Controlled Rover Robot (http://www.youtube.com/watch?v=R6vbkIuUhjs#ws)
Title: Re: make a robot follow you
Post by: radhoo on April 04, 2013, 09:51:11 AM
Something like this would work:
Ultrasonic Source Localization - Following Robots (http://www.youtube.com/watch?v=hoFE8agdgtc#)

Any ideas on how this actually works/?
Title: Re: make a robot follow you
Post by: radhoo on April 05, 2013, 10:57:34 AM
no ideas at all?  :( anyone?
Title: Re: make a robot follow you
Post by: jwatte on April 06, 2013, 11:00:20 AM
I think an IR beacon could work fine; especially if you modulate it with some signal/pattern that makes it easy to separate from random environment noise.
Title: Re: make a robot follow you
Post by: radhoo on April 07, 2013, 12:06:05 PM
Unfortunately it doesn't or at least I wasn't able to overcome one major problem: the IR light gets reflected, and instead of detecting my position, the robot will head for a wall...

On the other hand I was able to make some progress on the Ultrasound approach:
Ultrasonic Barrier circuit (http://www.youtube.com/watch?v=Vg7-wyq0DtQ#ws)

(Schematics are here: http://www.pocketmagic.net/2013/04/detecting-an-ultrasonic-beacon (http://www.pocketmagic.net/2013/04/detecting-an-ultrasonic-beacon) )

This has a nice range (up to 4 meters) and the output signal variates with distance. So not only that I am able to detect the beacon, but I also can estimate the distance to it. However getting this to a reliable method is not an easy path. There are some drawbacks here also, most annoying one is that motors also make ultrasonic sounds... creating a high amount of noise.

Still open to any suggestions..
Title: Re: make a robot follow you
Post by: jwatte on April 07, 2013, 03:45:29 PM
Sound also reflects off walls and other objects. Also, ultrasonic sensors may be much less reliable (and have lower range) when you're outside, especially if it's windy.

If you have problems with wall reflections for IR, then the next step might be to use a camera and some image recognition code. For example, you could make a bright yellow ball of a known diameter and put it on top of the other device. The camera can scan for this object, and when it sees it, calculate the angle, as well as approximate the distance by measuring the size. This can be a very robust solution, but costs more both in dollars and compute power. (Not doable on an Arduino by itself.)
Title: Re: make a robot follow you
Post by: SushiKitten on April 09, 2013, 09:12:15 AM
I managed to get a robot to follow my hand by using SHARP IR sensors. The algorithm went something along the lines of if the sensor readings are too low, go forward. I was only able to get the robot to follow forward, but with another robot that had six or seven sensors at different angles, I could get it to follow my hand along turns as well. Not sure how well it would work for following another robot.
Title: Re: make a robot follow you
Post by: radhoo on April 09, 2013, 10:39:48 AM
Hi Sushi, unfortunately that can't be adapted to a case where the user walks and the robots needs to "walk" along.

However, I made some excellent progress today, and I am closer to achieving this project's goal. Here's a demo vid:
Ultrasound guided human following robot (http://www.youtube.com/watch?v=9d8HmCxB158#ws)

Details on the construction and the algorithm are posted in the construction log, here:
http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130409 (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130409)

Now I'm building three additional ultrasonic sensor boards, to fix some of the current issues.  8)
Title: Re: make a robot follow you
Post by: newInRobotics on April 09, 2013, 10:51:02 AM
Well done. Looks really good  :)
Title: Re: make a robot follow you
Post by: radhoo on April 09, 2013, 11:14:50 AM
Wait until I add those 3 extra sensors!! I plan to make a video outside..
Title: Re: make a robot follow you
Post by: jlizotte on April 09, 2013, 12:16:42 PM
wow. Nicely done!
Title: Re: make a robot follow you
Post by: radhoo on April 27, 2013, 10:31:49 AM
HEre are the other 3 ultrasonic sensors, some plastic enclosures I built for them (out of PVC pipes), white leds as frontal lights, back red positioning lights, and some pics with the final setup:
(http://www.pocketmagic.net/wp-content/uploads/2013/02/ultrasonic_detectors_2-150x150.jpg) (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130410)(http://www.pocketmagic.net/wp-content/uploads/2013/02/ultrasonic_enclosure_1-150x150.jpg) (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130410)(http://www.pocketmagic.net/wp-content/uploads/2013/02/ultrasonic_enclosure_4-150x150.jpg) (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130410)(http://www.pocketmagic.net/wp-content/uploads/2013/02/robot_cool_1-150x150.jpg) (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130410)(http://www.pocketmagic.net/wp-content/uploads/2013/02/robot_cool_2-150x150.jpg) (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130410)(http://www.pocketmagic.net/wp-content/uploads/2013/02/robot_cool_3-150x150.jpg) (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130410)(http://www.pocketmagic.net/wp-content/uploads/2013/02/robot_cool_4-150x150.jpg) (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130410)(http://www.pocketmagic.net/wp-content/uploads/2013/02/robot_cool_5-150x150.jpg) (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130410)
Title: Re: make a robot follow you
Post by: radhoo on May 03, 2013, 05:30:15 AM
I finally completed this project! Demo videos below:

Last thing to build was the Ultrasonic beacon , that the user needs to hold in his/her hands - quite comfortable, it is the size of a TV remote. It is also my first SMD PCB, and can say it was a lot of fun to build. Details , pics, eagle files, here: http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130501 (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2/#130501)

And here are two demo videos, showing the robot outdoors:
Robot Dog following me -2- (http://www.youtube.com/watch?v=ECS1E6e6xes#ws)

Robot Dog following me -1- (http://www.youtube.com/watch?v=omh-m_DDcfw#ws)

With this , the project comes to an end, and my work is complete.
Title: Re: make a robot follow you
Post by: jlizotte on May 03, 2013, 09:42:38 AM
Really well done! You should be proud!
Title: Re: make a robot follow you
Post by: obiwanjacobi on May 03, 2013, 10:43:31 AM
With this , the project comes to an end, and my work is complete.

Well, you could try to make the motion a little more fluent...?
And not stop dead in its tracks when it looses its signal for a little while...?

Anyway, excellent work.
Title: Re: make a robot follow you
Post by: radhoo on May 23, 2013, 12:36:03 PM
As a convinced perfectionist with all that I build, I couldn't stay away and had to make this robot even better, also thanks to the nice feedback I've received. So I did two things:
1) For the autonomous, human following software: I improved the ultrasonic detection algorithm, and the movement logic: Now the robot will follow its user more precisely, and the speed will vary with the detected signal: if the robots sees the user at a greater distance, will engage with a greater speed. If closer to the user, will proceed with smaller steps. The calculations are not linear, so I used some time to get the best formula. In the end I'm quite pleased, we can see some nice improvements when compared to previous two videos:
Robot Dog following me -3- (http://www.youtube.com/watch?v=UuYxDldQtn4#ws)
Robot Dog following me -4- (http://www.youtube.com/watch?v=J-oJVs9jrak#ws)

2) For the remote control software, where the user controls the robot using a phone, I had the idea to make the rover report its frontal sensor readings (that show the proximity in centimeters to any detected obstacle), to the smartphone. So the movement commands from phone to robot, and the sensor readings go the opposite way, from robot to phone. The Android software now allows the user to turn the lights on and off, and using the frontal distance sensor, I have drawn a red line showing the proximity to an obstacle. The robot can be controlled this way, without actually seeing what it is heading for, this radar will be enough to get a clean path. Here is another demo:
Android Controlled Rover Robot -2- (http://www.youtube.com/watch?v=1ZRPEJxP-IY#ws)

Complete story, and more build details have been posted here: http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2 (http://www.pocketmagic.net/2013/02/android-controlled-robot-part-2)
Title: Re: make a robot follow you
Post by: radhoo on May 29, 2013, 06:05:59 AM
This project has been featured on Hack A Day:
http://hackaday.com/2013/05/28/wireless-rover-with-android-control/ (http://hackaday.com/2013/05/28/wireless-rover-with-android-control/)

This is my third project that gets there, after my capacitor discharge soldering tool ( http://www.pocketmagic.net/2012/07/capacitor-discharge-microspot-welder-cutter/ (http://www.pocketmagic.net/2012/07/capacitor-discharge-microspot-welder-cutter/) ) and my Gamma radiation monitoring station - uRADMonitor ( http://uradmonitor.pocketmagic.net/ (http://uradmonitor.pocketmagic.net/) )

 8)
Title: Re: make a robot follow you
Post by: idee17 on May 29, 2013, 08:17:17 AM
Very nice project, well done.  :)