Expert advice needed!!!

Hi everyone,
Our team got a project to build a robot for a museum as a fundraising project. Basically there are pictures on the walls around a rectangular room. First of all, the robot is supposed to recognize is a person is within 5-10 feet of it, and greet it (with an audio recording). Next, it is supposed to go around the room, stop at each picture, and explain a little about it (again, pre-recorded audio tracks). After going around the room, it is then supposed to come back to its original position. Oh, and by the way, I am planning to use the EDU robot controller for this.
There are a few things that I would like to get expert opinions on.

  1. The robot has to be able to recognize a person within 5-10 ft. of it. What can I use to do that. If there is a product I can buy, I’ll appreciate if you can tell me which company makes it or from where I can buy it.

  2. The robot has to stay abt. 10 ft. from the wall. What is the BEST way of navigation. The avg. speed of this robot will be abt 4 ft./sec. I could do line folowing, but rather not. This robot has to run abt. 10 hrs. a day, 5 days a week. What can I use for navigation which will minimize error, and to make the robot go and stop right next to the picture every time?

  3. The robot has to have about 20 different audio recordings on it, all of which need to be easy to re-record. I could use an MP3 player, and have a mechanism hit the NEXT button every time we need to change the track, but that is not very reliable. Can anyone suggest something that is more electrical than mechanical, and that can be controlled with the EDU controller.

    We have to make this robot in about 3-4 weeks. I’ll really appreciate if you can give me details on how to solve any of the three problems we have to solve for this robot.

Thanks,

I don’t think I can help you with everything, but…

You might be able to do something with an outdoor floodlamp sensor, or a security system motion detector. Both should be available at places like Home Depot.

  1. The robot has to stay abt. 10 ft. from the wall. What is the BEST way of navigation. The avg. speed of this robot will be abt 4 ft./sec. I could do line folowing, but rather not. This robot has to run abt. 10 hrs. a day, 5 days a week. What can I use for navigation which will minimize error, and to make the robot go and stop right next to the picture every time?

Line following sounds like a good idea to me for this application. You could try IR beacon tracking, or laser/ultrasonic rangefinding. Placing retroreflective targets on the wall under each picture would give you a good way of recognizing when you’re at the right spot.

There are chips that do what you want. QuikVoice Chips is one.

If I were you, i would definately put a little track in the ground, and have that direct the robot. Then just have the robot powered for a bit, use an ir sensor or whatever to show it when to stop at a picture, and thats it.

I guess that I’d just like to say a few things about the this project… not to stand up and say, “this is impossible for you guys!” but just as a tiny warning… this application is very different from a FIRST robotics project.

I would say, without a doubt, that your biggest problem is going to be repeatability. 10 hours a day is about 10 times more running time (consecutively) than a standard FIRST robot has in its entire competitive life cycle.

As a heads up, here some things that you’re going to need to look into, which are a lot different from FIRST robotics:

Motors: You’re going to need to aquire some near industrial grade motors that can work continuously. I’d shy away from using any of the motors that FIRST gives you - I’d venture to say it would be very difficult to ensure that they can reliably run in this continuous application. Drills and chips get warm after a two minute (albeit full throttle) match. 10 hours of stop and go would probably be significantly more intense.

**Battery Power: **In short, I don’t think that you’d be able to run this on batteries for this long of a life cycle, which means that this guy may have to be teathered… I don’t know how much maintaince you’d be able to provide for the robot while it’s on display, but I’d imagine you’d be darn close to dead after a half hour while powering the speakers, motors, CPU. You may want to make this your number one priority in further research… is it even possible to run a robot for this long on batteries, and what kind of maintaince will be required? Even having 4 or 6 batteries… I’d be tempted to say that it might not be able to go all day. I may be wrong, but I think power management will be key for this application.

**Repeatability: **I’d venture to say that even the best autonomous programs in FIRST robotics wouldn’t be remotely repeatable after 10 hours. 10 hours is 2400 times longer than the autonoumous programs that a FIRST robot uses. To put this in perspective, a robot that’s off by 1" of an inch in an autonmous program that lasts 15 seconds could end up being 200 feet off by the end of the day (assuming continous motion). Assuming it’s only running for 5% of the time still puts it 10 feet off course.

I would definitely look into using a line tracking sort of method, because I think that’s the only way that you’ll be able to limit the perpetual error that will come out over so much use in other autonomous methods.

Overall, I think it’s great that you’re getting involved in your community like this, but I caution you to do a LOT of background research into this specific application. It’s definitely ambitious!

Good luck!

Matt

We have the robot and driving program fairly well figured out. We just need to figure out the sound system. I have heard of an MP3 player that is just a little circuit board that we can hook up to but I have never seen it. Does anyone know who makes it or where to find it? Or, we could just use a really small PC (like one designed for one rack space) and take out the power supply and replace it with one of those 12VDC in circuit boards to power it.

I’ll let you know how this thing goes once we get started on it.

use the concept of slot car racers, the power is gained through the tracks. have a “rail” system built into the floor, and have your robot run along those tracks, and have the wheels of the tracks be the conductors of the power for your motors. then everything else can be done

oh boy this is deffently dagerous waters that you are venturing into. this endevor is not impossable, but is defenetly a chalange. more so then a FIRST compition.

okay first of all, can you install any pasive/active guidence aids in the room. how bout infared beacons below each picture set to a diffrent frequency. or RFID tags on the ground at the foot of each painting. you could theoreticy navagate using sonar as long range and optical sensors as short range but that gets pretty prosseser intensive. wire in the floor with a hall-effect sensor would be effective to some degree, at least in stoping the robot from bariling into the walls.

there are many ways a robot can recognize people. i am not sure which one you are looking to persu. if there are many moving objects in a room and you need to distinguish people from them, you need a much higher level of complexity then if you assume all moving objects are people and you start talking to a dog or whatever. also, do you have to track the people? do the people follow the robot or does the robot follow the people. what if the people are un intrested; does the robot continue its pre-definded shpell till its done or does it stop when the people leave. the former is a lot less complcated then the latter, as the later requires full invirmental awarness, which tho not inpossable, is awfly hard to program.

anyway for detecting people you can use (1) sound (2) light.
(1)there are many ways of doing both. the most simple is to have a single microphone hooked up to a comparitor, and fix a bell or something on the door. when someone enters, it starts the robot going thrugh its paces. more advance use of sound would be to have a passive sonar unit detect change in echo, indecating a change in enviroment and thus have the robot start.
and greet it (with an audio recording). Next, it is supposed to go around the room, stop at each picture, and explain a little about it (again, pre-recorded audio tracks). After going around the room, it is then supposed to come back to its original position. Oh, and by the way, I am planning to use the EDU robot controller for this.
(2)light is the most common means of detecting changes in inviroment, everything from a small pasive IR sensor (like you would have for a walkway light) to a camera with a full image prossesing cpu. im not even gonna start to get into the algorithoms required for full color image prossesing (BAD idea for a scince fair project - - i know from expearence), but ill tell you that there is a software package that includes a USB webcam that you plug into a laptop and that offers a GUI for customizing image driven robot navigation. it was on the back of Nuts And Volts a few months back ill see if i can dig it up.

this is gonna be the easent part of the whole thing. once a person is detected, and durring or after the go-to-person routine (if you have one) you play a message. there are HUNDRADS of audio recording chips avaliable, with a large arangemnet of diffrent features. some can be loaded with MP3 or WAV files and some you have to record with a microphone on the board. Parallex ( http://www.parallax.com/html_pages/products/audiovisual/audio_visual.asp ) sells a basic microprossesr friendly one if your just a begener. if you wana go deeper, check out digikey ( www.digikey.com ) for a large selection of recordign chips and associated parafanalia.

also a tip: even if you have your audio recorded, your gonna need an amp and speakrs to play it. just remember that.

as i said before, there are many ways of doing this. if you had >3 beacons of IR, UV, RF, etc, placed at known postions around the room, you could triangulate your postition using basic trig. if the room was big enught, you might want to look into GPS, global posting system, recever, which can output serial data which is pretty easy for a microcomputer to read. if you had a rough idea of where you are going, you might wana try ultrasonic obsical avoidence. your gonna need it anyway so that you dont run anyone over. besides ultrasonic, theres also IR and bumper switch, but i would sugest ultrasonic because of the scale involved. unless of course you wanted to use passive radar… anyway there are 2 elements to this problem. first you have to find your way around the room, stoping at each picture… then you have to not hit anyone.

the first is simple enugh, you could use a track, reflectors on the floor, a painted line, reflectors on the walls, or a IFM acccleromitor with one hellof a algrotiom. i would not sugest dead recogning because of the problem that was pointed out eariler:

also dead recoging is just plain not fun.

to avoid not hitting anyone, i would deffently suggest ultrasonics. if you can not find anything, the best pic-friendly ultrasonic board is from Devantech ( Parallax Inc | Equip Your Genius® ) and it 30 bucks. you would need 8 for reasonable accurcy, mabybe 16.

as for staying away from the wall, you can also use the ultra sonics for this. you basicly write the algorithom so that it doenst run into anything, be it person, wall, expensive statue, dog, etc. there are many papers books, etc on writing ultrasonics algorithoms.

now this is a BAD idea. first of all, the innovation first edu robot controler is an underpowerd over modulerized P.O.S (no offence to all of you at first, i understand that it is hard work keeping this compititon fair). when you are not restrected to using standerized parts, EXPAND. buy a pic programer and burn a 16f84 for goodness sakes. or a BS2 from parallax agein. or ANYTHING else. but you dont wana use the edu controloer. theres 8 outputs and 6 inturpts. the smallest pic you can buy for an equilivent price has 42 outputs, and 16 intrutpts. if you are scard to move away from FIRST techonlogy you should not be attempting this project. because FIRST parts are not the answer to life.

the last point i wana make is that batterys dont last forever. if you dont want to have a 40 foot extention cord trailing the robot, your going to need some sort of automatic charging station. this could be a small box in the corner of the room under one beacon. but it is a nessesety unless you feel like changing the battery 8 or 9 times a day. if a 20AH 12 v battery lasted thrugh 2 tours, id be impressed.

EDIT: the best of luck to you on your endevor. i hope you can find my advice usefull

Wow. This is quite the endevor!

Technical limitations of the Edu controller aside, I think a big issue will be recongnizing humans.

I remeber reading a book called ‘Flesh and machine’ a year or two back. It was written by a MIT prof. In a small section of the book, a few of his students made a small 'bot in the 80’s (I think) that would give tours of the MIT robotics lab. It would just roam around the halls untill it ‘saw’ a human. There, it would pause a foot or so in front of the human, and wait till it moved. If the person didn’t move, the 'bot assumed that the person wanted a tour, and took off on a preprogrammed route, along with a taped voice over.

I don’t remeber there being much technical detail in the book, but it might be worth looking into. From what I remeber, that 'bot used IR sensors that could detect the heat off a human. By looking at just the right tempiture range, they avoided the 'bot trying to give heat vents tours or the like. Might be worth researching that. I’m sure prices and capabitlys of IR sensors are better then in the 80s.

Like Matt said, Battery power will be key here. You may need to devolp some kind of ‘charging’ station that the 'bot can find it’s way to when the batterys are low.

-Andy A.

ok just glancing over this, but I’m reccomending a track system. line following is good an all, but if the tracker fails then there could be a runnaway robot loose in a museum. also a runnaway poses a risk to the people, and could cause some bad publicity if say, it ran down an old lady, or destroyed some art. also it needs to be more robust than normal, since it could be tampered with, you might consider enclosing the robot in lexan with a lock over the opening, and leaving a big red off button on top in case it does haywire.

lol im complaining about a 2 page macbeth essay. lol but i write this with out a second thought. hmm…

ahahah i think you’ve gotten yourself into some deep $@#$@#$@#$@#

Good ideas. Put the button high enough it can’t be pressed by just kids. This is super adventurous. It has to be professional. If not it will definitely look down on your team. And don’t forget to put some type of face so they will get the whole tour affect. Also more important than anything is it has to be super durable, robust and safety is the most important thing. You’re not going to be able to hand everyone a pair of safety glasses when they walk in.

This seems like a really really unique project, I think it would be tons of fun to work on. I am gonna toss in my two cents here, and hopefully it will be of some help.

This is how I would select a plan of attack for this problem. Use rotary encoders on your drive wheels or whatnot, this will account for the lateral distance you travel. Then, use a gyro-chip to account for turning and what not. If you couple these things together, you can maneuver around in an autonomous fashion very well. Basically, you will account for any error using these sensors. For example drift and whatnot, you can have the software tell the robot to get back on path. I think this would also be a neat way to do your error fixing. Place an IR Sensors on a sweeping turrett which rotates a certain angle amount. Then, what you can do is put IR Beacons near the pictures and around the room. Then, when the robot jumps off the path, it’ll get the IR signal and you can use that to put the robot back on track. I think that is a neat and good way to do things for this part of the task.

The first thing you need to do it get in touch with Sabastian Thrun in the Computer Science Department at Stanford University IMMEDIATELY! While he was still at Carnegie Mellon University, he built a system to do this exact activity. Minerva has been used as a tour guide at the Carnegie Science Museum, and the Smithsoniam Museum of Natural History. Even if you don’t listen to anything from anyone else, call Sebastian and listen to everything he has to say.

-dave

One thing that broadcast pros have been using for years is cue tones recorded with the audio. I would record the descriptive audio tracks on a CD, add a defined length of silence between tracks, left channel only. Record the cue tones on right channel only. (Feed left channel to a speaker and right channel to the decoder.) The tone would signal the robot to move to the next position and the silence would give it time to get there. The tones are easily decoded with a PLL decoder chip and a few external components. 1kHz tones work fine. (NE567 is available from Digikey or Radioshack) You can use a cassette tape player which makes things easier but the audio degrades over time.

I read this thread along time ago and thought i posted to it but i guess not…

I’m on a DARPA grand challenge team at RIT and we got some software donated that might make this project a lot easier for you. It is from evolution robotics and basically it is high tech vision processing software. Now there are a lot of applications built into this software here are some i think you could use.

*planned and repeatable navigational tracks using virtual markers on walls and distinguishing points to give location

*Image memory. take a picture of a persons face for instance and then when it it is running if the web cam shows that person in real-time it will be able to identify them

*runs on a laptop 128 mb 433 <—cheap

*easy integration with many different sensors and interfaces

the software is a little high in cost but we got it donated just by asking in an e-mail. I think there is a demo version on their website. and even if you don’t use this software for this it is really fun to have your web cam identify you when you turn it on. Available in Linux and windows

http://www.evolution.com/

Hope this helps good luck with your project and let us know how it goes