A recursive algorithm for dynamics of multiple frictionless impact-contacts in open-loop robotic mechanisms. (April 2020)