Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Asked — Edited

Servo Dampening

wall-e suffers from a head shake. this happens when I move his head(up/down/left/right) and when I drive him around. i'm going to be showing him to 600+ people Monday so I really want to figure this out. his head shakes back and forth(side to side). I was thinking... if I put a mid tension spring on the area where the servo mounts to the head and attach it to the body, it would help stabilize the head, would it not?

How do you have the eyes set up? Pics maybe or a small video of the problem......I've put in tons of hours in my wall-e head alone.

Maybe I can help out.
When you say shake, do you mean that the assembly wiggles/moves or is floppy? Or do you mean when you move his head it moves in a sketchy/shaky way? I ask because I had a sketchy head the first time I built a bot and I thought I messed the servo up but it turns out I had the servo speed set too low and that's why it acted that way. I bummed the servo speed up and the problem was solved.
Try this;
Make sure you have servo Speed set to 0 in your INT Script for the head servo when you start up ARC. It's a good idea to do this for all servos.


How are you starting the servo movements? Are you using a Movement Panel or moving him with scripts in ARC or both? Either way you would have to set servo speed at the start of the movement and reset servo speed to 0 at the end of your movements in the scripts for the jumpy servo when you move it. If this works you an play around with the scripts and see how you can tweak and trim them down.
I use the servo controls to move the servos. so your saying to make a script that sets the servo speeds to 0?

well, that's what I tried and it didn't work.
United Kingdom
I had this problem with my Omnibot head. Its because the servo moves fairly fast to the new position and there is a mechanical overshoot caused by the weight of the head. The servo then tries to move back to the programmed position it overshoots and the whole thing repeats so the head wobbles back and forth. I solved it by dampening the head movement mechanically with two pieces of foam that rub against the head creating some friction. Not so easy with the wall-e head and I guess it must have a bit of weight with the camera etc which wont help.

So try to get something to rub against the head movement it doesn't need to be too much just something that creates a bit of friction or slow the servo right down not as good a solution though

Good luck with your presentation btw
Sorry that didn't work. How about trying the servo release command when it gets to its resting spot.
@Winstn60 That's what I was thinking with the spring. it will put resistance on the neck as it turns.

@dschulpius no problem, thanks for the suggestion. releasing the servo when it reaches the point might work, but the shaking is caused by overshooting. so if it overshoots and then is released, its going to be a couple of positions off.

What I was thinking is to take 2 springs, and attach them to the neck and body in a V shape. this will put resistance on the neck as it turns.


I was planning on making a cover for the servo to hide it. I could hide some foam in there to put resistance on the neck.
@ Technopro I watched your video and determined that this is a centering issue. There is a certain degree of Deadband every servo has. It is usually the neutral or center. Different servos this is slightly wider. Take in mind it doesnt mean you have a good or bad servo its just a different characteristic you need. Its the sensitivity of the Pot on the output shaft. This typically only happens when there is tension on a servo while in neutral position. There are two options I can think of off the top of my head. You could try configuring you servo so the neutral stop is slightly off center by a couple degrees so that the head is not resting in the dead-band of the Potentiometer. The other obvious option is to sway for a servo with higher gear ratio which are normally high torque servos and the dead-band is also smaller there. A High torque servo will eliminate the need for tension springs. If you can get a standard ( non high torque) servo with smaller deadband as well. Me personally in a situation where the nuetral position there is tension I woul djust grab a high torque servo. You wont need that much. A HItech 645mg is a 130 oz in at 6v and the dead-band is so small that it will not buzz or wiggle even while centered. The HItec 645mg is about 2 x stronger that the regular servos and has that smaller dead-band feature. This model is very common and you should be able to get it from most RC Airplane, Rc Heli and Rc car hobby shops for about 20-25 dollars. This is the servo I have in my robots neck. In the Ez-Robot store the Tower Pro 995 should work too but I understand you cant wait for shipping.
User-inserted image

Edit: Using the servo release command will keep it from constantly doing this but anytime it stops in that position and the servo has power it will try to correct its output shaft angle causing the notorious wiggle.