A real-time algorithm for simulation of flexible objects and hyper-redundant manipulators S. Sreenivasan a,b , Piyush Goel a,c , Ashitava Ghosal a, * a Dept. of Mechanical Engineering, Indian Institute of Science, Bangalore 560 012, India b Geometric Software Solution Ltd., Pune, India c John Deere Technology Centre, Pune, India article info Article history: Received 22 August 2008 Received in revised form 30 September 2009 Accepted 9 October 2009 Available online 14 November 2009 Keywords: Redundancy resolution Hyper-redundant manipulators Tractrix Flexible objects Real-time simulation abstract Flexible objects such as a rope or snake move in a way such that their axial length remains almost constant. To simulate the motion of such an object, one strategy is to discretize the object into large number of small rigid links connected by joints. However, the resulting discretised system is highly redundant and the joint rotations for a desired Cartesian motion of any point on the object cannot be solved uniquely. In this paper, we revisit an algorithm, based on the classical tractrix curve, to resolve the redundancy in such hyper- redundant systems. For a desired motion of the ‘head’ of a link, the ‘tail’ is moved along a tractrix, and recursively all links of the discretised objects are moved along different trac- trix curves. The algorithm is illustrated by simulations of a moving snake, tying of knots with a rope and a solution of the inverse kinematics of a planar hyper-redundant manip- ulator. The simulations show that the tractrix based algorithm leads to a more ‘natural’ motion since the motion is distributed uniformly along the entire object with the displace- ments diminishing from the ‘head’ to the ‘tail’. Ó 2009 Elsevier Ltd. All rights reserved. 1. Introduction In realistic computer animation of deformable objects such as snakes, ropes, trees, grass or human hair, the axial length of the object is preserved. To achieve this, one approach is to discretize the deformable object into a large number of rigid links connected by rotary or spherical joints and then apply motion at the joints to obtain a realistic animation. A deformable ob- ject discretised in such a way can be thought of as a hyper-redundant serial manipulator with a large number of links and joints. The main and well-known difficulty in the analysis of hyper-redundant manipulators is that given a desired motion of the end-effector or a point on the manipulator, there exists an infinite number of solutions for the motion of the joints (or the motion of links). The problem of obtaining or choosing a unique solution from this infinite set is called as the resolution of redundancy, and there exists a vast amount of literature on resolution of redundancy. In the following we briefly review the main approaches. The first approach to be tried involved the use of least-squares technique or its variant. In this approach, the velocity of the end-effector is first related to the joint rates by the well-known manipulator Jacobian matrix. In the case of a redundant system, with more joint variables than Cartesian or task space variables, the manipulator Jacobian matrix is non-square. In the second step the joint rates are obtained, for a given Cartesian or task space velocity, by inverting the manipulator Jacobian using a pseudo-inverse [1]. In the final step, the joint values are updated from the computed joint rates. In its basic 0094-114X/$ - see front matter Ó 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.mechmachtheory.2009.10.005 * Corresponding author. Tel.: +91 80 2293 2956; fax: +91 80 2360 0648. E-mail addresses: sreeenivasanss@yahoo.com (S. Sreenivasan), goelpiyush28@yahoo.co.in (P. Goel), asitava@mecheng.iisc.ernet.in (A. Ghosal). Mechanism and Machine Theory 45 (2010) 454–466 Contents lists available at ScienceDirect Mechanism and Machine Theory journal homepage: www.elsevier.com/locate/mechmt