scurve trajectory planner

More
1 year 8 months ago #321911 by Grotius
Replied by Grotius on topic scurve trajectory planner
 Hi Arciera,

Here is a basic  powel example. It uses a equatation with 2 unknown's.
This example run's ok.
powel basic example

The residual  = distance ( guess position result from first calculation up to final end position. )

I just found out why to use the gaus method....
gaus calculates clothoid length

I found it by accident, when computing the endpoint of the clothoid compound in a optimized function.
it turn's out that the Gauss method is used to get very high accuracy in a few iterations.
My current approach has the property to drift off. As values are incremented including nummerical errors.

So now finally i know why gauss is used.

Gaus vs Drift:
 

Attachment not found



I guess we could simply calculate the length of our 3D residual vector and pass that back as the error value to be minimized.
Yes. Excact. That's going to be tested.

Please Log in to join the conversation.

More
1 year 8 months ago #321913 by Aciera
Replied by Aciera on topic scurve trajectory planner
20 iterations vs 1000
Nice.

Please Log in to join the conversation.

More
1 year 8 months ago #321971 by Grotius
Replied by Grotius on topic scurve trajectory planner
Hi,

I have implemented dogleg. The source is updated.

At least it does something. But something is not ok and i don't know what.

Given Target = x100, y2, z2.
Dogleg result : x1.99 y1.99 z100.00

But i guess this result is luck. Because other values can completely mesh up the clothoid result.

Attachment not found

Please Log in to join the conversation.

More
1 year 8 months ago #321977 by Aciera
Replied by Aciera on topic scurve trajectory planner
How would I add the dogleg dependencies to your cloned repo?

Please Log in to join the conversation.

More
1 year 8 months ago #321980 by Grotius
Replied by Grotius on topic scurve trajectory planner
@Arciera,

I think this : sudo apt-get install libdogleg-dev

In the mean time, i have seen the params[index], had a flaw. I repaired that. Git is updated.
Now still wrong results. I think the Jacobian setup is incorrect also.

Please Log in to join the conversation.

More
1 year 8 months ago #321982 by Aciera
Replied by Aciera on topic scurve trajectory planner
I get this error when building your repo:
 

Attachment not found

Please Log in to join the conversation.

More
1 year 8 months ago #321985 by Grotius
Replied by Grotius on topic scurve trajectory planner
Hi Arciera,
I installed both off them in a hurry. I think this one :sudo apt-get install libdogleg2

apt-cache search libdogleg -> gives both :  libdogleg-dev  & libdogleg-dev

Ok,

I am a little further.
There is added a test : single_clothoid_fit();

This is a test, given a clothoid start point, end point.
It is a single clothoid, so no clothoid compound.

Please Log in to join the conversation.

More
1 year 8 months ago #321990 by Aciera
Replied by Aciera on topic scurve trajectory planner
I have those installed but still complains about missing 'cholmod.h': 
 

Attachment not found

Please Log in to join the conversation.

More
1 year 8 months ago #321991 by Aciera
Replied by Aciera on topic scurve trajectory planner
strange thing is that I seem to able to build 'libdogleg' git repo you linked above which also includes 'chmod.h'. Had to install 'mrbuild' though.

 

Attachment not found

Please Log in to join the conversation.

More
1 year 8 months ago #322006 by Grotius
Replied by Grotius on topic scurve trajectory planner
Hi Arciera,

Mr build? Huh.  Wich dep is that?

I am able to let the single clothoid finish at target position ~ 50% off the cases.
using example : single_clothoid_fit();

Dogleg fails to find solution very often. Tarpos in the range x20 is ok. x200 is failing all the time.

The good news is, it works partially.
The bad new is, is fails a lot.

Here it does the job ok:
Code:
// Start point. double xs = 0.0; double ys = 0.0; double zs = 0.0; // Target point. double xe = 11.00; double ye = 5.00; double ze = 2.2; // Guess. double s1 = 0.001; double gamma10 = 0.0001; // Z double gamma20 = 0.0001; // Xy. double degrees_xy_start = 0.0; double degrees_z_start = -20.0;

Attachment not found



So now what to do?
Maybe try another library?

interpolation endpoint result : endpoint x: 11.000000 y: 5.000000 z: 2.000000

Please Log in to join the conversation.

Time to create page: 0.409 seconds
Powered by Kunena Forum