02 December 2014

Servo Testing - Tower Pro SG92R

I wanted my biped to be as small as possible whilst stil having around 30 Degrees of Freedom (DOF) so I decided to get some high torque micro servos. Specifically the Tower Pro SG92R 9 gram servo.
They are advertised as having between 1.4 kg.cm and 2.5 kg.cm of torque. Ignoring the fact torque should be measured in Newtons and not Kilograms this value appeared to be enough (on paper anyway) to actuate most of my bipeds joints. I knew the actual usable range would be a little less, but I wasn't prepared for what I found when I tested a few.

This is by no means a scientific test, but my results may be of use to others considering these servos for their robotic or other projects.

The stall torque is, as I understand it, the maximum torque the servo can withstand or 'fight back against' when applied to the output arm. I should clarify that the servo must be powered up and receiving a good signal e.g. 1.5 ms pulse at 50 Hz.

In my test I had a 20 cm arm attached to the servo horn parallel with the table below. I hung a small bag of coins on the arm at 20 cm from the pivot and ran a small python script on my Raspberry Pi that cycled through several servo positions before returning to the start point.



I had hoped to get around 1.5 to 2 kg.cm of usable torque out of the little SG92R's, but sadly they did not live up to their chinese specs!

The only good thing about the tests is that all the servos I tested started to struggle at roughly the same point, so at least they are consistent.

From my tests I have concluded that the SG92R's:

  • Can hold against a torque of approximately 2 kg.cm. i.e. the stall torque is around 2 kg.cm. But they did sag about 15 degrees before holding the weight.
  • Have, have a 'usable' torque range of about 0.8 to 1.0 kg.cm. At that load they will move where commanded, although slowly, and will hold their position fairly accurately.
  • Will move fairy quickly and accurately with a load of about 0.4 to 0.5 kg.cm.


So, In conclusion, my 9 gram SG92R Servos are only really useful up to about 0.8 kg.cm and that is the absolute limit, I probably wouldn't want to use them above 0.4 kg.cm to be honest.

Unfortunately I can't build my biped light enough to use the SG92R's except in a few lower torque joints, so I ordered some bigger and stronger servos. I'm hoping for slightly better results from those, especially with a quoted stall torque of between 10 kg.cm and 14 kg.cm.




18 November 2014

Introduction

Please excuse the rather random nature of the blog as it stands right now. I started this project a few weeks ago and I still need to add quite a lot of content before the blog is up to date. Until then I'll be dumping information here as and when I can.

Once I'm up to date posts should become a little more sequential and ordered.

Please bookmark, follow or whatever it is you do to a blog so that you can come back soon to see how my little biped is getting on.

Leg development and testing

I wanted to make this robot as small and light and cheap as possible so I opted for some very small and light micro (9 gram) servos (Tower Pro SG92R) to power the joints. Various on-line sources rate them from about 1.6 kg.cm to 2.5 kg.cm which is a lot for a tiny servo, but still a pretty modest figure to work with.

I had already thought one might not be enough for some of the joints like the hips, knees, ankles etc so I had an idea to double them up. Basically mount them base-to-base and use the output shafts as rotation pivots for the joints, but even with this doubled-up configuration I began to wonder if my robot was going to end up too heavy for the little servos so I had another re-think.

To get the most out of a servo we need to match it's full range of motion (180 deg in the case of these servos)  to the full range of the joint in question. A human knee might be able to rotate between about 0deg (standing upright) and maybe 170deg (kneeling down sitting on your heels), but to walk it only needs to rotate through about 60deg. So if I'm only using about 1/3rd of the rotational travel I'm effectively wasting 2/3rds by using them in this direct drive mode.

Time for another re-think.....

Two other option exist, levers, arms, pushrods...whatever you call them, they essentially link the servo output arm to the thing you want to move (in this example the lower leg). The trouble with this approach compared with the direct coupling method is that the torque is not distributed equally over the full range of travel **needs a pic to demonstrate**. It also has a rather interesting feature whereby the torque required to keep a system stable is effectively zero when the servo output arm is parallel with the push rod **needs a pic to demonstrate**, but on the down-side it can introduce slop into the system and the non-linear force issue is a big concern, especially since I may have to 'hold' the robot in a number of different positions and I would like the motion to be as smooth as possible.

One other thing I could do is to use gears (sometimes called cogs or sprockets). My idea is to mount one gear on the output shaft of the servo and one to the structure I need to move. By choosing the right size gears I will be able to match the rotational motion of the servo (180 deg) with the rotational motion of the joint (in this case about 60 deg).  In this example I would use a 20 tooth gear on the servo output and a 60 tooth gear on the structure. Also, because the force is always acting on a tangent it will always be maximised and on top of that i should get a 3:1 increase in torque by reducing the rotational angle by the same ratio with the gears.

I need to do some tests, but if I'm right I should be able to get a constant high(ish) torque out of these little servos after all.
 
I'll mock up some physical tests for the servos and various options described above and post my results as son as I can.

EDIT: I did some testing with the servos discussed above. See the post here: Tower Pro Servo Testing Unfortunately the little servos turned out to be pretty weak. So, for now at least, they're sitting in my servo box waiting for a light weight application to put them to good use.....