Hackaday Prize Entry: Solving The Shortage Of Walking Robots

The world has a severe lack of robots, and the shortage of walking robots is untenable. We were promised flying cars and fusion reactors, yet here we are, 15 years into the twenty-first century without even a robotic pet spider.

[Radomir]’s entry for The Hackaday Prize aims to fix this bizarre oversight of scientific and technological progress. He’s designed a small, inexpensive, but very well designed quadrupod robot that will put full reverse kinematics on your desk for under $50.

To solve humanity’s glaring lack of walking robots, [Radomir] designed Tote, a four-legged robot whose chassis is mostly composed of only 9 gram servos. There are twelve servos in total, three on each of its four legs. It’s an extension of his earlier µKubik robot. While the µKubik was powered by Python, the Tote is all Arduinofied, calculating the trajectories of each leg dozens of times a second with an Arduino Pro Mini.

This isn’t the only walking robot kit on hackaday.io; last year, [The Big One] created Stubby the Teaching Hexapod. Even though Stubby featured six legs, it’s still remarkably similar to Tote; 9 gram servos provide all the locomotion, and all the software is running on a relatively small ATMega microcontroller. Both are great introductions to walking robots, and both bots will surely be capable and just rulers of mankind after the robot apocalypse.


The 2015 Hackaday Prize is sponsored by:

23 thoughts on “Hackaday Prize Entry: Solving The Shortage Of Walking Robots

  1. Cool work but the biggest problem with small walkers is the smaller you make them the more critical angular inaccuracies become, and guess what happens when you need to use smaller and inherently less precise servos? Mini servos often come with all sorts of jitter to deal with also as they try to maintain position.

    What would really be cool is a unified control system, the controller needs to not only tell the servo where to move to, but see where the motors all pull average equal current sitting stil, this means all the legs are about even and you haven’t turned yourself into a tripod due to terrain or positional error.

    I believe there is a project all about this already. Openservo, but it’s meant for full sized, not mini ones.

    1. OpenServo is great, but still you need to make adaptations in software and hardware for your servo (i.e. cutting PCB for size additional to the necessary hardware changes inside the servo itself) or software (PID for example).

      A version of SpenServo running on an esp8266 would be awesome, especially if you look at the robot of this entry you see that the smaller you get the cabling comes in as one of the biggest factors. Additional you could use I²C for other stuff.. With additional lipo circuitry (like the great Adafruit Huzaah http://www.adafruit.com/product/2471 ) + lipo it is possible to make servo throwies :)

      Fitting everything in a mini servo would be still a big challenge (definitely not my ball park), and RF problems next to a servo motor could be a deal breaker.

        1. I worked on a spider project a while ago that used 18 servos drawing 2A peak each, the i2c sensors went bat shit every time it moved due to the interference. we switched everything including the servos to rs485 with some custom servo controller boards similar to open servo but less neat.

      1. You don’t really have to fit everything inside — you could just attach the circuit board to the side of your servos, that would still work in this case. Cables are also not such a big a problem, because with I²C bus you can put all the servos on the same 4 wires (you would probably still want separate power lines, though). The real problem I see with using things like OpenServo is that the board itself uses a microcontroller as powertful, as the one I used to control the whole robot, and costs about $30. With parts bought in bulk from China, I can build a whole Tote robot with that, and still have some spare dollars for the sensors.

        The idea of wifi throwies is interesting though. If you could program them to form a mesh network, it could be a great way to temporarily improve wifi access in certain areas. Of course, mesh network protocols are a challenge in themselves.

  2. Why? While I agree that this approach might not be suitable for professional applications (heavy duty or highspeed), the advantages for amateur purposes are lot – too much for beeing ignored in my oppinion:
    – standards regarding size, electrical specs and communication
    – good price
    – acceptable lifetime (choose one with metal gears for more mechanical steadiness, take a look at highend servos for rc planes)

    Looking forward to your answer
    Regards

    1. ooooo how hurtful…

      I was making a point – if you disagree with it fine, convince me with a good argument, but ripping in with the ad hominems is just a sign of immaturity.

      1. To be fair, it’d probably help if you put forward a good argument in the first place. I get your point; RC-grade servos aren’t massively precise or strong, however precision doesn’t have to be all that great for something like this, and they have a key advantage over other types of actuator for this sort of project; They’re cheap. If you can find a professional-grade servomotor for less than a three quid that’d do the job better, I’d be very interested. Motors make up the majority of the price of a project like this; If you’re paying £20 for each motor, and you’ve got 12 motors, that’s £240 of your money gone. These, well, you’re probably looking at more like £20-30, which is a substantial difference.
        In the meantime, if you don’t like that way of working, why don’t you just wake up and do something better yourself? If everyone took your attitude, we’d still be stuck in the stone age.

  3. I would absolutely *love* to use something better than hobby servos, like, say, dynamixels. There is actually a very nice project that does, called Metabot (https://github.com/Rhoban/Metabot/), so you can wake up already. However, I found no way to actually put a dozen of $100 servos into a $50 robot. And designing a fifteen hundred dollar robot is not going to put it on the desk of every teenager. So instead I’m trying to do as much as possible with what is easy to get. It won’t be Boston Dynamics, but it’s better than just going to sleep.

    1. I have no delusions about contributing actual research to the field of robotics myself, and I don’t expect congratulations. The whole idea is to “crowdsource” that part, bringing more people interested in contributing, and making it easier for them to start. I agree that the robot itself is not very special, and that similar (albeit overpriced) kits have been available for years. Youtube is full of videos of those toys. But what you don’t see there is how many of those get bought and never finished, or even when finished, don’t do anything more interesting than a hard-coded pre-recorded staggering forward. That’s why I’m writing this guide — to make more people get through the first two hoops. The first hoop, getting an actual robot without going bankrupt, and the second hoop, getting it programmed with a gait that is actually controllable, not just a pre-recorded sequence of movements. I believe that after getting through those first two steps, there is a large plateau of relatively easy roads forward in different directions, some of them explored already, but many not. And since the field is relatively young, compared to, say, astronomy, it’s much easier to serendipitously stumble upon a useful discovery.

    2. Riiight, so, for someone trying to design a simple, cheap, easy-to-make robot, for teenagers to build on the cheap, you recommend, rather than using a perfectly adequate and affordable existing component, building 12 custom servos from scratch. Right. Perfectly sensible. They were obviously stupid for even considering doing anything else.
      I’m afraid you’re now going beyond vaguely annoying, and moving into the “Dumb, obnoxious and rude” zone. Kindly either be constructive, do something better yourself, or just clear off. I’d make this point in stronger language, but I don’t wish to be blocked from commenting. Just grow up. Seeing as you hail from a time prior to RC equipment becoming mainstream, I’d have thought you’d have had time to do that by now, but obviously not.

    3. Some people walk around picking holes in everything and being miserable, others like to see the positives in things. It’s a state of mind thing I guess. I for one, quite like the little robot I can build for £20!

  4. The 9g servos ARE $2 ea, which is crazy cheap. With the robot arms I made a while back, I noticed that the $10 cheap standard servos I bought back in 2002 perform WAY BETTER than even the mid grade newer servos. I have some new ones that will just sit there switching, unloaded, on their own (completely stable input signal)
    http://ruemohr.org/~ircjunk/robots/arm7/slide.htm
    http://ruemohr.org/~ircjunk/robots/arm8/slide.htm
    http://ruemohr.org/~ircjunk/robots/arm9/slide.htm

    1. Of course! Or you could put a Raspberry Pi on a Hexbug or an electric car toy. They will let you explore a lot of problems important in robotics, such as control, signal processing, behaviors, etc. But they will not let you learn how to make robots walk, simply because they walk by themselves — their walking motion is hardwired in their physical construction, and you can’t really control or change it. Here you get legs with three degrees of freedom each, and you have to program their motion during the walking. You get to experiment with different gaits and different timings. You can switch between more stable or faster movements. You can even make the robot do things that are not strictly walking — like dancing, or using its legs to pick up an object. It’s a different set of problems.

      1. Thanks for the schematic. That helps with the IR hookup. The power setup seems a bit awkward. My ftdi cable supplies 5V so i have been hooking that to the pro-mini RAW input. I guess you have a cable that supplies 3.3V?

        1. As a matter of fact I do have 3.3V USB2TTLs, but it never occurred to me to use them for programming the Pro Mini, and I use the normal 5V ones. You see, the only difference between the 3.3V and the 5V Pro Mini are the voltage regulator (which you are bypassing, so it doesn’t matter), and the fuses that control the clock speed of the chip. The chip itself, atmega328p, is exactly the same. So you can safely program the Pro Minis using the 5V cable connected to the FTDI header directly. The GPIOs (but not the ADC) are also 5V-tolerant, which is very convenient.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.