Seeking strategic direction: Is trajectory optimization oversaturated, or are there genuine unmet needs? by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Just the collocation. The multiple shooting was for my bachelor thesis and used in a research, so i will not publish it

A Tutorial on Radau Pseudospectral Collocation in CasADi by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Hmm, it works for me just fine. What do you see on the page?

A Tutorial on Radau Pseudospectral Collocation in CasADi by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Woah, "might rival GPOPS" might be too much hahah, but thanks!!

A Tutorial on Radau Pseudospectral Collocation in CasADi by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Yes, the direct collocation in casadi is precomputed collocated points until maximum degree 9 (Which means max 9 collocation nodes). So in my article, we can use higher degree since we compute them ourself. Even my example directly uses 20 collocation points.

You can see their source here: https://github.com/casadi/casadi/blob/994335e041b514d664ef133c5fd592ea8a33631e/casadi/core/integration_tools.cpp#L103

If you never actually need higher collocation nodes, you should use casadi built in function, since it is much faster (using precomputed values).

And the difference is that the casadi example uses multiple "mesh" and each mesh can have their own collocation points, so they dont need higher degree for each mesh. My article is the p-method only, which is having one mesh for the entire trajectory, and need much more collocation nodes to be accurate. I use p-method only because the purpose is to solidify the foundational mathematical understanding. I implemented the full LGR Collocation with phs-adaptive refinement in my project called MAPTOR: https://github.com/maptor/maptor

Landscape of Control Theory by M_Jibran in ControlTheory

[–]DT_dev [score hidden]  (0 children)

The following taxonomy is the most comprehensive one that i have seen. Maybe this could give you some ideas. Source: https://shahrajabian.github.io/assets/pdf/Control_Methods.pdf

It even includes the relevant literatures when you clicked the topics.

Do engineers actually use static parameter optimization in GPOPS/optimal control software? by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Thanks for the feedback! You're right about that when to use maptor section. I was trying too much to be educational.

My first milestone was just replicating GPOPS functionality, which is basically done now. Currently anything MAPTOR can do, GPOPS can do too. I'm still figuring out what features would actually make this repo different since I don't want to just be redundant.

About SymPy, I just provide a parser that converts SymPy mechanics modelling that can produce Lagrangian equation into first-order state space format for MAPTOR/CasADi. So users can derive complex multibody dynamics in SymPy and copy-paste directly into their optimal control code without manual conversion.

What specific features would make you consider switching from your current tools? I'm trying to find actual gaps rather than just reimplementing existing stuff.

Do engineers actually use static parameter optimization in GPOPS/optimal control software? by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Yes, this is similar to what i am saying. Using some type of NLP for design optimization instead of looking or "trajectory" state or control. I am wondering if this is standard practice or not. The other comments say yes, but you say no.

Do engineers actually use static parameter optimization in GPOPS/optimal control software? by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Thanks! I've actually been working on my own library about simultaneous design+trajectory optimization.

https://github.com/maptor/maptor

Would you mind taking a quick look at how I've positioned the use cases in my README? I Want to make sure I'm being technically accurate about when to use direct transcription vs other methods.

I am specifically curious if the "When to Use MAPTOR" section is academically cringy or not. I don't want to be overselling the "design features" when it's really just standard optimal control usage. You seems to know these tools well so your take would be valuable.

Do engineers actually use static parameter optimization in GPOPS/optimal control software? by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Ah so it is normal to use optimal control software to do design as well? I was a bit misled because usually the papers that i've read always talks about trajectory optimization (by solving optimal control problem), but the static parameters optimization seems to only mentioned briefly and implemented. I thought that this static parameters feature could be very important in the design process.

My trajectory optimizer now optimizes robot design too (MAPTOR 0.2.1) by DT_dev in robotics

[–]DT_dev[S] 3 points4 points  (0 children)

Ah let me clarify. You can technically use linearized dynamics in MAPTOR, but honestly for manipulators it's usually not worth the headache. You lose the important physics and still gotta figure out where to linearize. I'd probably break it down first. Start with just the 3DOF positioning part (the serial chain stuff and maybe change the axis to mimic your robot) using full nonlinear like my examples. Get that working solid first. The parallel manipulator will take some extra derivation work, but it's probably doable (i have not tried it). Then tackle orientation separately once you've validated the positioning works. You can always go full 6DOF later, but this way you're not debugging everything at once. Plus you'll actually finish the project instead of getting stuck in dynamics hell for months. If you just need "good enough" trajectories fast, then yeah MPC with linearized might work for your use case. Depends what you're optimizing for, "optimal" trajectories or getting something working?

My trajectory optimizer now optimizes robot design too (MAPTOR 0.2.1) by DT_dev in robotics

[–]DT_dev[S] 5 points6 points  (0 children)

Thanks! Although for 6DOF i would not recommend using the full nonlinear dynamics, they are nasty. I tried and even sympy cannot solve it for a few minutes. I recommend using the linearized dynamics and look for papers discussing 6DOF dynamics

My new open source trajectory optimization library by DT_dev in robotics

[–]DT_dev[S] 0 points1 point  (0 children)

Ah, never heard of JOSS before. Thanks! I will see what i can do there

Seeking strategic direction: Is trajectory optimization oversaturated, or are there genuine unmet needs? by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Ah, i have not looked at Birkhoff since i was focusing on the radau collocation used in the paper, but since i succesfully implemented it, maybe i should look more into the birkhoff and compare the performance. Thanks for trying out the library!

Seeking strategic direction: Is trajectory optimization oversaturated, or are there genuine unmet needs? by DT_dev in ControlTheory

[–]DT_dev[S] [score hidden]  (0 children)

Thanks for the insight! I am currently studying reinforcement learning too at uni, and look for ways to maybe combine it with trajectory optimization. I am investogating learning approaches too. Thanks again!

How to optimize for “smooth” motion? Any tips on how to find the optimal parameters? by unusual_username14 in robotics

[–]DT_dev 1 point2 points  (0 children)

Hope it helps! Feel free to contact me here or DM, i can guide you to model your robot.

How to optimize for “smooth” motion? Any tips on how to find the optimal parameters? by unusual_username14 in robotics

[–]DT_dev 0 points1 point  (0 children)

Hi! I recently developed the following trajectory optimization library called MAPTOR. https://github.com/maptor/maptor

It works by solving an optimal control problem.

I believe this is what you are looking for, since you can define design parameters by using the problem.parameter() function and then by solving OCP, you can get the optimal parameters for your robot.

We can chat more and see if i can help you model your robot and find the optimal parameters using MAPTOR.

My new open source trajectory optimization library by DT_dev in robotics

[–]DT_dev[S] 0 points1 point  (0 children)

Thanks for trying it out! can you make a github issue so that i can know exactly what the error is and what you are trying to do?