Shaky servos
- windu34
- 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
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
University of Florida Science Olympiad Co-Founder
Florida Science Olympiad Board of Directors
[email protected] || windu34's Userpage
-
- Member
- Posts: 1654
- Joined: April 30th, 2007, 7:54 am
- Has thanked: 0
- Been thanked: 29 times
Re: Shaky servos
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
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
- windu34
- 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
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
University of Florida Science Olympiad Co-Founder
Florida Science Olympiad Board of Directors
[email protected] || windu34's Userpage
Who is online
Users browsing this forum: No registered users and 1 guest