22 January 2015

Biped Ankle Development and Testing

It feels like I'm taking two steps forward and one step back at every stage of this project (no pun intended). Probably due to my lack of 3D CAD and 3D mechanical modelling software, but it's more fun to build than to model, even if it takes a bit longer, so that's what I'm doing.

My original biped was going to be a micro sized robot (about 30 cm tall), but early servo testing soon put the brakes on that idea. The current design should be about 60 cm tall and will use standard sized servos. Cheap Tower Pro MG 996R servos to be precise. The robot height may have doubled, but the budget hasn't. I also made a decision to avoid the temptation to use the servos as pivots like so many simple biped robots seem to do. I made that decision for several reasons:
  1. I want to design and build a unique robot, not make a copy of a robot 1000 other people have.
  2. Using the servo as a pivot reduces the usable range (and therefore precision) of the servo. e.g. in an ankle that might need to move +/- 45 degrees a servo that can move +/-90 degrees will only be using half of its available range and precision.
  3. By using appropriately sized gears or servo horns, push-rods and levers to connect the servo to the joint I can take advantage of the servo's full range of motion and precision . This will also have the added benefit of increasing the available torque at the joint if the joint needs to move less than the servo.
  4. Using levers or gears to scale down the output of the servo will also scale down the dead band by the same proportion. This is a very important factor if you are using cheap servos like I am. I know from my early testing that the MG996R's have a massive dead band (between 5 and 10 degrees) so anything that can be done to reduce it is very welcome.
One disadvantage of using levers or gears to take advantage of the servos full range of motion is that the speed at which the joint moves will be reduced as the ratio between the servo movement and joint movement increases. When operated at 5 volts the MG996R servos will rotate 60 degrees in just under 0.2 seconds (no load), which is equal to 0.6 seconds for 180 degrees (the maximum travel I've seen the MG996R's perform reliably). So if I use the servos full output range it would take 0.6 seconds for a join to travel through its full range even if that was only 30 degrees. If that turns out to be too slow I can always adjust the servo limits (possibly only use +/- 120 degrees to reduce the travel time to 0.4 seconds) and then adjust the servo horns and levers etc until I find a good compromise between speed and torque / precision.
Anyway, enough words, here is my biped ankle prototype:



I should re-iterate that this is only a proof of concept mock up. The final version will have quite a few enhancements including significantly stiffer push-rods and screws to hold the servo horns on! The whole foot will also be rotated 180 degrees so that the push-rods are at the back of the leg and not the front. It will also have the push-rods connected to the foot at the correct angle and distance from the pivot! [I was playing with calculations for the knee joint at the same time and ended up using the knee calculations on the ankle so the connections are approx 45 degrees from the pivot instead of being level with the pivot as they should be. That's what you get for doing stuff like this at 2am]

You can see from the picture that I have two active degrees of freedom (DOF) in the ankle and two servos to operate them. I could have arranged them traditionally so that each servo controlled a single DOF, but that would have made the lower leg less compact because the servos would have needed to have been positioned at 90 degrees to each other so that the output shafts were in the right place relative to the foot and the pivots.

By placing the servos next to each other I've managed to keep the leg relatively slim (60 mm wide) as well as keeping the construction relatively simple using a combination of cheap robot brackets from eBay and a few of my own fabricated brackets/plates. The dis-advantage to this arrangement is that the software / firmware used to control the ankle will be a little more complex but that shouldn't be too much of a problem.

Now I've proven the concept I will fine tune the design and then start work on the hips and knees.

No comments: