Computational Models of Motion
This page showcases some of my work in modelling dynamic motion with C++ during the course Computational Models of Motion at ETH Zurich.
Walking legged controller
GitHub pageKinematic walking controller for the unitree legged robot. Consists of inverse kinematics for all four legs and joints, analytical and finite difference jacobian definitions, as well as velocity trajectory planning.

FEM
GitHub pageI implemented a finite-element-method (FEM) solver for a soft rigid body. The rigid body is controlled by pins at both ends and a minimum energy and force optimizer is implemented to achieve equilibrium state. A total energy objective is defined and minimized using Newtons method (second order Hessian method) for equilibrium conditions.

Trajectory Optimization
GitHub pageI implemented two methods for trajectory optimization: direct shooting and transcription methods for simple projectile motion tasks. The demos show how the optimization works. Gradient descent line search optimization is used to find solutions to the direct shooting and transcription methods.

Rigid Body Dynamics
GitHub pageI implemented rigid body dynamics simulator for projectile motion, spring like system, and a bouncing ball with contact constraints.
