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.
Remove these adsRemove these ads by Signing Up

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)

Step 2: Preparations

Picture of Preparations
Before you get started, I would suggest first reading through the entire tutorial. I built this robot using the resources that were readily available to me, but you may have different tools and equipment at your disposal. I used a jig saw for fabricating the majority of the parts; however, a cnc router would offer far better results. The eye lids were also hand made using Shapelock, a drimel, and a toy ball (from a Robosapien V2); again, better equipment such as a 3D printer would have offered better results.

The parts which are cut from the sheets of expanded PVC were first designed using Adobe Illustrator. I have provided the original files for both reference and editing. Those files were then printed to scale using a wide format b/w printer at Kinkos. Using tons of removable double-sided tape, I outlined the parts on the reverse side of each printed sheet of paper. The sheets of paper were then placed carefully on the sheets of expanded PVC.

Parts 1 PDF: White Expanded PVC 24" x 48" .240" Thick

Parts 2 PDF: White Expanded PVC 24" x 48" .120" Thick

Parts 3 PDF: Gray Expanded PVC 24" x 48" .120" Thick

Step 3: Cutting the PVC Sheets

Picture of Cutting the PVC Sheets
*It is important to take the proper safety precautions when working with power tools. Please use the proper protective gear when cutting, sanding, drilling, etc.

Once you have mounted the sheets of paper to the sheets of PVC, clamp them to the saw horses. When starting a cut or cutting tight corners, I find that drilling holes first (using the dremel) is very helpful for producing cleaner results. Always cut the small shapes from inside of the larger ones before cutting the larger shapes.

After cutting all of the parts from the PVC sheets, use different sanding drum bits from the Dremel Sanding/Grinding Kit to refine each part. Clamping a metal ruler to a part helps immensely when shaping straight edges using the Dremel. Next drill holes using the Dremel Work Station, guided by the paper still taped to each PVC part. Finally, peel off the paper and voilà, you have finished parts.

Step 4: Fabricating the Eyelids

Picture of Fabricating the Eyelids
The eyelids were made using Shapelock, a tough, machinable, paintable plastic, which becomes pliable at 150F. It is suggested not to overheat Shapelock. Just boil water and pour it into a bowl that you do not intend to use again (for eating from). Next, place the Shapelock material into the water until it becomes transparent. After that, remove the Shapelock using tongs and squeeze the excess water. Before it cools off, mold the Shapelock to the shape of the eyelids. This can be done with a plastic ball (slightly larger than the webcam). I drew the shape of the eyelids on the plastic ball with permanent maker as a guide. Once you have two eyelids which you are comfortable with, sand them with the dremel.

You will also need an additional T-shaped part to connect and move the eyelids. This too can be fabricated using Shapelock. Please refer to the pictures below for dimensions. Sand the part down using the Dremel and make sure that it can rotate freely through the holes in the bridge of the nose.

Step 5: Assembly

*Note: Before assembling be sure to test and position each servo to 0 using RoboPlus Manager. It is also important to assign separate ID's to each servo.

I will continue to update this tutorial over time while I work on Polyro v2.

The original design files have been attached in both Illustrator and PDF formats; this is to help guide your assembly and allows for you to make changes to the original design. I also tried to group specific parts together within the three PDF's (arm parts, head parts, etc.). It should be easy to assemble POLYRO using the Illustrator file, PDF's and photos of the finished robot.

The Gusseted Plastic Angle Brackets were chosen to simply the assembly process and add stability to the robot. When assembling, start from the bottom and work your way up. Drill a hole in the *Polyro Base (see image above) large enough for the iRobot Serial Cable to pass through before attaching it to the Create. Mount the Kinect Bracket Dock Stand before adding the metal risers to the Kinect Mount Base (see image above).


I used #4 x 5/8" metal screws for the arms and shoulder brackets (see image above). Bolts from the Bioloid Bolt & Nut Set also work great when assembling the arm.


*When preparing to mount the USB cameras to the AX-12 servos, you can disgard the clamp-like base, but be sure keep the black circular part that snaps into the bottom of the camera. This small circular piece will be screwed onto the modified Bioloid Servo Bracket (shaped into a circle using the Dremel). Once that is done, it is easy to snap the USB cameras onto the servos.

If there are any other parts in the assembly process that are not clear, just let me know and I will update this tutorial.

Step 6: Wiring

Powering the Kinect and AX-12 servos was fairly easy using the Create's Cargo Bay Connector. I simply attached two 12V regulators from the 10/21 and 11/25 pins (see page 10 of the iRobot Create Owner's Guide). The process of creating the 12V regulator can be found here:


Instead of using the Create serial cable or RooStick (as in the tutorial), I simply ran it straight from the Cargo Bay Connector. For powering the AX-12 Servos, I simply repeated the process, only splicing a Dynamixel 3-pin cable (please reference the photo below). Remember to cover the solder joints with heat shrink to avoid any shorting. Once this is complete, the Kinect and AX-12 servos will be powered from the Create battery. I would like to eventually charge the netbook from the iRobot Create Home Base  (like in this project ) or replace the netbook with something that can be run from the Create's battery (such as the Roboard).

Step 7: Software

Picture of Software
Now comes the fun part, making your robot do stuff. This can be accomplished using ROS. One of the great things about ROS is it's flexibility. You can use and add to software designed for other robotic platforms, such as (TurtleBot, Pi Robot or Trike). TurtleBot, developed by Willow Garage is similar to POLYRO, minus the AX-12 servos and USB cameras. I suggest installing and running TurtleBot on this platform initially.

Video of TurtleBot can be seen here:

You can always add drivers for the servos and webcams later (once you begin developing your own nodes, packages, repositories, etc.).

Instead of installing TurtleBot, you can also search the available software on ROS.org and install each driver manually.

Step 8: Afterthoughts

Picture of Afterthoughts
I am working on a website and will eventually create a dedicate ROS page for the POLYRO project. If anyone is interested in working with me to develop applications for POLYRO, please feel free to contact me. In the second prototype, I will add additional degrees of freedom to the neck, arms and head. I will also try to make improvements to the original design. I look forward to seeing your modifications to POLYRO and I appreciate any input that you may have.
« Previous41-74 of 74
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.
« Previous41-74 of 74