Diego – the humanoid biped

Servos

Arm and Hand Development

by on Jan.19, 2011, under Arms, Servos

One of my long time favorite topics in robotics is visual servoing. In order to be able to do this, my robot needed fairly sophisticated arms and hands. Each of the old hands had 2 degrees of freedom: one in the shoulder and another in the elbow.  The new construction sports 5 DOFs: two in the shoulder and one in the elbow, wrist and hand.

DSC_0439

The upper three servos are regular sized Hitec HS-475HB, while the lower two  (wrist and hand) are micro sized Hitec HS-85BB. The frame of the arm is built of Lynxmotion Servo Erector Set elements, just like the legs. The hand is a gripper device produced by Robix and sold by Lynxmotion.

After the construction was completed, I wanted to test the hand’s precision. I connected the arm servos to the Roboard unit and sent a series of pre-programmed movements to grab a small red ball.

This worked out quite well as you can see it in the above video, which encouraged me to continue with my visual servoing ambitions.

Leave a Comment more...

Torque Upgrade

by on Jan.26, 2010, under Legs, Servos

After adding Diego’s arms and head the robot became too heavy for the servos to support it. I had four HS645 and six HS475 analog servos in the legs. I decided to upgrade to digital ones, because of their higher holding torque. Since, I’m still on a budget I browsed around for cheaper solutions. Finally I decided to give some Chinese servos a try that have received some acceptable comments: the Towardpro MG996R. They can be found on Ebay for under 15$ a piece which is an unbeatable price for digital servos with metal gears and around 10 kg.cm torque.  I gradually replaced all ten leg actuators with these. The horns that ship with the MG996 are not compatible with the Lynxmotion brackets. Therefore I had to use Hitec horns. Here a small problem arose, since the MG’s are marginally compatible with HS horns, so I had to heat up the horns to fit them on the MG996R’s. After installing the motors, they proved to be very responsive and fairly precise with acceptable backlash. On the other hand they are not protected from overheating which allowed me to burn one of them down while it was trying to work against a mechanical barrier. All in all, I would recommend these servos to people on a budget who do not want to spend 50-100$ on higher quality actuators.

Leave a Comment more...

Controlling the Servo Motors

by on Aug.08, 2009, under Electronics, Servos

One of the reasons why servo motors are very popular is the ease of control. The motors are so called positional servos, which means that their angular position can be set with high accuracy.

hs475

What does ’servo’ mean at all? It means that the motors have a feedback loop that allows them to correct their performance error compared to a desired performance. In the case of positional servos, it means that when the user sets a desired angular position for the motor, it measures the difference between the actual and desired position and drives the motor until the error is minimized. The feedback of the actual motor position is provided by a potentiometer. The desired position is set using the motor’s control signal. The control method is called PWM (pulse width modulation). This means that the angular position of the motor is determined by the width of the step pulse in the signal.

servo_signal1

The impulse train needs to have a constant frequency of 50Hz, i.e. a period of 20ms. What changes is the width of each of the pulses. For the particular servos that I use (Hitec HS422, HS475), the width should be between 600us and 2400us (microseconds). This value span corresponds to moving the motor from its minimum of 0 degrees to its maximum of 180 degrees, as the image below shows.

servo_signal2

It should be fairly easy to use most microcontrollers to generate such signals. Some of them already have built-in PWM generating capabilities. Most of the servos have three access wires. Besides the control line (yellow wire), that expects the above described signal, there are two others. You can probably guess: Vcc (red) and Ground (black).

Leave a Comment more...

Choosing Joints and Motors

by on Aug.08, 2009, under Mechanical, Servos

As said before, I wanted to have a cost effective but highly customizable modular joint system for my walking robot. For building the joints and skeleton I chose Lynxmotion’s Servo Erector Set parts like these servo holding brackets and C brackets :

lynxmotion_bracketasb09

The servo motor is fixed to the holder bracket. Then, a C bracket is attached at one end to the horn of the servo and at the other end to the back of the holder bracket using a ball bearing adapter. This way, the C bracket is fixed at both its ends but allows rotational movement:

asb054

This smart solution allows to build joints using simple parts. other C brackets and holder brackets can easily be attached to the basic joint to form a whole frame (skeleton) of a biped.

asb041a

There For actuators I chose to start with a cost aware solution. I ordered two Hitec HS422. Soon after I got them I figured out the they do not provide enough torque (57 oz-in) for the robot to be able to walk. So my next order was for six HS475 (76 oz-in torque).

hitec-hs-475bb1

Since then I realized that these servos are good for supporting a basic two legged robot, but they hardly can support  more than the legs, torso, electronics and batteries. For a heavier robot, with arms and head, stronger servos are suggested. For robotic applications digital servos are highly recommended. They have higher positioning resolution and often times they have higher torque. On the other hand they are more expensive.

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Archives

All entries, chronologically...