Robotic animal

poor version of MIT's cheetach

Similar projects worth following
Recently I got interested in "animals" that are built in USA by Boston Dynamics, MIT or DARPA. They are really advanced robots, usually created to serve in military. I was suprised by the possibilities of the MIT's cheetach. It can run up to 22km/h, jump over obstacles whie being self sufficient ( it carries it's own power supply ). I decided to give a try and build a smaller more scanty version of the cheetach.

Hackaday says it should be a detailed description so I'll do my best to hand You as many details as I can.

You can see on the photograp it has 8 servomotors. Four, bigger, are the thigh motors and the other four are moving the calf. I decided to put them on the body, not in the knee, to make te legs lighter and therefore faster. The knee is controled using metal rod, as well as the foot, which is conntected to the thigh. I'm still thinking of placing a touch sensor on the end of the leg, but I have to figure out how to do that.

The electronics controling current version is really simple - it has a DC-DC converter (for servos), an 3.3 LDO regulator for the stm32. Actually this is only the board for the power supply and servo control. The main board is not made yet. I'm still thinking of soldering an extra cable to each servo to the potentiometer to be able to read the position.

Regarding software - the servos are controled by software, using an systick interrupt. To move it uses a really simple inverse kinematics ( this is my first experience with legged robots). Currently the below "walk" is created using 4 "for" loops. I guess that's not the solution that MIT or BD uses, but for now it look quite good ;)


  • 4 × Servo PowerHD HD-1160A thigh motror
  • 4 × Servo Redox S90 knee motor
  • 1 × stm32f103c8t6 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × LM2596S-ADJ Power Management ICs / Switching Regulators and Controllers

  • Change of plans

    Peter Wasilewski07/06/2016 at 19:44 0 comments

    I haven't written anything because I've accidently destroyed one of hip servos, and though couldn't continue the work. But I decided to make my own motors. I decided to make actuators from a threaded bolt and two gears from servo. It'll have the needed torque and the speed.


    Actually it won't ;( They seem to be to slow for this purpose, and the torque is quite low. Now it looks like this :

    I have already tested another solution, with a bigger engine, hopefully this set will do the job.


    I think I finally succeded in finding the right gears. Now a leg looks like this :

    It has an integated gearbox inside, which is quite fast and has the needed torque, as I wanted. Now I'm working on the hip joint and motors as well. Also I have to add potentiometers to the actual leg ;)


View project log

Enjoy this project?



deʃhipu wrote 07/03/2016 at 22:27 point

I see you added more details now. That's great. I also struggled with touch sensors for my robots -- custom force sensors were too complex to make, simple endstop switches took too much force to switch (my robot is light). Then I discovered the "detector switches", which are usually used to see if an SD card is inserted. They require very little force, have small travel, and come in SMD versions that are very easy to attach to the end of a foot.

As for position sensing on servos, you might be interested in this log:

  Are you sure? yes | no

Peter Wasilewski wrote 07/04/2016 at 08:24 point

Detector switches.... You're right, I had them on my back legs. They detect the touch really easily, but when the leg is moving forward and backward the floor touches the case of the sensor, not the little stick. Maybe I've choosen the wrong sensor, but they were the only ones that I had ;) 

Thank You for the link, I've already read it and now I'm quite excited about it. Today I'll try to do something with the force detection for sure. 

I've heard about Your projects many times, and I can tell that's You're quite good at walking robots. So I was wondering if You could tell me what's the best way to move a leg (or then move all 4 ofthem)? Do you also use loops, where You change the coordinates or is there another solution ? What do You think of using sensors such as accelerometer or gyro ( kalman filter if i'm right ? ) ? 

  Are you sure? yes | no

deʃhipu wrote 07/04/2016 at 08:50 point

I still haven't found the best way. As for not-best-but-working ways, it's a long story -- we can have a chat at #Robotics Chat or you can look at the source code of my robots -- it's all on Bitbucket. And my robots really lack sensors -- I have a lot of plans for trying them, but somehow never get the time/motivation. I hope I will get to this eventually. I would love to see more people experimenting with this, trying different things -- maybe that would motivate me to play with the sensors more.

I tried to use an accelerometer as a general body position and movement sensor, but I failed at math and pattern matching to really get this to work. The accelerometer I used was also pretty noisy, it may have been part of the problem. I want to try it again with a better sensor (the Bosh one that does data fusion for you) at some point, but I'm not in a hurry.

Touch sensors (switches) have been much easier to work with and much more promising. You can try to attach a piece of wire to the plastic nub that sticks out of the switch, and bend it in a loop -- this way it should always touch the floor.

There are also those distance sensors (infrared, ultrasonic and light ToF), which allow you to program a lot of nice behaviors into the robot, such as obstacle avoidance and following moving objects -- almost as if they had vision. Vision is also a huge topic that I didn't even start with. There is a lot to explore.

  Are you sure? yes | no

deʃhipu wrote 07/03/2016 at 19:18 point

Looks very nice so far. Have you seen the Cheetah Cub robot? It looks somewhat similar to what you have there:

  Are you sure? yes | no

Peter Wasilewski wrote 07/03/2016 at 21:12 point

Oh yeah I've seen this one ;) I actually came across it while doing a quick resarch in the internet about this type of robots. However I decided to use metal rods instead of strings, don't know if it's the best solution, will see ;)

  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