Velocity problems
- Arthur Pots
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 0
11 Sep 2013 22:11 #38670
by Arthur Pots
Replied by Arthur Pots on topic Velocity problems
Hi Slavko!
I read this topic all day, cose of my weak english... But understand almost all. I have same problem with my 5axis machine....
There it is on attach, similar to yours BC rotary, with pivot around 220 mm. (actually i have 6axis - one more A rotary axis than can be installed at work table - but it is too complicated to me now and i dont use it... i am a very new in Linux and LinuxCNC)
So i have same problems with @joint following error@. I thought it appears becouse my PC is too slow and can`t calculate all moves for all joints... All goes smooth with 2-3 axis working at the same time. But when 4 or 5 axis starts to move - all goes bad... I try diffirent BASE_PERIOD values but dont get much.
Now i see this problem have not only i am alone. So it is 5axiskins problem that haven`t been solved by this time?
BTW i found one way to trick it - make @errors@ value very big.
My @joint following error@ gone when i set
FERROR = 10
MIN_FERROR = 5
but i dont try to really work with this values - i dont know how much will be mistakes beetween model and finally cuted part.
I read this topic all day, cose of my weak english... But understand almost all. I have same problem with my 5axis machine....
There it is on attach, similar to yours BC rotary, with pivot around 220 mm. (actually i have 6axis - one more A rotary axis than can be installed at work table - but it is too complicated to me now and i dont use it... i am a very new in Linux and LinuxCNC)
So i have same problems with @joint following error@. I thought it appears becouse my PC is too slow and can`t calculate all moves for all joints... All goes smooth with 2-3 axis working at the same time. But when 4 or 5 axis starts to move - all goes bad... I try diffirent BASE_PERIOD values but dont get much.
Now i see this problem have not only i am alone. So it is 5axiskins problem that haven`t been solved by this time?
BTW i found one way to trick it - make @errors@ value very big.
My @joint following error@ gone when i set
FERROR = 10
MIN_FERROR = 5
but i dont try to really work with this values - i dont know how much will be mistakes beetween model and finally cuted part.
Please Log in or Create an account to join the conversation.
11 Sep 2013 23:10 #38672
by eslavko
Replied by eslavko on topic Velocity problems
Hello...
I still didn't solve that problem. But As I still waiting what CAM we will use (to know if machine need to have RTCP) I was putting this aside. As there are a lot of other thing to do.
I don't know if setting ferror high is good solution. Well for rapids should be fine. But don't know what bat things can happen.
If I had longest tool and B axis at 90 degrees and then move the C axis at full speed what will happend?
As C axis is faster than XY the XY can't follow the C for near decade. (The C is 10 times faster than XY if longest tool is in chuck)
What I can expect?
As ferror had nothing to do with real distance in stepper I assume that all axes should got right destination.
But If I command something like G0 B90 and then G0 C180 the C should make half of circle, X to goes down for radius of C and back, and Y should move for distance of 2*C. But all movments should stop at same time! As XY is slower I expect that movment will not finish at same time. But Should check that.
The other thing is that soft limits doesn't work in 5axis kins. Is not big deal as CAM should be done in correct way and done collision test then limits are not needed at all..
So there is a lot to do for correct 5axis kins
I still didn't solve that problem. But As I still waiting what CAM we will use (to know if machine need to have RTCP) I was putting this aside. As there are a lot of other thing to do.
I don't know if setting ferror high is good solution. Well for rapids should be fine. But don't know what bat things can happen.
If I had longest tool and B axis at 90 degrees and then move the C axis at full speed what will happend?
As C axis is faster than XY the XY can't follow the C for near decade. (The C is 10 times faster than XY if longest tool is in chuck)
What I can expect?
As ferror had nothing to do with real distance in stepper I assume that all axes should got right destination.
But If I command something like G0 B90 and then G0 C180 the C should make half of circle, X to goes down for radius of C and back, and Y should move for distance of 2*C. But all movments should stop at same time! As XY is slower I expect that movment will not finish at same time. But Should check that.
The other thing is that soft limits doesn't work in 5axis kins. Is not big deal as CAM should be done in correct way and done collision test then limits are not needed at all..
So there is a lot to do for correct 5axis kins
Please Log in or Create an account to join the conversation.
12 Sep 2013 00:36 #38673
by eslavko
Replied by eslavko on topic Velocity problems
Hello again....
I do check what enormous FERROR means. (I have electric cabinet near finished and motors mounted to test panel)
I set ferror to 2000 so the Linuxcnc doesn't report error. After that I do some tests.
I observed ferror in halscope to see actual range.
After homming and switching to world mode I command
G0 B90
and both motors start and stops at same time and I got near perfect sine of ferror on halscope. But that is not expected, as speed limit is set ten times lower on XY axis. And indead X motor does run much faster as should.
I change the speed in X motor (axis section) to be wery slow. And when I jog it it goes slow. But when I issue command as before it run many times faster as should!!! Seems that trajectory planer just set this hughe speed and dont look at speed limits. That's wery bad! As I have motors on panel without load there is no damage. But in real world the XY will stall!
So 5axis kins has many problems to solve before be ussable.
-Folowing errors - need to limit speed of all moving motors to walue that slowest one can do the job.
This should limit near all problem in that subject.
-Soft limit doesn't work.
-Jog whell on pendant doesn't work in world mode
I do check what enormous FERROR means. (I have electric cabinet near finished and motors mounted to test panel)
I set ferror to 2000 so the Linuxcnc doesn't report error. After that I do some tests.
I observed ferror in halscope to see actual range.
After homming and switching to world mode I command
G0 B90
and both motors start and stops at same time and I got near perfect sine of ferror on halscope. But that is not expected, as speed limit is set ten times lower on XY axis. And indead X motor does run much faster as should.
I change the speed in X motor (axis section) to be wery slow. And when I jog it it goes slow. But when I issue command as before it run many times faster as should!!! Seems that trajectory planer just set this hughe speed and dont look at speed limits. That's wery bad! As I have motors on panel without load there is no damage. But in real world the XY will stall!
So 5axis kins has many problems to solve before be ussable.
-Folowing errors - need to limit speed of all moving motors to walue that slowest one can do the job.
This should limit near all problem in that subject.
-Soft limit doesn't work.
-Jog whell on pendant doesn't work in world mode
Please Log in or Create an account to join the conversation.
12 Sep 2013 00:57 #38674
by eslavko
Replied by eslavko on topic Velocity problems
Andy can you test with joint_axes this situation:
Set really big value for ferror in all axes (2000) to avoid ferror problem. (I set min ferror to half of that)
set Z speed (joint/motor/axis??) to be slow 1mm/sec for example
set B speed (joint/motor/axis??) to be quite fast 90 deg/sec
set all accelerations to be quick - near instant (I assume you run simulator) 1000 sec/sec
now after homming go to world mode and issue MDI command G0 B90 and observe in simulator:
-does Z and B start and end in same time?
-how much time the move last?
in current version the result is:
-Z and B start/end in same time (the expected one)
-Move last aprox 1 second
As Z need to compensate 250mm of pivot length, the move at 1mm/s at Z should last 250 seconds instead 1.
So if in joint_axes move last 250 second and both Z and B start and end in same time that this is improvment.
Thanks in advice.
Set really big value for ferror in all axes (2000) to avoid ferror problem. (I set min ferror to half of that)
set Z speed (joint/motor/axis??) to be slow 1mm/sec for example
set B speed (joint/motor/axis??) to be quite fast 90 deg/sec
set all accelerations to be quick - near instant (I assume you run simulator) 1000 sec/sec
now after homming go to world mode and issue MDI command G0 B90 and observe in simulator:
-does Z and B start and end in same time?
-how much time the move last?
in current version the result is:
-Z and B start/end in same time (the expected one)
-Move last aprox 1 second
As Z need to compensate 250mm of pivot length, the move at 1mm/s at Z should last 250 seconds instead 1.
So if in joint_axes move last 250 second and both Z and B start and end in same time that this is improvment.
Thanks in advice.
Please Log in or Create an account to join the conversation.
13 Sep 2013 06:18 #38717
by andypugh
Unfortunately things are the same. It takes about 1 second. It even takes the same time with both MAX_VELOCITY and MAX_LINEAR_VELOCITY set to 1.
I do find myself wondering how well a HAL component to drive feed-override when the joints are near their speed limits would work.
I think you would need to set the linear limits slightly conservatively to not hit the over-ride in normal use.
The problem is that to do it properly you need to predict the limit approaching so that you can start to slow inside the acceleration limits of the axes. Solving this in the truly general case is rather hard.
I think what I am saying is that I can think of a way to do what you want, but not in a way that will be suitable for release in a situation where it could be applied to a machine with a less mathematically well-behaved kins than yours.
Replied by andypugh on topic Velocity problems
As Z need to compensate 250mm of pivot length, the move at 1mm/s at Z should last 250 seconds instead 1.
So if in joint_axes move last 250 second and both Z and B start and end in same time that this is improvment..
Unfortunately things are the same. It takes about 1 second. It even takes the same time with both MAX_VELOCITY and MAX_LINEAR_VELOCITY set to 1.
I do find myself wondering how well a HAL component to drive feed-override when the joints are near their speed limits would work.
I think you would need to set the linear limits slightly conservatively to not hit the over-ride in normal use.
The problem is that to do it properly you need to predict the limit approaching so that you can start to slow inside the acceleration limits of the axes. Solving this in the truly general case is rather hard.
I think what I am saying is that I can think of a way to do what you want, but not in a way that will be suitable for release in a situation where it could be applied to a machine with a less mathematically well-behaved kins than yours.
Please Log in or Create an account to join the conversation.
13 Sep 2013 13:44 #38748
by eslavko
Replied by eslavko on topic Velocity problems
Andy thanks.
In my point of view seems that "kins" are not placed in right place. The speed limit should be never crossed but there seems that it's easy to be.
I don't know what the best aproach is to solve that problem. Maybe to write special HAL element to judge max velocity for trajectory planer based on angle of B. If B is 0 there are no speed limit, if B is 90 degres then speed should be limited. (based on angle and tool length). But I don't know if trajectory planer will be happy with that dinamicaly changing of speed limit.
On the other side the solution can be just preprocesor for G code. So lines with B/C moves should got feddrate lowered acordingly. Its probably easyer to be done but not elegant.
Still seeking good solution.
In my point of view seems that "kins" are not placed in right place. The speed limit should be never crossed but there seems that it's easy to be.
I don't know what the best aproach is to solve that problem. Maybe to write special HAL element to judge max velocity for trajectory planer based on angle of B. If B is 0 there are no speed limit, if B is 90 degres then speed should be limited. (based on angle and tool length). But I don't know if trajectory planer will be happy with that dinamicaly changing of speed limit.
On the other side the solution can be just preprocesor for G code. So lines with B/C moves should got feddrate lowered acordingly. Its probably easyer to be done but not elegant.
Still seeking good solution.
Please Log in or Create an account to join the conversation.
Time to create page: 0.138 seconds