Shaky servos

Locked
User avatar
windu34
Staff Emeritus
Staff Emeritus
Posts: 1384
Joined: April 19th, 2015, 6:37 pm
Division: Grad
State: FL
Has thanked: 2 times
Been thanked: 42 times

Shaky servos

Post by windu34 »

I am using digital brushless servos being powered by a 3000mah Nimh 7.2 V battery pack and controlling them with a master-slave setup of potentiometers and Arduino mega with sensor shield running a modified "servo knob". The servos when moved quickly are super smooth, but upon being moved slowly, they are rough. Any Ideas or advice?
Boca Raton Community High School Alumni
University of Florida Science Olympiad Co-Founder
Florida Science Olympiad Board of Directors
[email protected] || windu34's Userpage
jander14indoor
Member
Member
Posts: 1654
Joined: April 30th, 2007, 7:54 am
Has thanked: 0
Been thanked: 29 times

Re: Shaky servos

Post by jander14indoor »

Warning, without detailed knowledge of your control system the following is speculation, may not be worth what you paid for it
Further warning, my control law theory classes are WAY in my history and its not a skill I use regularly in my engineering job

That said, since you haven't gotten any response yet, I'll throw out some ideas for others to take pot shots at, or to help you sort the problem. PS, I have seen something like this on any number of robots where the motion is smooth while moving, but the robot 'hunts' or 'jitters' when you try to hold the thing still.

First suspicion, you have a analog to digital conversion problem which is causing noise on your output at slow speed that is filtered out at high speed.
At high speed the sampling rate gets a clear progression of position readings from your potentiometer, 1, 5, 9, 12, etc that allows a smooth signal to be made to your servos.
At slow speed the sampling rate gets a noisy signal of position readings 0, 1, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 2, 3, 2, 3 etc which provides a noisy signal to your servos.
There should be algorithms to filter this either on the input or the output side.

Second suspicion (and I have a nagging thought that it is just a different way of looking at the first issue) is that the control feedback loops you are using to match the servo position to the potentiometer position has parameters selected wrong for low frequency noise. You need to filter out that low frequency stuff (high pass filter unless I have my sense flipped, too many years!).

Besides the electronics, there may also be physical component. Is the electronic model that is controlling the servos taking the spring and damping constants into account of the arm itself. Are the commands setting off some physical harmonic and causing wider motion than intended.

Hope that helps, or prompts some more expert response!

Jeff Anderson
Livonia, MI
User avatar
windu34
Staff Emeritus
Staff Emeritus
Posts: 1384
Joined: April 19th, 2015, 6:37 pm
Division: Grad
State: FL
Has thanked: 2 times
Been thanked: 42 times

Re: Shaky servos

Post by windu34 »

Thanks for the response! I'm going to look into a solution in the code to filter out the values like you stated.
Boca Raton Community High School Alumni
University of Florida Science Olympiad Co-Founder
Florida Science Olympiad Board of Directors
[email protected] || windu34's Userpage
Locked

Return to “Robot Arm C”

Who is online

Users browsing this forum: No registered users and 2 guests