A penalty method for constrained multibody kinematics optimisation using a Levenberg–Marquardt algorithm