View Full Version : My Robot Project
Jeff Terrell
01-24-2007, 11:08 AM
Hey guys,
My name is Jeff Terrell, I’ve been tinkering in Robotics for about 20 years. Not until recently with the advance and availability of many new technologies have I ever really consider being able to build a completely functional and useful robot. Working alone there are so many facets to building robots that it can quickly become overwhelming.
If there is anyone out there that might be willing to collaborate with me on this project please contact me! I'm currently working as a Clinical Analyst in a small hospital. :( I love Robotics! Have you ever wanted to have a real “Career” that you loved so much that it wasn’t a chore to wake up and go to work every morning? That’s my dream! :o
Attaching 2 pictures, sorry for the poor quality took them with my cell phone.
Here are some of my bots specs:
The body is constructed from dense PVC plastic.
The head moves 180 degrees left and right. Has blue neon flex strip under the heads edge, lights up 360 degrees. The mouth is a thin red LED strip under the eye panel and lights up with speech.
The section below the head (upper body form) also moves left and right 180 degrees. Movement is obtained from Giant Scale HiTech Servos in Servo Power Gearboxes from RoboZone.
Plan to attach manipulators to the upper body section, would like them to be housed internally and when need ejecting outwards
There is a Logitech Orbit webcam atop the head which has pan/tilt. Using RoboRealms Vision Software to do visual tracking. Would like to have a type of visual locolization and mapping. Also attempting to use Strabo Pathfinder from wehali.com for mapping with encoders and hopefully soon with IRs and sonar and visual imaging tools.
Plan to use the EZ1 Sonars and IRs with Phidget Interface modules.
The eyeplate is a stereo speaker module that connects to the mother boards sound card which utilizes AT&Ts Natural Language Text-to-Speech Engine.
The round front vent has a small computer fan inside.
The legs and feet contain gearhead motors and wheels. The feet have bumper contacts switches in them.
The Drive system is composed of 2 Devantech MD03 H-Bridges and a Nubotics motor controller with US Digital Quad Encoders. The Motors connect to the wheels via timing gear and belt assembly.
Computer is a Biostar micro ATX Mother Board with an AMD Athlon 4600 64x2 Processor
Has 160g Sata HD and 2g of DDR2 Ram
Power Supply is a M2-ATX from Mini-Box.
The Computer has a pull out drawer in the back for easy access.
The Battery is a 24 volt system with 12volt tap and fuse blocks for 12v and 24v connections.
Well, thats about all I can think of at the moment. Robotics seems to be an ever growing thing, something that you probably never finish but is really fun trying!
I would like to prototype a basebot and then maybe make a few more maybe in different colors and different personalities!
Oh yeah using Verbot to create the AI personalities with C# Scripting.
If you have any ideas or constructive criticism please let me know!
Thanks
Jeff Terrell
Hi Jeff,
That is a great robot! I'm really impressed by it.
As you probably already know we are working on using the EZ1 sonar’s with the Phidgets right now. We are using the analog signals on the analog inputs on the 8/8/8 interface kit. When we hooked up more than one we got cross chatter between the sensors so we then took the power supply off the analog line and used it from a digital output. This allows us to cycle through the sensors turning only one on at a time so we can avoid the interference. The sensors have a quick calibration routine at startup and this might be a problem if something is in the way, but we don't know until we try it out.
We are also going to be trying out the Strabo software on the next project. I'd be curious to know what you think of it so far?
Oh yeah, you forgot to tell us how tall your robot is?! :)
Matt
Jeff Terrell
01-24-2007, 12:25 PM
The EZ1 hookup sounds promising!
I haven't really gotten into the Strabo Pathfinder Software in depth but have a small VB6 interface to get way points and such. The main problem I foresee is giving the robot more graceful movements. Strabo basically gives boxy coordinates. I know there is a way to do it through programming but I'm not knowledgeable in calculating trajectories. Maybe there is someone out there that would like to share?
The robot is approximately 3 feet tall.
Jeff
Jeff Terrell
01-24-2007, 02:19 PM
This is a response to Dave Pryor's e-mail see below:
Dave,
Good Work!
So while the robot is roming it would have to maintain an 8" distance in order to re-calibrate after each cycle or would give a false reading.
Was also thinking to save cost and conflict to possibly mount 1) EZ1 and a few IRs to a servo pan/tilt located midway of the robot, then would just be the task of orchestrating the readings based on direction. I know that others have done this but I'm just not sure how effective it is. Seems like is would eliminate many of the blind spots. Would be like having numerous virtual sensors!
Thanks for your help!
Jeff
Dave Pryor wrote:
Multiple sensors ranging simultaneously will suffer from cross-talk (even if they’re pointing in different directions, sometimes. It’s all in the acoustics of the area you’re working in), so the sensors have to be pulsed on and off in sequence so that only one is running at a time. To do this, I cut the sensor’s 5V input wire and connected it to one of the digital outputs on the 8/8/8. By switching the outputs on and off, you can activate the sensors individually.
The only issue with this method is that the sensor calibrates itself during its first read cycle when it’s powered on. The spec sheet for the EZ1 states that if there is an object within fourteen inches of the sensor during calibration, the sensor may give erroneous range readings for short distances. When the sensor is allowed to calibrate properly, it will measure accurately down to about 6” and output the same value for distances of less than 6”. Here are the typical results I got from testing 3 sensors:
Obstruction greater than 8” away during calibration:
*Everything works fine.
Obstruction at 8” or closer during calibration:
*Sensor will sometimes glitch and read a much higher distance at this point.
*Sensor will sometimes output a noisy signal when detecting an object less than 8” from sensor.
*Measurements are accurate for objects more than 8” away.
In other words, 8 seems to be the magic number. When you calibrate with an object closer than 8”, the output gets worse for close range, but remains accurate for objects farther than 8”.
I was going to post my EZ1 results here, but you beat me to it!
wmccafferty
01-24-2007, 09:41 PM
Great stuff Jeff...looks great. You mentioned that you're wanting to get into localization and mapping. You've probably read it, but I'd highly recommend checking out Probabilistic Robotics (http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=10668) by Sebastian Thrun. This book presents a mathematical tour-de-force concerning mobile robotics including a lot of coverage of SLAM techniques. There's a great introductory tutorial called SLAM for Dummies (http://ocw.mit.edu/NR/rdonlyres/Aeronautics-and-Astronautics/16-412JSpring-2005/9D8DB59F-24EC-4B75-BA7A-F0916BAB2440/0/1aslam_blas_repo.pdf) by a few guys at MIT. (This one even comes with C# sourcecode; on the downside, their approach uses a $3500 SICK laser range finder - but it's still applicable with sonar sensors.) Additionally, Thrun's publishing a new book called FastSLAM (http://www.amazon.com/FastSLAM-Scalable-Simultaneous-Localization-Robotics/dp/3540463992) which should be available within the next week or two. Using FastSLAM, it should be possible to do rather advanced simultaneous localization and mapping on even average home PCs. I'm working towards implementing a FastSLAM approach, but anticipate needing about 24 sonar sensors to have it working very effectively. (I plan to start with 6 and add-on from there.) So my first goal is to coordinate turning quite a few on-and-off to avoid crosstalk.
Concurrently, I'm also trying to put together a vSLAM application that will use the images collected, via C#/WIA (http://msdn.microsoft.com/coding4fun/hardware/video/article.aspx?articleid=912546), from a single Logitech QuickCam Pro 4000 (http://reviews.cnet.com/Logitech_QuickCam_Pro_4000/4505-6502_7-20276742.html) to do visual localization/mapping to enhance the sonar SLAM. Evolution Robotics has had pretty good success with vSLAM (http://www.evolution.com/core/navigation/vslam.masn) with its ER1 robot kit; some published work which provides overview of vSLAM can be found at http://www.vision.caltech.edu/mariomu/research/papers/vSLAM-ICRA2005.pdf and, even better, at http://www.cs.ubc.ca/~lowe/papers/ijrr02.pdf. Furthermore, if you're into C#, there's an open-source SIFT (Scale-Invariant Feature Transform) implementation at http://user.cs.tu-berlin.de/~nowozin/libsift/. This framework should shave a few months off of any vSLAM attempt.
Billy
Jeff Terrell
01-25-2007, 08:30 AM
Billy,
Thanks for the info, GREAT resources!
So, have you actually implemented the code from Slam for Dummies?
Would be nice to have some pre-written code that could easily be converted for use with sonar. Do you think that it would be possible to use one or two scanning Sonars instead of using multiples?
I wish I was a programming Guru, but mostly just an integrator of code.
Would greatly appreciate any help, as navigation will be my biggest Obstacle! lol
Any help much appreciated!!!
Jeff Terrell
wmccafferty
01-25-2007, 12:17 PM
Hey Jeff, although possible with only one or two sonar sensors, you're SLAM capabilities would be severely slowed. The SLAM for Dummies paper looks for straight lines. To do this, it asks for range measurements close to other range measurements to see if they follow some kind of expected line. Suppose you have four sonar sensors right next to each other and they return the following range results: 12", 14", 16", 18". These four ranges imply that the robot is looking at a wall from a diaganol. But you need a bunch of range results which are close together. There are two ways to do this: have a lot of sensors to get the data concurrently or rotate your sensors to simulate having multiple sensors. The latter was an approach used by a German team for doing their master's thesis: http://www.tik.ee.ethz.ch/tik/education/lectures/PPS/mindstorms/sa_nxt/index.php?page=project_desc. The problem with only having one or two sensors is two-fold: first, it makes the process very slow, and secondly, odometry error may accumulate while rotating the robots head or body to take the various range measurements.
From all the reading I've done (PhD dissertations and such), it appears that 24 sonar sensors seems to be a magic number for doing adequate SLAM on a cylindrical mobile robot (such as yours or an iRobot Create). I've got 5 LV-MaxSonar-EZ1s on the way which I intend to couple with a Phidgets 8/8/8 board (and using the on/off suggestions from Dave) to implement a crude SLAM (with loopback recognition, hopefully) and build on from there. The code will be in C# under Microsoft Robotics Studio. I'll try to write the code in such a way as to work with a variable number of sensors. I'll keep ya posted!
Billy
Jeff Terrell
01-25-2007, 12:34 PM
Billy,
Makes sense!
What kind of physical layout would be necessary for 24 sonars?
24 seems somewhat extensive (expensive) though...Could you possibly combine the results with image recognition using a web cam to possibly reduce the number of sonars?
Jeff Terrell
wmccafferty
01-25-2007, 01:15 PM
That's my hope. What I'm struggling with at the moment is trying to figure out how to symmetrically mount the sensors onto the iRobot Create (but since it's not arriving until tomorrow, I get to relax just bit longer.)
I'm hoping the integration of visual-SLAM will more than augment a 1/2 dozen sonar sensors.
Billy
Jeff Terrell
01-25-2007, 02:00 PM
Awesome! Please keep me posted! I only have one EZ1 right now but based on how it goes with yours I'll order more!
Wow, I'm excited!
Thanks again
Jeff
Sounds like maybe you could cut a plexiglass circle the same size or slightly smaller than the roomba size to mount the sensors onto. Then mount that to the roomba with some hex standoffs or something similar.
Here are two pics of how we made mounts for the EZ1's
We used a lynxmotion sensor bracket:
http://www.trossenrobotics.com/store/p/3263-Servo-IR-Sensor-Bracket.aspx
A medium perf board cut in half:
http://www.trossenrobotics.com/store/p/3518-Medium-Solderable-Perf-Board.aspx
And an analog sensor board jack:
http://www.trossenrobotics.com/store/p/3464-Board-Mounting-Analog-Jack.aspx
The pictures attached to Matt's post do a good job of showing just how easy (EZ?) it is to wire these things up. Ground, +V, Analog; straight to the connector. EZ as pie.
wmccafferty
01-25-2007, 06:39 PM
Nice! I was fretting having to superglue my sensors to the sides of the iRobot Create! ;)
Billy
PS: I just posted a sneak peak of our upcoming modular decks here (http://forums.trossenrobotics.com/showthread.php?p=3668#post3668).
Matt, please don't derail the thread. Shame on you, mister.
Jeff Terrell
01-27-2007, 03:01 PM
Hey guys, I got a 6.1 maga pixel camera but the pictures I took are still a little blurry probably because of the lighting on the robot. But here are a few anyway. I'll read up on the camera some more...
Jeff
wmccafferty
01-27-2007, 10:38 PM
That looks incredible Jeff. To spice up my iRobot Create to be almost as cool as your robot, I set a teddy bear on top of it and have it chasing my kids around. It seems to impress them anyway! ;)
Billy
Jeff Terrell
01-28-2007, 09:53 AM
Billy thanks for the compliment! Did you get your EZ1's in?
Jeff
Jeff Terrell
01-28-2007, 09:57 AM
Hopefully these pictures are a little better! I turned off all the bot lights. Also including some pictures of internal stuff.
Jeff
Jeff Terrell
01-28-2007, 10:21 AM
Here is a picture of the power system showing one of the H-bridges, and the batteries. The Fuse Blocks are located on the sides of the battery but not really visiable here. The battery box rests in a craddle that drops down below the base about two inches which helps to lower the center of gravity and also provides more room for the Mother Board. The compartment for the mother board could easily support a Laptop since my boards use USB. I chose to go with a micro ATX because they are cheap upgradable and easy to swap out components. I'm using remote desktop from my home computer to access it right now.
Jeff
Your bot looks incredible Jeff! Thanks for all the pics.
I have to ask, what did you use for the shell of your robot? It looks really slick:)
How is the micro ATX working out for you?
Jeff Terrell
01-29-2007, 10:31 AM
Alex,
I used Industrial size drainage PVC and the Legs are made from PVC sheating.
I think since I've made patterns for all the parts in my workshop I might make a few more in different colors, was thinking of Racing Yellow, Candy Apple Red, and Cobalt Blue. Then maybe make a website with some video. Just need to get some sort of navigation in place, hopefully I will find some help here with that! Also waiting for a firmware update for the Quadrature Encoders for the Nubotics Wheel Commander motor controller.
The Micro ATX is working really good so far haven't really loaded it down with applications yets but handles RoboRealms image software and AT&Ts Natural Text-to-Speech great. Here is the board I'm using:
http://www.biostar.com.tw/t-series/products/socket%20AM2/TForce%20590%20SLI%20Deluxe/product_details.php
Glad you like!
Jeff
archcvd
03-17-2008, 01:10 PM
Hey Jeff,
Great job on everything, you can really see the hard work you have put into him! Could you perhaps post some more close-ups of the head module so we can see the Orbit in greater detail? I am mostly curious as to how you got everything molded so nicely around it. Is it just a single piece of PVC that fit everything nicely?
mpilliador
06-05-2008, 01:37 PM
Great stuff Jeff...looks great. You mentioned that you're wanting to get into localization and mapping. You've probably read it, but I'd highly recommend checking out Probabilistic Robotics (http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=10668) by Sebastian Thrun. This book presents a mathematical tour-de-force concerning mobile robotics including a lot of coverage of SLAM techniques. There's a great introductory tutorial called SLAM for Dummies (http://ocw.mit.edu/NR/rdonlyres/Aeronautics-and-Astronautics/16-412JSpring-2005/9D8DB59F-24EC-4B75-BA7A-F0916BAB2440/0/1aslam_blas_repo.pdf) by a few guys at MIT. (This one even comes with C# sourcecode; on the downside, their approach uses a $3500 SICK laser range finder - but it's still applicable with sonar sensors.) Additionally, Thrun's publishing a new book called FastSLAM (http://www.amazon.com/FastSLAM-Scalable-Simultaneous-Localization-Robotics/dp/3540463992) which should be available within the next week or two. Using FastSLAM, it should be possible to do rather advanced simultaneous localization and mapping on even average home PCs. I'm working towards implementing a FastSLAM approach, but anticipate needing about 24 sonar sensors to have it working very effectively. (I plan to start with 6 and add-on from there.) So my first goal is to coordinate turning quite a few on-and-off to avoid crosstalk.
Concurrently, I'm also trying to put together a vSLAM application that will use the images collected, via C#/WIA (http://msdn.microsoft.com/coding4fun/hardware/video/article.aspx?articleid=912546), from a single Logitech QuickCam Pro 4000 (http://reviews.cnet.com/Logitech_QuickCam_Pro_4000/4505-6502_7-20276742.html) to do visual localization/mapping to enhance the sonar SLAM. Evolution Robotics has had pretty good success with vSLAM (http://www.evolution.com/core/navigation/vslam.masn) with its ER1 robot kit; some published work which provides overview of vSLAM can be found at http://www.vision.caltech.edu/mariomu/research/papers/vSLAM-ICRA2005.pdf and, even better, at http://www.cs.ubc.ca/~lowe/papers/ijrr02.pdf (http://www.cs.ubc.ca/%7Elowe/papers/ijrr02.pdf). Furthermore, if you're into C#, there's an open-source SIFT (Scale-Invariant Feature Transform) implementation at http://user.cs.tu-berlin.de/~nowozin/libsift/ (http://user.cs.tu-berlin.de/%7Enowozin/libsift/). This framework should shave a few months off of any vSLAM attempt.
Billy
It seems that you have worked a lot on slam and fastslam. for my project, i need to develop an algorithm for a mobile robot, to apply slam in 2d (i only need to simulate the algorithm, not test it in a real robot). i am using mobotsim simulator, which uses as many sonar sensors as the user wants, and you can set the error readings to 0, and play with the angles etc. Where do you suggest i should start from? i 've readen slam for dummies but it seems i am too dummie to understand.
droidcommander
08-07-2008, 03:47 PM
I have to chime in on the design of the body. This is one of the best I have ever seen.
So when are you gonna build some more and sell them, seems you'd have quite a few orders right off the bat
DroidCommander
A-Bot
08-07-2008, 04:02 PM
Great robot!
Do you mind sharing how you made those white plastic body parts? They look great. I would love to read a tutorial on that. :)
vBulletin® v3.8.1, Copyright ©2000-2010, Jelsoft Enterprises Ltd.