Shop OBEX P1 Docs P2 Docs Learn Events
Person Following Bot — Parallax Forums

Person Following Bot

crgwbrcrgwbr Posts: 614
edited 2006-11-20 19:10 in Robotics
Hey Everyone,
My father want to create a bot that follows a person around, carrying tools or somthing, for when he's working in our shop.· I was thinking that the best way to do this would be to use an ultra sonic transducer on the pers, with the bot following that sound, but he wants to use a radio tramsmitter, so we can get greater range.· Which is the best way (other seggestions are welcome).


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
NerdMaster
For
Life

Comments

  • allanlane5allanlane5 Posts: 3,815
    edited 2006-09-29 18:09
    The problem is, how does the bot tell the difference from your father (to be followed) and any other obstacle (to be avoided).

    You might put an IR 'beacon' on your father (maybe a name-tag) that the 'bot' would 'home' in on. This would require giving the 'bot' some way of determining the bearing to the IR-Beacon, so it could go that way.

    Any solution will require the robot being able to maintain a bearing on the person in some fashion.
  • SzarzynskiSzarzynski Posts: 16
    edited 2006-09-29 19:05
    I worked on this problem, and I dont think that there is a ready-made solution for you.· At least I couldnt find one or figure out how to do it without spending a lot of money.· The first big problem I ran into was distinguishing an eho/reflection from the source.· I decided that I needed some other external reference - instead of the robot following a signal emmitted from the person, I needed a system that could give me the robot's position and the person's position.· Then I could make the robot move towards the person using that data.· The first idea I thought of was a web of RFID labels on the floor, and readers on the bot and the person.· Each RFID label is unique so that it corresponds to a specific location.· Then, when the person passes over an RFID label, the person sends out a signal that corresponds to the specific location of that particular label.· You can use your·RF transmitter to do that.· Then/Meanwhile the robot auto-roams until it finds an RFID label with a specific location.· Once the robot finds a label, and it receives·the position·signal from the person, it·can create a vector and·use it to navigate to the person.

    Wow, I didnt mean to type that much.· The reason I liked RFID is that it's pretty cheap compared to the other options out there.· I just googled RFID, Robot and Position and got a lot of results that use the same idea I am talking about.

    Here is a link to another idea:

    http://cricket.csail.mit.edu/
  • crgwbrcrgwbr Posts: 614
    edited 2006-09-29 19:53
    I guess I didn' really explain this right. I want to put an ultrasonic emitter on a persons back emitting a constant freqency. The bot has a turret on it that spins, listening for that tone. It takes volume readings for every angle, determens the angle at which the sound was loudest, and goes that direction. I am almost certain that this will work, I just want to make absolute sure of it.· Also, it will be out side half the time, so that rules out wall mounted items.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    NerdMaster
    For
    Life
  • FranklinFranklin Posts: 4,747
    edited 2006-09-29 20:52
    The only way to make "absolutely sure" it will work is to build it and find out. Remember, nothing is absolute even a vacuum.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • AImanAIman Posts: 531
    edited 2006-10-05 17:44
    If you have a transmitter then all you need is code something like this -

    If sound is at max then target that sound
    ' meaning if the rcvr gets the strongest signal in a postion
    If sound goes away move forward
    If sound goes left go left
    if sound does right go right

    If memory serves one of the Boe Bot programs centers on finding an object and centering on it. Maybe the Parallax guys could help you out. I don't know if the code is available but there is a video of it. If you can't find it email Parallax and ask.
  • crgwbrcrgwbr Posts: 614
    edited 2006-10-05 19:09
    Thanks, this project has been put on hold for a little while, but when I get back around to it, I'll try that.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    NerdMaster
    For
    Life
  • HavoKaneHavoKane Posts: 109
    edited 2006-10-05 20:50
    i would use the cmu cam and just make it follow anything that moves a certain amount, or make it follow something that is blaze-orange and have your dad wear a blaze-orange hat or something.
  • AImanAIman Posts: 531
    edited 2006-10-13 20:43
    Quick FYI - why not get a thermal sensor?
  • Vern GranerVern Graner Posts: 337
    edited 2006-10-13 22:04
    crgwbr said...
    I guess I didn' really explain this right. I want to put an ultrasonic emitter on a persons back emitting a constant freqency. The bot has a turret on it that spins, listening for that tone. It takes volume readings for every angle, determens the angle at which the sound was loudest, and goes that direction. I am almost certain that this will work, I just want to make absolute sure of it. Also, it will be out side half the time, so that rules out wall mounted items.

    Scenario 1:

    You move from point A to point B:

    A
    >B

    In the process, you step around a small table that is between point A and point B:

    A----<T>
    B

    The robot that was with you at point "A", tries to go straight towards your new destination, runs into the table and spills your beer. You become sad. shakehead.gif

    Scenario 2:

    You move from point A to point B:

    A
    >B

    Unfortunately for the robot, point B is at the bottom of a flight of stairs:

    A-- |
    |
    |
    | -->B <crash! thud!>

    The robot meets an untimely demise for simply doing what it was programmed to do.. Again, you become sad. cry.gif

    Lesson: "Almost certain" is not equal to "tested in multiple scenarios and proven". I would suggest you run a *small* scale test of your plans using a boe-bot and and test your theories (before you give a robot that has enough strength to move a bucket full of heavy tools free run of the garage). wink.gif

    This can be a fun and fascinating adventure. You'll discover things you did not know and you will gain insight at the same time. There's no replacement for real-world experimentation. Try it and have fun! smile.gif

    Vern

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Vern Graner CNE/CNA/SSE    | "If the network is down, then you're
    Senior Systems Engineer    | obviously incompetent so why are we
    Texas Information Services | paying you? Of course,if the network
    http://www.txis.com        | is up, then we obviously don't need
    Austin Office 512 328-8947 | you, so why are we paying you?" ©VLG
    
    

    Post Edited (Vern) : 10/15/2006 5:16:37 PM GMT
  • crgwbrcrgwbr Posts: 614
    edited 2006-10-13 22:23
    Vern, the robot would have more sensors than just the thermal sensor or CMU cam. I've had enough experience with large (150-200 lbs) bots to know that you need obstical advoidence and drop off sensors, along with numerous other things. Thanks for thinking of the other possiblites anyway though.

    P.S. AIman, thermal sensor; good idea. Thanks

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    NerdMaster
    For
    Life
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-10-13 22:37
    Vern,
    ·
    ·· I found your robot following scenarios both informative and humorous.· But I wanted to add something…I used to have a puppy that would follow me everywhere.· When I would go over the ‘puppy gate’ or up/down the stairs the puppy would stop and whine since she couldn’t follow me.· I later applied that to a following BOE-Bot.· If at any point it stopped due to what it perceived to be me stopping it would whine.· This could be applied to the previous scenarios in that if the Bot is in the process of following and comes across an obstacle or ceases motion it could play some tones or beeps to get attention.· Take care.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
  • Mr. RichardMr. Richard Posts: 51
    edited 2006-10-21 12:08
    could you use two gps units? one on a belt to tell the bot where to go and one on the bot to tell where it is? you would still need all the self-preservation sensors.
  • Mag748Mag748 Posts: 268
    edited 2006-11-05 23:46
    This is a cool topic.

    Method One: some kind of ping sensor, either ultrasonic, or laser.
    But that too directional.

    Method Two: have an omni-directional audio source as the transmitter and have a microphone of some sort on the receiver. Then, by taking measurements of the amplitude of the received signal, you can estimate the distance, and find out if the distance is growing or shrinking.
    This can probably be done with another kind of wireless signal, but I do not know much about wireless communication.

    The second method can be modified to include more than one microphone on the receiver, so that the amplitudes can be compared all at once and a vector can be determined.

    This method would not require a rotating turret which is nice.

    The robot can just maneuver itself around, trying to keep the amplitude at its maximum. (While using other sensor to worry about actually hitting things).

    I just thought of this idea now, so there may be some flaws. Hope it helps though

    -Marcus

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • WhelzornWhelzorn Posts: 256
    edited 2006-11-10 05:10
    I have thought on this topic a lot. There are several things that have kept me from actually going ahead and trying it though. First off, before you even start this project, you must decide how the robot needs to keep track of the person being followed. You have three basic options here:

    first, put some sort of beacon on the person. This would make it easy for the robot to know what it's supposed to look at. If this is the approach you want to take, I would suggest two beacons, one that is LOS only, and one that can be detected through objects. This way, if the robot can see the person, then travel straight. If it can't, then it knows the direction it needs to move in, but it also knows there is an obstruction in that direction, and it needs to move around it until it can see the LOS beacon again.

    Second, everything is on the bot. This would probably require expensive sensors like a Thermopile array, camera, rangefinder, etc. I would prefer this method to anything, because I like the idea of a robot being independent, but I think the cost outweighs the coolness factor.

    Third, this is probably the most precise and reliable method, but it could get complicated/expensive. The idea would be to have a relatively high res. camera fixed to the center of the ceiling so that it can see the whole room. That camera interfaces with a computer running some sort of machine vision software, such as the free RoboRealm. This computer would then have a wireless connection to the robot, which would tell it where to go, how to avoid objects, etc. The robot would need absolutely no sensors in this case, and would effectively know the map of the whole room at any time, even if furniture is moved around, etc.

    Anyway, I've always wanted to try this out, but I start thinking and get overwhelmed with the options and complexity. Hopefully someone figures it out though, because I would sure love to see it.

    Post Edited (Whelzorn) : 11/10/2006 5:17:44 AM GMT
  • Tom WalkerTom Walker Posts: 509
    edited 2006-11-10 13:55
    I don't know if this will lead in any useful direction, becaue I have not researched it myself,...but I saw the tail end of a commercial last night for a toy advertised at Toys-R-Us in the "Bob the Builder" line. One of its advertised abilities is a "follow me" mode that shows a youngster walking around carrying the remote (NOT actively controlling the toy) and the toy following said child. I have no idea of the mechanism or its capabilitites, but there may be some inspiration to be had.

    All trademarks are the propertiy of their respective owners.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Truly Understand the Fundamentals and the Path will be so much easier...
  • crgwbrcrgwbr Posts: 614
    edited 2006-11-10 23:12
    It's probalble a directional radio or something; interesting Idea, but theres no way I I'm going to walk into Toy R Us and buy a bob the builder toy (there are some hot babes that work in the Toy R Us close to me). May be I'll drive to the far one.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    NerdMaster
    For
    Life
  • ZootZoot Posts: 2,227
    edited 2006-11-10 23:31
    Have you checked out Mr. Norris' project? He's using a thermal sensing array to vector towards a living thing:

    http://forums.parallax.com/showthread.php?p=615077

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    When the going gets weird, the weird turn pro. -- HST
  • SpeakerSpeaker Posts: 34
    edited 2006-11-11 20:25
    re toy store dilema

    I just checked the datasheet for HotBabes.· You can go to the near store if you claim the toy is for a younger relative.· You will be considered sensitive, and the HB datasheet says that's a good thing.· Also helpfull is a sense of humor and a "bad" image.· Perhaps you could borrow a Harley and a leather jacket?
  • crgwbrcrgwbr Posts: 614
    edited 2006-11-12 18:58
    I should try that.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    NerdMaster
    For
    Life
  • Tommy BotTommy Bot Posts: 60
    edited 2006-11-12 23:44
    And for Pete's sake get rid of the tape on the glasses and the pocket protector!!!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    (Frequently heard from other's)

    Tommy, I know it wasn't designed to·x, but can you make it·do x·anyway?

    ·
  • LawsonLawson Posts: 870
    edited 2006-11-20 19:10
    Hm this sounds like a fun project. In addition to the help me i'm stuck whine, I'd think it'd be usefull to add a way to remote controll the bot from the user-tag. This'd allow the user to more easily move the bot if it is getting in the way. Also it would prevent the bot from running away when the user goes to grab a tool :P. I'd think that something as simple as a "stay" command a "come closer" command and a "go away" command would be enough.

    Instead of a spinning sensor, maby a tracking head would be better? This would give the robot a "face" and let some personality be added by putting some toy head on the tracking head.

    Best of luck,
    Marty Lawson
Sign In or Register to comment.