An inverse dynamics-based discrete-time sliding mode controller for robot manipulators