LinuxCNC S-Curve Accelerations

More
9 months 2 days ago #342193 by grandixximo

0x60B1 (velocity feedforward) can use joint.N.vel-cmd directly - is equal of FF1 of PID which already exist and its widely used to compensaty cycle delay ... this stuff is from my point of view useless for now

but I am still taking just about pin which allready read position from allredy presented 50ms buffer .. you are providing us from sTP posCmd(t), velCmd(t) (command speed is compensated cycle with PID FF1 and we do no use 60B1 for now), accCmd(t) and jerkCmd(t) and we need for ethercat posExtraCmd(t+2) for ethercat devices which is running in Constant Synchronized Position mode because of absention PID and therefore FF1 absention too (2 cycle lag present of ethercat) - this is just array position value which allready exist in buffer because of time(you notice 50ms) precalculation ... 

and I know this is topic connected with ethercat but it is directly connected to trajectory planner ... Beckhoff, Codesys, Deltaww it has implemented as I said because their native bus is ethercat ... 

 The lookahead buffer stores velocities and segment data, not pre-calculated positions. Positions are computed at RT execution time through interpolation based on progress values that depend on velocity integration each cycle. The future position you want doesn't exist in a buffer waiting to be exposed.Your HAL component using
Code:
vel_cmd * dt + 0.5 * acc_cmd * dt²
is actually the correct approach given the architecture. It's not a workaround, it's the right way to predict future position from the data that exists.The TP gives you accurate vel-cmd and acc-cmd every cycle. With S-curve planning these will be even smoother and more predictable than with trapezoidal, so your compensation should work better not worse.
The following user(s) said Thank You: akb1212, rodw, endian, Darium

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

More
9 months 2 days ago #342195 by rodw
Replied by rodw on topic LinuxCNC S-Curve Accelerations
Very good stuff! I made a start today  forum.linuxcnc.org/ethercat/58260-lichua...r-need-help?start=20
is dt = Delta time = servo period?
I'll have to follow you guys a bit more closely!
 
The following user(s) said Thank You: Darium

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

More
9 months 2 days ago - 9 months 2 days ago #342196 by endian

Very good stuff! I made a start today  forum.linuxcnc.org/ethercat/58260-lichua...r-need-help?start=20
is dt = Delta time = servo period?
I'll have to follow you guys a bit more closely!
 
yes interpolation servo period.. Rod please check this repo  codeberg.org/endian/Beckhoff_AX5ZYZZ_lcec_driver here it is solved at all ... there is a .hal file example and everything needed 
Last edit: 9 months 2 days ago by endian.
The following user(s) said Thank You: akb1212, rodw

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

More
9 months 2 days ago - 9 months 2 days ago #342197 by endian
there is added filtering and influence of real active ferror from feedback but I am not using it because it creating frequencies ... 
Last edit: 9 months 2 days ago by endian. Reason: editor messing
The following user(s) said Thank You: rodw, zmrdko

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

More
9 months 2 days ago #342204 by ruediger123
@grandixximo 

Is it possible that if the maximum speed is not reached (without t3/s3), the jerking exceeds the limits?


   

gruß
Rüdiger
The following user(s) said Thank You: akb1212, Darium

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

More
9 months 2 days ago #342206 by grandixximo
I've not noticed this behavior, but I'm not omniscient, I'd need more information, your pictures are lacking context...
The following user(s) said Thank You: Darium

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

Time to create page: 0.240 seconds
Powered by Kunena Forum