Inverse kinematics techniques of the interactive posture control of articulated figures (2001)

The context of this thesis is the interactive manipulation of complex articulated figures by means of geometric constraints (here called tasks), for the purpose of posture control and design. The goal is to determine a posture satisfying a set of prescribed tasks, usually expressed in the Cartesian space. This approach is known as Inverse Kinematics, and a number of analytic and numerical resolution methods have been developed for the control of robot manipulators. These methods have been applied to the computer animation of articulated figures, and to the control of human models for computer-aided ergonomic evaluations of products or workplaces. When dealing with figures that possess a large number of degrees of freedom, such as animal or human figures, their posture is usually controlled by several simultaneous tasks. There are tasks of different nature and function: they can control extremities such as the hands and the feet (for reaching or supporting purposes), as well as the center of mass, for balance control. They can also be used to avoid collisions with surrounding obstacles. The concurrent resolution of multiple tasks inevitably leads to conflicts that must be resolved with an appropriate strategy. A typical policy is to find a compromise solution that considers weights assigned to each task to indicate their relative importance. However, no task is precisely satisfied with this approach, and selecting appropriate weights is not always straightforward. In this thesis, we introduce a priority strategy for conflict resolution. With this policy, a task is not affected by other tasks of lower priority, and is satisfied as much as possible without affecting tasks of higher priority. The relative priority between two tasks is thus strictly enforced, which is appropriate for situations that cannot tolerate compromises. For example, keeping balance is more important than reaching an object with a hand, and avoiding inter-penetration of bodies is more important than any other task. Priorities are well-suited to express such hierarchical relationships. Based on a task-priority algorithm developed in robotics for simple manipulators, we introduce a framework that integrates the two conflict resolution strategies: first, the priorities assigned to the tasks are considered and, second, a weighting strategy solves the conflicts between tasks having same priority. We have improved the efficiency of the original algorithm by means of recursive relations, which is beneficial for interactive applications. Joint limits and joint couplings are also integrated in the framework to avoid unfeasible body postures. An interactive application, called BALANCE, has been developed to test the algorithm with a palette of task types: it allows us to illustrate the utility of task priorities for the manipulation of generic articulated figures, and of human models in particular. Besides simple geometric tasks, the application also proposes a task to keep the figure balanced under a set of static forces due to the interaction with its environment. It is shown that this task is easily integrated in the inverse kinematics framework, and that it is useful to generate postures in multiple supports with force exertions such as push and pull activities.