- Posts: 2419
- Thank you received: 0
scurve trajectory planner
1 year 8 months ago #322011
by Grotius
Replied by Grotius on topic scurve trajectory planner
Hi,
I have tried another solver: "libgsl". ( sudo apt-get install libgsl-dev ) Using the GPU. ..
This runs way better then libdogleg. Was a luckie shot.
In this solver bigger distances are ok.
Input :
interpolated endpoint result : x: 520.049999 y: 266.500001 z: 125.500000
Converged after 370 iterations wtf?
Now i get more convinced finally.
I have tried another solver: "libgsl". ( sudo apt-get install libgsl-dev ) Using the GPU. ..
This runs way better then libdogleg. Was a luckie shot.
In this solver bigger distances are ok.
Input :
Code:
// Start point.
double xs = 0.0;
double ys = 0.0;
double zs = 0.0;
// Target point.
double xe = 520.05;
double ye = 266.50;
double ze = 125.50;
// Guess.
double s1 = 0.00;
double gamma10 = 0.000; // Z
double gamma20 = 0.000; // Xy.
Attachment not found
interpolated endpoint result : x: 520.049999 y: 266.500001 z: 125.500000
Converged after 370 iterations wtf?
Now i get more convinced finally.
Please Log in to join the conversation.
1 year 8 months ago #322013
by Aciera
Replied by Aciera on topic scurve trajectory planner
Moved to another PC, installed 'libdogleg-dev' and I seem to get a little further but not much:
Anyway, I'm afraid there is not much I can think of to help as I'm really starting a zero with these dogleg solvers.
Attachment not found
Anyway, I'm afraid there is not much I can think of to help as I'm really starting a zero with these dogleg solvers.
Please Log in to join the conversation.
1 year 8 months ago #322016
by Grotius
Replied by Grotius on topic scurve trajectory planner
Hi Arciera,
use libgsl example. Remove all libdogleg related files and deps.
use libgsl example. Remove all libdogleg related files and deps.
Please Log in to join the conversation.
1 year 8 months ago #322032
by Aciera
Replied by Aciera on topic scurve trajectory planner
yes that looks much better and compiles for me too.
Please Log in to join the conversation.
1 year 8 months ago #322047
by Grotius
Replied by Grotius on topic scurve trajectory planner
@Arciera,
Today i started coding the clothoid compound fit using the gsl solver. It worked right away.
I think because yesterday we did it succesfully for just one clothoid.
This is really a milestone for us !!!
What we see here is a 3d clothoid spline, build from 4 individual clothoids, given start, end posture.
Given the abstract :
"Space corner smoothing of CNC machine tools through developing 3D general clothoid"
by Qun-Bao Xiao, Min Wan, Yang Liu, Xue-Bin Qin, and Wei-Hong Zhang.
Published in Robotics and Computer Integrated Manufacturing, Volume 64, 2020.
However if you look closely at the individual clothoid curve transitions there is a tiny change in curvature.
Somewhere in the code is a buggybug. and or alien obstruction.
I think in eq45 where the constrains of the joints are calculated must be something signed to "-" ?
Today i started coding the clothoid compound fit using the gsl solver. It worked right away.
I think because yesterday we did it succesfully for just one clothoid.
This is really a milestone for us !!!
What we see here is a 3d clothoid spline, build from 4 individual clothoids, given start, end posture.
Given the abstract :
"Space corner smoothing of CNC machine tools through developing 3D general clothoid"
by Qun-Bao Xiao, Min Wan, Yang Liu, Xue-Bin Qin, and Wei-Hong Zhang.
Published in Robotics and Computer Integrated Manufacturing, Volume 64, 2020.
However if you look closely at the individual clothoid curve transitions there is a tiny change in curvature.
Somewhere in the code is a buggybug. and or alien obstruction.
I think in eq45 where the constrains of the joints are calculated must be something signed to "-" ?
Code:
// Start point.
double xs = 0.0;
double ys = 0.0;
double zs = 0.0;
// Target point.
double xe = 520.05;
double ye = 266.50;
double ze = 125.50;
// Start angles, end angles.
double degrees_xy_start = 45.0;
double degrees_xy_end = 0.0;
double degrees_z_start = 0.0;
double degrees_z_end = -45.0;
Attachment not found
Code:
Converged after 315 iterations
Solution found: gamma10 = 0.000000, gamma20 = -0.000000, s1 = 198.587624
endpoint x: 520.050004 y: 266.500006 z: 125.499999
Please Log in to join the conversation.
1 year 8 months ago #322050
by Aciera
Is eq 45 in the loop yet?
Replied by Aciera on topic scurve trajectory planner
Indeed! Congratulations.This is really a milestone for us !!!
However if you look closely at the individual clothoid curve transitions there is a tiny change in curvature.
Is eq 45 in the loop yet?
Please Log in to join the conversation.
1 year 8 months ago #322051
by Aciera
Replied by Aciera on topic scurve trajectory planner
I can't quite tell from your repo so you may already have but just in case:
Remember that we need to run eq 45 with the gamma11, gamma21 and s1 values found with dogleg. With the 6 resulting gamma values it should then satisfy G1, G2 and G3 continuity.
Remember that we need to run eq 45 with the gamma11, gamma21 and s1 values found with dogleg. With the 6 resulting gamma values it should then satisfy G1, G2 and G3 continuity.
Attachment not found
Please Log in to join the conversation.
1 year 8 months ago #322053
by Aciera
Replied by Aciera on topic scurve trajectory planner
I don't think these gamma values look right:
Code:
yi1: 0.000000
yi2: -0.000001
yi3: 0.000001
yi4: -0.000000
yi1: -0.000000
yi2: -0.000000
yi3: 0.000000
yi4: -0.000000
Please Log in to join the conversation.
1 year 8 months ago #322055
by Aciera
Replied by Aciera on topic scurve trajectory planner
Actually the problem might be in the dogleg algo, seems odd to me that gamma11 and gamma21 are zero.
Could it be that we are only solving for variable s1 instead of [gamma11, gamma21, s1]?
Solution found: gamma10 = 0.000000, gamma20 = -0.000000, s1 = 198.587624
Could it be that we are only solving for variable s1 instead of [gamma11, gamma21, s1]?
Please Log in to join the conversation.
1 year 8 months ago #322056
by Grotius
Replied by Grotius on topic scurve trajectory planner
@Arciera,
I made a test : clothoid_compound_no_fit();
This visualises the problem quite good. This example uses no fit for endpoint. So the clothoid compound
behaves as a natural attached curve.
eq44 is reviewed and i added the for loop check calculations as in the paper.
However the tresholds results there are ok.
eq45, i can not find any typo's.
eq45 is sub off eq44_G123. Yes eq45 is in the loop.
With the 6 resulting gamma values it should then satisfy G1, G2 and G3 continuity.
Yes. eq45 is called for xy and for z.
Then yi1 is called like : y11 for z
Then yi1 is called like : y21 for xy.
This to avoid code duplication.
I made a test : clothoid_compound_no_fit();
This visualises the problem quite good. This example uses no fit for endpoint. So the clothoid compound
behaves as a natural attached curve.
eq44 is reviewed and i added the for loop check calculations as in the paper.
However the tresholds results there are ok.
eq45, i can not find any typo's.
eq45 is sub off eq44_G123. Yes eq45 is in the loop.
With the 6 resulting gamma values it should then satisfy G1, G2 and G3 continuity.
Yes. eq45 is called for xy and for z.
Then yi1 is called like : y11 for z
Then yi1 is called like : y21 for xy.
This to avoid code duplication.
Please Log in to join the conversation.
Time to create page: 0.218 seconds
