LouKordos / walking_controller

The main walking controller code for the Bipedal Robot.
13 stars 2 forks source link

Investigate usage of better Solvers for optimization Problem #17

Open LouKordos opened 3 years ago

LouKordos commented 3 years ago

Look into using different linear solvers for the NLP and IFOPT instead of IPOPT.

LouKordos commented 3 years ago

Marking as priority because IFOPT allows setting the jacobian beforehand instead of letting IPOPT figure it out by itself, which makes it possible to solve the Jacobian analytically / symbolically ahead of time, then simply populate the elements on every iteration, which has been proven to be very fast. To confirm this, implement #61 and investigate which parts take the longest. However, given this gives very impressive results: image

and the IFOPT source code suggests that either PARDISO or the HSL solvers were used (same as the one that is currently used for this controller), the potential for improvements is very promising and is most likely necessary for Whole-Body-Control or optimization problems for the full humanoid.