Faculté informatique et communications IC, Département d'informatique (Laboratoire de réalité virtuelle VRLAB)

Inverse kinematics techniques of the interactive posture control of articulated figures

Baerlocher, Paolo ; Boulic, Ronan (Dir.)

Thèse sciences Ecole polytechnique fédérale de Lausanne EPFL : 2001 ; no 2383.

Ajouter à la liste personnelle
    Summary
    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.
    Résumé
    Le contexte de cette thèse est la manipulation interactive de figures articulées complexes, par le biais de contraintes géométriques (appelées tâches), dans le but de contrôler et d'éditer leur posture. Il s'agit de déterminer une posture satisfaisant un ensemble de tâches imposées, typiquement exprimées dans l'espace Cartesien. Cette approche s'appelle Cinématique Inverse, et plusieurs méthodes de résolution analytiques et numériques ont été développées pour le contrôle de robots manipulateurs. Ces méthodes ont ensuite été appliquées à l'animation par ordinateur de figures articulées, et au contrôle de modèles humains pour l'évaluation ergonomique assistée par ordinateur de produits ou d'espaces de travail. Lorsqu'on traite des figures ayant un grand nombre de degrés de liberté, tels que des figures animales ou humaines, le contrôle de leur posture est effectué par le biais de plusieurs tâches simultanées. Ces tâches sont de nature et de fonctions différentes: elles peuvent contrôler des extrémités telles que les mains ou les pieds (pour atteindre un but ou supporter le poids), mais aussi le centre de masse, pour garantir l'équilibre. Les tâches peuvent aussi être utilisées pour éviter les collisions avec les obstacles environnants. La résolution simultanée de plusieurs tâches conduit inévitablement à des conflits, qui doivent être résolus par une stratégie appropriée. Une politique habituelle est de trouver un compromis en tenant compte d'une pondération des tâches indiquant leur importance relative. Cependant, avec cette approche aucune tâche n'est satisfaite précisément, et il n'est pas toujours évident de choisir les poids. Dans cette thèse, nous introduisons une stratégie à base de priorités pour la résolution des conflits. Avec cette politique, une tâche n'est pas affectée par des tâches de plus basse priorité, et en même temps elle est satisfaite au mieux sans pour autant perturber les tâches de plus haute priorité. La priorité relative entre deux tâches est donc strictement imposée, ce qui est plus approprié pour des situations qui ne tolèrent pas de compromis. Par exemple, rester en équilibre est plus important que d'atteindre un objet avec la main, et éviter les inter-pénétrations d'objets est certainement plus important que toute autre tâche. Les priorités sont bien adaptées à l'expression de telles relations hiérarchiques entre tâches. A partir d'un algorithme développé en robotique pour des manipulateurs simples, nous proposons une méthode qui intègre les deux stratégies pour la résolution de conflits: en premier lieu, les priorités affectées aux tâches sont respectées et, en deuxième lieu, la pondération de tâches ayant la même priorité est prise en compte. Nous avons amélioré l'efficacité de l'algorithme original grâce à l'utilisation d'une relation de récurrence, ce qui est avantageux pour des applications interactives. Les limites et couplages articulaires sont aussi intégrés dans l'algorithme, ce qui permet d'éviter les postures infaisables. Une application interactive, appelée BALANCE, a été développée pour tester l'algorithme avec une variété de types de tâches: elle nous permet d'illustrer l'utilisation des priorités pour la manipulation de figures articulées quelconques, et de modèles humains en particulier. En plus de contraintes géométriques simples, l'application propose une tâche pour le contrôle de l'équilibre, sous l'action de forces statiques dues à l'interaction avec l'environnement. Nous montrons que cette tâche est facilement intégrée dans le cadre de la cinématique inverse, et qu'elle est utile pour la génération de postures de figures en support multiple exerçant des forces pour pousser ou tirer des objets.