Katka, a mammalian robot

A small walking robot with a mammal-like configuration of legs.

Similar projects worth following
Two servos per leg, proper inverse kinematics, statically stable "creep" gait, cheap. Perfect for inserting into a stuffed toy.

This is one of my early experiments at building a cheap quadruped. Since there are a lot of servomechanisms in such a robot, even when they are relatively cheap, they comprise a large part of the total price. So reducing the number of servos is an obvious way of reducing the price.

However, it's almost impossible to have proper inverse kinematics with a robot in a spider/lizard configuration with only two degrees of freedom per leg. Fortunately, in the mammal configuration, when both degrees of freedom move the leg in the same plane, it's possible to have two-dimensional inverse kinematics, and that's what this robot does.

It can move its center of mass, and it can move its legs backwards in a straight line, and then raise them and move them forward. That is enough for implementing a proper statically stable "creep" gait. Unfortunately, it's not enough for implementing proper turning. In order to turn, this robot works like a tank, by making the steps on one side shorter than on the other (or even reversing the direction). This is sub-optimal, as it leads to slippage and unpredictability, but that's the best I could do without adding at least one servo and rebuilding the robot completely.

  • 1 × Arduino Pro Mini 5V microcontroller board
  • 1 × Servo breakout board the same PCB as in Tote
  • 8 × SG90 Microservo Tower Pro
  • 1 × 1S LiPo Battery From a broken power bank
  • 1 × IR receiver VS1838b

View all 7 components

  • Spider Mode

    deʃhipu07/01/2015 at 10:05 0 comments

    Yesterday I finally decided to kill one of my failed projects, the Pico-Kubik (pKubik for short). It was the third robot in the series, following #µKubik quadruped robot. It was supposed to be smaller and cheaper by the virtue of only using 8 servos, 2 per each leg, and doing inverse kinematics through solving a complicated set of non-linear equations, for all legs at once. The idea was that while I can't position accurately each leg in 3D with only 2 degrees of freedom per leg, I can do it if I use all the legs together, and ignore the position of the body itself. While I still think it may be doable, the complexity of required math defeated me, and the robot was standing there on the shelf, waiting for its turn.

    Read more »

  • Reworked Electronics

    deʃhipu06/26/2015 at 10:23 0 comments

    Since I have a couple of new boards for #Tote, affordable spider robot, I decided to re-make the electronics for Katka. I got rid of the boost converter and the huge capacitor, using a 3.3V Pro Mini instead of the 5V. I also soldered all the parts on one side of the board, so that it can be attached easily with screws at the top of the robot. The battery is still just strapped to the front -- it has to be there for the center of gravity to be in the right place, unless I bite the bullet and rework the legs too.

    Read more »

  • Walking Details

    deʃhipu06/24/2015 at 12:29 0 comments

    I've been asked to provide another video of this robot walking, with a better angle, so that the exact movements can be more easily seen. So here it is.

View all 3 project logs

Enjoy this project?



Alex Martin wrote 09/09/2016 at 02:15 point

Are you ever going to actually put it into a stuffed toy? I would really enjoy that!

  Are you sure? yes | no

deʃhipu wrote 09/09/2016 at 07:35 point

I did, briefly. It didn't work very well -- the legs didn't have full mobility and they slipped a lot. I suppose you'd need to find the right toy and then customize the dimensions for it.

  Are you sure? yes | no

Steven Gann wrote 10/16/2016 at 22:55 point

You might be better off getting some cheap faux fur fabric and sewing a custom fur suit around it. Not too difficult, since fur is very forgiving around akward seams.

  Are you sure? yes | no

deʃhipu wrote 09/09/2016 at 07:56 point

You can actually see it briefly in this talk: 

(scroll to 29:00)

  Are you sure? yes | no

Duane Degn wrote 09/12/2015 at 03:42 point

I'm really surprised how well 2dof legs can work. It's always fun to see your projects.

  Are you sure? yes | no

deʃhipu wrote 09/12/2015 at 08:43 point

Yeah, if not for the turning, it would be the perfect solution. I wonder why nobody does that, everyone goes for "one servo to raise the leg, one to move it" approach. I suppose it's more obvious that way.

  Are you sure? yes | no

Craig Hissett wrote 07/01/2015 at 11:36 point

I absolutely love this - I think it be my favourite walker of yours so far :-)

  Are you sure? yes | no

deʃhipu wrote 07/01/2015 at 12:32 point

Thank you. Personally I have mixed feelings about it. On one hand, the mammalian gait looks really nice and really makes it look like an animal, on the other hand, its inability to turn is a real problem in any practical use. It would make a perfect base for an electronic pet otherwise.

  Are you sure? yes | no

Craig Hissett wrote 07/01/2015 at 12:36 point

Ah, I never really thought about that.

The movement is beautiful going forward, but the lack of direction is a shame.

Would it be cheating to add any extra servos to help? :-)

  Are you sure? yes | no

deʃhipu wrote 07/01/2015 at 12:52 point

Sure, you can do that, but in the most obvious way (an extra servo for each leg to make it move sideways) it defeats the main advantage that it has over the spider robots -- only 8 servos. I'm planning to try that one day, though. I was also thinking about adding a servo in the middle of the body, but then you get leg slippage similar to what you get right now when you try to turn as a tank would.

  Are you sure? yes | no

Craig Hissett wrote 07/01/2015 at 14:01 point

Very true Deshipu, very true. I know it would be defeating the object but if the extra leg ones can be incorporated and it can still maintain it's mammalian stride that would be amazing.

I was thinking about the midsection servo or even one between the back legs but slippage is a big issue with walkers, I'd imagine.

You could always mount a motor with a plate attached - it can then sit and swivel! :-)

  Are you sure? yes | no

deʃhipu wrote 07/01/2015 at 20:16 point

I want to build, at some point, a Pico-Katka, using the same servos as #Pico-Kubik quadruped robot, but I haven't decided on how to actually attach the hip servos. One possibility is something like this:

A rotating plate is actually a very funny, yet strangely practical solution. It solves the problem very directly, although I guess it doesn't look so good.

  Are you sure? yes | no

Craig Hissett wrote 07/01/2015 at 20:29 point

It would be great with those tiny servos.

Go on, stick a plate on it's ass - if you can code it to sit and shuffle like a dog wiping its backside on the carpet it'll look great :-)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates