Here is a quick description:

A 2.6 foot remote-operated humanoid robot designed to be capable of emulating human communication.

Here is a longer description:

Ambassador Robot No. 001, also known as Halley, is a 2.6-foot humanoid automaton built for the sole purpose of exploring what it means to be human from a non-human perspective. The primary means of achieving this is through human-robot interaction, where the robot, Halley, emulates as many human functions as possible while interfacing with another person. In order to connect with the idea of being human, a humanoid shape of respectable size is deemed necessary, along with an array of face-to-face communication techniques. A speaker, camera, and microphone satisfies the need for basic sensory input and output. Gestures, such as raising hands to ask questions, are supported by Halley's movable arms and legs. Finally, and perhaps most importantly, the ability to express emotions will be achieved through the clever use of an Android phone as a face. The ultimate goal for this project is to have Halley take the place of a student in a classroom.


This is a very advanced project and assumes knowledge of laser cutting, 3D printing, usage of a machine shop, soldering electronics, and a variety of other things. The expected time to finish this project is a couple months working on and off, and a couple weeks working full time. The expected cost for this project is roughly 500-800 USD. I would not advise beginners to do this project!

Step 1: Parts You Will Need:

(Images above are a small sample of the parts you will need for this project.)

Specific Parts:

Common Parts:

  • Solder
  • Superglue
  • 3D Printer filament
  • Velcro Hook and Loop Tape
  • lots of assorted wires
  • assorted Molex pins/connectors
  • assorted breakaway headers
  • S/S FHSCS 2-56x3/8 screws
  • S/S FHSCS 2-56x1/2 screws
  • S/S MS NUT 2-56 nuts
  • S/S/ F/W .093x.250 washers
  • S/S FHSCS 4-40x1/2 screws
  • S/S FHSCS 4-40x5/8 screws
  • 4-40 MS NUT S/S nuts
  • F/4 S/S .125x.280 washers
  • 6-32 5/8 SHCS S/S screw
  • 6-32 Nylok Nut S/S nut
  • F/W S/S .156x.312 washers
simply amazing! I'm nowhere near capable enough to start offering any advice of course, only encouragement and support. (and questions. ...lots of questions! ). with that said; could a raspberry pi be incorporated into this, or the bigger updated version? one of the reasons I ask is the new offical touchscreen that's now available for raspberry might work awesome for the presence aspect (7inch screen)! just a thought, I have plenty of thoughts but no advice. pretty sure you don't need any of that from me, lol.
Thanks! We all have to start from somewhere ;)<br>A Raspberry Pi could certainly be incorporated into this (it was actually my first plan to integrate one into the head). The bigger updated version is coming soon, and it should be compatible with just about every kind of mobile computing device. I had no idea that Raspberry Pi had a new touchscreen, this would certainly come in handy.<br>
<p>Great looking robot. I have a few questions: </p><p>Why did you choose not to use servo shields that are specifically made to handle several servos?</p><p>While your servo perfboard looks great and is laid out neat, why didnt you etch a PCB? </p><p>Why the Android phone face? If you wanted to have graphic visualization of facial expressions, why not use a LCD or TFT screen? just for the unity capability?</p><p>Just to clarify, control of Halley is done via the cellphone in the Unity program? wireless? How does the phone and arduino interface?</p><p>quick solution to your cabling aesthetics, toddler clothes.</p>
<p>Thanks for the comment!</p><p>These are very good questions. Here are my responses:</p><p>1) An Arduino Mega was sufficient to control 21 servos simultaneously, so a servo shield was not necessary (though a dedicated servo shield may work better, since the Arduino Megas's digital pins do occasionally suffer from &quot;signal bleeding&quot;).</p><p>2) I did not etch out a PCB instead of a perf board because I did not know how to when I was designing the electronics (I have since learned how to make my own PCBs). Plus, the large mass of wires, when done right, does look pretty cool.</p><p>3) A TFT LCD can substitute for the Android Phone. However, an Android Phone also provides an accelerometer, touchscreen, WiFi, and an onboard computer for only a slightly higher price. It can also handle Unity.</p><p>4) What is actually happening right now is that Halley is hooked up to a laptop, which communicates to the phone via WiFi, and to the Arduino via USB cable. With a little more development, it is possible to remove the laptop and have the Phone communicate directly to the Arduino via Bluetooth while running Unity. If Bluetooth is annoying to set up, you can also hook up the Arduino to the phone with a USB OTG cable.</p><p>5) I imagine toddler clothes will greatly help with the cabling :)</p>
<p>back to question 4) first:</p><p>laptop to phone via WiFi, arduino to labtop via USB. so is the wifi connection an ad-hoc/peer-to-peer network or are you going through a router? could you elaborate on that a little more? why both a wireless and hardwire connection to the robot? easiest way to demo it, ease of setup and coding?</p><p>also, is there a sync delay between what the phone face displays and when the servos move? </p><p>in question 3 response you mentioned the phones accelerometer, is that being utilized by both phone and arduino? if arduino can read the accelerometer outputs from the phone to the laptop Unity program and use them in a string sent to arduino like the pos1-11 sent to the servos, then the robot should be able to balance to some degree which would in theory facilitate walking.</p><p>you should be able to make the joints stronger by using laser cut plywood with the same specs as the acrylic pieces. that might allow for weight distribution and load bearing</p>
<p>4) You are correct: the biggest reason for this WiFi/wired setup was simply because it was easiest to get working for a live demo.</p><p>There is roughly a 50 millisecond delay between both the phone and the servos, but they don't necessarily have to be synchronous (they can be controlled separately, each of them doing their own thing).</p><p>3) Currently, I'm not using the accelerometer, but theoretically, by using it the robot knows its balance to be able to walk. Practically however, the accelerometer in the phone is really cheap, and isn't too accurate or fast. That, coupled with the delay it takes to process the leg signals by the Arduino, would make it too slow and imprecise for bipedal walking. It should be sufficient however to make Halley crawl like a baby.</p><p>As for the last bit, there are many substitutes for acrylic that are more durable :) </p>
You have a really nice project here. I can't even begin to express how interested I am in doing something similar of my own. Thanks for answering my questions. Is this project complete for your purposes of demonstration or is it still ongoing? Will there be a 2.0 model in the future? I'm eager to see what a revision model would look like but this is awesome
<p>Certainly! I am honored to know the people here really appreciate my work. Right now, looking at most of the feedback so far, I'm looking at how to make a self-contained robot that is capable of moving around a room and grabbing things, so that it is more than just a stationary puppet. Thanks for your interest and feel free to ask if you have any other questions.</p>
<p>This is glorious. Excellent work. Have you developed balance and walking yet? Or is it still in the early dev stage? </p>
<p>increase the surface area of the feet and it may balance and walk</p>
<p>It's still pretty early. I don't think balance and walking is going to happen anytime soon, as the acrylic joints near the pelvis are kind of weak and the only accelerometer/gyroscope is in the phone.</p>
I emailed my tech professor with the link to this and he said: 1.this is incredible 2.that he was gonna have our class break up into teams and build this robot Nice job
<p>Really? Awesome! I'd love to see where you guys go with this. Feel free to reply back with some images when you build one, or feel free to ask if you guys get stuck on anything.</p>
<p>Hi John, great robot and work! I used similar servos for my robot <br>(MG946R) which are also PWM controlled. The PWM is generated by a <br>Raspberry Pi directly (Software PWM). It works great and I even got it <br>walking and talking. All servos can be controlled by an easy user <br>interface with a slider for each servo. In case of interest all <br>information and SW can be found at http://www.german-robot.com</p>
<p>Wow, this is impressive stuff, thanks for sharing! I've checked out your website, and the clothes you put on your robot really makes it look that much cuter.</p><p>Keep going, and I would love to see how this evolves :)</p>
<p>Hi John, really great robot and work! I used similar servos for my robot <br>(MG946R) which are also PWM controlled. The 17 PWM signals are generated by a <br>Raspberry Pi directly (Software PWM). It works great and I even got it <br>walking and talking. All servos can be controlled by an easy user <br>interface with a slider for each servo. In case of interest all <br>information can be found at http://www.german-robot.com</p>
<p>Hey John,</p><p>I don't have an acrylic cutter. Can you please send .stl files for those parts so that I can 3D print those. You can mail them at siddharth123sk@gmail.com </p><p>Thanks! :)</p>
are the legs able to take the weight of the body??
this is really awesome
<p>Amazing project!!!</p>
This is amazing! I see LOADS of potential. In the future I can see a line of robots named ambassador that are used for human interaction.
<p>Thank you for the kind comment! I'm currently working on a bigger and better version, and I assure you it will be awesome :)</p>
<p>Can't Wait </p>
Cool project.... I gotta try this. <br>
Cute! Where's my dang Wallet because SHUT THE HECK UP AND TAKE MY MONEY!!
<p>I appreciate your enthusiasm! I'll let you know when I get to that point ;)</p>
<p>increase the surface area of the feet and it may balance and walk</p>
<p>Looks cool, the voice needs work though, try a stereo set up with some base and slight reverb. Hide the cables and you have sweet robot.</p>
<p>Thanks for the comment! I agree about the cables - they are kind of messy. As for the voice, it's not too bad for what it's worth. Google Translate does sound a lot better in my opinion than eSpeak, which is another free TTS system.</p>
<p>Nice project! Would it be possible to switch out the acrylic for 3D printed pieces?</p>
<p>I imagine so, though the 3d printed pieces would take a LOT of time to print, and the shapes are optimized for laser cut sheets, rather than 3D printing. If you don't have access to a laser cutter, there should be printable cardboard cutting templates in the CAD folder (courtesy of Amby Ambroise). Hope this helps!</p>
<p>Definitely! thanks :)</p>
<p>hi </p><p>I have a problem with rbs3115mg servo motor, i can not control it using servo library on arduino .</p><p>please, if there is any else library know me.</p><p>abdelghanysalem442@gmail.com </p>
<p>The RDS3115mg appears to have some different mounting configurations, so you may have to modify the CAD files on my robot in order to mount them correctly. Also, these appear to be standard 3-pin servos. Could you be a little more specific about your problem?</p>
Sorry we had to scrap the idea-_- (our school is poor) the tech professor was denied money for our intended project. However, him, another student, and I are going to try to make the robot on our own out of old computing and vehicle parts. The scrap yards are full of materials. But we still need the proper computers to program it. We are doing a community fund raiser for building halley
<p>Hi Jhon excellent work...</p><p>i want to make this robot </p><p>if you possible plz send me detail your project and source code </p><p>at my e-mail rahulgautam.5025@gmail.com </p>
<p>If you read through this Instructable, your requested information should all be there.</p>
<p>excellent frank....</p>
Hi Jhon<br>Beautiful work...<br>i am universitary teacher and<br>i work with comercial robots to<br>learn. And have many coreography for my robots. if help you to walking process...cal me<br>thanks.
<p>Cool! Which university are you from, if I may ask?</p>
FIEO university from Sao Paulo<br>Brazil
Awesome build !! Can it Walk?
<p>Unfortunately, the joints are a bit too weak for that, and the sensors aren't adequate for balancing. So no, it can't walk.</p>
Hmm.. Okay but you should build another that could walk, that would be amazing .. Great project by the Way !!
<p>Awesome project! I have a question. Did you printed hands solid or hollow? Solid must be heavy for servos to act fast. Thank you</p>
<p>Solid or hollow should both be fine if you are using a PLA or ABS 3D printer (its not that much heavier). If you want to save on filament, I recommend hollow.</p>
<p>This is a project I am very interested in. I have a commercial robot that is no longer supported so I am going to tear it up for the parts for one like yours. Servos, System board with 20 points of freedom, should be plenty. Also may save me a bit of time with assembly. I may also be able to resolve some of the issues with balance so it will be able to walk.</p><p>When I started to save the related files, my system hung on the first Cad.stl file. Could you zip all the files into a single download for us? That may save some of us a lot of time. Thanks larystoy</p>
<p>I believe in the main GitHub page you can simply click on the &quot;Download Zip&quot; button in the lower left hand corner. I've attached an image for your reference. Hope this helps!</p>
<p>I reccommend to buy your Arduino Mega here: <a href="http://www.tinydeal.com/mega-2560-r3-board-development-board-for-arduino-p-94890.html" rel="nofollow">http://www.tinydeal.com/mega-2560-r3-board-develop...</a></p><p>It is cheaper and free shipping. It can take 1 to 2 weeks to deliver it though.</p>
<p>Hmmm, this is the &quot;official&quot; Arduino board, right? (I know there are a couple imitators floating about). In any case, thanks for the advice!</p>

About This Instructable




Bio: Just a guy that likes building robots and videogames.
More by John Choi:Multipurpose Mobile Manipulator MkII Multipurpose Mobile Manipulator Mk 1 Virtual Reality Teleconferencing Device with Google Cardboard 
Add instructable to: