Nonholonomic mechanics, rigid bodies, collisions, Lagrange-d'Alembert equation