-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Somersault trajectory as an example of being far from current state #10
Conversation
Debugging linearized dynamics. With openloop input [0,u2], get this output: How is u2 leaking into x,z? EDIT
|
OSQP always ends in primal infeasible |
had to cheat and increase the body inertia delicate balance of timestep dt vs. body dynamics timescale |
… together what's the reasoning??
Something sort of working for flip 2da5f10 However, clearly one problem is that u1 -> 0 here and so u2 can't really do much. Should check if this is going in the linearization and that is what is making u2 want to blow up when u1 gets small (would make sense). Could saturate it. EDIT: it is (m*g + u1)/ib in the element multiplying u2 in B, so mg is still there. Or, need some way to create a situation where u1 is large. |
Isn't the reference trajectory identical to iterations of the dynamics with the same input? |
will come back to this. |
scott said maybe initial trajectory is dynamically infeasible: to solve this, take the first solution, get a traj, and then linearize around that and rinse repeat (before actually taking a control action in the sim). this is what a SQP (sequential QP) is.
nonlinear update in model, SQP implementation in MPCUtils. Any variations?#23Primal infeas debugging:
From 3/19 meeting:
write some debugging tools: plot state trajMPC planar debugging tools: plot the trajectory supplied to MPC #24reuse prev solution to propagate forward, or integrate twist forward#25running cost quadratic cost multiplied by dt.#26switch to analysis and work on averaged stroke mapMPC new model stroke map #27MPCUtils <- *Model interface:
calls getReference - either returns a single goal point, or N pointsModel in itself may expose hooks to modify the reference trajectory?
Related to #9