IN PROGRESS: RoboServ - The Robot Waiter
NoBo780
Posts: 94
I am making a robot with a BS2e at its heart, and on a Boe-Bot chassis. It will go in on L-shaped course from my kitchen to my living room. I am going to be using a Emic text-to-speech module, a Ping))) sensor, and some IR sensors. When someone steps into its path, it will begin to slow. If they still don't move, it will stop, so they can remove their drink/snack, etc. If they stay in front of it for too long, it will politely excuse itself by saying, "excuse me" or "pardon me". Once the person has moved out of its way, it will continue on its pre-defined path. The problem is, after the person moves out of the way, it has to know how much farther to travel/how far it has gone in order to navigate properly (if it didn't know, then it would start the whole routine again, and end up going off course). Is there a way that I can program the BS2e with the PULSOUT and FOR commands, as well as a pulseCount variable (example: FOR pulseCount = 1 TO 100) so that it can know how many pulses it has gone, and how many more to go, OR how many more to go before turning and then going some more distance (for example)? I really don't want to do spending $40 more just for wheel decoders, or $70 for a GPS module just so it can navigate through my house.
UPDATE Oct. 10th:
Ok. So I ordered some hall effect sensors from Jameco Electronics, and some small neodymium magnets. But a question still remains: what about the 90-degree turn it has to take? How would I implement that into the code? If it were going in just a straight line, then I could just make a variable for the current RPM, and the total RPM and subtract the current from the total, and then execute that many turns. But what about when it is stopped before the turn....?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Giggly Googley!
Post Edited (NoBo780) : 10/10/2007 10:20:56 PM GMT
UPDATE Oct. 10th:
Ok. So I ordered some hall effect sensors from Jameco Electronics, and some small neodymium magnets. But a question still remains: what about the 90-degree turn it has to take? How would I implement that into the code? If it were going in just a straight line, then I could just make a variable for the current RPM, and the total RPM and subtract the current from the total, and then execute that many turns. But what about when it is stopped before the turn....?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Giggly Googley!
Post Edited (NoBo780) : 10/10/2007 10:20:56 PM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
There's nothing like a new idea and a warm soldering iron.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
A complex design is the sign of an inferior designer. - Jamie Hyneman, Myth Buster