scurve trajectory planner
- Grotius
-
Topic Author
- Away
- Platinum Member
-
- Posts: 2312
- Thank you received: 2090
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 :
// 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.
interpolated endpoint result : x: 520.049999 y: 266.500001 z: 125.500000
Converged after 370 iterations wtf?
Now i get more convinced finally.
Attachments:
Please Log in or Create an account to join the conversation.
- Aciera
-
- Offline
- Administrator
-
- Posts: 4170
- Thank you received: 1827
Attachments:
Please Log in or Create an account to join the conversation.
- Grotius
-
Topic Author
- Away
- Platinum Member
-
- Posts: 2312
- Thank you received: 2090
use libgsl example. Remove all libdogleg related files and deps.
Please Log in or Create an account to join the conversation.
- Aciera
-
- Offline
- Administrator
-
- Posts: 4170
- Thank you received: 1827
Please Log in or Create an account to join the conversation.
- Grotius
-
Topic Author
- Away
- Platinum Member
-
- Posts: 2312
- Thank you received: 2090
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 "-" ?
// 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;
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
Attachments:
Please Log in or Create an account to join the conversation.
- Aciera
-
- Offline
- Administrator
-
- Posts: 4170
- Thank you received: 1827
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 or Create an account to join the conversation.
- Aciera
-
- Offline
- Administrator
-
- Posts: 4170
- Thank you received: 1827
Attachments:
Please Log in or Create an account to join the conversation.
- Aciera
-
- Offline
- Administrator
-
- Posts: 4170
- Thank you received: 1827
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 or Create an account to join the conversation.
- Aciera
-
- Offline
- Administrator
-
- Posts: 4170
- Thank you received: 1827
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 or Create an account to join the conversation.
- Grotius
-
Topic Author
- Away
- Platinum Member
-
- Posts: 2312
- Thank you received: 2090
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 or Create an account to join the conversation.