Skip to content

Latest commit

 

History

History
56 lines (50 loc) · 1.81 KB

File metadata and controls

56 lines (50 loc) · 1.81 KB

MVP

  • Try out the nalgebra library
  • Add testing for generating transform matrices
  • Create function to generate vec of matrices from vecs of specs
  • Test function
  • Create forward and backward mat functions
  • Test forward and backward mat functions
  • Move origin outside function
  • test updated functions
  • Add solver
  • Make solver and matrix methods have a common interface
  • Add debug print method to solver
  • Organize
  • Test solver
  • Implement and test loss function
  • Test matrix functions against expected values from js
  • Implement gradient descent for Solver
  • Test gradient descent convergence
  • Add momentum and learn rate for gradient descent
  • Time functions
  • Add solve method
  • Fix the circular reference issue with the population/solver references
  • Add threading with rayon
  • Add GA Solver
  • Test GA Solver
  • Move Vector clone calls into IKSolverGA constructor
  • Determine whether to use f32 or f64
  • Add tests for CollisionManager arm collisions
  • Add ncollide CollisionManager class
  • Pass tests
  • Add tests for CollisionManager world collisions
  • pass tests
  • Add CollisionManager to GA solver

Use in browser

  • Export WASM
  • Use in browser
  • Allow user to control precision of solution
  • Determine if WASM can store an object in the Rust end
  • Set up persistent state wasm
  • Export GA solver to wasm
  • Test GA solver with collision
  • Learn to use the Serde library
  • Add serialization of colliders
  • Add Rayon WASM support

https://github.com/GoogleChromeLabs/wasm-bindgen-rayon

Constraints

  • Add angle constraints to both solvers
  • Add collision constraints to both solvers

Improvements

  • Implement collision avoidance jacobian for speedup