Forum Header

Acceleration smoothness question

More
10 years 3 months ago #77273 by andypugh

PCW wrote: No, using the s curve will cause following errors so cannot be used.


It might be possible to stretch the f-error limits to allow S-curve profiles?

Please Log in or Create an account to join the conversation.

More
10 years 3 months ago #77276 by OttoDidact
You don't need to use the acceleration profile in the motors because LinuxCNC has an acceleration profile built in.

Yo Dawg, your motors got acceleration profiles, so you can acceleration profile while you acceleration profile.


The profile in the motors would be for when they are used stand alone or single axis in a system that does not have an integrated motion control. Like a conveyor or some such.

Please Log in or Create an account to join the conversation.

More
10 years 3 months ago #77279 by andypugh

OttoDidact wrote: You don't need to use the acceleration profile in the motors because LinuxCNC has an acceleration profile built in.


That's not entirely true. LinuxCNC has acceleration limiting, but the rate of change of acceleration is not bounded.
It sounds like the drives being used here have a finite-jerk acceleration profile built in.
One good example of finite-jerk is when you brake to a halt in a car. If you don't ease up on the brake as the car stops there is a "bounce" when the velocity reaches zero and the acceleration instantaneously goes to zero too. By tapering off the braking as the car stops you are creating an S-curve acceleration profile.

It is quite easy to do S-curve on a single axis, so a drive can do it well. It is much harder to solve the equations for limited-jerk in a mutli-axis machine tool, and harder still in a non-cartesian machine like a robot arm.
Things will tend to get a bit confused if the controller is attempting an infinite-jerk mutli-axis trajectory plan while each individual axis is attempting to move its own motor with finite-jerk.

en.wikipedia.org/wiki/Jerk_(physics)

Please Log in or Create an account to join the conversation.

More
10 years 3 months ago #77280 by OttoDidact
OK, I'm not that deep into the LinuxCNC internals, but I would not expect motors operating under their own directive rather than listening to the motion controller would be a good thing.

I ebayed a pile of weird drives with what I thought were great and useful features until I realized that a stupid drive that listens to LinuxCNC was what I needed. Some day I'm going to have so many really slick single axis machines.

There are so many way to achieve a working CNC and it's quite overwhelming to see all the fantastic solutions that have been developed. Sometimes the most difficult aspect is not getting carried away or pulled in conflicting directions.

Please Log in or Create an account to join the conversation.

More
10 years 3 months ago #77287 by Todd Zuercher
We are certainly not saying that you can't use those drives, they sound like great drives, and they will work perfectly well with linuxcnc. I believe that if you set the acceleration profile to only a small jerk limitation, and have the drives max acceleration a bit higher than the max defined in Linuxcnc, you will probably get very good results with them. The jerk limiting in the drive could take the edge of the accelerations of Linuxcnc without introducing a significant amount of following error, and the drive would quickly catch up to where it should be. You just may need to do a little experimentation to find the optimal settings.

Why does everyone freak out when they hear the words "following error". It is an ever present reality. The trick to tuning a machine is to minimize them while optimizing for best performance, and remaining within tolerances. It is always a balancing act of compromise.

Please Log in or Create an account to join the conversation.

More
10 years 3 months ago #77288 by andypugh

Todd Zuercher wrote: Why does everyone freak out when they hear the words "following error". It is an ever present reality.


Absolutely. In fact the output of a PID controller is zero with no error, the control depends on there being some error term.

Please Log in or Create an account to join the conversation.

Time to create page: 0.105 seconds
Powered by Kunena Forum