Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: How to build a Humanoid robot?

  1. How to build a Humanoid robot?

    Hi there, i am happy to join this forum.

    I have bought before 1 year an Arduino Mega and i used it to make a 3 wheel robot avoiding obstacles, i can say that this was quite fun so i am looking forward to build a humanoid.

    I am interesting in making a humanoid with AI that can walk, speak and maybe answer some questions with AI. If i manage to complete this then i can think for other things

    So my question is : Is arduino capable to build a humanoid and process all these stuff (servos,speaking, AI etc. )?
    I am noob with electronics but i am an experienced computer programmer so programming is not an issue. I am asking because programming wise i feel the Arduino has limited capabilities so i don't know if i have to change the microcontoller and buy something like a mini ITX computer.
    Also what other parts i have to buy in order to be ready for my project?
    I am asking because like a noob i paid a lot to buy the Arduino with some shields that finally i was not able to combine all together in order to work properly, or i lost a lot of time to wait for some parts.

    Finally i don't have a fortune to spend so it has to be as cheap as possible, f.e. i read a lot of posts about the bioloid kit but 900$ is an issue , or 400$ only for 10 servos seems too much also. I don't want to be cheap and by everything for 50$ but i have to pay the taxes and the postal it would be nice to not exceed 400$ for everything as i already own the arduino , 1 motor controller ,some sensors and some tools already

    p.s. Sorry for my English i am from Greece

  2. Re: How to build a Humanoid robot?

    The Arduino will be adequate for basic AI, including monitoring simple sensors (like IR/sonic range finders, pressure sensors, simple switches, etc). If you're using hobby servos, it can only control a limited number of hobby servos. You'd want a secondary servo controller to handle the direct control, but the Arduino can still handle calculating the actual positioning of all the servos. It'll be rather limited if you want to get into any advance IK and/or dynamic balancing scenarios, but it'll be fine as a starting point for a humanoid.

    As for the cost, cheap and humanoid are not good bedfellows (ie, building a competent humanoid on the cheap is going to be tough to do). The problem is, with only two legs to support the entire weight of the robot, you are going to need some powerful leg servos for it to be able hold the robot up and maneuver adequately. Cheap hobby servos will likely only be able to hold up their own weight at best, requiring the robot be tethered to a separate power source (and possibly separate controller). The cheaper you go, the less room for growth your robot will have.

    On the bioloid front, because the bioloid servos are controlled via TTL serial, you'll ideally want a controller with at least two hardware uarts. The Arduino only has 1. The Mega, and several other third party variants, have more than one. The Arbotix, which is Arduino compatible, has two for this reason.

    One other option you can consider, is start off with a minimal humanoid. The bare minimum would be a 3dof walker (3 servos per leg, 6 servos total). Though this would be very limited in capabilities, there's still a substantial learning curve involved in even getting a 3dof walker up and running. You could then later buy additional servos and expand your robot to a 4-6dof walker, and later still add torso/arms, etc. Trossen now offers AX-12 servo 6 packs for a reduced price. Add a $100 frame set and an Arbotix, and you've got the bare minimum necessary to get started. Batteries would push you over your $400 target, but an external power source would be far cheaper and keep you at around that $400 target until you can afford to add an internal power source.

  3. Re: How to build a Humanoid robot?

    Speaking as a programmer with some electronics experience and an all around geek, depending on how you want to go there are a couple options that I see. You could step up to the Mega or some other microcontroller which has multiple UARTs, or you could run a couple Arduinos together. Google Arduino dual core and look at some of the work people have done with getting multiple Arduinos to work together over I2C. The third option, which would be best if you want to do a lot of calculations and require more resources then a microcontroller would allow for, would be to step up to some small form factor computer. The Raspberry Pi that just recently was released should be a good brain for a robot. It has an ARM processor, Ubuntu has been ported to run on it, it is really tiny, and it will cost you $35 bucks. When I get around to doing some crazy AI development on my bot, that will be the way I am going.

  4. #4
    Join Date
    Dec 2007
    Whidbey Island, WA
    Rep Power

    Re: How to build a Humanoid robot?

    If you don't have the money, don't build a humanoid. I promise you you will be disappointed and frustrated. For $400 you could probably build a pretty decent rolling robot with a low DOF arm, and a bunch of sensors. You wouldn't have to worry so much about weight, keeping weight down is expensive. If you really have your heart set on building a humanoid, then you will need to save up. Maybe you can get lucky and find a bunch of used humanoid parts on line.

    I want you to know, I am speaking from experience. I've tried to build robots on the cheap in the past, and it leads to nothing but heart ache.

    Hope this helps more than it hurts...


  5. Re: How to build a Humanoid robot?

    Thanks for all your answers,

    Somaybe it is better to start buying the ax-12 servos ( a 6 pack) and the parts that i need to build the legs (can i buy these as unique parts or it is better to find a kit? )

    As for the Raspberry Pi or another pc based controller i dont know how i will be able to program it (in what language?) and how alll the sensors and controllers are combined-communicating-attached?

    I have a brick shield for the arduino that gives a serial extension in order to connect it with another arduino so this is not a problem , i am just not sure about the programming limitations.

    I read this post (awesome work :P ) that uses the ARC-32 Atom Pro board that is really cheap. This is a microcontroller plus a servo controller?

  6. Re: How to build a Humanoid robot?

    The Raspberry Pi is just a tiny Linux computer. It supports all the programming languages. And it wouldn't be able to communicate with the servos and sensors directly, you would need a microcontroller to translate the data between the 2, but it would give you a lot more processing power which is important is you are trying to do more complex math. Think of it this way, the Raspberry Pi (or other PC) is your brain. It does all the high complex calculations and thought processing. The microcontroller is your brain stem and spinal cord. It takes a thought like "type these words", and converts it into the muscle movement required to actually type the words.

  7. Re: How to build a Humanoid robot?

    Thanks for the explanation dyrge, so if i am correct i can program my AI f.e. or everything i want in a computer no matter what is the programming language and feed the data i want to any microcontroller that will manage the servos, sensors etc.

    If that is the case is arduino with a servo controller enough to manage up to 10 ax-12 servos?

  8. #8
    Join Date
    Sep 2010
    Rep Power

    Re: How to build a Humanoid robot?

    A plain arduino is not recommended for controlling dynamixel servos because it has only one UART (serial port), so you could either have the PC communicate with the arduino over USB or have the arduino communicate with the dynamixel bus, but not both simultaneously. The arbotix (2 UART's with one already set up to connect to a dynamixel bus, a dynamixel servo control library, an interpolating motion engine for playing pre-programmed motion sequences, decent gait creation for quadropods and hexapods via NUKE, and numerous very active/helpful users on the forum) is a very nice starting point although the Arduino Mega would work just as well. There is also the USB2Dynamixel that is meant for direct communication between dynamixel servos and a USB host equipped PC.

    Of course, if you go with the RaspberryPi or BeagleBone, you would not actually need any of these previously mentioned devices as they both have UART(s) broken out to GPIO headers (RaspberryPi has one UART on its expansion header and the BeagleBone has 4 UART's on the expansion headers). In this instance, you would need to hook the UART's RXD and TXD pins plus a single GPIO pin (pins are 3.3V and not 5V compliant/tolerant) up to a level shifter/buffer to prevent damage to the 3.3V UART pins by the 5V UART of the dynamixel bus as well as to turn the full duplex UART of the RaspberryPi/BeagleBone into the half-duplex UART used by the dynamixel bus. The circuit itself is fairly simple, but accessing the UART and GPIO pin functions of the RaspberryPi or BeagleBone may not be so easy (I still have not bought either to play with). I know that Upgrayd was using a BeagleBone to directly control the dynamixel bus for his biped, but I am not sure how well it has worked out or how easy it is to implement.
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    gives free advice only on public threads

  9. Re: How to build a Humanoid robot?

    If you use an Arduino board with at least 2 serial UARTs. You said you have the mega, which after a quick look seems to have 4, so that would be perfect. Just be mindful of the serial communication speed, and the fact that the Arduino uses full duplex while the AX-12 servos use half-duplex.

  10. Re: How to build a Humanoid robot?

    Thanks a lot again guys your responses are more than helpful and educative
    I made a small research and i just understood that Arduino Mega is different from Arduino Duemilanove that i own. I thought that by mega we mean the atMega328 Microcontroller but i was wrong so my arduino has only 1 one hardware serial port.
    So ill make my research and reading about the arbotix and i will come back with fresh questions

    Love your help guys really

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. How to build a wifi robot
    By andrewarcher in forum Robotics General Discussion
    Replies: 3
    Last Post: 04-01-2009, 04:33 PM
  2. Interesting new humanoid robot, what do you think of it
    By openmindedjjj in forum Robotics General Discussion
    Replies: 78
    Last Post: 09-08-2008, 03:55 PM
  3. Question(s) has any build the oap robot project
    By robot maker in forum Robotics General Discussion
    Replies: 23
    Last Post: 08-27-2008, 11:47 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts