- Posts: 2419
- Thank you received: 2349
scurve trajectory planner
- Grotius
- Offline
- Platinum Member
-
Less
More
1 year 7 months ago #324281
by Grotius
Replied by Grotius on topic scurve trajectory planner
Hi Meiser,
That could only done by ./build_cmake script
# flush build dir
rm -rf *
Hmm. That script is designed by Joco. But i take responsebility for it.
I know also from previous years, that this can indeed remove things you dont want to.
I experienced the same years ago, in a moment i lost my entire home dir content.
Will remove the rm in all scripts now. Sorry Meiser.
That could only done by ./build_cmake script
# flush build dir
rm -rf *
Hmm. That script is designed by Joco. But i take responsebility for it.
I know also from previous years, that this can indeed remove things you dont want to.
I experienced the same years ago, in a moment i lost my entire home dir content.
Will remove the rm in all scripts now. Sorry Meiser.
The following user(s) said Thank You: meister
Please Log in or Create an account to join the conversation.
- Grotius
- Offline
- Platinum Member
-
Less
More
- Posts: 2419
- Thank you received: 2349
1 year 7 months ago - 1 year 7 months ago #324293
by Grotius
Replied by Grotius on topic scurve trajectory planner
@Arciera,
Attached a gcode sample. A cw and a ccw square. That contains the problem.
Extra torsion turn:
No extra torsion turn:
The investegation, i printed the clothoid result and take a look at the theta values, and compared them :
** where != means is not.
If clothoid output is like this, fit is ok:
you can introduce a tiny error to get the fit off-plane. A off plane fit seems to solves this issue.
So when you add 1e-6 (ultra tiny error) to one off the trimmed line's z-position, it goes off plane. Problem is solved.
So when lines have no intersection, there is no extra torsion turn.
Now i did not test any further. So i hope this is it.
Attached a gcode sample. A cw and a ccw square. That contains the problem.
Extra torsion turn:
No extra torsion turn:
The investegation, i printed the clothoid result and take a look at the theta values, and compared them :
** where != means is not.
If clothoid output is like this, fit is ok:
- theta10 Z != 0
- theta 20 XY = 0
- theta 14 Z = 0
- theta 24 XY = 0
- theta10 Z != 0
- theta 20 XY = 0
- theta 14 Z = 0
- theta 24 XY != 0
you can introduce a tiny error to get the fit off-plane. A off plane fit seems to solves this issue.
So when you add 1e-6 (ultra tiny error) to one off the trimmed line's z-position, it goes off plane. Problem is solved.
So when lines have no intersection, there is no extra torsion turn.
Now i did not test any further. So i hope this is it.
Last edit: 1 year 7 months ago by Grotius.
The following user(s) said Thank You: akb1212, Aciera
Please Log in or Create an account to join the conversation.
- Aciera
- Offline
- Administrator
-
Less
More
- Posts: 4819
- Thank you received: 2177
1 year 7 months ago #324297
by Aciera
Replied by Aciera on topic scurve trajectory planner
that's quite interesting.So when lines have no intersection, there is no extra torsion turn.
The following user(s) said Thank You: Grotius
Please Log in or Create an account to join the conversation.
- ruediger123
- Offline
- Junior Member
-
Less
More
- Posts: 36
- Thank you received: 35
1 year 7 months ago #324308
by ruediger123
Replied by ruediger123 on topic scurve trajectory planner
The following user(s) said Thank You: akb1212, Grotius
Please Log in or Create an account to join the conversation.
- Grotius
- Offline
- Platinum Member
-
Less
More
- Posts: 2419
- Thank you received: 2349
1 year 7 months ago #324323
by Grotius
Replied by Grotius on topic scurve trajectory planner
@Arciera,
Yes. Interesting.
The clothoid takes as input the xy angle and the z angle. Derived from the 3d vector.
I personally should not design the abstract like this, where it uses xy & z angles.
I should prefer to design the abstract in pure 3d vector format. As this is cleaner in my view.
Now we need to transform xy & z angles into 3d vectors etc. I think this could be avoided.
If we should store extra info about a line vector self axis rotation 0 up to 2*M_PI. We could do a clothoid fit with multiple
torsion turns for example. The clothoid fit would then look like a helix fit.
There is still some kind of overfitting in some cases, where the clothoid fit is valid, but takes extra space into the workpiece.
This is inherent to the 4-clothoid-spline fit, as a 2-clothoid-spline can not fit like that, as it has less contrains.
I was considering to create a 2 clothoid spline library based on this 3d clothoid library. This is like downgrading the current
4-clothoid-spline. But will decide that later this year.
Hi Ruediger,
We are aware of spikes. Haha.
Even the most elegant curve seems to show acceleration spikes in halscope.
I dont have the J0 jerk pin here in my axis config.
One way to rule out spikes is to introduce back-end runners. They will filter out all spikes.
Good find btw. And nice you did some research on the codebase.
Yes. Interesting.
The clothoid takes as input the xy angle and the z angle. Derived from the 3d vector.
I personally should not design the abstract like this, where it uses xy & z angles.
I should prefer to design the abstract in pure 3d vector format. As this is cleaner in my view.
Now we need to transform xy & z angles into 3d vectors etc. I think this could be avoided.
If we should store extra info about a line vector self axis rotation 0 up to 2*M_PI. We could do a clothoid fit with multiple
torsion turns for example. The clothoid fit would then look like a helix fit.
There is still some kind of overfitting in some cases, where the clothoid fit is valid, but takes extra space into the workpiece.
This is inherent to the 4-clothoid-spline fit, as a 2-clothoid-spline can not fit like that, as it has less contrains.
I was considering to create a 2 clothoid spline library based on this 3d clothoid library. This is like downgrading the current
4-clothoid-spline. But will decide that later this year.
Hi Ruediger,
We are aware of spikes. Haha.
Even the most elegant curve seems to show acceleration spikes in halscope.
I dont have the J0 jerk pin here in my axis config.
One way to rule out spikes is to introduce back-end runners. They will filter out all spikes.
Good find btw. And nice you did some research on the codebase.
The following user(s) said Thank You: akb1212, Aciera
Please Log in or Create an account to join the conversation.
- ruediger123
- Offline
- Junior Member
-
Less
More
- Posts: 36
- Thank you received: 35
1 year 7 months ago - 1 year 7 months ago #324365
by ruediger123
Replied by ruediger123 on topic scurve trajectory planner
Hello,
attached is the hal file with the jerk pins.
Gruß Rüdiger
attached is the hal file with the jerk pins.
Gruß Rüdiger
Last edit: 1 year 7 months ago by ruediger123.
The following user(s) said Thank You: akb1212, Grotius
Please Log in or Create an account to join the conversation.
Time to create page: 0.138 seconds