RoboStool - Follow-Me Furniture
In a continuing effort to create unique and unusual robots I just completed RoboStool – a robotic foot stool. Where would such an idea as a robot foot stool come from? I’m not really sure but one day while waiting for my wife to finish shopping in a Bed Bath and Beyond (and totally bored of course) I spied the ultimate in tacky furniture -a cubed shaped foot stool covered in the finest of brown vinyl. At that moment it occurred to me that this foot stool was just begging to be automated. And thus began the RoboStool project.
RoboStool has three missions (modes if you like). The simplest is remote control using my universal remote terminal. Using a pair of 912 Mhz transceivers the terminal sends commands to drive the robot forward, left, right, etc. A Ping measures distance in front to prevent the robot from crashing into walls. ·The second mode uses my beacon navigation system to guide the robot from point A to point B. This is the same system I’ve used in my Night Watchbot and Huey robots. The last is a “follow-me” mode that uses thermal sensing to track and follow a human target. ·This is the same technology that I used for my Follow-Me Rover and Huey robots.
You can watch a short demo video on YouTube at this link:
http://www.youtube.com/watch?v=lPnwycXY6lk
As with all my current robot projects I’m using the Parallax Propeller chip on a Proto Board. For the drive I’m using the new Parallax Motor Mount Kit and two HB-25 motor controllers. A third HB-25 is used to control the two ServoCity linear actuators which are used to raise and lower the body and lid.
I’ll be publishing the details of this project soon on my web site.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
Post Edited (norris56) : 7/28/2008 6:39:43 PM GMT
RoboStool has three missions (modes if you like). The simplest is remote control using my universal remote terminal. Using a pair of 912 Mhz transceivers the terminal sends commands to drive the robot forward, left, right, etc. A Ping measures distance in front to prevent the robot from crashing into walls. ·The second mode uses my beacon navigation system to guide the robot from point A to point B. This is the same system I’ve used in my Night Watchbot and Huey robots. The last is a “follow-me” mode that uses thermal sensing to track and follow a human target. ·This is the same technology that I used for my Follow-Me Rover and Huey robots.
You can watch a short demo video on YouTube at this link:
http://www.youtube.com/watch?v=lPnwycXY6lk
As with all my current robot projects I’m using the Parallax Propeller chip on a Proto Board. For the drive I’m using the new Parallax Motor Mount Kit and two HB-25 motor controllers. A third HB-25 is used to control the two ServoCity linear actuators which are used to raise and lower the body and lid.
I’ll be publishing the details of this project soon on my web site.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
Post Edited (norris56) : 7/28/2008 6:39:43 PM GMT
Comments
-Stephanie Lindsay
Editor, Parallax Inc.
Sounds like I need to get a beacon based nav system up and running. looks like it's useful for many robots.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"A complex design is the sign of an inferior designer." - Jamie Hyneman, Myth Buster
DGSwaner
Thanks DGSwaner, I'll be posting the code shortly to my web site. It's still a work in progress.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
What make/model are the actuators? How much were they? I have been looking for reasonably priced actuators for a few projects but don’t have a known good source.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
-Phil
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
'Still some PropSTICK Kit bare PCBs left!
I got the actuators from ServoCity and they come in lengths from 2" to 12". They all cost $99.
Here is the URL - http://www.servocity.com/html/12v_linear_actuators.html
They also make·servo versions (I have not tried them as yet) which cost $199.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
The automated fetching of beer is certainly one of man’s greatest technological quest. Hopefully in our life time we will see the realization of this dream. RoboStool is just a small step toward that ultimate goal.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
To support Follow-Me mode and improve RoboStool’s survivability in the home environment I added two Sharp GP2D12 infrared sensors which are used for proximity detection and an addition PING sensor. These sensors are mounted on the lower chassis and are exposed when the lid/body is raised.
To improve power management I installed a DPDT relay and driver circuit which allows the Propeller to power on or off all three HB-25’s and their associated motors. The motors are powered off when the robot is sitting and being used as a conventional foot stool.
I can control RoboStool (as well as my other robots like RoboCam) using my new universal RF terminal. It uses a Propeller (of course), a 4 line LCD, a 912 MHz transceiver and a 4x4 keyboard. There are also jacks for an external PS2 keyboard and TV monitor.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
http://www.youtube.com/watch?v=yF6ZL-WerYo
You can read the previous post to get the details. I have also posted the schematics and Spin source code to my web site.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
norris56
Where would such an idea as a robot foot stool come from? I’m not really sure but one day while waiting for my wife to finish shopping in a Bed Bath and Beyond (and totally bored of course) I spied the ultimate in tacky furniture -a cubed shaped foot stool covered in the finest of brown vinyl. At that moment it occurred to me that this foot stool was just begging to be automated. And thus began the RoboStool project.
A really GREAT project and a GREAT
Just what·I always wanted but was afraid to ask for·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
··Thanks for any··that you may have and all of your time finding them
·
·
·
·
Sam
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
The robot is not particularly unusual (maybe with the exception of the thermal tracking) but what makes it so fun is the fact it’s in a foot stool. My friends and family love to watch this bot drive around the house or follow them. The Parallax Motor Mount Kit really gives it a smooth and precise movement.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Getting started with a Propeller Protoboard?
Check out: Introduction to the Proboard & Propeller Cookbook 1.4
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
Got an SD card connected? - PropDOS
I want to be able to tell my bot to go to a specific room, once in the room seek out people. I was going to use encoders and mapping for this, but it seems that your footstool can do this quite well. before I converted my Ideal to this method I just wanted to get your thoughts on this. as far as getting from room to room, it's just a matter of setting up beacons in a chain, and telling it to go from beacon 1-2-3-4.... at least that's how I read it from your code.
on the video it looks like it functions quite well, but in your experience is this method accurate enough to consistently go from room to room with out some sort of calibration or redefining the bots current location? any do's and don'ts that you care to pass on do someone just starting this?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"A complex design is the sign of an inferior designer." - Jamie Hyneman, Myth Buster
DGSwaner
The robots themselves need proximity detectors (like a Ping and GP2D12's)·to correct for close calls with objects and will allow·the robot to travel close to walls but not crash into them.
A few restrictions:
The·beacons are good for distances of about 12-14 feet and of course need to be visible by the robot.
The robot uses a Ping to determine when its at the beacon (less than 12 inches). I've implemented code to ignore transient objects like a cat running across its path. There are probably better methods·(like an RFID tag) but this·works for my applications.
There always seem to be some object right where you want·to place a beacon. You may have to get a little creative in their placement. I've even placed them off the path and have them project the beacon light onto a wall. This works for short distances.
Hope this helps.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
Do your beacons each use the same frequency, or do they vary so the robot knows which beacon it is at? I saw someone alluding to this but there was no clear question or answer. If they’re the same frequency, how does the robot know if it needs to run left/right at a ‘T’ intersection?· BTW, love the addition of the Thermo-sensor.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
To solve the turn problem I have coded in a series of typical paths along with the·turns needed. I·have a few standard ones like a left or right "L", "U" and "Z" pattern. It's also easy to build custom paths by adding them to the DAT section of the mission code.
The "follow-me" mode using the thermal sensor is certainly the most fun. Its pretty goofy having a foot stool follow you around the house.
RoboStool hit the tech blogs big time last week (it started with Make Magazine's blog) with·over a hundred sites picking up on it.·It eventually ended up on a radio show broadcast (in English) by someone know as the Gadget Guru out of Geneva.
Here is the link.·Play the third part. They got the navigation stuff wrong (thinking it was GPS instead of IR beacon) but it was overall pretty accurate.
http://www.worldradio.ch/wrs/features/gadgetguru/gadget-guru-footstools-romance-and-wireless-hdtv.shtml?11303
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
Thanks for the reply…each time I see new and interesting things being done with robotics I try to find out as much as I can. I am hoping one of these days I’ll just have an epiphany and come up with something really good. Until then I am pondering the fusion of different types of sensors to get the best performance. So far you’ve done the most with the widest variety of sensors and interfaces for just doing it on a hobbyist level (non-competitive). It’s great to see you sharing your thoughts and ideas. I know they inspire others.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
ditto that.
Very cool stuff.
James
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"A complex design is the sign of an inferior designer." - Jamie Hyneman, Myth Buster
DGSwaner
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
··· I tried to implement your Robostool. I thought it is very funny and decided to build it.
The following code seems to be not working.
I tried to troubleshoot and simplified·your Mission.spin::Init as follows:
(The LED and speaker work fine.)
PUB Init
'
' Initialize
'
· ' Turn on LED
· dira[noparse][[/noparse]Pin_Led]~~
· outa[noparse][[/noparse]Pin_Led]~~
· ' Initialize speaker (uses 1 cog when producing sound)
· Speaker.Init(Pin_Speaker)
·
· ' LED off
· outa[noparse][[/noparse]Pin_Led]~
· Speaker.BeepDec(4)
· ConfigPings(Ping_Lower)
· 'Start the pin
· Drive.Start(Pin_Drive)
· iTst := 1
· Drive.SetSpeed(Drive#AllWheels, 12)···· ·' Speed does not seem to affect
··Drive.GoDistance(Drive#LeftWheel, 5)·· · ' Tried 1000, 100, 50, 5, -1000
· Drive.GoDistance(Drive#RightWheel, 2) · ' Ditto
··
·· outa[noparse][[/noparse]Pin_Led]~~
·· waitcnt(cnt + ((clkfreq / 1000) * 500))
·· outa[noparse][[/noparse]Pin_Led]~
·· Speaker.BeepDec(4)
·· Drive.Stop
' end
Both wheels rotate for a while and then stutter back and forth for about five times. Then stops for 5 or so seconds. Then stutter again followed by 5 or so seconds break in an infinite loop, until I powerdown the prop.
This goes on even when I activate only one wheel. Everything else in your code is the same.
FYI: I connected Prop's P1 to both position controllers with a Y (custom) cable. I can control individual wheels using the RfLink object in your Mission.spin. But above code is causing this problem.
What am I doing wrong??
You should not need a "Y"cable for the Position Controllers as they are designed to be connected together on a single serial line.
Also, you need to make sure that you have set the jumpers on each Postion Controller as to what number it is, like 1 (RightWheel) or 2 (LeftWheel). Don't forget that All Wheels is 0.
You might want to contact Steve Norris directly at Norris Labs.
Regards,
TCIII
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to send·a Robot·to save the world, you·better make sure it likes it the way it is!
·· Thanks for the reply. The·jumpers are all correct.·I did not see any logic behind Y vs. serial connection. It should work. I tried your way (serial conn) and it did not work. My wheels are still rocking. Any ideas?
·
The problem might be that Drive#AllWheels S/B just AllWheels, Drive#RightWheel S/B RightWheel, and Drive#LeftWheel S/B LeftWheel.
Just a thought.
Regards,
TCIII
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to send·a Robot·to save the world, you·better make sure it likes it the way it is!
Post Edited (Tom C) : 1/14/2009 5:48:23 PM GMT
· The problem is solved. Please see Kevin McCullogh's posting in http://forums.parallax.com/showthread.php?p=777216
In a nutshell, I followed the pictures circuits posted for Robostool and cross connected the power connections from motors to the HB25. This cross connection made the wheel to rotate reverse, and position controller automatically tried to resolve leading to wrong rotation again. So the correction process got into an infinite loop. Hope that explains my troubles.· Thanks to Kevin for explaining this.
The documentation for the wheel kit correctly mentioned the cable connections i.e. M1->Yellow and M2->Blue.
Steve (Norris), may I request you to correct the circuit connections, please?
Sincerely,
VG.
Here is a link to the video on the Make site:
http://blog.makezine.com/archive/2009/01/maker_channel_105_treadmill_bike_ro.html
You can also see it on YouTube at:
http://www.youtube.com/watch?v=DCgZdiN2sJE
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Steve Norris
www.norrislabs.com
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"When the government is afraid of the people there is liberty, when the people are afraid of the government, there is tryanny"
· Thomas Jefferson
·