Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Trajectory optimization #18

#1

Hi, I am a student learning about pros and cons of different trajectory optimization methods, and I really appreciate the way https://github.com/krishauser/SemiInfiniteOptimization is set out.

I'm wondering if there are other trajectory optimization algorithms implemented with Klampt? If not, do you see any potential blocker for integrating these algorithms?

Thanks for your time

  • replies 2
  • views 3K
  • likes 0
#2

Hi Jerry, trajectory optimization is on our TODO list! The main issue, which the SemiInfiniteOptimization package is trying to address, is the numeric encoding of geometric constraints. Other issues that need to be resolved are 1) which algorithms to include (direct transcription, collocation, DDP, iLQR), 2) what API for handling derivatives (automatic differentiation or manual), and 3) whether we want users to be able to use sparse methods (a good idea for performance, but complicates the API considerably). Any opinions?

#3

Thanks a lot for your swift response! I'm working through the SemiInfiniteOptimization code base (very well documented) to appreciate the details

For the points you mentioned:

  1. I was originally thinking of algorithms like TrajOpt, CHOMP, etc. Porting them to Klampt would help me gain a better understanding of them. I think the algorithms you mentioned are better starting points. Would be happy to contribute.
  2. I had pretty good experience with auto differentiation libraries like https://github.com/google/jax in the past, since it shares the API of numpy. It looks like Klampt provides the gradient for robotsim, so the API need for handling derivatives is for user-specified constraints (correct me if I'm wrong)? In that case jax may fill in the need.
  3. currently no clue, would love to learn more :)