This is an instructable on building a relatively low-cost wheeled robot platform for developing ROS applications. Think of ROS as an operating system for your robot (providing hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more). THIS ROBOT IS NOT PLUG AND PLAY. ROS runs on Ubuntu, so you should feel comfortable working with Linux.

POLYRO, short for oPen sOurce friendLY RObot (yes I know, it's a bit of a stretch), is based off of the TurtleBot platform (from the good folks at Willow Garage) and inspired a great deal by Pi Robot (developed by Patrick Goebel). I designed this platform with Human-Robot Interaction (HRI) in mind. This is the first of many future iterations, so check for updates to the design. Please keep an open mind when following this tutorial. Many of the parts and tools can be substituted (or purchased for less) and there are many improvements to be made. As always, when working with power tools use the proper safety gear.

Step 1: Suggested Tools and Parts

Picture of Suggested Tools and Parts

  • Dremel*
  • Clamps
  • Removable Double-Sided Tape
  • Screw Driver Set
  • Needle-nose Pliers
  • Jig Saw (or maybe a Scroll Saw)
  • Saw Horses
  • Drill Press (Dremel Work Station)
  • Dremel Sanding/Grinding Kit
  • Soldering Iron
  • Sponge
  • Glue Gun
  • Large Format Printer (Kinkos)
  • Metal Ruler
  • Safety Goggles
  • Work Gloves
  • Dust Mask

Parts List

10.1-Inch Netbook
1 x $150 to $300

iRobot Create® Programmable Robot
Item Number: 4400
1 x $129.99 – www.irobot.com

Kinect for Xbox 360 with AC Adapter (Refurbished)
1 x $119.99 – www.Gamestop.com

Wide 2" Gusseted Plastic Angle Bracket (pack of 8)
4 x $1.59 - www.budgetrobotics.com

Risers, Set of Four 1" Steel)
4 x $1.69 - www.budgetrobotics.com

Gusseted Plastic Angle Bracket (pack of 8)
2 x $1.59 – www.budgetrobotics.com

White Expanded PVC 24" x 48" .120" Thick
Item #: 42485
1 x $12.85 – www.usplastic.com

White Expanded PVC 24" x 48" .240" Thick
Item #: 42488
1 x $27.86 – www.usplastic.com

Gray Expanded PVC 24" x 48" .120" Thick
Item #: 42501
1 x $16.50 – www.usplastic.com

250 Grams of ShapeLock
1 x $14.95 – www.shapelock.com

Bioloid Frame F3
Item #: M-300-B-BPF-F3
3 x $1.49 – www.trossenrobotics.com

Bioloid Frame F2
Item #: M-300-B-BPF-F2
1 x $1.49 – www.trossenrobotics.com

Dynamixel AX-12A Robot Actuator
Item #: FRS-B-AX-12A
11 x $44.90 – www.trossenrobotics.com

Robotis USB2Dynamixel Adapter
Item #: FRS-B-USB2D
1 x $49.90 – www.trossenrobotics.com

SMPS2Dynamixel Adapter
1 x $4.90 – www.trossenrobotics.com

Bioloid Bolt & Nut Set
Item #: M-300-B-BPF-BNS
1 x $23.40 – www.trossenrobotics.com

Bioloid 6-Port Cable Hub
Item #: FRS-B-6-PT-C-H
1 x $4.95 – www.trossenrobotics.com

3 pin Bioloid Servo/Sensor Cables (Set of 25)
Item #: FRS-B-CBL
1 x $34.90 – www.trossenrobotics.com

Logitech QuickCam E 3560 Refurbished
SKU: 130419
2 x $10.99 – www.microcenter.com

On Stage Foam Ball-Type Mic Windscreen (Blue)
2 x $4.95 – www.amazon.com

Wall Mount Bracket Dock Stand for Kinect
SKU: 267-363-001
1 x $9.99 – www.meritline.com

USB to PDA 9-pin Serial Adapter
SKU: 173369
1 x $29.99 – www.mircocenter.com

6” Novak Heat Shrink Tubing Assortment 24 pcs
1 x $3.74 – www.amazon.com

High-Tech Rosin Core Silver-Bearing Solder (1.5 Oz.)
Model: 64-013
1 x $5.79 – www.radioshack.com

25-Position Male Solder D-Sub Connector
Model: 276-1547
1 x $2.29 – www.radioshack.com

Schmartboard 201-0001-01
1 x $5.00 – www.schmartboard.com

USB 2.0 4 Port Hub – (Black)
SKU 502880
2 x $2.99 – www.microcenter.com

0.33μF and 0.1μF capacitors
2 x each

Voltage regulator 12V 1A
2 x each

22 AWG wire (red and black)

Machine Round Head w/Nut (4-40 x 3/8)

USB extension cable

Velcro tape (optional)

White model paint (optional)

MoserLabs1 year ago

Great, thanks a lot! As if my project list wasn't long enough!! Seriously though, nice instructable! it's got some great ideas that I can pull from for my builds!

I have recently completely redesigned a server robot i have been working on for some time (and will be writing up an instructable soon) and i would like to add xbox kinect to the irobot create. Would it be effective to add a pan and tilt type feature to the kinect or does it work better when it is stationary?
TimPayne (author)  prototypeBOTs2 years ago
I have not experimented with using a pan/tilt feature with the Kinect... yet. Polyro v2 has the Kinect mounted directly on top of it's head, so I will be testing soon. Check out Healthcare Robotics Lab approach:


They used pan/tilt with the kinect on a couple of platforms. They also have their STL files available for download. I hope this helps.
argasy20002 years ago
can polyro be used without the iRobot Create? I am wanting to make a similar robot but funds are limited and can not get one right now. We just lost my father and my mom would really love something like polyro to keep her company. Can give him a full AI if just a computer can be used.
TimPayne (author)  argasy20002 years ago
I am very sorry to hear that you lost your father. You have my deepest condolences. Polyro can certainly be used without the icreate. I am actually preparing to release a new upgrade from Polyro named Maki. This new robot will be totally 3D printable (excluding electronics, servos, etc.). It will be available on Kickstarter in the next week or so and the STL files will be available to contributors sometime in February. Message me you email address and I will be sure to send you a copy of the STL files next month. Take care
chewy39393 years ago
How much did this end up costing you in the end?
TimPayne (author)  chewy39393 years ago
Roughly $1200, but it depends on what supplies you already have at your disposal.
arjun05203 years ago
which webcams did u use to make the eyes
and can i use roller sakets and make 2 curcit for the legs to move and which software should i download for my ideas to work help ubuddha
arjun05203 years ago
we are trying to modify and make polyros (our version) i want 2 know about the movement and the charge of the mainframe
arjun05203 years ago
dear u buddha
i wanted to know where have u got the parts from and r they avalable online?
hope for a quick response
TimPayne (author)  arjun05203 years ago
I have attached to this instructable the parts in PDF format for download. You can have the parts cut from sheets of expanded pvc with a CNC router or by hand with a jig saw and Dremel. The servos, dynamixel2usb, etc. can be purchased from Trossen Robotics or directly from Robotis. On a side note, I am working on 2 new open source robots which use standard servos and more user friendly software. I will release them later this year.
arjun05203 years ago
dear ubuddha
i wanted to know where can we get the required material and is it AVALABLE ONLINE
KaydenST4 years ago
What was the final cost for POLYRO?
TimPayne (author)  KaydenST4 years ago
The final cost for me was roughly $1300, but that could vary depending on what parts and tools you already have available (i.e., netbook, Dremel, etc.).
The main expense that is killing me are the 11 actuators. phew!

Do you think that this would work with a Roomba 530 instead of a create?

And just go through the serial RIO
TimPayne (author)  MovieMaker4 years ago
Robot servos can be quite costly. In the future, I would like to explore a couple of alternate configurations (perhaps building POLYRO without the arms or substituting POLYRO's head with the Kinect)...

ROS does support the Roomba 500 series:


It would just be a matter of mounting...

Thanks for the reply. I have since burnt up my roomba 530. I got a factory cable from irobot. It was made overseas. It had a big glob of solder on the inside shorting out the whole thing. I plugged it in to the 530 and it fried the motherboard of the 530. IT would cost me around a hundred dollars that I do not have to get it going again. :-(

But, I have worked with other units and I am having fun. But, none looks as cool as your design.

When you get some code, please post it.
Thanks! Now another question: Is this robot able to do stuff like navigate through homes and interact with people? And how would you program it? Is that what the netbook is for, your programming console?
TimPayne (author)  KaydenST4 years ago
Yes and yes. POLYRO uses ROS (Robot Operating System) which runs on the netbook. I always suggest first going through the basic tutorial which can be found here:
Next when you are ready to make your robot "do stuff," you can try more advanced tutorials.
Head tracking:
Face tracking:
Thank you for explaining! This is a great project, and looks like it has a bunch of potential!
If you're not too busy, would you mind posting a video of POLYRO, so I can see what POLYRO can do and how he behaves? You don't have to if you don't want to... and can POLYRO "speak" and does he have voice recognition and stuff like that?
Your personal skeeter lol
TimPayne (author)  KaydenST4 years ago
I will have videos up soon... I am still working on the website and trying to improve upon the original design. Currently POLRO does not speak, but when I get a chance I will explore incorporating pocket sphynx (speech recognition) and sound_play (text to speech).

Thank you for answering all of my questions!
mkopack4 years ago
Great project! I've been wanting to build a robot using similar hardware (Create/Kinect/Webcam/Laptop.) Thanks for pointing to the WillowGarage turtlebot. I've gotten that code all installed on 2 machines and have been able to start it up (just waiting on the battery for the Create to charge up.)

Any idea what Gyro unit they're using for the Turtlebot? They list one in the specs, but it isn't listed on the preorder page.

Can't wait to see more about how you mounted the body to the base and what the support structure looks like.

My only concern with the Turtlebot code is that it seems like it's using the onboard netbook simply as a control interface and it's just passing all the data off to a workstation to do all the computational tasks. For my needs, I want the robot's computer to do 99% of everything, and just expose an API or web interface to do the controlling.

Also, how does one go about installing the uvc webcam package
TimPayne (author)  mkopack4 years ago
Thanks mkopack, In reference to the gyro, the TurtleBot uses a separate 150 degrees/second Single Axis Gyro. At this time I am not sure what specific Gyro they are using.

Polyro's structure is comprised of Gusseted Plastic Angle Brackets and Expanded PVC (.120" and .240" Thick); which is mounted directly on the iRobot Create with 4 bolts.

The link below discusses installing individual packages in detail.


If you have any further questions feel free to let me know. I will do my best to answer your questions or point you in the right direction.

Great! Thanks!

I managed to get ROS talking to the roomba last night, and was able to use their Teleop Keyboard control interface to drive the roomba around. I have to say though, it's going to need some adjusting because it was VERY jerky (seems like there's no speed control, it's just 0% or 100% which will make for a very wobbly robot prone to fall overs since the speed doesn't gradually build up or reduce. It's either stopped, or driving full speed!)

Tonight I'm going to try to test the Kinect to make sure it's talking to that properly.

I'm going to be using this setup mostly for telepresence experimentation between 2 offices, so I really want to make the control interface something that doesn't require software installation, and keep most of the robot's brains and ROS specific stuff on the robot itself. (Just maybe make the robot act as a web server to provide the API/interface to whatever machine/client hooks to it.)

Also, I asked on the Turtlebot user's mailing list about the Gyro they're using and found out that it's one of these:


Unfortunately, they didn't tell me how it's hooked up to the system, and I don't have the EE background to know how to wire it up.

Since you're using the Turtlebot code for your bot, did you use their Calibration routine? And if so, how did it behave without having the Gyro in there?
TimPayne (author)  mkopack4 years ago
Yes, I used their Calibration routine and it seemed to work fine without the gyro. I have not had a chance to use their Teleop, but please keep me updated as you work more with the controls.

I would like to know more about your telepresence experimentation. If you intend to use your platform primarily for telepresence, perhaps you should check out this tutorial:


I am interested in implementing a memory prediction system (inspired by Jeff Hawkin's Memory-Prediction Framework) in a social robot. Eventually, I would also like to have Polyro completely self-contained. One of the main reasons I chose ROS was because it can run across multiple machines. I am considering using a series of RoBoard RB-110's for Polyro v2...

Yup, saw that blog before. Partially what got me thinking down this path. Where I work, we have one main site in NJ where most of the people work, and then 3 small satellite offices around the country that were part of an acquisition several years ago. I work in one of those outlying offices, and we regularly experience the "out of sight, out of mind" situation because we aren't able to easily socialize with the people at the main office. We also have problems with interacting in meetings because we can't see each other, see what the others are writing on whiteboards, get left out of discussions that take place after meetings break up, etc.

So, trying to build something like a combination between the procrastineering robot, yours, and the TurtleBot.. Ideally I'd like it to be something that could be manually controlled, but also have capabilities where you could allow the operator to say "drive to this conference room and beep me when you get there, that way I can go do something else in the mean time" and the user doesn't have to manually drive it there. Additionally, capabilities like "follow this person" would e automated so you can focus on the conversation rather than the driving.

My coworkers and I have some other ideas as well about how to incorporate other functionality, and use this platform for some HRI research that we do here...

I like the idea of using ROS because they have such a rich library of components to build upon. I'm just a bit of a newb with it so I'm still learning a lot and just getting my feet wet.

The body you are using for yours is interesting, but not necessary for my needs right now, although we have talked about scenarios where having some sort of arm on the robot would be good for allowing actions like pointing at objects and such.

Anyhow, right now I'm just trying to get the basic system up and running with mapping and such and then temp mount it all onto the create to demonstrate a basic capability to management so we have something to use to convince them to fund us to get better hardware and some time to build a more robust setup for actual use. They need to be convinced that a setup like this would be useful first. At a minimum I'm going to need a better computer on the robot than I have right now.
TimPayne (author)  mkopack4 years ago
Your project sounds very interesting... Be sure to let me know once you get to the design phase. I went through several configurations before settling on the one in this tutorial. Perhaps one my earlier Polyro designs will better suit your project...
Ok, I'm back... I promised I'd report on progress and such...

First off, here's some pictures of what we ended up with:


We're calling it TED - Telepresence Experimentation Device

We have switched out the webcam in those pictures for a better Logitech HD model, and the mast in those photos was U-shaped Aluminum, which has been replaced with box aluminum (I would have prefered to use 80/20 T-slot but couldn't find any place local that I could just go in and pick it up.) We had to replace the U-bar with box to eliminate serious torsional twisting that would take place whenever we had the robot turn (the monitor would just wobble back and forth like crazy.)

Anyhow, it works pretty well. We're able to do SLAM right on the robot itself, we have 2-way video working, the monitor is a DoubleSight DS-90U 9" USB powered + signal monitor and it's very light weight, as is the speaker. Since most of the weight of the whole unit is down low, and we were able to use lightweight materials up top, it's still relatively stable.
MKOpack, could you share some code with us?
TimPayne (author)  mkopack4 years ago
That is awesome! I am just curious, do you know how much it weights? Also, the usb monitor is a really cool feature, I was thinking about incorporating one in POLYRO v2...
Your robot is probably the most refined and "complete" of the approachably priced robot projects I've seen. It matches a typical persons concept of a robot. It looks like it can actually "do" something. It looks well built and commercial quality. I'm impressed.
TimPayne (author)  DancesWithRobots3 years ago
Thank you, I really appreciate it.
wamj4 years ago
Love It! Just a thought for the second prototype, you could use Maker Beam   for the frame
TimPayne (author)  wamj4 years ago
The MakerBeam looks pretty awesome... The design reminds me of the beams included with the ER1 robot from Evolution Robotics.
wamj TimPayne4 years ago
I think that is the point of the design, because there are all of these compatible parts out there so people can mix an match the makerbeam with other products and hardware
pnangle iv4 years ago
I don't see how this was beaten by "Bookshelf." This just LOOKS cool! And it probably works great!
TimPayne (author)  pnangle iv4 years ago
Thank you pnangle!
MovieMaker4 years ago
I don't see what this got 2nd place instead of 1st place! This project rocks! Who got first place? They must've been remarkable.
TimPayne (author)  MovieMaker4 years ago
Thanks MovieMaker! The first place winners were pretty awesome.
Great project! Do you actually use the feedback that the servos are capable of returning? Or would I be able to get away with a more basic servo? Thanks for your help. I would really like to give this a try.
TimPayne (author)  scottieboy06304 years ago
Thanks Scottieboy0630. The design files which are included with this tutorial were made specifically around the AX-12 servo. At this point, Polyro's arms are primarily for communication purposes (no feedback required). Some minor changes to parts in the arms and head would allow you to use standard hobby servos instead of the Dynamixel AX-12's.

The Dynamixel servo was chosen because of it's many features (including feedback). Instead of USB2Dynamixel, I initially wanted to use an ArbotiX robocontroller with PyPose. Using PyPose would allow you to easily create motion sequences simply by posing and capturing...
Thanks. I will figure something out. Would you happen to have any sample code so that I can get an idea of what the code should look like when I am done, or is the Turtlebot code enough to get Polyro running after the build is finished?

Thanks for all your help
TimPayne (author)  scottieboy06304 years ago
With Turtlebot, you will be able to do teleoperation, SLAM map building and autonomous navigation of a known map. There are examples of code found in the ROS tutorials (I would highly recommend going over them).

I am using Dynamixel servos, so I have also installed nodes and drivers from the ROS package 'robotis' from Georgia Tech Healthcare Robotics Lab. This allows me to operate, query and control Dynamixel servos.

Once you complete the ROS Tutorials I would also like to recommend a great Head Tracking tutorial.
LucasOchoa4 years ago
hey bro i need your help on the garden photo contest congrats on making second place!
TimPayne (author)  LucasOchoa4 years ago
Thanks! I voted for your project yesterday. Good luck!
Pretty darn good!
TimPayne (author)  Computothought4 years ago
Thanks Computothought!
bhylak4 years ago
Hey UglyBuddha,

I got your solution for charging. (I built a telepresence robot off of a Roomba, which charging method can be adapted to the Create) First, take the barrel jack directly to the docking pads, while still having it connected to the PCB inside. (But don't let the pcb be connected to the docking pads) Then, purchase a 22v to 12v converter. You can then use a Inverter for the Laptop. (But get a universal laptop power adapter, 4 amps, and hook it up to the dock)

Hope it helped,

TimPayne (author)  bhylak4 years ago
Thanks Ben! That is a great solution. Do you recommend a specific 22v to 12v converter?
bhylak TimPayne4 years ago
I have detailed instructions and pictures in my Telepresence robot instructables. Search the site for "Maya Telepresence"
TimPayne (author)  bhylak4 years ago
Awesome! Maya is a really cool robot. Great job on the Instructable as well. The pictures in Step 5 are really helpful.
bhylak TimPayne4 years ago

Any cheap Universal Laptop Adapter will work, but make sure it can supply the correct amperage for the laptop at 22v. Also, the modification on the dock is necessary, it will just flick on and off without it.

bhylak TimPayne4 years ago

(Screw Terminals, 12v 4.2a output, 18-36v input)

TimPayne (author)  bhylak4 years ago
Thanks for the link!
MovieMaker4 years ago
Your Project is AWESOME! I however have been to the ROS site. It is ALL greek to me. I installed Ubuntu without a hitch. It was easy. But, I have tried three times to install ROS without success.

Looking forward to more software and hardware updates.

Thanks for the Quick Reply. I installed Ubuntu 10.10 four times. It always installed quickly and nicely.

I tried to install ROS each time and it Never completed. It would go to around 99% and then tell me an error. I forgot what the error was. I was putting it all on a 32 gig flash drive because my main operating system is windows.
TimPayne (author)  MovieMaker4 years ago
Did you install Lucid or Maverick? Also, did you configure your Ubuntu repositories to allow "restricted," "universe," and "multiverse?"
I never got that far.
TimPayne (author)  MovieMaker4 years ago
Try to configure your Ubuntu repositories before installing ROS (for Maverick).

Thank you so much for the reply. I will do this as soon as I can. My fastest most powerful computer 9300 Quad core, with the most memory got hit by lightning last night. So, with no insurance and no money, I will have to cool it until I can fix my best computer. Thank God I had a spare 3800 dual core on hand. At least I can get my emails.
I always installed Maverick. Lucid would not install for me.
TimPayne (author)  MovieMaker4 years ago
ROS is a bit intimidating initially. I would suggest going through the tutorials here:


Also, what exactly is the problem that you are running into while installing ROS?
LucasOchoa4 years ago
this is actualy awesome i dont understand why it only has 150 views... there has to be some sort of trick... im subbing hopfully you can check out my channel i have an animetronic hand u might be interested in.
TimPayne (author)  LucasOchoa4 years ago
Thanks, I checked out your animatronic hand and it was really cool.
thanks man... yeh btw i advertised your ible on facebook cause im sorry it deserves way more than 350 views
also my instructables account really needs some help getting off the ground i would really appreciated it if u subscribed.
TimPayne (author)  LucasOchoa4 years ago
TimPayne (author)  LucasOchoa4 years ago
Thank you, I really appreciate it.
WayneS24 years ago
Cool Robot. I'm looking forward to more construction details as you continue your developement. Open source is DEFINITELY the way to go.
TimPayne (author)  WayneS24 years ago
Thanks Wayne, I will have more construction details up later today ;-)
mrbadr4 years ago
Nice one, I was planning on building a 170cm full humanoid with hands and actuated with air muscles for this contest but unfortunately I didn't finish it yet, I'm planning to use ROS as well and got the minuro webcam for stereo vision
Good project and wish you the best of luck with the MakerBot contest
TimPayne (author)  mrbadr4 years ago
That sounds awesome! I can't wait to see it.