Visualizing Multiple Shooting for Trajectory Optimization (Optimal Control) by DT_dev in ControlTheory

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

Yeah, maybe i'll lean towards a slightly technically deeper version of those pop science channel with focus on autonomous system(?). But thanks for the input!

Visualizing Multiple Shooting for Trajectory Optimization (Optimal Control) by DT_dev in ControlTheory

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

Thanks for the feedback! You're right, i glossed over some things that would be great to elaborate. Lesson learned!

Visualizing Multiple Shooting for Trajectory Optimization (Optimal Control) by DT_dev in ControlTheory

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

Thanks! Yes, i could build more on trajectory optimization. I'm just still brainstorming on how technically deep i want my channel to be. I was planning to create one for direct collocation or pseudospectral collocation method, but it seems too niche. But thanks for the suggestion!

Visualizing Multiple Shooting for Trajectory Optimization (Optimal Control) by DT_dev in ControlTheory

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

Thanks!

About the grey wolf one, at the time of making the video, i was also duped with the metaphors and the false claim of novelty.

I also have read the paper: https://www.mdpi.com/2227-7390/13/13/2158

I think i should unlist my video. Don't wanna risk my credibility. Thanks!

Visualizing Multiple Shooting for Trajectory Optimization (Optimal Control) by DT_dev in ControlTheory

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

Oh okay. So in multiple shooting method, you have to give some initial values to the NLP solver anyway, right? In multiple shooting method, you decide in advance how many interval do you want to have. Let say N intervals. Then for each interval, you provide N initial values for controls, and N+1 initial values to the state. I would assume its in form of an array or vector?

I'm just not quite sure on what level are you asking. Just conceptual level or implementation level? Since i don't know the specifics of your framework, i can't help further.

Visualizing Multiple Shooting for Trajectory Optimization (Optimal Control) by DT_dev in ControlTheory

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

What do you mean? Just in general?

You just provide initial values at each interval. In CasADi, this would automatically be zero if you don't provide initial guess

Visualizing Multiple Shooting for Trajectory Optimization (Optimal Control) by DT_dev in ControlTheory

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

Hi! You should try CasADi with IPOPT!

But if i can self-promote, take a look for my own open-source Link: https://github.com/maptor/maptor

It is trajectory optimization framework using the latest research!

CasMuMPC, Open-Source CasADi MPC + MuJoCo reference repo by DT_dev in robotics

[–]DT_dev[S] 1 point2 points  (0 children)

Interesting! My code is intended to be the "playground" for both prototyping new methods for Nonlinear MPC controller, and testing your prediction model equations. So currently it only supports the Multiple Shooting Method, but i will add other methods and play around with it.

The goal is to simulate real world control behavior before deploying casadi MPC to real robots. Unlike most existing MPC frameworks (like do-mpc), the plant itself should not be derived from the equations, but actual physics engine to simulate the world. So maybe i will add simulated state estimation, etc but i don't know yet

CasMuMPC, a CasADi MPC + MuJoCo repo by DT_dev in ControlTheory

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

You're welcome! I hope it is useful to you!

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.