Let's Make Robots!

Robbie the Robot

Navigation, fetch objects, recognise people

This is Robbie the Robot


The project is a couple of years in the making he is a

2 wheel differential drive robot with a Inmoov upper body

the servos in the arm have been replaced with gear motor controlled with I2C

the head has 2 Dynamixel servos for pan and tilt

The attached video shows the first driving test

using a PS3 joystick.

The second shows a test of the arm moving with the gear motors

instead of the servos

next test will be with the arm controlled with ROS MoveIt



Here is a video of Robbies arm controlled With Ros Moveit

the arm is being moved to random location

Update 25 Dec 2014

All Robbie wanted for christmas was a coat of paint

and some new parts. Just have to finish some wiring

then he is fully operational If i have some spare time

I want to finish the web interface. After hours of navigation

simulation he is ready to start autonomous operation


Update 16/01/15

Autonomous robot

This we get from wikipedia

A fully autonomous robot can:

  • Gain information about the environment (Rule #1)

  • Work for an extended period without human intervention (Rule #2)

  • Move either all or part of itself throughout its operating environment without human assistance (Rule #3)

  • Avoid situations that are harmful to people, property, or itself unless those are part of its design specifications (Rule #4)

An autonomous robot may also learn or gain new knowledge like adjusting for new methods of accomplishing its tasks or adapting to changing surroundings.

I have been asked the question how autonomous is Robbie and do you let him move on this own?

While in principle he has all the systems, and has demonstrated that they work on there own and sometimes they all work together. The fact is in the last 2 years he has been tethered to the battery charger and partially disassembled. Stage 1 is now complete we have a working robot. What we don't have is trust in him and reliability. Stage 2 of this build is address those problems trust will come with reliability but autonomy needs more , below is a list of some tasks the robot should do


  • Charge the battery, this part works using a behaviour tree

  • monitor the systems to be part of the above

Sensing the environment

  • Is anyone near me, face recognition work but needs to be improved

  • where am I, while localisation will give a map reference we need a name ie lounge room

  • day and night shut down nodes that wont be used at night

  • short and long term memory

Task performance

  • Goto a place, did I achieve my goal?

  • get something, did I achieve my goal?

  • locate something, did I achieve my goal?

Indoor navigation

  • Localisation

  • update the known world what has changed

And we also need to log activity, success and failures to measure performance, in the lab he can go through a door with out touching but in real life? Same for localisation.





Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I've been admiring this project for a long time.  Very nice job.

I was curious as to what ways you are using the Kinect.

I hope I can find the time to build something like this one day.

The lower Kinect is used for navigation  with the ROS navigation stack it simulates a laser scanner

if I find some time I want to use rtabmap http://introlab.github.io/rtabmap/ it lookS like it can handle a home environment

Better (all the clutter and moving furnisher)

I had a head mounted kinect for face recognition and tracking but that really slowed the system when i have the time

I'll use a webcam for face recognition and tracking and put the kinect in the chest for object recognition. I used the microphones

in the kinect with HARK to do voice localization and help with voice recognition it worked but need more tuning

A robot of this size you really need a team of people to many small jobs get left undone due to the lack of time

It looks like the unholy lovechild of C3PO and R2D2 ;) ! Or perhaps their last shared ancestor.

Peter - just like to congratulate you on your build, when you say autonomous do you mean you let him drive around on his own, is he safe?

He has limited freedom, in a large area i just watch from a distance but going through doorways i,m very close

just in case something goes wrong. The arms can get hooked on corners I will add a pan waist joint soon so the

arms have more protection. Other then that I only have to build trust and that comes with testing




I'm actually curious as to what hardware you are using to interface with the Dynamixels?  I couldn't find it on your blog.  Are you using a USB2AX, USB2Dynamixel, or some sort of Arduino implementation?  I'm having a hard time getting USB2Dynamixel to work, but I'm trying to use it on Windows.  I haven't tried using the ROS stack for Dynamixels, but if I can see someone has had success I'll try it again.


Hi Luke

I,m using a USB2Dynamixel with the  ROS Dynamixel driver it works very well the only problem

is when the over heat or over load warning does off you have to cycle power.



I'lll see if I can get my Dynamixels' to work with the ROS stack.

More questions - which Linux do you use (I'm using Ubuntu 12.04), and which ROS are you using (I'm using Hydro)



I use ubuntu 12.4 64 bit with ros Hydro all installed from debs

if you have problems let me know




Great job!