Author Topic: Stable Movement of Robotic Arm  (Read 1870 times)

0 Members and 1 Guest are viewing this topic.

Offline bytelogikTopic starter

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Stable Movement of Robotic Arm
« on: April 09, 2012, 01:00:52 PM »
Hi,

I am building a servo robotic arm. I have seen a lot of videos of DIY robot arm. One thing I noticed that when a servo stops rotation, the complete arm flickers and does not stops smoothly (at higher speeds.). If you look at industrial robot arms, they accurately and immediately stop without any flickering. One of the solution might be to use higher torque servos which are expensive. But, I will really appreciate any mechanical design correction to get stable arm movements even at the higher speeds with general 5-6 kg torque servos.

Arm length for all 3 segments (10 cm.)
Servo : VTS-08B
Arm segment material : antenna aluminium rod OR possibly acrylic.

Thanks in advance.

Offline tomcharley

  • Jr. Member
  • **
  • Posts: 19
  • Helpful? 0
Re: Stable Movement of Robotic Arm
« Reply #1 on: April 09, 2012, 01:54:11 PM »
Dear Bytelogik,

  I think that most industrial robot arms do not use regular servos, but motors that are PID controlled.  The PID allows for more precise force output that varies along the sweep.  Servo controllers are not so precise.

  For your project, you could either have the servos move slower by sending incremental commands (so the arm must go to a few waypoints before the end of its sweep), or you could try to make the arms lighter (so that the servos don't have to deal with so much inertia).

~Tom

Offline jkerns

  • Robot Overlord
  • ****
  • Posts: 248
  • Helpful? 12
Re: Stable Movement of Robotic Arm
« Reply #2 on: April 10, 2012, 07:44:06 AM »
The problem is one of control - not mechanical construction.

Most hobby servo's were originally designed for applications like radio control air craft. In that application, the servo is moving a control surface that is typically very light - minimal inertia -  but your robot arm has quite a bit of mass / inertia - that makes a difference.

The typical servo has an internal feedback controller that will move the servo to the target position, stop, and hold. So, the servo feedback controller has to be tuned to get the motor started, run at high speed, then bring the motor to a stop at the target position. With very little inertia connected to the servo it is easy to stop it. But when you add a lot of inertia, the feedback controller would have to be re-designed to start stopping the rotation sooner so it doesn't overshoot. For industrial applications, the control system is tuned knowing about how much inertia the arm has - that isn't an option with the typical hobby servo - and that's why you see the overshooting and oscillations.

How to fix it? Well, you will have to insert yourself into the controller somehow. If you got the servo position fed back into your micro-controller, you could play with how you command the servo position. For example, instead of just commanding the final desired position, you could command the servo to move about 95% of the way to the target, and then when when you see the servo is getting close, you could slowly ramp the commanded position to the final target. Or, you could command the servo to go to the final target, but when it gets close, command it to move away from the target to start the braking action. When it comes to a stop near the desired target, then command the desired target and it might just sit there.

This would be an exercise in outsmarting the feedback control built into the servo by using your micro-controller to create an additional feedback loop around the servo feedback loop.
I get paid to play with robots - can't beat that with a stick.

http://www.ltu.edu/engineering/mechanical/bachelor-science-robotics-engineering.asp

Offline bytelogikTopic starter

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Re: Stable Movement of Robotic Arm
« Reply #3 on: April 10, 2012, 10:48:06 AM »
@ tomcharley and jkerns. Thanks for your feedback and views on stable and precise control of robotic arm.

I am actually going to built the arm today. I will test what length of arm is more suitable towards stability and less oscillation on sudden stop. I will also check if adding counter-weight at one end of the arm will make any difference in the mechanical design. As far as coding, i also think of using speed splines (slow on start, faster in the middle, slow down, all spline function), so that immediate stop won't result in the oscillation. Well as far as now, these are just assumptions and calculations going in my mind. But i would really like to design (mechanical as well as code) the robot arm using ordinary servos to match with those of industrial arms. I know, this can be a tedious task, but I may learn a lot along this journey.

Please share your views, any onling readings regarding stable servo robot arm. I really did not find more references in this context.

Offline jkerns

  • Robot Overlord
  • ****
  • Posts: 248
  • Helpful? 12
Re: Stable Movement of Robotic Arm
« Reply #4 on: April 10, 2012, 03:25:06 PM »
A counterweight is going to add inertia which will add overshoot.  Keep it light.

Setting it up to track a position that slows down at the end is a good idea.
I get paid to play with robots - can't beat that with a stick.

http://www.ltu.edu/engineering/mechanical/bachelor-science-robotics-engineering.asp

 


Get Your Ad Here