PiDog Servos shaking

While idling, I have an issue with (2) servos. The head and right front shakes. I can stop it from shaking if I touch the head or foot.
I replaced the head servo with a “non-sunfounder” servo, since there is no model number or way to buy it on Amazon. Nevertheless, the new servo has the same shaking problem, which leads me to think it is the hat.

I have videos, but the upload does not work, the file size is 9MB. Is there an email to send the vidoes. Thanks

If the video file for your problem is large, we suggest you upload the video to OneDrive, then share the video link with us and give us access permissions.

If you have replaced the servo on other parts to the head, will it still jitter?

Here is a link:

The head shake was much faster than shown, the camera phone frame rate was not fast enough.
The videos are using Sunfounder supplied servos.
Thanks

What I mean is, if you put the non-jittery servo to a jittery pin interface, will the servo also start jittering? Or is the jittering issue fixed to the servo itself, and it will jitter no matter which pin interface it is connected to?
The camera’s frame rate is not fast enough, which may be related to the network. I suggest you try a network with a stronger signal to see if that helps. It’s also a fact that the resolution of the Raspberry Pi camera is not very high, which is an inherent limitation.

The leg jitters:
After moving the pins around, I did not see the same problem. I then removed the servo from the front leg and moved it to the back leg. Then moved the back leg servo to the front.
The problem has not returned on the leg. BUT, the position of the leg (when sitting) differs now, so I think the servo is defective still. See video PiDog_Shake2

The head jitters:
Moving the pins around yielded a similar problem on the servo, not the hat.

So after much investigating, it appears the (2) servo motors may either be weak, or just have to much backlash in the gear drive. The hat appears to be ok.

The leg jitters: (See video Pidog_Shake2.)
After moving the pins around, I did not see the same problem.
I then removed the servo from the front leg and moved it to the back leg. Then moved the back leg servo to the front.
The problem has not returned on the front leg, using the back leg servo.
The back leg servo does not jitter either, but it is not in the same position as the front leg, when sitting. The servo is still defective, but it is just in a position that doesn’t cause a jitter (or shaking).

The head jitters:
Moving the pins around yielded a similar problem on the servo, not the hat.

So after much investigating, it appears the (2) servo motors may either be weak, or just have to much backlash in the gear drive. The hat appears to be ok.

We will send you two servos.Please contact us at service@sunfounder.com

I have received my pidog 2 days ago. I have the exact problem as the dog head keeping shaking. Can you send me replacement? I am not able to upload the video as the forum stops me from uploading it.

You can replace the tail servo instead of the head jittery servo and see how it works again.
You can upload the video of the problem to your own onedrive and share the link to the video to give us access.

My dog’s head also shakes like crazy between actions. If I hold the head it will chill but it will start sgain. I tried to adjust the pins and nothing. Are you saying try the tail servo on the head?

I’ve seen this recommendation previously. In an effort to resolve the same problem, I swapped the two servos and one of the legs… no change. I believe there’s a sympathetic dynamic involving the mass of the head and mechanics of all these servos. I’m looking for an elastic of the right size and strength to provide just a bit of a dampening force to smooth the oscillation.

for anyone else seeing this issue - a simple elastic around the head (double wrapped in my case) did indeed resolve the issue

It does indeed solve the problem. Thank you for the suggestion.

I use the code below to stop the head from shaking. Then, add stable(my_dog) to stabilize the head. You could do something similar for the legs. Please tell me if this helps or not. IMPORTANT! REPLACE THE DASHES(MINUS SIGNS) WITH 4 SPACES OR ONE TAB. This is because the posts won’t let me indent the code.

def stable(my_dog):
----my_dog.head_move([[5, 5, 5], [0, 0, 0]], speed = 10)
----my_dog.wait_all_done()

Example(This is an edited 9_howling.py code found in pidog/examples):

The servo shake is simply resonance resulting from the servo trying to maintain position. The joints which use the servo itself as the bearing have very little mechanical resistance and get into a state where the momentum in one direction causes the servo to correct and the correction throws the joint in the other direction. I suspect every pidog will exhibit the jitters if you hold the head absolutaly vertical and flick the nose. Certainly mine did. The rubber band solution works because the servo throws the head in one direction but not enought to reach the other extent and get thrown back. Another solution, if you don’t want your dog looking like it has toothache, is to insert some friction in the bearing. I cut a small washer from the hook piece of a “hook and loop” (velcro) sticky pad and inserted it over the servo splies and then reattached the head. This means the head has enough resistance to twisting that it is not bouncy and does not judder any more.

Based on philmay57’s post, I successfully used a few fibre washers from a local hardware store, inner diameter 1/4" (6.3mm) and outer diameter 1/2" (12.7mm). Using these I replaced the metal washer located in line with the servo.

There is another way to fix this without having to change the hardware. You can stop the jitter by programming the pidog to move it’s head slightly in one direction and back. If you make it move too quickly, it will start shaking again. See these posts:

Great fix from @philmay57. For mine i simply put the rubber bands in this position:

As i was under the impression it was the servo at the back of the neck that was causing the shaking. This did fix it completely but i think i’ll switch to @philmay57 fix instead.

UPDATE: used @philmay57’s method and can confirm it works like a dream! Screwed the servo on nice and tight this time. Goodbye rubber bands!