Commande dynamique d’humains virtuels : équilibre robuste et gestion des tâches

publicité
Commande dynamique d’humains
virtuels : équilibre robuste
et gestion des tâches
Thèse de Doctorat
NS 287
NOTE SCIENTIFIQUE ET TECHNIQUE
Commande dynamique d’humains
virtuels : équilibre robuste
et gestion des tâches
Thèse de Doctorat
Cyrille COLLETTE
NS 287
février 2010
Institut national de recherche et de sécurité pour la prévention des accidents du travail et des maladies professionnelles
Siège social : 30, rue Olivier-Noyer 75680 Paris cedex 14 • Tél. 01 40 44 30 00 • Fax 01 40 44 30 99
Centre de Lorraine : 1, rue du Morvan CS 60027 54519 Vandœuvre-les-Nancy cedex • Tél. 03 83 50 20 00 • Fax 03 83 50 20 97
Thèse de doctorat
de
l’Université paris vi
Spécialité : mécanique - robotique
Commande dynamique d’humains virtuels :
équilibre robuste et gestion de tâches
Proposée par :
Cyrille Collette
Pour obtenir le titre de docteur de l’Université paris vi
Soutenance prévue le . . . . . . 2009 devant le jury proposé :
Jean-Paul Laumond
Franck Multon
Xuguang Wang
Philippe Bidaud
Alain Micaelli
Pierre Lemerle
Directeur de recherche au laas-cnrs
Maître de conférence à l’université de Rennes 2
Directeur de recherche lbmc, inrets
Professeur à l’université Paris 6, isir Paris
Directeur de recherche, cea/list Fontenay-aux-Roses
Responsable du laboratoire msmp, inrs Vandœuvre
Directeur de thèse
Encadrant industriel
Alain Micaelli
Pierre Lemerle
Rapporteur
Rapporteur
Examinateur
Examinateur
Directeur de Thèse
Encadrant
Résumé
“Commande dynamique d’humains virtuels : équilibre robuste et gestion de tâches”
Les simulateurs physiques ne disposent pas d’outils efficaces d’animation permettant à un
humain virtuel de s’équilibrer et de réaliser des tâches, en interagissant avec son environnement.
On propose une commande dynamique d’humains virtuels qui offre un cadre unifié où toutes
les contraintes sont traitées simultanément : forces unilatérales de contact avec frottement, efforts bilatéraux de préhension et couples de commande. Afin d’assurer l’équilibre de l’humain
virtuel dans une configuration de contact et de préhension non-coplanaires, les consignes de cette
commande telle que la position du centre de masse sont déterminées statiquement. Ce dernier
est stable et robuste à des perturbations. Pour augmenter l’autonomie de l’humain virtuel et
enrichir ses comportements, un objectif se décompose en un ensemble d’actions élémentaires,
se traduisant en critères et contraintes pour la loi de commande. D’autre part, les résultats de
simulation sont validés à l’aide de campagnes d’essais réalisées sur des sujets humains. Enfin, la
commande est appliquée au cas du renversement dynamique latéral de chariot de manutention
dans le but d’obtenir un comportement prédictif de cariste.
Mots Clés : Réalité Virtuelle, Mouvements d’Humains Virtuels autonomes, Contrôle d’équilibre dynamique, Posture robuste, Multi-contacts non coplanaires, Commande de la préhension,
Contacts avec frottements secs.
3
Abstract
“Virtual humans dynamic control : robust balance and task management”
Physical simulators do not possess animation tools efficient enough to let a virtual human
keep its balance and realize tasks while interacting in a very general way with its environment.
We propose a dynamical controller of virtual humans which offers a unified framework where all
the constraints are treated simultaneously : unilateral forces of contact with friction, bilateral
grasping efforts and motor joint torques. In order to assure the virtual human’s balance in a noncoplanar contact and grasp situation, the controller’s commands such as position of center of mass
are determined statically. Our virtual human is stable and robust to disturbance. To increase its
autonomy and richness of behaviour, each goal is divided into a sequence of elementary actions,
translated into criteria and constraints for the control. In addition, the results of the simulation
were validated thanks to a trial campaign realized on human subjects. Eventually, this control
is applied to the case of a powered industrial truck in lateral fall, so as to obtain a predictive
model of the forklift operator’s behaviour.
Keywords : Virtual reality, Virtual Human motion, Dynamic balance control, Robust posture, Multiple non-coplanar contacts, Grasp control, Frictional contacts.
5
Table des matières
1 Introduction
1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Problématiques scientifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Présentation du plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
9
11
12
2 Description du modèle
2.1 Introduction . . . . . . . . . . . .
2.2 Modélisation de l’Humain Virtuel
2.3 Modèle dynamique . . . . . . . .
2.4 Modèles d’interaction . . . . . . .
.
.
.
.
15
17
17
18
21
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Définir et quantifier l’équilibre
3.1 Introduction . . . . . . . . . . . . . . . . .
3.2 Centre de Masse de consigne non robuste
3.3 Commande de posture robuste . . . . . .
3.4 Prise en compte de la posture de l’hv . .
3.5 Conclusion et perspectives . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
29
31
36
41
44
4 Assurer l’équilibre
4.1 Introduction . . . . . . . . . .
4.2 L’algorithme de commande .
4.3 Mise en œuvre algorithmique
4.4 Justifications . . . . . . . . .
4.5 Résultats et discussions . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
49
50
61
64
66
.
.
.
.
77
79
80
88
91
5 Gestion de tâches
5.1 Introduction . . . . . .
5.2 Actions . . . . . . . .
5.3 Gestion des priorités .
5.4 Tâches de manutention
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Validations
99
6.1 Matériels et méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 Résultats et discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7
7 Cariste
121
7.1 Problématique du cariste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2 Commande du cariste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.3 Conclusion et perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8 Conclusion et perspectives
145
8.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
8.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Annexes
A
Définition des variables . .
B
Formalisme mathématique
C
Simulation physique . . .
D
Paramétrage de l’hv . . .
E
Liste de publications . . .
. . . . . .
et rappels
. . . . . .
. . . . . .
. . . . . .
. . . . . . . .
de mécanique
. . . . . . . .
. . . . . . . .
. . . . . . . .
8
. . . . . .
du solide
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
153
155
159
165
169
171
CHAPITRE
1
Introduction
1.1
Contexte
Le domaine de la simulation connaît une forte croissance. On le retrouve notamment dans
des activités de conception (CAO), de formation, de loisir (jeux vidéos) (figure 1.1). Le développement des technologies informatiques permet d’accroître la complexité des simulations. Elles
offrent une grande souplesse d’utilisation, à moindre coût.
On s’intéresse à la simulation physique. L’objectif est de représenter en virtuel des environnements réels complexes. Les objets qui composent la scène sont soumis à la dynamique des
systèmes contraints. Ils interagissent entre eux. Plusieurs simulateurs sont disponibles. On citera
Open Dynamics Engine, Havok, Newton Game Dynamics, Bullet. Le champ d’application de ces
simulateurs est très vaste. Par exemple, la réalité virtuelle utilise des simulateurs physiques pour
des problématiques de prototypage virtuel, de dimensionnement de systèmes de sécurité.
Certains simulateurs proposent quelques outils d’animation d’Humain Virtuel (hv). Ils sont
limités et fastidieux à utiliser. L’hv est le plus souvent décrit comme un système poly-articulé
rigide. On attend d’un hv qu’il agisse dans un environnement virtuel comme un humain dans le
monde réel. On s’immergera d’autant plus à la simulation si le comportement de l’hv apparaît
réaliste. Mais le réalisme graphique d’un comportement n’est pas le seul critère. Le réalisme
physique d’un mouvement est la priorité.
Un point fondamental est l’interaction de l’hv avec son environnement. Ainsi, soumis à
une perturbation, l’hv doit avoir un comportement réactif pour retrouver son équilibre. Outre
la gestion d’équilibre, on s’intéresse à la simulation d’activités physiques. L’hv interagit avec
l’environnement, déplace des objets, réalise des tâches. Afin de traiter un large éventail de simulations, l’hv devra faire face à des situations imprévues. La description par l’utilisateur des
comportements de l’hv doit être la plus simple et efficace possible. Ainsi, une grande importance
est accordée à l’autonomie de l’hv.
La génération de comportements d’hv autonomes, si elle offre beaucoup de liberté et de souplesse dans la mise en œuvre, présente également des difficultés d’ordre scientifique et technique.
9
(a) Modélisation d’une suspension avec catiar .
(c) Simulation interactive de prototypage virtuel
dédiée à l’industrie automobile.
(b) Simulateur de conduite de chariot de manutention.
(d) Jeu vidéo Grand Theft Auto 4r développé par
Rockstarr Games.
Figure 1.1 – Exemples d’utilisation de la simulation.
10
1.2
Problématiques scientifiques
Les objectifs de cette thèse sont de prototyper des lois de commande permettant d’animer un
hv. Deux applications sont abordées : l’équilibre robuste et la gestion de tâches de l’hv. Bien que
présentées distinctement, il y a des connexions fortes entre ces deux problématiques, du point de
vue de la méthode de commande, que l’on étudiera par la suite.
On cherche à développer des outils facilement paramétrables pour commander un hv et à
obtenir un comportement naturel en jouant sur peu de paramètres.
1.2.1
Équilibre robuste
L’hv est soumis à une perturbation qui peut être de différentes natures. D’une part, un effort
de perturbation est directement appliqué à l’hv. D’autre part, il peut s’agir aussi d’un mouvement
de l’environnement avec lequel l’hv est en interaction. Une fois perturbé, l’hv doit retrouver son
équilibre. On cherche à déterminer et à évaluer la qualité de la position d’équilibre à atteindre.
De plus, le retour à l’équilibre nécessite le développement d’une méthode de commande.
1.2.1.1
Définir et quantifier l’équilibre
On cherche à définir et à quantifier l’équilibre de l’hv dans un environnement complexe. On
s’intéresse notamment aux configurations de contacts et de prises non coplanaires. On veut déterminer automatiquement et pour toutes les configurations de contacts et de prises, la meilleure
position d’équilibre. Cette consigne se traduit à la fois en termes de configuration–posture à adopter mais aussi en termes d’efforts d’interaction avec l’environnement. Ainsi, l’hv se cramponne
le plus efficacement sur son environnement. L’algorithme que nous proposons fournit également
un indice de robustesse.
D’autre part, on cherche à quantifier l’équilibre de l’hv. Ceci permet de définir l’état du
système à chaque instant.
La définition et la quantification de l’équilibre nécessitent de prendre en considération les
contraintes liées au système étudié, à savoir les limites articulaires et d’actionnement, les limites
des efforts que l’hv peut appliquer sur une prise saisie ainsi que le non-glissement des contacts.
C’est un problème très complexe qui reste ouvert, et pour lequel on a fait des hypothèses
simplificatrices.
1.2.1.2
Assurer l’équilibre
L’objectif est d’atteindre la meilleure position d’équilibre définie précédemment. Pour y parvenir, on choisit de réaliser une commande en couple.
Suite à une perturbation, deux méthodes complémentaires permettent d’assurer l’équilibre
de l’hv :
– réflexe “simple” : l’objectif est de mettre en œuvre un comportement autonome permettant de retrouver l’équilibre en conservant l’état de ses interactions avec l’environnement ;
– réflexe “évolué” : l’objectif est de retrouver l’équilibre en changeant l’état de ses interactions avec l’environnement. On pourra enchaîner les comportements avec prises de
décisions. Par exemple, l’hv peut reprendre son équilibre en s’appuyant sur un mur.
11
1.2.2
Réalisation de tâches
La simulation d’activités physiques nécessite la mise en œuvre de comportements combinant
gestion d’équilibre et réalisation de tâches. C’est le cas par exemple lorsque l’on entreprend de
peindre un mur. L’hv doit tout d’abord atteindre et saisir le pinceau puis réaliser le mouvement
de peindre. Parfois, la zone du mur à peindre est difficilement atteignable. Il peut alors s’aider
de prises avec sa main libre pour atteindre la zone tout en conservant son équilibre. Pour réaliser
la tâche de peindre, on doit générer un ensemble de comportements. Parfois, ces comportements
sont incompatibles. Dans cet exemple, il s’agit d’atteindre la zone à peindre avec une main et la
prise avec la main libre. Et pour cela, on préfère généralement réaliser en priorité la tâche qui
garantira l’équilibre, c’est à dire atteindre la prise. Il faut donc mettre en œuvre une gestion des
priorités entre ces comportements.
L’objectif est de générer des comportements de réalisation de tâches de la façon la plus simple
et la plus souple possible. Une grande importance est donnée à l’autonomie du système. La difficulté est de trouver les bonnes heuristiques permettant d’obtenir le comportement global désiré.
La gestion des critères multi-objectifs est un point important dans la gestion des tâches. Parmi
un ensemble d’actions à réaliser, la priorité d’exécution est accordée en fonction de l’importance
de la tâche. On doit gérer les priorités entre des objectifs disjoints en exploitant au mieux les
ressources du système.
1.3
Présentation du plan
On présente dans le chapitre 2 une introduction aux modèles, notations et formulations.
Les chapitres 3, 4 et 5 sont consacrés à la commande de l’hv.
Le chapitre 3 traite de la définition et de la quantification de l’équilibre. Afin d’assurer l’équilibre de l’hv dans une configuration complexe de contacts et de prises, le Centre de Masse (CdM)
est déterminé statiquement. La position du CdM stable, robuste à des perturbations est déterminée. Un critère de marge de stabilité permettant de quantifier l’équilibre est présenté.
Dans le chapitre 4, on s’intéresse à assurer l’équilibre de l’hv. On aborde la formulation de
la commande de l’hv permettant de calculer les couples d’actionnement. Les hypothèses pour la
commande sont justifiées. Enfin, des résultats de simulations sont présentés.
Le chapitre 5 traitera de la gestion de tâches. On traitera notamment les aspects programmation de tâches. L’objectif est de faire le lien entre un objectif global (ex : peindre) et sa traduction
en termes de lois de commandes. Ainsi, on peut augmenter l’autonomie de l’hv et enrichir ses
comportements. D’autre part, on propose une méthode numérique pour gérer les priorités entre
les tâches (souvent conflictuelles). On présentera le cas d’application de l’hv manutentionnaire.
Le chapitre 6 présente la confrontation entre la simulation et l’expérimentation. On détaille
la campagne d’essais de validation réalisée sur des sujets humains à l’inrs. L’objectif est de comparer en termes d’efforts et de déplacements du CdM, l’expérimentation sur sujet et la simulation.
Le chapitre 7 présente les premiers résultats de l’application de la loi de commande à la problématique du cariste. On traite des cas de renversement de chariot de plus en plus complexes.
12
On s’appuie sur des cas simples pour interpréter l’influence de certains paramètres de la simulation. Enfin, le comportement du cariste est enrichi par différentes stratégies de retenues.
Le chapitre 8 revient sur les principales contributions scientifiques et les perspectives d’amélioration et d’application de la commande dynamique d’hv.
13
CHAPITRE
2
Description du modèle
e chapitre présente la modélisation du problème. On décrit les hypothèses de travail et le
C fonctionnement global d’une simulation. L’ hv est animé comme un robot.
Les grandeurs physiques prises en compte pour modéliser un hv sous la forme d’un robot sont
détaillées par la suite.
Ce robot évolue dans un environnement virtuel dont les lois ainsi que leurs formalismes sont
présentés.
Enfin, l’interaction entre l’ hv et son environnement dans une simulation s’effectue par l’intermédiaire de contacts et d’efforts de préhension. On détaille les modèles d’interaction.
15
CHAPITRE 2. DESCRIPTION DU MODÈLE
Sommaire
2.1
2.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modélisation de l’Humain Virtuel . . . . . . . . . . . . . . . . . . . .
2.2.1 Chaînes poly-articulées : robots, branches, corps . . . . . . . . . . . . .
2.2.2 Degrés de liberté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Paramétrage de l’hv . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Modèle dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Modèles d’interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Liaison unilatérale : contact ponctuel avec frottement . . . . . . . . . .
2.4.1.1 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1.2 Commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Liaison bilatérale : torseur d’effort résultant d’un actionnement de préhension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
17
17
17
18
18
18
21
21
21
21
22
2.1. INTRODUCTION
2.1
Introduction
Modèle rigide : l’hv est considéré comme un robot que l’on anime. C’est un système rigide
poly-articulé fortement redondant (§ 2.2). Il possède un grand nombre de degrés de liberté (32
ddl). La base du robot est libre : aucune partie n’est encastrée.
Chaque segment corporel est considéré comme rigide. L’interaction rigide sur rigide est à la
fois suffisante et plus simple à modéliser en termes de loi de commande (§ 2.4).
Actionnement articulaire : chaque articulation est modélisée de manière parfaite et peut
être actionnée. La commande articulaire est la plus répandue. Par rapport à une modélisation
musculaire, elle est plus simple et permet d’obtenir plus de résultats. L’expérience montre qu’une
commande articulaire donne de bons résultats, proches de ceux obtenus par la prise en compte
des muscles. Les modèles neuro-physiologiques ne sont pas considérés. L’actionneur est considéré parfait, et s’applique directement sur l’articulation puisqu’on s’intéresse uniquement à la
simulation d’hv et non à l’actionnement d’un humanoïde.
2.2
Modélisation de l’Humain Virtuel
2.2.1
Chaînes poly-articulées : robots, branches, corps
Un robot est une chaîne poly-articulée constituée de branches, elles-mêmes constituées de
corps solides (figure 2.1(a)). Le premier corps d’une branche peut être lié rigidement à un corps
d’une autre branche. Pour un robot (tel que l’hv), le corps racine est le premier corps de la
première branche. La configuration complète du système est définie par la donnée de la position du
corps racine (position et orientation) et des coordonnées articulaires des branches (figure 2.1(a)).
(a) Le robot “hv” est constitué de six
branches : tronc, tête, bras et jambes. Le thorax est le corps racine. Toutes les branches se
greffent sur la branche tronc (carrés).
(b) La position du corps racine Hracine est
exprimée par rapport au repère de la scène
Hscène . L’orientation de chaque liaison qi
permet de définir la posture de l’hv.
Figure 2.1 – L’hv est modélisé comme un système poly-articulé.
17
CHAPITRE 2. DESCRIPTION DU MODÈLE
2.2.2
Degrés de liberté
Dans le simulateur utilisé, deux corps ne peuvent être reliés entre eux par une liaison pivot,
glissière ou hélicoïdale. Pour réaliser une liaison rotule, on crée une chaîne de trois “corps”, qui
constituent trois pivots centrés successifs. L’hv est composé uniquement de liaisons pivots. La
réalité biomécanique des articulations (épaule, genou, etc) est simplifiée. Ainsi, on représente
l’articulation de l’épaule comme une rotule.
cou
thorax - abdomen
épaule
coude
poignet
hanche
genou
cheville
2.2.3
3 ddl
3 ddl
3 ddl
2 ddl
2 ddl
3 ddl
1 ddl
2 ddl
= 32 ddl
Paramétrage de l’hv
L’hv est paramétrable en fonction de la taille et de la masse. Plusieurs articles ont servi de
références :
– masses des segments corporels (annexe D : D. Miller et al. [MM75]) ;
– géométries et calculs des inerties des segments corporels (annexe D : E.P. Hanavan
[Han64]) ;
– dimensions des segments corporels :
• rayons : D. Miller et al. [MM75] ;
• longueurs : W.T. Dempster et al. [DG67].
– limites articulaires (annexe D.2 : J.M. Chevalier [Che98]) ;
2.3
Modèle dynamique
Le modèle dynamique inverse d’un robot s’écrit :
M̃ (q) (Ṫ − G) + N (q, q̇) T = L τ + C t (q) W
Voici le détail des notations :
(2.1)
− T : vecteur vitesse en coordonnées généralisées du robot. dim(T ) = (6 + nddl , 1)



T =

avec :
Vracine
q̇1
..
.
q̇nddl





(2.2)
vracine
: torseur cinématique absolu du corps racine de l’arborescence
• Vracine =
ωracine
exprimé dans le repère de base de ce corps (formulation “corps” – voir [MLS94]) ;
18
2.3. MODÈLE DYNAMIQUE
• q̇k−1 : vitesse articulaire du corps k par rapport au corps k − 1.
− Ṫ : vecteur accélération en coordonnées généralisées du robot, dérivé de T. dim(Ṫ ) =
(6 + nddl , 1)


V̇racine
 q̈1 


(2.3)
Ṫ = 

..


.
q̈nddl
− τ : forces et couples articulaires. dim(τ ) = (nddl , 1)


τ1


τ =  ... 
τnddl
(2.4)
τ = τcommande + τbutée
(2.5)
avec :
• τk−1 : forces ou couples articulaires appliqués par le corps k − 1 sur le corps k ;
• τcommande : forces et couples articulaires de commande (chapitre 4) ;
• τbutee : forces et couples articulaires dus aux butées articulaires qui limitent le mouvement.
Note 1. Dans le cas présent, il n’y a que des couples articulaires car on ne modélise que
des liaisons pivots.
− W : torseurs d’efforts appliqués, sur chacun des corps qui constituent le robot, exprimés
dans leurs repères de base respectifs (repère “corps”). dim(W ) = (6 + 6 nddl , 1)



W =

Wracine
W1
..
.
Wnddl





W = Wcontact + Wliaison + Wperturbation
(2.6)
(2.7)
avec :
• Wcontact : torseur d’effort lié aux contacts ;
• Wliaison : torseur d’effort lié aux liaisons viscoélastiques ;
• Wperturbation : torseur d’effort lié à des perturbations extérieures.
− C (q) : matrice de transformation entre l’espace des vitesses articulaires (“espace tangent
exprimé par T ”) et l’espace des vitesses cartésiennes des corps (espace des torseurs cinématiques des corps, en formulation “corps” se3 (R) × . . . × se3 (R) = se3 (R)ncorps ). Cette
jacobienne ne dépend que de la configuration articulaire du robot q. Son calcul est détaillé
dans l’annexe B.5. Le modèle cinématique direct d’un robot s’écrit :




Vracine
Vracine
 V1 
 q̇1 




=
C
(2.8)




..
..




.
.
Vnddl
q̇nddl
19
CHAPITRE 2. DESCRIPTION DU MODÈLE
− Ċ (q, q̇) : la dérivée de la jacobienne C permet d’obtenir les accélérations des “corps” dans
l’espace cartésien en fonction des accélérations articulaires. Cette jacobienne dépend de la
configuration et de la vitesse articulaire du robot (q, q̇).





V̇racine
V̇1
..
.
V̇nddl



 = C (q) Ṫ + Ċ (q, q̇) T

(2.9)
− M̃ (q) : matrice symétrique d’inertie en coordonnées généralisées. dim(M̃ ) = (6 + nddl , 6 +
nddl )
M̃ (q) = C t (q) M C (q)
(2.10)
avec :
• M : matrice d’inertie de tous les corps dans leur repère de base. dim(M ) = (6 +
6 nddl , 6 + 6 nddl ).



M =


Mracine 06,6
06,6
..
.
M1
..
.
...
..
.
..
.
06,6
...
06,6
avec :

06,6

..

.


06,6 
Mnddl
avec
Mi =
mi I3 03,3
03,3
ℑi
(2.11)
• mi : masse du corps i ;
• ℑi : matrice d’inertie du corps i exprimée à son centre de masse et dans le repère de
base.
− L : matrice permettant d’exprimer τ en coordonnées généralisées. dim(L) = (6 + nddl , nddl )
L=
0(6,nddl )
Inddl
(2.12)
Note 2. Dans le cas d’un bras de robot, le corps racine est généralement fixé au sol. Dans
le cas de l’ hv, le corps racine n’est pas fixé. Il est libre et on ne peut pas limiter son
mouvement (τbutée ) ni le commander (τcommande ).
− N (q, q̇) : matrice associée aux effets de Coriolis et centrifuges.
− G : accélération de la pesanteur exprimée en coordonnées généralisées.


G=

0
0
−g
03+nddl
Par la suite, le modèle dynamique d’un robot s’écrit :




M̃ (Ṫ − G) + N T = L τ + C t W
20
(2.13)
(2.14)
2.4. MODÈLES D’INTERACTION
2.4
2.4.1
Modèles d’interaction
Liaison unilatérale : contact ponctuel avec frottement
(a) Cône exact / linéarisé.
(b) Contraintes de non-glissement.
Figure 2.2 – Cône de frottement linéarisé.
2.4.1.1
Simulation
Le simulateur utilise des contacts ponctuels avec frottement. La loi de Coulomb modélise les
forces de frottement qui s’opposent au glissement des surfaces en contact :
kfct k ≤ µ fcn
(2.15)
avec :
• fcn : force de contact normale ;
• fct : force de contact tangentielle ;
• µ : coefficient de frottement sec.
Le contact est adhérent si la force de contact est à l’intérieur du cône de frottement. Si elle
est sur le bord, il peut y avoir glissement. Cette inégalité est non linéaire.
2.4.1.2
Commande
Pour un calcul plus rapide de la commande, il peut être
intéressant detsimplifier ce modèle en
facettisant par exemple le cône de frottement. Soit fc = fcx fcy fcz , une force de contact.
Cette force est adhérente si elle est dans le cône de frottement discrétisé, c’est à dire la force de
contact est dans le bon demi-espace formé par chacune des facettes (figure 2.2(b)).
Exemple de discrétisation du cône (na = 4, nombre de facettes). Le repère de contact a
→
pour origine le centre du cône. La normale au contact est suivant l’axe −
z . L’équation des plans
de chaque facette, passant par l’origine, s’exprime très simplement. La distance de la force de
contact à chaque plan s’écrit comme une combinaison linéaire des inconnues (fcx , fcy , fcz ). Enfin,
la condition d’appartenance de la force de contact au cône s’exprime comme un ensemble de
contraintes inégalités sur ces distances :
21
CHAPITRE 2. DESCRIPTION DU MODÈLE

+fcx



 +f
cx

−fcx



−fcx
− fcy + µ fcz = 0
+ fcy + µ fcz = 0
+ fcy + µ fcz = 0

+1
 +1

 −1
−1
donc
− fcy + µ fcz = 0
−1
+1
+1
−1

µ
µ 
 f ≥0
µ  c
µ
(2.16)
Lorsque la force de contact se situe en bordure du cône de frottement, il peut y avoir glissement. Afin de garantir l’adhérence dans tous les cas, la loi de commande utilise un coefficient de
frottement légèrement inférieur à celui de la simulation.
2.4.2
Liaison bilatérale : torseur d’effort résultant d’un actionnement de préhension
Afin que l’hv saisisse des prises ou des objets avec ses mains, un modèle de préhension est
nécessaire. Dans un souci de simplification, la main n’est pas représentée sous la forme d’un système poly-articulé. On se contente de modéliser dans la simulation et la commande, un torseur
d’effort résultant d’un actionnement de préhension. Il s’agit d’une liaison bilatérale.
(a) Cube inclus dans une sphère.
(b) Force ou moment contraint
dans un cube.
(c) Dodécaèdre inclus dans une
sphère.
Figure 2.3 – Saturation de la force et/ou du moment de préhension.
La commande calcule explicitement les efforts résultant d’un actionnement de préhension.
Avec une capacité d’actionnement limitée, l’hv ne peut appliquer que des efforts bornés. Idéalement, la saturation isotropique de l’effort de préhension est souhaitée. Mais c’est une contrainte
non linéaire. Par simplification, on ne contraint que certaines directions de l’espace, ce qui revient à borner la force par un polytope, par exemple : un cube (figure 2.3(a)) ou un dodécaèdre
(figure 2.3(c)) inclus dans la sphère. Ainsi, un ensemble de contraintes inégalités constituent la
saturation de la force et du moment de préhension. Par exemple, la saturation de l’effort de
préhension Wp dans un cube (figure 2.3(b)) revient à définir la norme de |Wp | comme étant :
|Wp | ≤ Wpmax

|fx | ≤ fxmax





|fy | ≤ fymax




 |f | ≤ f max
z
z

|mx | ≤ mmax

x




|my | ≤ mmax

y



|mz | ≤ mmax
z




Wp = 



22
fx
fy
fz
mx
my
mz








Wpmax




=



fxmax
fymax
fzmax
mmax
x
mmax
y
mmax
z








(2.17)
Introduction à la commande
Ce mini chapitre est une introduction aux chapitres 3, 4 et 5, consacrés à la commande de l’hv.
Les deux problématiques principales traitées sont :
A – Pour l’équilibre robuste, il s’agit de :
1 – Définir et quantifier l’équilibre : l’hv évolue dans un environnement complexe, avec des
configurations de contacts et de prises non coplanaires. Définir la position d’équilibre d’un robot tel qu’un hv dans n’importe quelle configuration est un problème complexe, c’est pourquoi
plusieurs simplifications sont effectuées. Tout d’abord, la nature et la position des interactions
de l’hv avec l’environnement sont supposées connues. De plus, on se limite à déterminer un
équilibre statique. Enfin, seule la stabilité du CdM de l’hv est étudiée. On fait abstraction de
la cinématique. Finalement, l’objectif est la détermination de la position du CdM équilibrée en
statique en fonction d’une configuration de contact et de prise connue. L’introduction des marges
de stabilité permet de déterminer une position de CdM stable et robuste.
La formulation et les justifications de cette approche sont détaillées dans le chapitre 3.
2 – Assurer l’équilibre : l’objectif est de déterminer les actions motrices permettant à l’hv
d’atteindre la position d’équilibre précédemment calculée. La figure 2.4 présente une version très
simplifiée du problème à traiter.
Figure 2.4 – Première version de la boucle d’asservissement de la commande de l’hv.
Lorsqu’un humain est perturbé, il cherche à s’équilibrer au mieux. Ce retour à l’équilibre
n’est pas toujours aussi rapide que l’on souhaite et peut même s’avérer impossible. Il dépend
notamment de ses prises sur l’environnement, de sa posture au moment de la perturbation, du
revêtement du sol. Autant de considérations prises en compte dans la commande sous forme de
critères de priorités variables. Le choix de l’ordre des priorités est justifié. Tout d’abord, lors d’une
23
reprise d’équilibre, il faut absolument garantir les interactions de l’hv avec l’environnement. Ses
contacts ne doivent pas glisser ou être rompus, ce qui aggraverait sa perte d’équilibre. D’autre
part, tout système mécanique, même déséquilibré, doit vérifier les lois de la physique. Le bilan
des efforts s’appliquant sur l’hv doit être respecté. La prise en compte de la dynamique est
un point clé pour obtenir un réalisme physique de la gestion d’équilibre. Sous respect de ces
deux contraintes, l’hv tente d’atteindre du mieux possible sa position d’équilibre. Ces choix sont
formalisés dans un problème d’optimisation sous contraintes :
– Contraintes :
• les interactions de l’hv doivent être maintenues ;
• le bilan des efforts s’appliquant sur l’hv doit être respecté.
– Optimisation : atteindre au mieux la position d’équilibre statique.
La formulation est détaillée dans le chapitre 4.
La commande, pour conserver l’équilibre, se décompose en deux grandes étapes successives
(figure 2.5) :
– “Calcul CdM consigne”, robuste par rapport à l’état des contacts (chapitre 3) ;
– “Calcul couples d’actionnement” pour atteindre ce CdM de consigne (chapitre 4).
Plus précisément, on calcule dans une première étape la position du CdM de consigne permettant à l’hv d’être équilibré en statique par rapport à la configuration des contacts et des
prises. Dans cette étape, on ne tient pas compte de la configuration articulaire du robot, l’hv
se réduisant à son CdM. Ces travaux ont été en partie traités dans la thèse d’Antoine Rennuit
[Ren06]. Dans une deuxième étape, on asservit la position du CdM de l’hv vers le CdM de
consigne calculé précédemment en prenant en compte la posture de l’hv.
B – Gestions des tâches :
Aux deux chapitres précédents viennent s’ajouter un troisième et dernier chapitre concernant la commande. Le chapitre 5 traite de la gestion des tâches, qui s’intègre à la commande
de l’équilibre de l’hv. Pour augmenter l’autonomie de l’hv et enrichir ses comportements, un
objectif global (exemple : peindre) est alors décomposé en un ensemble d’actions élémentaires
se traduisant en critères et contraintes pour la loi de commande. La mise en œuvre de ces comportements ainsi que les aspects programmation sont présentés. Enfin, une gestion des priorités
entre les tâches conflictuelles est proposée.
Un graphique global du fonctionnement de la commande est présenté figure 2.6.
Figure 2.5 – Schéma global des deux étapes de la commande.
24
Figure 2.6 – Schéma global de la commande.
25
CHAPITRE
3
Définir et quantifier l’équilibre
l est difficile de définir et quantifier l’équilibre de l’humain virtuel dans une configuration
I de contact et de préhension non-coplanaire. Un hv debout sur un sol plat doit avoir son CdM
au centre du polygone de sustentation. Mais dans une configuration non-coplanaire, la localisation du CdM stable n’est pas évidente.
Les objectifs de ce chapitre sont de déterminer automatiquement des consignes stables (localisation du CdM, efforts de précontraintes) permettant à l’ hv d’éventuellement se “cramponner” à
son environnement. Afin d’évaluer la stabilité d’une posture, en terme de robustesse à des efforts
de perturbation appliqués sur le CdM, un critère de marge de stabilité est présenté. En s’appuyant
sur des résultats liés jusqu’alors à la manipulation (X. Zhu et al. [ZDL01] [ZDW03]), cette nouvelle formulation considère non pas une direction de perturbation mais un ensemble convexe de
perturbations.
27
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE
Sommaire
3.1
3.2
3.3
3.4
3.5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2.1 Définir l’équilibre . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2.2 Quantifier l’équilibre . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 Contributions et positionnement . . . . . . . . . . . . . . . . . . . . . .
3.1.4 Présentation du plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Centre de Masse de consigne non robuste . . . . . . . . . . . . . . . .
3.2.1 Présentation du problème . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Contraintes égalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2.1 Statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2.2 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Contraintes inégalités . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3.1 Localisation du Centre de Masse . . . . . . . . . . . . . . . . .
3.2.3.2 Non-glissement des contacts . . . . . . . . . . . . . . . . . . .
3.2.3.3 Saturation des efforts de préhension . . . . . . . . . . . . . . .
3.2.3.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4.1 Centre de Masse désiré . . . . . . . . . . . . . . . . . . . . . .
3.2.4.2 Forces de contact désirées . . . . . . . . . . . . . . . . . . . . .
3.2.4.3 Efforts de préhension désirés . . . . . . . . . . . . . . . . . . .
3.2.4.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande de posture robuste . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Présentation générale . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Introduction d’une marge de stabilité dans l’équation de la statique . .
3.3.3 Introduction de marges de stabilité dans les contraintes inégalités . . . .
3.3.4 Amplitude de perturbation maximale : formulation LP . . . . . . . . . .
3.3.5 Équilibre à volume de perturbation donné : formulation QP . . . . . . .
3.3.6 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prise en compte de la posture de l’hv . . . . . . . . . . . . . . . . . .
3.4.1 Introduction de marges de stabilité dans l’équation de la statique . . . .
3.4.2 Introduction de marges de stabilité dans les contraintes inégalités . . . .
3.4.3 Amplitude de perturbation maximale : formulation LP . . . . . . . . . .
3.4.4 Efforts de contact et efforts internes pour des perturbations admissibles :
formulation QP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conclusion et perspectives . . . . . . . . . . . . . . . . . . . . . . . . .
28
29
29
29
29
30
30
30
31
31
32
32
33
33
33
34
34
34
34
34
34
35
35
35
36
36
36
37
37
38
39
41
41
42
42
43
44
3.1. INTRODUCTION
3.1
Introduction
3.1.1
Problématique
Les objectifs de ce chapitre sont multiples. Tout d’abord, déterminer la meilleure posture de
l’hv en fonction d’une configuration de contacts avec frottement sec et de prises connue. Cette
posture idéale est une consigne pour la commande (chapitre 4). De plus, le calcul d’efforts de
précontrainte autorise l’hv à se cramponner à l’environnement. Ainsi, ces efforts permettent à
l’hv de résister du mieux possible à un ensemble d’efforts de perturbation. Enfin, un critère de
stabilité évalue la pertinence d’une posture. L’adhérence des contacts ainsi que les limitations
d’actionnement de l’hv sont autant de contraintes à prendre en compte.
3.1.2
3.1.2.1
État de l’art
Définir l’équilibre
P. Bidaud et al. [BBM09] proposent une définition de l’équilibre de l’hv :
"L’équilibre se définit par opposition à la chute ("perte d’équilibre"), état qui intègre
également l’intention du sujet dans son activité physique. [. . . ] un certain nombre de
moyens utilisables pour observer une instabilité (glissement ou décollement) des appuis
avec l’environnement physique qui conduirait à une perte de contrôle de l’état postural
pour des humains virtuels."
Dans le cas multi-contacts coplanaires, les caractérisations les plus simples de l’équilibre sont
basées sur l’appartenance d’un point d’intérêt particulier à une zone (à définir) de l’espace opérationnel. Les critères permettent de définir l’équilibre d’un hv lorsque ses deux jambes s’appuient
sur un sol plat. Un système poly-articulé peut rester en équilibre statique si et seulement si la
projection verticale de son Centre de Masse (CdM) est à l’intérieur du polygone de sustentation
convexe formé par les points de contacts (R.B. McGhee et al. [MF68]). D’autre part, M. Vukobratovic et al. [VS74] introduisent le Zero Moment Point (zmp). Dans le cas de la marche
bipède, les efforts inertiels et de Coriolis sont pris en compte. Ce point est défini comme étant
l’unique point du plan où le moment du torseur des effets inertiels et de gravité exercés sur le
système est normal au plan.
Ces approches sont difficilement généralisables au cas multi-contacts non coplanaires.
T. Bretl et al. [BRL03] [BLR05] ont traité le problème des multi-contacts non coplanaires
dans le cas d’un robot constitué de trois membres. Le robot marche sur un terrain dénivelé non
coplanaire, évitant la chute par la seule action de ses pieds. Le frottement sec est pris en compte.
Il change ses appuis par des mouvements quasi-statiques. Pour planifier des mouvements sûrs, il
est nécessaire de tester ces contraintes d’adhérence pour chaque posture possible à chaque pas
de déplacement. Il existe des solutions : chercher explicitement les forces de contact pour chaque
posture ou pré-calculer le polygone de support et vérifier que le CdM du robot lui appartient.
Cette approche est la plus proche de la nôtre.
Yizhar Or et Elon Rimon [OR06] [OR04] caractérisent l’équilibre robuste dans un environnement 3D sous gravité avec 3 contacts non coplanaires. La zone d’évolution du centre de masse est
un prisme vertical convexe. Cette méthode n’est pas généralisable à n-contacts non coplanaires.
H. Hirukawa et al. [HHH+ 06] proposent un critère de stabilité portant sur les contacts d’un
robot humanoïde. La méthode vérifie s’il existe des forces de contact des pieds admissibles pour
29
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE
des efforts appliqués au CdM du robot. Ce critère peut être utilisé pour déterminer la stabilité
des contacts du pied lorsque le robot marche sur un terrain accidenté et/ou quand ses mains
sont en contact avec l’environnement, avec une friction suffisante. Le critère proposé peut se
substituer au zmp. Cependant cette approche est difficilement généralisable.
K. Harada et al. [HKKH06] [HKF+ 07] travaillent sur l’équilibre dynamique d’un robot
humanoïde durant les tâches de manipulation. Leur robot humanoïde pousse un objet mais leur
formulation est difficilement généralisable.
3.1.2.2
Quantifier l’équilibre
La robustesse peut être caractérisée par la plus “petite” perturbation permettant de déstabiliser l’hv.
On s’intéresse à quantifier l’équilibre en terme de stabilité vis-à-vis d’un ensemble de perturbations. On considère souvent un sous-espace de perturbations simple à manipuler comme les
hypersphères. M. Teichmann [Tei96] montre que cette quantification dépend des coordonnées
choisies pour exprimer les efforts s’appliquant sur l’objet saisi. Il propose une métrique invariante
pour évaluer la qualité d’une prise.
X. Zhu et al. [ZDL01] [ZDW03] présentent une mesure de qualité pour une préhension à
plusieurs doigts, qui mesure l’amplitude maximale pour un effort qui peut être compensé par
la prise dans le cas le plus contraignant. Les directions de perturbations ne sont pas traitées
simultanément mais successivement, en résolvant autant de problèmes de programmation linéaire
que de perturbation. Bien que cette méthode caractérise la robustesse réalisable, elle ne donne
pas la commande permettant de résister à un polytope de perturbations.
3.1.3
Contributions et positionnement
En partant des travaux de X. Zhu et al. [ZDL01] [ZDW03], un calcul de stabilité adapté aux
problématiques de l’hv a été développé. Il a l’avantage de prendre en compte un polytope de
perturbation. Ainsi, un ensemble de directions de perturbation est traité simultanément et non
chaque direction une à une. Plusieurs indicateurs de robustesse sont développés. Ils déterminent
l’amplitude maximale du polytope compensable par des efforts admissibles.
Un premier indicateur considère les limitations sur la zone d’appartenance du CdM. La
détermination de la localisation du CdM robuste et des efforts de précontrainte permettent à
l’hv d’adopter la meilleur commande pour résister à un ensemble de perturbations. Mais ce
calcul ne considère pas les limitations motrices. La saturation des couples articulaires nécessite
la connaissance de la posture de l’hv, qui est dans ce cas une inconnue. Prendre en compte comme
inconnue à la fois les couples de saturation et la posture de l’hv constitue un problème fortement
non linéaire. Un second indicateur de stabilité est alors présenté, considèrant les limitations
d’actionnement avec pour pré-requis la connaissance de la posture de l’hv.
3.1.4
Présentation du plan
Dans les § 3.2 et 3.3, l’hv est réduit à son CdM. Sa configuration n’intervient pas. Dans § 3.4,
la configuration de l’hv est prise en compte et supposée connue.
Dans le § 3.2, la position du CdM de consigne de l’hv, notée xconsigne
, est calculé. À partir
cdm
d’efforts de contact désirés et d’une configuration de contact et prise connue, la position du CdM
30
3.2. CENTRE DE MASSE DE CONSIGNE NON ROBUSTE
Figure 3.1 – Entrées et sorties du calcul de CdM de consigne.
vérifie l’équilibre statique du système et l’adhérence des contacts. Cette méthode ne prend pas
en compte les marges de stabilité. Donc le CdM de consigne est stable et admissible mais non
optimisé pour être robuste à des perturbations extérieures. On optimise des critères plus relatifs
à des forces de contact désirées.
3.2
3.2.1
Centre de Masse de consigne non robuste
Présentation du problème
L’hv est assimilé dans cette partie à un solide non articulé (CdM) soumis à l’accélération de
pesanteur et aux efforts de contact. La configuration interne de l’hv n’est pas prise en compte.
À partir d’une répartition des efforts de contact désirée, l’objectif est de déterminer la position
du CdM équilibré statiquement dans le cas de plusieurs contacts coplanaires ou non coplanaires.
Ainsi, un solide est considéré équilibré si :
– l’équation de la statique est respectée ;
– le CdM calculé est dans la zone désirée : la zone plausible de localisation du CdM est
restreinte ;
– ses contacts sont non glissants ;
– ses efforts de préhension sont bornés.
Les conditions d’équilibre précédemment énoncées doivent être respectées. Or, la répartition
des efforts de contact désirée ne garantit pas forcément ces conditions d’équilibre et n’est par
conséquence pas prioritaire. On formalise un problème d’optimisation sous contraintes de type
QP (figure 3.1).
31
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE
Les inconnues du système sont :
– xconsigne
cdm/scène : position du CdM de consigne
exprimée dans le repère de la scène ;
– fc : forces de contact ;
– Wp : efforts de préhension.

Wp (1)


..
Wp = 

.
Wp (np )


fc (1)


..
fc = 

.
fc (nc )

avec :
Elles sont regroupées en un vecteur :


xconsigne
 cdm/scène 
(3.1)
Y1 = 

fc
Wp
• fc (i) : force du contact i – dim(fc (i)) = 3 ;
• nc : nombre de contact pris en compte par la commande ;
• Wp (i) : effort de préhension i – dim(Wp (i)) = 6 ;
• np : nombre de torseur d’effort résultant d’un actionnement de préhension prise en compte
par la commande.
Dans le cas simple, lorsque l’hv est debout sur un sol plat, il applique le même effort sur
chaque pied. La répartition des forces de contact est alors homogène entre les différents contacts
pied gauche et pied droit. Ces efforts de contact désirés font partie du critère d’optimisation. La
méthode d’optimisation mise en œuvre requiert la non-singularité de Q vis-à-vis des inconnues,
par conséquent l’optimisation est également appliquée sur la position du CdM désirée exprimée
dans le repère scène, notée xdes
cdm/scène . Grâce aux priorités relatives aux différents critères d’optimisation, un fort poids est mis sur le critère des efforts de contact, ce qui revient finalement à
calculer la position d’équilibre du CdM pour une répartition homogène des forces de contact.
3.2.2
Contraintes égalités
Les contraintes égalités comprennent uniquement l’équation de la statique.
3.2.2.1
Statique
On écrit l’équation de la statique d’un système soumis à la pesanteur et à des forces de
contact. Le bilan des efforts est effectué au centre du repère scène.
scène
scène
scène
Wmasse
+ Wcontact
+ Wprehension
=0
(3.2)
avec :
scène : efforts de gravité s’appliquant sur le solide hv ;
• Wmasse
scène : efforts de contact s’appliquant sur le solide hv ;
• Wcontact
scène
: efforts de préhension s’appliquant sur le solide hv.
• Wprehension
scène en fonction de xconsigne , les notations présentées dans l’annexe B sont
Pour exprimer Wmasse
cdm/scène
utiles :
32
3.2. CENTRE DE MASSE DE CONSIGNE NON ROBUSTE
scène
Wmasse
−t
→
m−
g
03,1
= Adscène H
cdm
"
I3
= h consigne i
xcdm/scène

0
0
 0
0

 0
0
=
 0 −m g

 mg
0
0
0
03,3
#
→
m−
g
03,1
I3


0
0
 0
0 



0 
 xconsigne +  −m g
 0

cdm/scène
0 

 0

0
0
0
= Excdm xconsigne
cdm/scène + P








(3.3)
scène en fonction
De même, il existe deux matrices permettant d’exprimer respectivement Wcontact
scène
de fc et Wprehension en fonction de Wp :
(
3.2.2.2
scène
Wcontact
= Efc fc
(3.4)
scène
Wprehension
= EW p W p
Synthèse
Finalement, l’équation 3.2 s’écrit :
A Y + b1 = 0 1 1
avec
3.2.3
A1 =
Excdm
Ef c
EWp
(3.5)
et
b1 = P
Contraintes inégalités
Les contraintes inégalités comprennent :
– la restriction de la zone du CdM ;
– le non-glissement des contacts ;
– la saturation des efforts de préhension.
3.2.3.1
Localisation du Centre de Masse
Afin de ne pas chercher dans tout R3 , la zone plausible de localisation du CdM est restreinte.
des/scène
La position du CdM doit appartenir à un cube centré sur xcdm
, ce qui se traduit par l’inégalité
suivante :

t
des
 xmin
1
1
1
=
x
−
δx
cdm
cdm/scène
consigne
max
xmin
avec
(3.6)
t
cdm ≤ xcdm/scène ≤ xcdm
 xmax = xdes
1 1 1
cdm
cdm/scène + δx
et δx : distance maximale de déplacement du CdM par rapport au xdes
cdm suivant une direction.
33
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE
3.2.3.2
Non-glissement des contacts
Dans le § 2.4.1.2, la condition d’appartenance d’une force de contact au cône de frottement
linéarisé s’exprime comme une contrainte inégalité Eci fc (i) + dci ≥ 0. La généralisation de cette
contrainte au cas n-contacts s’exprime ainsi :
(3.7)
Ec fc + dc ≥ 0
3.2.3.3
Saturation des efforts de préhension
Dans le § 2.4.2, la saturation de la force et du moment de préhension Wp dans les trois
directions de l’espace revient à définir les contraintes inégalités suivantes :
(
Wp ≤ Wpmax
max
|Wp | ≤ Wp
donc
(3.8)
−Wp ≤ Wpmax
3.2.3.4
Synthèse
En regroupant en un système les contraintes inégalités portant sur la localisation du CdM
(équation 3.6), le non-glissement des contacts (équation 3.7) et la saturation de l’effort de préhension (équation 3.8), on obtient :
C Y + d1 ≥ 0 1 1
avec
3.2.4
0
+I3 0
 −I3 0
0


0
C1 =  0 Ec
 0
0 +I(6 np )
0
0 −I(6 np )







et
(3.9)

−xmin
cdm

 +xmax 

cdm 




d1 =  dc


max 
 +Wp 
+Wpmax
Optimisation
L’optimisation doit satisfaire trois critères :
– atteindre la position désirée du CdM exprimé dans le repère scène ;
– atteindre les efforts de contact désirés ;
– atteindre les efforts de préhension désirés.
3.2.4.1
Centre de Masse désiré
Dans la formulation du problème, la position du CdM doit être optimisée : xdes
cdm/scène . À ce
critère est associée une matrice de pondération qui s’écrit Qcdm = pcdm I3 avec pcdm un scalaire.
En mettant un poids faible à ce critère par rapport aux autres critères, le problème se réduit à
un système ayant en entrée des forces de contact désirées, et en sortie, une position de CdM de
consigne.
3.2.4.2
Forces de contact désirées
La répartition des forces de contact désirée intervient dans le vecteur fcdes . Pour une posture érigée, le poids de l’hv est distribué entre ses pieds gauche et droit. De même, si l’hv
s’appuie sur un mur, les forces de contact de la main sont spécifiées dans ce vecteur fcdes . La
34
3.2. CENTRE DE MASSE DE CONSIGNE NON ROBUSTE
matrice Qfc pondère les forces de contact désirées entre elles et par rapport aux autres critères
de l’optimisation.
3.2.4.3
Efforts de préhension désirés
Les efforts de préhension désirés sont spécifiés dans le vecteur Wpdes . Dans certains cas, ces
efforts sont minimisés. Ainsi la position du CdM de consigne qui minimise les efforts de préhension
est déterminée. La matrice QWp pondère les efforts de préhension par rapport aux différents
critères.
3.2.4.4
Synthèse
L’optimisation quadratique des critères évoqués s’exprime ainsi :
arg min
Y1
1
kY1 − Y1des k2Q1
2
avec Y1des
3.2.5
1 t
1
t
= arg min
Y1 Q1 Y1 − Y1t Q1 Y1des + Y1des Q1 Y1des
2
2
Y1
1 t
t
= arg min
Y Q1 Y1 + Y1 r1
2 1
Y1


xdes
Qcdm 0
cdm/scène
des



0
Qfc
et Q1 =
=
fc
0
0
Wpdes

(3.10)

0
0  et r1 = −Q1 Y1des
QWp
Exemple
xconsigne
cdm/scène
xdes
cdm/scène
fc (1) ≃ fcdes (1)
fc (3) ≃ fcdes (3)
fc (2) ≃ fcdes (2)
xc (3)
xc (2)
xc (1)
Figure 3.2 – Exemple de calcul de la position du CdM de consigne. L’axe z est vertical.
Afin d’illustrer la formulation précédente, on étudie l’exemple d’un système à trois contacts
coplanaires. La position du CdM désirée est indiquée sur la figure 3.2. La répartition des efforts
35
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE
de contact désirés est la suivante :
2 et 3.
fcdes
1
2
du poids du système sur le contact 1, et

fcdes (1)
=  fcdes (2) 
fcdes (3)



fcdes (1) = 0 0


fcdes (2) = 0 0


 des
fc (3) = 0 0
avec
mg
2
mg
4
mg
4
1
4
sur les contacts
t
t
(3.11)
t
Il n’y a pas de torseur d’effort résultant d’un actionnement de préhension dans cet exemple.
Ainsi, la matrice de pondération est constituée d’une pondération du CdM et d’une pondération
des forces de contact :
Q1 =
Qcdm 0
0
Qfc
avec
Qcdm = 1 I3
et
Qfc = 1000 I9
(3.12)
Dans cette partie, le CdM de consigne calculé est stable et admissible mais non optimisé
pour être robuste à des perturbations extérieures. En partant de cette formulation, les marges
de stabilité sont introduites dans la section suivante.
3.3
3.3.1
Commande de posture robuste
Présentation générale
À partir de la formulation du problème précédemment énoncé (§ 3.2), un critère de stabilité
et des efforts de précontraintes sont calculés. Les marges de stabilité sont introduites comme un
effort de perturbation ∆Wpert. qui est appliqué au CdM. Cet effort peut être décomposé en une
amplitude λ et une direction normalisée ∆wpert. : ∆Wpert. = λ ∆wpert. . Pour une direction de
perturbation ∆wpert. choisie, on détermine :
– un critère de stabilité : dans le § 3.3.4, l’effort de perturbation admissible maximal est
calculé. Il s’agit de l’amplitude maximale de perturbation λmax pour ∆wpert. donnée, qui
peut être compensé par une variation d’efforts de contact et de préhension. Ce problème
est mis sous la forme d’une optimisation LP ;
– les efforts de précontraintes : dans le § 3.3.5, pour une perturbation admissible inférieure à λmax , la localisation du CdM, les efforts de contact et de préhension de précontrainte sont déterminés. Le problème est mis sous la forme d’une optimisation QP.
A. Rennuit [Ren06] a précédemment étudié en partie cette problématique.
3.3.2
Introduction d’une marge de stabilité dans l’équation de la statique
L’équation 3.2 de la statique peut s’écrire :
Excdm xconsigne
cdm/scène + Efc fc + EWp Wp + P = 0
(3.13)
Une perturbation ∆Wpert. introduite dans l’équation 3.13 entraîne une variation d’efforts de
contact et de préhension respectivement notée ∆fc et ∆Wp . Seules les perturbations compensées
par un ensemble réalisable d’efforts de contact et de préhension sans que le CdM se déplace
(∆xconsigne
cdm/scène = 0) sont considérées.
E1 ∆Y1 + ∆Wpert. = 0
(3.14)
t
avec E1 = Efc EWp et ∆Y1 = ∆fc t ∆Wp t . Pour les problématiques de l’hv, ce
système (équation 3.14) est généralement sous-contraint donc il y a une infinité de solution ∆Y1 .
36
3.3. COMMANDE DE POSTURE ROBUSTE
On choisit la solution du problème d’optimisation suivant :
1
arg min k∆Y1 k2S1
2
∆Y1
tel que
E1 ∆Y1 + ∆Wpert. = 0
∆Y1 minimise une énergie potentielle. S1 est une matrice symétrique définie positive telle que
S1−1 est homogène à une raideur. Elle peut être construite en utilisant une priorité entre les
différentes forces musculaires d’effecteur. Le détail de la construction de cette matrice est laissé
en perspective. On résoud analytiquement ce problème en annulant le lagrangien.
∆Y1 = −E1∗ ∆Wpert.
E1∗ = S1−1 E1t E1 S1−1 E1t
avec
−1
(3.15)
avec E1∗ une inverse généralisée de E1 . On définit aussi Ef∗c les premières 3 nc lignes de E1∗ et
∗ les dernières 6 n lignes de E ∗ . L’équation 3.15 s’écrit alors :
EW
p
1
p
(
∆fc = −Ef∗c ∆Wpert.
(3.16)
∗
∆Wp = −EW
∆Wpert.
p
∗ ne sont pas les pseudo-inverses respectives de E
Note 3. Attention, Ef∗c et EW
fc et EWp .
p
3.3.3
Introduction de marges de stabilité dans les contraintes inégalités
Comme précédemment évoqué, l’introduction d’une perturbation ∆Wpert. dans l’équation de
la statique entraîne une variation d’efforts de contact et de préhension respectivement notée ∆fc
et ∆Wp . Les contraintes inégalités doivent être respectées. Les forces de contact fc + ∆fc sont
adhérentes et les efforts de préhension Wp + ∆Wp sont bornés. En utilisant les changements de
variable (3.16), les équations 3.7 et 3.8 s’écrivent dorénavant :

∗
E
f
−
E
∆W
+ dc ≥ 0

c
c
pert.
f
c

 
∗
+ W p − EW
∆Wpert. + Wpmax ≥ 0
(3.17)
p



 − Wp − E ∗ ∆Wpert. + W max ≥ 0
Wp
p
Une originalité de cette approche est de considérer simultanément plusieurs perturbations :
∆wpert. peut être un vecteur comme dans le § 3.3.1, mais aussi une matrice composée de plusieurs
directions de perturbation, formant un polytope de perturbation dans l’espace des torseurs d’effort. On peut choisir la forme de la perturbation, explorer certaines directions plutôt que d’autres,
ou toutes les directions équitablement (∆wpert. = I6 ). Pour les contraintes inégalités, les perturbations les plus contraignantes, ligne par ligne, sont retenues. Le système 3.17 se réécrit :
#

Ec fc + dc − max Ec Ef∗c ∆Wpert. , ~0 ≥ 0
∗
~
+ Wp + Wpmax − max EW
∆W
,
0
≥0
pert.
p




 − Wp + W max + min E ∗ ∆Wpert. , ~0 ≥ 0
p
Wp





3.3.4
"
(3.18)
!
Amplitude de perturbation maximale : formulation LP
L’amplitude maximale de perturbation admissible est calculée en résolvant un problème d’optimisation sous contrainte de type LP.
37
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE
Les inconnues du système sont :
– λ : amplitude de perturbation ;
– xconsigne
cdm/scène : position du CdM de consigne
exprimé dans le repère scène ;
– fc : forces de contact ;
– Wp : forces et couples de préhension.
On les regroupe sous la forme d’un
vecteur :
λ


 xconsigne 
cdm/scène 
Y2 = 


f
(3.19)
c
Wp
L’équation de la statique exprimée en fonction des inconnues du problème Y2 constitue la
contrainte égalité du système :
A Y + b2 = 0 2 2
(
avec
A2 =
0 Excdm
Ef c
EWp
b2 = P
(3.20)
Aux contraintes inégalités énoncées (équation 3.18), on ajoute la contrainte sur la zone d’appartenance du CdM. L’ensemble des contraintes inégalité s’écrivent :
C Y + d2 ≥ 0 2 2
(3.21)


0
0
+ I3 0





0
0


− I3 0




∗
~

0
Ec
0
 − max Ec Efc ∆wpert. , 0



 C2 = 

∗ ∆w
0
0
0 + I6 np
 − max EW
pert. , ~
p



∗ ∆w

+ min EW
0
0
0 − I6 np

pert. , ~
p






h
i


 d = −xmin t xmax t d t W max t W max t t
2
c
p
p
cdm
cdm
avec









L’objectif est de calculer l’amplitude de perturbation λ maximale à l’aide de l’optimisation
suivante :
arg max (F2 Y2 )
Y2
avec
F2 =
1 03+3 nc +6 np
(3.22)
Les équations (3.20), (3.21) et (3.22) constituent un problème de programmation linéaire.
La solution λmax de ce problème est l’amplitude maximale admissible de perturbation pour
l’ensemble de directions de perturbation choisies ∆wpert. .
3.3.5
Équilibre à volume de perturbation donné : formulation QP
Dans ce paragraphe, l’amplitude de perturbation est connue et notée λ′ ∈ [ 0 , λmax ]. L’objectif est de calculer la position du CdM robuste à l’ensemble de perturbation ∆wpert. et les
efforts d’interaction de précontrainte qui permettront à l’hv de se “cramponner” à l’environnement.
38
3.3. COMMANDE DE POSTURE ROBUSTE
Les inconnues du système sont :
– xconsigne
cdm/scène : position du CdM de consigne
exprimé dans le repère scène ;
– fc : forces de contact ;
– Wp : forces et couples de préhension.
A Y + b3 = 0 3 3
C Y + d3 ≥ 0 3 3
On les regroupe sous la forme d’un
vecteur :


xconsigne
 cdm/scène 
Y3 = 
(3.23)

fc
Wp
(
avec
Excdm
Efc
EW p
b3 = P


+ I3 0
0

 − I3 0
0



Ec
0
C3 = 

 0
 0
0 + I6 np 
0
0 − I6 np

avec
− xmin
cdm
 + xmax
cdm


− max Ec Ef∗c ∆wpert. , ~0 λ′
 + dc
d3 = 

∗ ∆w
~0 λ′
,
 + Wpmax − max EW
pert.
p

∗
max
+ min EWp ∆wpert. , ~0 λ′
+ Wp

et
A3 =
(3.24)
(3.25)








Le problème énoncé est sous-contraint sauf si λ′ = λmax . Il y a beaucoup de solutions qui
respectent ces contraintes. Ainsi, comme dans le § 3.2.4, les inconnues du système sont optimisées.
La solution désirée est notée Y3des et la matrice Q3 est la pondération du système.
arg min 12 kY3 − Y3des k2Q3
Y3
avec

 Q3 = diag(Qxcdm , Qfc , QWp )
h
it
 Y3des = xdes t f des t W des t
c
p
cdm
(3.26)
Le problème de programmation quadratique à résoudre est donc constitué des équations
(3.24), (3.25) et (3.26).
3.3.6
Exemples
Un cas d’étude illustre l’influence de différents paramètres du calcul de stabilité (figure 3.3).
Il s’agit d’une configuration de contact simple : deux contacts ponctuels sur le sol et un contact
ponctuel sur le mur. Sur chaque figure, la position du CdM et les forces de contact déterminées
sans marge de stabilité sont indiquées en transparence. Le poids du système est réparti de manière homogène entre les deux contacts du sol. Le CdM se situe au milieu de ces deux contacts.
À perturbations nulles, une force nulle est trouvée pour le contact sur le mur.
Afin de considérer les marges de stabilité, on introduit deux formes de perturbation : à distribution isotropique et unilatérale. Tout d’abord, en réduisant le coefficient de frottement µ,
l’amplitude de perturbation maximale diminue (figure 3.3(d)). De plus, lorsque l’effort de perturbation admissible introduit baisse (figure 3.3(e)), on obtient une position de CdM et des forces
de contact plus réalisables. Par exemple, la force de contact appliquée sur le mur diminue et le
CdM se rapproche de celui calculé sans prise en compte de la robustesse.
39
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE
(a) λ′ = λmax sans
la contrainte xmin
≤
cdm
xcdm ≤ xmax
cdm
(b) λ′ = λmax
(c) λ′ = λmax
(d) λ′ = λmax avec un
plus petit µ
(e) λ′ =
λmax
2
(f) λ′ = λmax
Figure 3.3 – Influences des différents paramètres dans le calcul de la marge de stabilité.
(a) La posture de l’hv
n’est pas robuste.
(b) La posture de l’hv
est robuste.
Figure 3.4 – En atteignant une posture robuste, l’hv se cramponne sur ses prises. Il adopte une
configuration répondant le mieux à toutes les directions de perturbation.
40
3.4. PRISE EN COMPTE DE LA POSTURE DE L’HV
Enfin, le système résiste à des efforts de perturbation plus importants sans la contrainte de
localisation du CdM (figure 3.3(a)). C’est une posture plus robuste. Mais la position du CdM
solution est très éloignée de la position obtenue sans prendre en compte les marges de stabilité,
ce qui pose des problèmes d’atteinte de la consigne. En effet, les limites articulaires de l’hv ainsi
que la configuration des contacts et prises restreignent les mouvements. Il est difficile à priori de
savoir si l’hv peut atteindre une position de CdM. Il est préférable de restreindre au préalable
la localisation du CdM à une zone plausible.
Jusqu’à présent, le CdM est une inconnue du problème. On calcule la position du CdM
la plus robuste à des perturbations. Néanmoins, ces calculs ne permettent pas de prendre en
compte les limitations d’actionnement de l’hv. Par exemple, les efforts de précontraintes ne sont
pas forcément applicable par l’hv. Afin de considérer la saturation des couples d’actionnement,
la posture de l’hv est prise en compte et fixe afin de formuler un problème linéaire.
3.4
3.4.1
Prise en compte de la posture de l’hv
Introduction de marges de stabilité dans l’équation de la statique
Pour la position courante de l’hv, l’amplitude de la perturbation admissible est calculée en
prenant en compte les contraintes sur les couples d’actionnement. Le CdM est connu et fixe ainsi
que toute la configuration de l’hv. En statique, l’équation de la dynamique se réduit à :
L τ + Cct fc + Cpt Wp + M̃ G = 0
(3.27)
Une perturbation ∆Wpert. introduite dans l’équation 3.27 entraîne une variation des couples
articulaires, d’efforts de contact et de préhension respectivement notée ∆τ , ∆fc et ∆Wp . On
considère le système rigide : il n’y a pas de variation de configuration mais uniquement d’efforts.
E2 ∆Y2 + ∆Wpert. = 0
(3.28)
t
avec E2 = L Cct Cpt et ∆Y2 = ∆τ t ∆fc t ∆Wp t . Comme dans le § 3.3.2, ce système
(équation 3.28) est généralement sous-contraint donc il y a une infinité de solutions ∆Y2 . On
choisit la solution suivante :
∆Y2 = −E2∗ ∆Wpert.
E2∗ = S2−1 E2t E2 S2−1 E2t
avec
−1
(3.29)
avec E2∗ une inverse généralisée de E2 . On définit aussi Eτ∗ les nddl premières lignes de E2∗ , Ef∗c les
∗ les 6 n dernières lignes de E ∗ . L’équation 3.29 s’écrit alors :
3 nc lignes suivantes de E2∗ et EW
p
2
p

∗

 ∆τ = −Eτ ∆Wpert.
∆fc = −Ef∗c ∆Wpert.


∗
∆Wp = −EW
∆Wpert.
p
(3.30)
∗ ne sont pas les pseudo-inverses de E , E
Note 4. Attention, Eτ∗ , Ef∗c et EW
τ
fc et EWp respectip
vement.
L’effort de perturbation s’applique sur le CdM de l’hv et s’exprime ainsi :
∆Wpert. = M̃
41
λ ∆wpert.
0nddl
(3.31)
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE
3.4.2
Introduction de marges de stabilité dans les contraintes inégalités
Comme dans le § 3.3.3, les contraintes inégalités doivent être respectées. Jusqu’à présent,
il n’était pas possible de prendre en compte les limitations d’actionnement car la position du
CdM faisait partie des inconnues du système. Le problème aurait été fortement non linéaire.
Dans cette partie, la configuration de l’hv est figée et connue. Les limitations d’actionnement
sont introduites sous la forme de contraintes inégalités. Les couples d’actionnement τ + ∆τ
sont bornés. De plus, les forces de contact fc + ∆fc sont adhérentes et les efforts de préhension
Wp + ∆Wp sont bornés. En utilisant les changements de variable (équation 3.30), les contraintes
inégalités s’écrivent :
+ (τ − Eτ∗ ∆Wpert. ) − τ min ≥ 0










− (τ − Eτ∗ ∆Wpert. ) + τ max
Ec fc − Ef∗c ∆Wpert. + dc

∗


+
W
−
E
∆W
+ Wpmax
p
pert.
W

p




max
 − W − E ∗ ∆W
p
pert. + Wp
Wp
≥0
≥0
(3.32)
≥0
≥0
On considère simultanément plusieurs directions de perturbations (∆wpert. ). Les contraintes
inégalités sont réexprimées, en retenant ligne par ligne les perturbations les plus contraignantes.
Le système 3.32 se réécrit :
$
~
+ τ −τ
− max
∆Wpert. , 0 ≥ 0
− τ + τ max + min Eτ∗ ∆Wpert. , ~0 ≥ 0
Ec fc + dc − max Ec Ef∗c ∆Wpert. , ~0 ≥ 0




max
∗

~

∆W
,
0
≥0
+
W
+
W
−
max
E
p
pert.
p
Wp





 − W + W max + min E ∗ ∆W
0 ≥0
p
pert. , ~
p
Wp
'

min












3.4.3
Eτ∗
&
(3.33)
%
Amplitude de perturbation maximale : formulation LP
L’amplitude maximale de perturbation admissible est calculée en résolvant un problème d’optimisation sous contrainte de type LP.
On les regroupe sous la forme d’un vecteur :


λ
 τ 

(3.34)
Y4 = 
 fc 
Wp
Les inconnues du système sont :
– λ : amplitude de perturbation ;
– τ : couple articulaire d’actionnement ;
– fc : forces de contact ;
– Wp : forces et couples de préhension.
L’équation de la statique exprimée en fonction des inconnues du problème Y4 constitue la
contrainte égalité du système :
A Y + b4 = 0 4 4
(
avec
42
A4 =
0 L Cct Cpt
b4 = M̃ G
(3.35)
3.4. PRISE EN COMPTE DE LA POSTURE DE L’HV
De même, l’équation 3.33 est exprimée en fonction de Y4 et constitue la contrainte inégalité
du système :
C Y + d4 ≥ 0 4 4
(3.36)


∗ ∆w
~

,
0
+ Inddl 0
0
−
max
E
pert.



τ





− Inddl 0
0
 + min Eτ∗ ∆wpert. , ~0








− max Ec Ef∗c ∆wpert. , ~0
0
Ec
0
 C4 = 


∗ ∆w
0 + I6 np
0
0
 − max EW
pert. , ~

p





∗ ∆w

+ min EW
0 − I6 np
0
0
pert. , ~

p






t

d4 = τ maxt τ maxt dc t Wpmax t Wpmax t
avec











L’objectif est de calculer l’amplitude de perturbation λ maximale à l’aide de l’optimisation
suivante :
arg max (F4 Y4 )
Y4
avec
F4 =
1 0nddl +3 nc +6 np
(3.37)
Les équations (3.35), (3.36) et (3.37) constituent un problème de programmation linéaire.
La solution λmax de ce problème est l’amplitude maximale admissible de perturbation pour
l’ensemble de directions de perturbation choisies ∆wpert. .
3.4.4
Efforts de contact et efforts internes pour des perturbations admissibles : formulation QP
Dans ce paragraphe, l’amplitude de perturbation est connue et notée λ′ ∈ [ 0 , λmax ]. L’objectif est de calculer les efforts de contact et les efforts internes qui permettront à l’hv de se
précontraindre sur l’environnement.
Les inconnues du système sont :
– τ : couple articulaire d’actionnement ;
– fc : forces de contact ;
– Wp : forces et couples de préhension.
A Y + b5 = 0 5 5
C Y + d5 ≥ 0 5 5
On les regroupe sous la forme d’un
vecteur :


τ
Y5 =  fc 
(3.38)
Wp
(
avec
avec
A5 =

L Cct Cpt
b5 = M̃ G
+ Inddl
 − Inddl

0
C5 = 


0
0
43
0
0
0
0
0
Ec
0 + I6 np
0 − I6 np
(3.39)






(3.40)
CHAPITRE 3. DÉFINIR ET QUANTIFIER L’ÉQUILIBRE

et
+ τ max


 + τ max


d5 =  + dc


 + Wpmax

+ Wpmax
− max Eτ∗ ∆wpert. , ~0 λ′
+ min Eτ∗ ∆wpert. , ~0 λ′
∗
~
− max Ec Efc ∆wpert. , 0 λ′
∗ ∆w
~
− max EW
,
0
λ′
pert.
p
∗ ∆w
+ min EW
0 λ′
pert. , ~
p











Le problème énoncé est sous-contraint sauf si λ′ = λmax . Il y a beaucoup de solutions qui
respectent ces contraintes. Ainsi, comme dans le § 3.2.4, les inconnues du système sont optimisées.
La solution désirée est notée Y5des et la matrice Q5 est la pondération du système.
arg min 12 kY5 − Y5des k2Q5
Y5

 Q5 = diag(Qτ , Qfc , QWp )
it
h
 Y5des = τ des t f des t W des t
c
p
avec
(3.41)
Le problème à résoudre est donc constitué des équations (3.39), (3.40) et (3.41). C’est un
problème de programmation quadratique.
3.5
Conclusion et perspectives
Section / Sous-Section
Possibilités offertes par les
différentes formulations
3.2
3.3.4
3.3.5
3.4.3
Type d’optimisation
QP
LP
QP
LP
3.4.4
QP
hv réduit à
CdM
CdM
CdM
Posture connue
non
non c
non d
oui
oui
e
non
oui
non
non
Posture
a
Posture b
Permet de calculer xconsigne
cdm
Prise en compte de τ max
oui
non
non
non
oui
oui
Calculer λmax f
non
oui
non
oui
non
Table 3.1 – Bilan du chapitre “Définir et quantifier l’équilibre”.
a.
b.
c.
d.
e.
f.
La posture est imposée.
La posture est imposée.
Le CdM peut être imposé mais on préférera le calcul du § 3.4.3.
Le CdM peut être imposé mais on préférera le calcul du § 3.4.4.
Ne prend pas en compte le calcul des marges de stabilité ce qui est fait au § 3.3.5
Attention : les λmax ne sont pas comparables entre eux.
Dans ce chapitre, des méthodes sont proposées pour déterminer de manière automatique la
position du CdM de consigne, et évaluer la stabilité d’une posture pour n-contacts et prises
non coplanaires. Le tableau 3.1 synthétise l’ensemble des formulations. On dresse maintenant les
avantages et limites de cette approche.
Il faut choisir pour une résolution simple entre :
– posture fixe et traitement des limites de couples d’actionnement ;
– position variable du CdM et pas de traitement des limites des couples d’actionnement.
44
3.5. CONCLUSION ET PERSPECTIVES
Avantages de cette approche :
– détermine automatiquement un CdM
robuste à partir de n’importe quelle
configuration de contact et de prise
(non coplanaire) ;
– fournir un critère de stabilité. Lorsque
l’équilibre devient précaire, il faut
changer la configuration des contacts :
stratégies de reprise d’équilibre complexes.
Limites de cette approche :
– considère l’humain virtuel comme
un système rigide, ce qui n’est pas
le cas ;
– le CdM calculé n’est pas forcément
atteignable ;
– compromis entre CdM de consigne
et efforts de contact désirés.
Dans ce chapitre, les efforts de perturbations sont compensés par une variation admissible des
efforts d’interaction, et non par un déplacement du CdM. Considérer le système comme infiniment
rigide est une hypothèse très restrictive. La détermination de la raideur articulaire, à partir d’une
raideur sur le déplacement du CdM et d’une posture connues, est laissée en perspective. Ce calcul
pourra être effectué dans l’hypothèse d’un petit déplacement autour de la position d’équilibre.
45
CHAPITRE
4
Assurer l’équilibre
objectif de ce chapitre est de développer un modèle de mannequin actif autonome qui per-
L’ met de simuler la gestion de l’équilibre. Perturbé, l’ hv cherche à atteindre une position
d’équilibre supposée connue dans ce chapitre (calculée dans le chapitre 3 automatiquement).
On présente ici une méthode pour déterminer la commande en couples. Lors d’une reprise
d’équilibre, un certain nombre de règles et d’actions, de priorités variables, sont à effectuer. La
commande fait des choix quant à ces priorités. Un cadre unifié où toutes les contraintes et objectifs sont traités simultanément est proposé.
La mise en œuvre pratique de l’algorithme et le choix des heuristiques sont détaillés. Puis, on
justifie la formulation du problème employée.
Enfin, les premiers résultats de simulations sont présentés. Tout d’abord, on introduit une
interaction (contact ou prise) de l’ hv avec l’environnement au cours de la simulation dans la
loi de commande. Ainsi, les comportements de l’ hv sont considérablement enrichis. Ensuite,
perturbé, l’ hv peut adopter un réflexe “simple”. Les perturbations importantes nécessitent la mise
en œuvre de réflexes “évolués” tels que faire un pas de côté ou mettre les mains en avant pour se
retenir sur un mur ou des prises.
47
CHAPITRE 4. ASSURER L’ÉQUILIBRE
Sommaire
4.1
4.2
4.3
4.4
4.5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Contribution et positionnement . . . . . . . . . . . . . . . . . . . . . . .
4.1.3 Hypothèses de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L’algorithme de commande . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Présentation du problème . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Contraintes égalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2.1 Dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2.2 Accélérations des contacts . . . . . . . . . . . . . . . . . . . . .
4.2.2.3 Accélération de préhension . . . . . . . . . . . . . . . . . . . .
4.2.2.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 Contraintes inégalités . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3.1 Saturation des couples articulaires . . . . . . . . . . . . . . . .
4.2.3.2 Gestion des butées articulaires . . . . . . . . . . . . . . . . . .
4.2.3.3 Non-glissement des contacts . . . . . . . . . . . . . . . . . . .
4.2.3.4 Saturation des efforts de préhension . . . . . . . . . . . . . . .
4.2.3.5 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4 Critères à optimiser . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4.1 Centre de Masse désiré . . . . . . . . . . . . . . . . . . . . . .
4.2.4.2 Posture désirée . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mise en œuvre algorithmique . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Accélération des contacts . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Critère à optimiser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.3 Réglage des priorités . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.4 Réglage des gains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Justifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Unicité de l’accélération en coordonnées généralisées de l’hv . . . . . . .
4.4.2 Contraintes de complémentarité . . . . . . . . . . . . . . . . . . . . . . .
4.4.3 Influences du nombre de ddl . . . . . . . . . . . . . . . . . . . . . . . . .
Résultats et discussions . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Introduction de nouvelles interactions dans le calcul de la commande . .
4.5.1.1 Appuyer sur le mur . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1.2 Poser le second pied . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1.3 Se lever . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 Réflexe “simple” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2.1 Perturbation sans préhension . . . . . . . . . . . . . . . . . . .
4.5.2.2 Perturbation avec préhension . . . . . . . . . . . . . . . . . . .
4.5.3 Réflexe “évolué” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.3.2 Appuyer avec les mains sur l’environnement . . . . . . . . . .
4.5.3.3 Saisir une prise . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.3.4 Faire un pas de côté . . . . . . . . . . . . . . . . . . . . . . . .
4.5.4 Choix du réflexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
49
49
49
49
50
50
51
51
52
52
54
54
54
55
56
56
57
57
58
59
61
61
61
62
62
63
64
64
65
65
66
66
66
66
68
68
68
70
70
70
71
72
73
74
4.1. INTRODUCTION
4.1
4.1.1
Introduction
État de l’art
La commande dynamique permettant d’assurer l’équilibre est souvent dédiée à la problématique de la marche. Une partie de la communauté “Animation assistée par ordinateur” introduit
de plus en plus de physique dans ses modèles comme C.K. Liu et al. [LP02] [LHP05], K. Yin
et al. [YLvdP07] [YCBvdP08]. V.B. Zordan et al. [ZMCF05] s’intéressent à modifier des comportements de capture de mouvements pré-enregistrés pour traiter des situations nouvelles et
imprévues comme une perturbation.
A. Goswami (Honda Research Institute) et al. [PCDG06] [RCPG07] s’intéressent à la reprise
d’équilibre d’un robot bipède suite à une perturbation. Cette approche permet de spécifier la position du pied permettant au robot de retrouver l’équilibre. Les auteurs proposent une méthode
pour apprendre le point de capture ("Capture point"). Ils utilisent un modèle de pendule inverse
avec roue libre afin de prendre en compte le moment angulaire. H. Diedam et al. [DDW+ 08]
adaptent le positionnement des pieds lors de la marche à l’aide d’une prédiction sur le zmp.
P.B. Wieber [Wie00] (inria) propose une formulation d’optimisation intéressante pour le
problème de la marche d’un robot. Les forces de contact sont prises en compte dans la loi de
commande. On a repris cette formulation générale pour nos développements, avec quelques différences. De même, les travaux de Y. Abe et al. [ASP07] se rapprochent des nôtres. Ils proposent
une commande interactive multi-objectifs avec des contacts frottants mais ne considèrent pas la
préhension ni l’équilibre robuste.
4.1.2
Contribution et positionnement
On propose ici un cadre unifié où toutes les contraintes sont traitées simultanément : forces
unilatérales de contact avec frottement, efforts bilatéraux de préhension et couples de commande.
Les limitations d’actionnement sont prises en compte. On gère également les butées articulaires.
La réaction de l’hv à une perturbation peut être “simple”. L’hv retouve l’équilibre en conservant ses interactions avec l’environnement. En utilisant les marges de stabilité pour la prise de
décision, on réalise des réflexes “évolués” en changent les interactions de l’hv avec l’environnement. L’hv peut faire un pas de côté, s’aider d’une prise ou s’appuyer sur un mur pour retrouver
son équilibre.
Une gestion de la redondance articulaire simple et efficace permet à l’hv d’adapter sa posture automatiquement lorsque ses interactions évoluent. Un grand nombre de situations et de
comportements sont traités en utilisant un même jeu de paramètres.
On formalise un problème d’optimisation sous contraintes, avec une approche inspirée de
P.B. Wieber [Wie00] et Y. Abe et al. [ASP07].
4.1.3
Hypothèses de travail
Par rapport à la technique de “computed torque” (J.Y.S. Luh et al. [LWP80], R.J. Anderson [And89]), on prend en compte des contraintes inégalités, comme par exemple la saturation
des couples. Les méthodes de commande par inversion de modèle sont inadaptées. La prise en
compte du modèle de contact dans la commande nécessite de résoudre des contraintes égalités,
inégalités et de complémentarité. C’est un problème d’optimisation complexe qui pourrait être
49
CHAPITRE 4. ASSURER L’ÉQUILIBRE
résolu par une méthode de Programmation Quadratique Séquentielle (SQP). Pour pallier à cette
difficulté, on se contente de formuler un problème QP (§ 4.4.2).
Bien que la résolution du problème détermine les efforts de contact, les accélérations et les
couples internes, c’est bien uniquement ces derniers qui nous intéressent pour la commande de
l’hv.
4.2
4.2.1
L’algorithme de commande
Présentation du problème
La commande calcule des couples à appliquer à toutes les articulations de l’hv. Afin que l’hv
saisisse des prises ou des objets avec ses mains, un torseur d’effort résultant d’un actionnement
de préhension est ajouté aux inconnues du système précédemment énoncé.
Les inconnues du système sont donc :
– τ : couples articulaires ;
– Ṫ : accélérations articulaires ;
– fc : forces de contact ;
– Wp : efforts de préhension.
Elles sont regroupés sous la forme
d’un vecteur :


τ
 Ṫ 

(4.1)
Y =
 fc 
Wp
Dans la suite de cette section 4.2, on formalise et complète les hypothèses de travail précédemment énoncé :
Non-glissement des contacts : il intervient sur deux inconnues du problème : l’accélération des contacts, qui s’exprime en fonction de l’accélération articulaire à l’aide d’une jacobienne,
et les forces de contact. Ces dernières doivent être dans le cône de frottement. C’est la deuxième
condition qui garantit le non-glissement. Cette contrainte est non-linéaire. Or, on veut se ramener à un problème linéaire plus facile à résoudre. Pour cela, le cône de frottement est discrétisé
(§ 2.4.1.2).
Couples articulaires limités : les efforts exercés par l’homme sur l’environnement sont
limités par sa force musculaire. La limitation musculaire est représentée dans la commande par
une saturation des couples d’actionnement.
Efforts de préhension limités : lorsqu’il saisit une prise, l’homme applique un effort pour
s’aider à garder son équilibre, comme par exemple dans un bus. Dans la commande, afin de
calculer correctement cet effort, l’accélération entre la main et la prise doit être nulle. Tant que
la prise est saisie, les deux corps évoluent ensemble. Contrairement aux forces de frottements, les
efforts de préhension sont bornés.
Il reste à définir le moyen de retrouver une position d’équilibre.
Accélération du CdM : en atteignant un CdM stable par rapport à la configuration de
ses contacts et des prises saisies, l’hv trouve une position d’équilibre. Dans un système d’ordre
2, c’est l’accélération du CdM qu’il faut commander. Avec un correcteur proportionnel-dérivé, la
position et la vitesse du CdM sont commandées par l’intermédiaire d’une accélération, s’asservissant sur des entrées de consigne.
50
4.2. L’ALGORITHME DE COMMANDE
Tous ces choix sont formalisés sous la forme de contraintes égalités, inégalités et d’un critère
à optimiser. Un schéma de synthèse est présenté figure 4.1.
Figure 4.1 – Entrées et sorties de la commande d’hv autonome.
4.2.2
Contraintes égalités
Les contraintes égalités comprennent :
– l’équation de la dynamique ;
– l’accélération des contacts ;
– l’accélération de préhension.
On les détaille dans la suite de cette section.
4.2.2.1
Dynamique
L’équation de la dynamique de l’hv s’exprime ainsi :
L τ − M̃ Ṫ + Cct fc + Cpt Wp − N T + M̃ G = 0
(4.2)
avec :
– Cct : matrice exprimant les forces de contact en coordonnées généralisées ;
– Cpt : matrice exprimant les forces de préhension en coordonnées généralisées.
Les efforts extérieurs appliqués à l’hv (C t W ) se décomposent dans la loi de commande en
force de contact et effort de préhension : Cct fc + Cpt Wp . Les matrices C, M̃ et N sont des données
connues du problème, tenues à jour par le simulateur utilisé. Ainsi, les matrices Cc et Cp sont
déterminées à partir de la jacobienne C. Les matrices L et G sont connues et constantes.
L’équation de la dynamique (équation 4.2) s’exprime facilement en fonction de l’inconnue Y :
L −M̃
Cct Cpt
Y + M̃ G − N T = 0
51
(4.3)
CHAPITRE 4. ASSURER L’ÉQUILIBRE
4.2.2.2
Accélérations des contacts
Dans cette partie, l’objectif est d’exprimer les conditions portant sur l’accélération des points
de contact en fonction des inconnues du problème. On introduit les notations suivantes :
 consigne





ac/contact (1)
ac/contact (1)
vc/contact (1)






..
..
..
consigne

=
(4.4)
vc = 
 ac
 ac = 
.
.
.


consigne
ac/contact (nc )
vc/contact (nc )
ac/contact (nc )
avec :
• nc : nombre de contacts dont l’accélération est prise en compte ;
• vc/contact (i) : vitesse absolue du contact i exprimé dans le repère contact (dim vc/bd (i) =
3) ;
• ac/contact (i) : accélération absolue du contact i exprimé dans le repère contact ;
• aconsigne
c/contact (i) : accélération absolue de consigne du contact i exprimé dans le repère contact.
La contrainte portant sur l’accélération des points de contact est de la forme :
ac = aconsigne
c
avec
∀i ∈ [1, nc ] , aconsigne
c/contact (i) = 03,1
ac s’exprime en fonction des inconnues du système Y et plus particulièrement Ṫ :
(
vc = Cc T
ac = Cc Ṫ + Ċc T
(4.5)
(4.6)
La matrice Cc , introduite dans le § 4.2.2.1, permet d’exprimer la vitesse des points de contact
en fonction de T . Elle est construite à partir de la jacobienne C. La matrice Ċc est la dérivée de Cc .
Grâce aux équations 4.5 et 4.6, Ṫ s’exprime en fonction de l’accélération de contacts de
consigne :
Cc Ṫ = aconsigne
− Ċc T
c
Finalement, l’équation 4.7 s’écrit en fonction de l’inconnue Y :
0 Cc 0 0 Y + Ċc T − aconsigne
=0
c
4.2.2.3
(4.7)
(4.8)
Accélération de préhension
L’accélération de préhension permet de commander la main pour atteindre une prise, suivre
une trajectoire ou un objet. Le repère de préhension est le repère “corps” de la main. Dans le
cas de l’hv à 32 ddl, il s’agit du repère associé au CdM du corps. Alors que l’accélération des
points de contact est asservie uniquement en position, l’accélération de préhension est asservie
en position et orientation car il s’agit de corps. On introduit les notations suivantes :

 consigne




ap/bd (1)
vp/bd (1)
ap/bd (1)



 consigne 

..
..
..

(4.9)
=
vp = 
 ap = 
 ap
.
.
.


consigne
vp/bd (np )
ap/bd (np )
ap/bd (np )
52
4.2. L’ALGORITHME DE COMMANDE
avec :
• np : nombre d’effecteurs dédiés à la préhension dont l’accélération est prise en compte ;
• vp/bd (i) : vitesse absolue de préhension i exprimée dans le repère “corps” (dim vp/bd (i) =
6) ;
• ap/bd (i) : accélération absolue de préhension i exprimé dans le repère “corps” ;
(i) : accélération absolue de consigne de préhension i exprimé dans le repère “corps”.
• aconsigne
p/bd
La troisième contrainte porte sur l’accélération des corps de préhension. Elle est de la forme :
ap = aconsigne
p
(4.10)
ap s’exprime en fonction des inconnues du système Y et plus particulièrement Ṫ :
(
vp = Cp T
ap = Cp Ṫ + C˙p T
(4.11)
La matrice Cp , introduite dans le § 4.2.2.1, permet d’exprimer la vitesse des corps de préhension en fonction de T . Elle est construite à partir de la jacobienne C. La matrice Ċp est la
dérivée de Cp .
Grâce aux équations 4.10 et 4.11, Ṫ s’exprime en fonction de l’accélération de préhension de
consigne :
− C˙p T
(4.12)
Cp Ṫ = aconsigne
p
L’accélération des corps de préhension de consigne peut être un asservissement en position
et en vitesse vers une consigne (en translation et en rotation). La position de la main est définie
par le repère homogène Hp/bd et la position de consigne est définie par le repère homogène
consigne
consigne
Hp/bd
. L’écart en orientation entre le repère de consigne Rp/bd
et le repère courant Rp/bd
t
consigne
Rp/bd (annexe B). On introduit les
est mesuré par la partie antisymétrique de Rp/bd
notation suivantes :
∆Xp/bd =
consigne
rp/bd
− rp/bd
∆Rp/bd
consigne
Hp/bd
=
"
avec
h
1
∆Rp/bd =
2
consigne
consigne
Rp/bd
rp/bd
0
1
i
#
et
consigne
Rp/bd
t
Hp/bd =
Rp/bd − Rp/bd
t
Rp/bd rp/bd
0
1
consigne
Rp/bd
(4.13)
L’accélération de préhension de consigne s’écrit à l’aide d’un correcteur proportionnel-dérivé :
consigne
aconsigne
=
k
∆X
+
µ
V
−
V
(4.14)
p
p
p/bd
p/bd
p
p/bd
avec :
• aconsigne
: accélération absolue de consigne des corps de préhension dans leur repère propre ;
p
• (kp , µp ) : gains de l’asservissement : raideur et amortissement pour l’accélération des corps
de préhension ;
53
,
CHAPITRE 4. ASSURER L’ÉQUILIBRE
• Vp/bd : vitesse des corps de préhension dans le repère “corps” ;
consigne
• Vp/bd
: vitesse de consigne des corps de préhension dans le repère “corps”.
Finalement, l’équation 4.14 s’écrit en fonction de l’inconnue Y :
4.2.2.4
0 Cp 0 0
=0
Y + C˙p T − aconsigne
p
(4.15)
Synthèse
En regroupant en un système les contraintes égalités portant sur l’équation de la dynamique
(équation 4.3), l’accélération des contacts (équation 4.8) et l’accélération de préhension (équation
4.15), on obtient :
A Y + b = 0 avec
4.2.3

L −M̃

A = 0 Cc
0 Cp

Cct Cpt
0
0 
0
0
et
(4.16)

M̃ G − N T

b =  Ċc T − aconsigne
c
consigne
C˙p T − ap

Contraintes inégalités
Dans le problème, plusieurs contraintes inégalités sont prises en compte. Tout d’abord, les
couples de commande sont saturés pour représenter la limitation d’actionnement du robot.
De plus, une deuxième contrainte inégalité provient des butées articulaires. En effet, on ne
peut pas les ignorer pour le calcul des couples de commande, sous peine de trouver des couples
moteur susceptibles de violer ces limites. La gestion des butées articulaires porte sur les accélérations articulaires et est expliqué au § 4.2.3.2.
Pour garantir le non-glissement des contacts, il faut d’une part contraindre les efforts de
contact dans le cône de frottement. Afin de formaliser un QP, cette contrainte est exprimée de
manière linéaire, c’est pourquoi le cône de frottement est discrétisé.
L’hv peut appliquer des efforts de préhension lorsqu’il a au préalable saisi une prise ou un
objet. En théorie, l’actionnement articulaire, qui est saturé, limite indirectement les efforts applicables en bout de chaîne. Cependant, la saturation des couples est difficilement quantifiable
et volontairement surestimée. Afin de remédier à cette mauvaise connaissance des couples d’actionnement maximaux, on sature également les efforts de préhension.
En résumé, les contraintes inégalités comprennent :
– la saturation des couples articulaires ;
– la gestion des butées articulaires ;
– le non-glissement des contacts ;
– la saturation des efforts de préhension.
4.2.3.1
Saturation des couples articulaires
On exprime cette contrainte de la manière suivante :
54
4.2. L’ALGORITHME DE COMMANDE
τ min ≤ τ ≤ τ max
⇔
(
τ ≤ τ max
τ ≥ τ min
(4.17)
Cette contrainte sur les couples moteurs (équation 4.17) s’exprime facilement en fonction de
l’inconnue Y :
−Inddl 0 0 0
+τ max
Y +
≥0
(4.18)
+Inddl 0 0 0
−τ min
Note 5. Il est très difficile de trouver dans la littérature des données concernant les couples
maximaux pour chaque articulation de l’homme. De plus, ces couples dépendent de différents
paramètres, en particulier des angles articulaires.
4.2.3.2
Gestion des butées articulaires
(a) Posture initiale.
(b) Posture finale : la loi de
commande gère les butées articulaires. La main gauche atteint
la poignée en position et orientation.
(c) Posture finale : la commande ne gère pas les butées articulaires. La main gauche n’atteint pas complètement la poignet.
Figure 4.2 – Résultat de simulation. À partir d’une posture initiale, l’hv a pour consigne de
saisir une prise avec sa main gauche. La gestion des butées articulaires permet à l’hv d’atteindre
en position et orientation la cible.
Une méthode simple permettant de prendre en compte les butées articulaires dans la commande est présentée (figure 4.2). À chaque instant, l’inégalité suivante doit être respectée :
∀i ∈ [0, nddl ] , qi ∈ qimin , qimax
(4.19)
Cette inégalité porte sur l’angle du ddl qi mais elle entraîne une inégalité sur l’accélération
articulaire du ddl concerné, q̈i . En effet, qi s’obtient par intégration numérique à partir de q̈i . À
un instant k de la simulation, l’accélération articulaire de l’instant k + 1 est obtenue à partir des
schémas d’intégrations (annexe C.3) :
qi (k + 1) = qi (k) + q̇i (k + 1) dt
q̇i (k + 1) = q̇i (k) + q̈i (k + 1) dt
)
qi (k+1) = qi (k)+q̇i (k)dt+q̈i (k+1)dt2 (4.20)
=⇒
En remplaçant (4.20) dans (4.19), on obtient :
55
CHAPITRE 4. ASSURER L’ÉQUILIBRE
qimin ≤ qi (k + 1) ≤ qimax

q max − qi (k) − q̇i (k) dt


 q̈i (k + 1) ≤ i
dt2
min

q
− qi (k) − q̇i (k) dt

 q̈i (k + 1) ≥ i
dt2
=⇒
(4.21)
La concaténation des nddl contraintes (4.21) donne la contrainte suivante :

q max − q − q̇ dt

 Lt Ṫ ≤
dt2
min

− q − q̇ dt
 Lt Ṫ ≥ q
dt2
(4.22)
Les contraintes sur les butées articulaires (équation 4.22) s’exprime en fonction de l’inconnue
Y :
4.2.3.3
0 −Lt 0 0
0 +Lt 0 0
Y +
"
max
q̇ dt
+ q −q−
dt2
min
q̇ dt
− q −q−
dt2
#
≥0
(4.23)
Non-glissement des contacts
La condition de non-glissement s’exprime comme un ensemble de contraintes inégalités. La
force de contact calculée dans la commande doit être dans le demi-espace défini par chacune
des facettes du cône de frottement. Ainsi, pour la k-ème force de contact, la condition de nonglissement est :
∀k ∈ [1, ncf ], ∀i ∈ [1, na ], Ecki fc (k) + dkci ≥ 0
(4.24)
avec :
• ncf : nombre de contacts établis ;
• na : nombre de facettes du cône de frottement.
Ecki fc (k) + dkci correspond à la distance entre fc (k) et la i-ème facette orientée. Une écriture
plus synthétique de l’ensemble des contraintes de non-glissement est :
Ec fc + dc ≥ 0
(4.25)
Les contraintes sur les forces de contact (équation 4.25) s’expriment en fonction de l’inconnue
Y :
0 0 Ec 0
Y + dc ≥ 0
(4.26)
Note 6. Si les forces de contact s’expriment dans leur repère de contact respectif, dc = 0.
4.2.3.4
Saturation des efforts de préhension
La saturation des efforts de préhension (chapitre 2.4.2) s’exprime ainsi :
(
Wp ≤ Wpmax
|Wp | ≤ Wpmax
⇔
−Wp ≤ Wpmax
56
(4.27)
4.2. L’ALGORITHME DE COMMANDE
Soit npf , le nombre d’effort de préhension calculé, les contraintes (équation 4.27) s’expriment
en fonction de l’inconnue Y :
4.2.3.5
0 0 0 −I6 npf
0 0 0 +I6 npf
Y +
+Wpmax
+Wpmax
(4.28)
≥0
Synthèse
En regroupant en un système les contraintes inégalités portant sur la saturation des couples
articulaires (équation 4.18), les limites articulaires (équation 4.23), les forces de contact (équation
4.26) et la saturation des efforts de préhension (équation 4.28), on obtient :
C Y +d≥0

avec
4.2.4




C=




−Inddl
+Inddl
0
0
0
0
0
0
0
0
0
0
0
+Lt 0
0
−Lt 0
0
0
Ec
0
0
0 −I6 npf
0
0 +I6 npf
(4.29)











et
+τ max
−τ min


 + qmax −q−q̇ dt

dt2
 qmin −q−
q̇ dt
d= −
dt2


dc


+Wpmax
+Wpmax











Critères à optimiser
Après avoir détaillé les contraintes, on s’intéresse à la définition du critère à optimiser. Il a
pour rôle de permettre à l’hv d’atteindre une position d’équilibre connue (calculée dans le chapitre 3). Cette position est la position du CdM stable par rapport à la configuration des contacts
et prises. En ce qui concerne les inconnues, l’accélération du CdM, qui s’exprime à l’aide d’une
jacobienne en fonction de l’accélération en coordonnées généralisées de l’hv, est optimisée. L’accélération désirée du CdM est obtenue par un asservissement proportionnel-dérivé vers la position
du CdM de consigne.
(a) Avec le critère sur la posture.
(b) Sans le critère sur la posture.
Figure 4.3 – Optimisation de la posture de l’hv : influence de l’asservissement vers une posture
de référence.
57
CHAPITRE 4. ASSURER L’ÉQUILIBRE
En optimisant uniquement le CdM, l’hv peut adopter une grande variété de postures, à cause
de la redondance articulaire. Afin de mieux maîtriser cette indétermination, un second critère,
portant sur la posture, est ajouté (figure 4.3). Le critère final à optimiser est la somme de deux
critères :
– l’asservissement vers le CdM de consigne ;
– l’asservissement vers une posture de référence.
4.2.4.1
Centre de Masse désiré
La position du CdM est optimisée en minimisant l’écart entre l’accélération réelle du CdM
noté acdm/bd et l’accélération désirée ades
cdm/bd . Dans ce cas, le repère “corps” dans lequel est
exprimé le CdM est le corps racine.

 ades
cdm/scène
avec :

= kcdm
consigne
−
x
−
v
xconsigne
+
µ
v
cdm
cdm/scène
cdm/scène
cdm/scène
cdm/scène
t
des
ades
cdm/bd = Rracine acdm/scène
(4.30)
• (kcdm , µcdm ) : raideur et amortissement pour l’accélération du CdM ;
• xconsigne
cdm/scène : position du CdM de consigne, stable par rapport à la configuration des contacts
(§ 3.2.1) ;
consigne
• vcdm/scène
: vitesse du CdM de consigne. Il s’agit de la vitesse absolue de l’environnement
en interaction avec l’hv lorsqu’il n’est pas perturbé. En générale, cette vitesse est nulle ;
• Rracine : orientation du corps racine par rapport au repère scène.
acdm/bd s’exprime en fonction des inconnues du système, c’est à dire Ṫ (annexe B.5.2) :
(
vcdm/bd = Ccdm T
(4.31)
acdm/bd = Ccdm Ṫ + Ċcdm T
avec :
• Ccdm : matrice exprimant la vitesse du CdM en fonction des vitesses articulaires ;
• Ċcdm : matrice dérivée de Ccdm .
À l’aide de l’équation 4.31, le critère sur l’accélération du CdM s’écrit :
1
des
2
arg min kacdm/bd − acdm/bd kQcdm = . . .
2
Ṫ
1
des
2
arg min kCcdm Ṫ − acdm/bd − Ċcdm T kQcdm = . . .
2
Ṫ
t
t t
des
Ccdm Qcdm Ccdm Ṫ − Ṫ Ccdm Qcdm acdm/bd − Ċcdm T
= ...
1 t
Ṫ
arg min
2
Ṫ
1 t
t
Ṫ Qcdm Ṫ + Ṫ rcdm =
arg min
2
Ṫ
avec :
58
(4.32)
4.2. L’ALGORITHME DE COMMANDE
t
• Qcdm = pcdm Ccdm
I3 Ccdm ;
t
• rcdm = −pcdm Ccdm
I3 ades
−
Ċ
T
;
cdm
cdm/bd
• pcdm : poids du critère accélération du CdM.
4.2.4.2
Posture désirée
L’optimisation de la configuration de l’hv se compose en deux parties : le positionnement du
thorax et une posture de référence.
On exprime la consigne désirée en accélération du thorax à l’aide d’un asservissement en
position et en vitesse vers une consigne (en translation et en rotation). L’écart de position s’écrit :
∆Xthorax/bd =
1
∆Rthorax/bd =
2
avec
des
Hthorax/bd
=
des
rthorax/bd
− rthorax/bd
∆Rthorax/bd
des
Rthorax/bd
des
des
Rthorax/bd
rthorax/bd
0
1
t
et
(4.33)
Rthorax/bd − Rthorax/bd
Hthorax/bd =
t
des
Rthorax/bd
,
Rthorax/bd rthorax/bd
0
1
avec :
• Hthorax/bd : repère homogène définissant la position courante du thorax ;
des
• Hthorax/bd
: repère homogène définissant la position désirée du thorax ;
• bd : repère “corps”, ici le thorax.
Après de nombreux essais, la configuration la plus réaliste est obtenue lorsque le thorax
est au-dessus du CdM, à une hauteur constante (h) qui n’évolue pas au cours de la simulation.
L’orientation du thorax doit être verticale. En fonction de la position des pieds, on calcule l’angle
β, orientation du thorax suivant l’axe vertical. Ces heuristiques permettent de générer la configuration qui s’adapte automatiquement aux changements de l’environnement et aux configurations
des
s’écrit :
de contacts et de préhensions. Hthorax/bd


+ cos(β) − sin(β) 0 xconsigne
cdm/bd (1)


 + sin(β) + cos(β) 0 xconsigne

des
cdm/bd (2) 
(4.34)
=
Hthorax/bd


0
0
1
h
0
0
0
1
Dans la suite des calculs, on considère que le thorax est sur la première branche mais pas
forcément le premier corps (corps libre qui ne peut pas être actionné). L’accélération désirée du
thorax s’exprime alors :
des
ades
(4.35)
thorax/bd = kthorax ∆Xthorax/bd + µthorax Vthorax/bd − Vthorax/bd
avec :
• (kthorax , µthorax ) : raideur et amortissement de l’asservissement du thorax ;
59
CHAPITRE 4. ASSURER L’ÉQUILIBRE
• Vthorax/bd : vitesse réelle du thorax ;
des
• Vthorax/bd
: vitesse désirée du thorax.
Avec la redondance, il est également nécessaire de donner une posture de référence pour tous
les degrés de liberté. La posture initiale de l’hv au début de la simulation sert le plus souvent
de référence. L’accélération articulaire désirée s’exprime alors :
des
des
ades
(4.36)
ddl = kddl qddl − qddl + µddl q̇ddl − q̇ddl
avec :
• (kddl , µddl ) : raideur et amortissement de l’asservissement des ddl de l’hv ;
des : configuration articulaire désirée ;
• qddl
des : vitesse articulaire désirée.
• q̇ddl
Finalement, les deux asservissements (équation 4.35) et (équation 4.36) sont regroupés en un
seul, noté ades
:
Ṫ
des
athorax/bd
(4.37)
ades
=
Ṫ
ades
ddl
L’accélération réelle de la configuration de l’hv s’écrit :
aṪ =
athorax
addl
avec
avec :

v
= Cthorax T

 thorax
athorax = Cthorax Ṫ + Ċthorax T


addl = Lt Ṫ
(4.38)
• Cthorax : matrice constituée des 6 premières lignes de C, exprimant la vitesse du thorax en
fonction de T ;
• Ċthorax : matrice dérivée de Cthorax .
Finalement, l’équation 4.38 s’écrit :
Cthorax
Ċthorax
Ṫ +
T
aṪ =
Lt
0
(4.39)
= AṪ Ṫ + BṪ T
À l’aide de l’équation 4.39, le critère sur l’accélération de configuration s’écrit :
1
des 2
arg min kaṪ − aṪ kQposture = . . .
2
Ṫ
1
des
2
arg min kAṪ Ṫ − aṪ − BṪ T kQposture = . . .
2
Ṫ
1 t
t
t t
des
Ṫ AṪ Qposture AṪ Ṫ − Ṫ AṪ Qposture aṪ − BṪ T
= ...
arg min
2
Ṫ
1 t
t
Ṫ QṪ Ṫ + Ṫ rṪ =
arg min
2
Ṫ
60
(4.40)
4.3. MISE EN ŒUVRE ALGORITHMIQUE
avec :
• QṪ = AtṪ Qposture AṪ
• rṪ = −AtṪ Qposture ades
−
B
T
Ṫ
Ṫ
4.2.4.3
Synthèse
Les deux optimisations sur Ṫ sont regroupées :
– arg min 12 Ṫ t Qcdm Ṫ + Ṫ t rcdm
Ṫ
– arg min 12 Ṫ t QṪ Ṫ + Ṫ t rṪ
Ṫ
arg min 21 Ṫ t Q Ṫ + Ṫ t r
avec
4.3
Ṫ
Q = Qcdm + QṪ
et
(4.41)
r = rcdm + rṪ
Mise en œuvre algorithmique
La formulation du problème a été présentée rigoureusement dans le paragraphe précédent.
En pratique, des heuristiques, approximations et méthodes complémentaires sont nécessaires.
4.3.1
Accélération des contacts
Contact i
appartenant
au mannequin
∆xic/contact
Environnement
Figure 4.4 – Distance au contact sphère/parallélépipède.
Cette section présente une méthode de commande gérant les décollements de contact. Dans
la simulation, les contacts peuvent être rompus. Ce comportement vient en partie du fait que les
contacts sont rigides (sphère/plan). On distingue dans la loi de commande deux cas :
– collision : dans la simulation, l’hv est en collision avec l’environnement (exemple : la
sphère touche le plan). L’accélération de consigne de commande est nulle ;
aconsigne
c/contact (i) = 03,1
61
(4.42)
CHAPITRE 4. ASSURER L’ÉQUILIBRE
– non-collision : dans la simulation, l’hv n’est pas en collision avec l’environnement (figure 4.4). On asservit le contact vers l’environnement le plus proche avec un proportionneldérivé.
consigne
i
(i)
=
k
∆x
+
µ
v
(i)
−
v
(i)
(4.43)
aconsigne
c
c
c/contact
c/contact
c/contact
c/contact
avec :
• (kc , µc ) : raideur et amortissement pour l’accélération des corps contacts ;
• ∆xic/contact : distance minimale entre la sphère et le plan exprimé dans le repère de
contact. Les contacts vont toujours chercher à s’établir avec l’environnement le plus
proche ;
• vc/contact (i) : vitesse du contact i exprimée dans le repère contact ;
consigne
• vc/contact
(i) : vitesse de consigne du contact i exprimée dans le repère contact. Dans
la majorité des cas, l’environnement de l’hv est immobile. La vitesse de consigne est
alors nulle.
4.3.2
Critère à optimiser
La méthode d’optimisation que l’on a mise en œuvre requiert la non-singularité de Q vis-à-vis
du vecteur des inconnues, par conséquent l’optimisation est également appliquée sur τ , fc et Wp .
Il existe également une raison physique à cette optimisation, à savoir que l’on préfère le “moindre
effort”, en particulier pour économiser les moteurs du robot. Ainsi, les critères de minimisation
suivants sont effectués :
– minimisation des couples articulaires : τ des = 0(nddl ,1) avec Qτ = pτ Inddl ;
– minimisation des forces de contact : fcdes = 0(3 ncf ,1) avec Qfc = pfc I3 ncf ;
– minimisation des efforts de préhension : Wpdes = 0(3 npf ,1) avec QWp = pWp I3 npf .
L’équation 4.41 se complète donc en :
arg min 12 Y t Q Y + Y t r
avec
4.3.3

Qτ
 0
Q=
 0
0
Y
0
0
Qcdm + Qposture 0
0
Qfc
0
0

0
0 

0 
QWp
et
(4.44)

−Qτ τ des
 +rcdm + r 
Ṫ 
r=
 −Qfc fcdes 
−QWp Wpdes

Réglage des priorités
À ce stade, le réglage des priorités est effectué par les valeurs relatives des poids de la matrice
Q. Au § 5.3, on présente les grandes lignes d’une autre méthode qui s’apparente aux projecteurs
dynamiques.
Un poids très faible est affecté aux critères (τ des , fcdes , Wpdes ). Cependant, le poids est non
nul pour des problèmes de convergence de l’algorithme sinon la matrice Q n’est pas symétrique
définie positive. Un premier réglage des poids est proposé :
pcdm > pposture ≫ pτ ≃ pfc ≃ pWp
(4.45)
L’hv doit atteindre son CdM de consigne pour conserver l’équilibre, ce qui explique que le
critère d’optimisation du CdM est plus prioritaire que la posture. Si pτ , pfc ou pWp sont trop
62
4.3. MISE EN ŒUVRE ALGORITHMIQUE
importants par rapport à pcdm et pposture , l’équilibre est gêné par les autres critères à satisfaire.
Les hypothèses portant sur τ , fc et Wp ont été au préalable formalisés comme des contraintes.
Le CdM et la configuration disposent en priorité de l’optimisation.
Dans l’optimisation d’une posture, une pondération relative est effectuée entre d’une part la
position–orientation du thorax et d’autre part la configuration articulaire. La position désirée
du thorax est mise à jour au fur et à mesure de la simulation. Elle dépend du CdM de consigne,
qui lui-même dépend de la configuration des contacts. Par contre, on choisit de ne pas mettre à
jour la configuration articulaire désirée. C’est pourquoi une pondération relative plus forte est
donnée au critère sur la position du thorax. En contrepartie, pour que le thorax puisse évoluer
facilement, il est préférable de mettre une plus faible pondération sur les autres ddl. Sans cette
pondération, la solution moyenne trouvée n’est pas satisfaisante.
0
Qthorax
Qposture = pposture
(4.46)
0
Qddl
avec :
• pposture : coefficient de pondération global de la posture ;
• Qthorax : matrice de pondération relative des 6 ddl du thorax ;
• Qddl : matrice de pondération relative des nddl .
Enfin, on pondère aussi les degrés de liberté entre eux, ce qui influence le comportement du
robot. Ainsi, les degrés de liberté avec une plus forte pondération atteignent en priorité leur
consigne alors que les autres sont utilisés pour atteindre le CdM de consigne.
4.3.4
Réglage des gains
La loi de commande contient de nombreux asservissements. La méthode présentée ici permet
un premier réglage des gains.
L’équation du mouvement d’un système du second ordre s’écrit :
ẍ(t) + 2 ω0 ξ ẋ(t) + ω02 x(t) = 0
(4.47)
avec :
• ω0 rad.s−1 : pulsation propre non amortie ;
• ξ : coefficient d’amortissement.
La période propre T0 est la durée en secondes d’une oscillation du système :
T0 =
2π
ω0
(4.48)
L’équation d’un système masse–ressort amorti (équivalent à un correcteur proportionnel dérivé) écarté de sa position d’équilibre est :
m ẍ(t) + µ ẋ(t) + k x(t) = 0
avec :
63
(4.49)
CHAPITRE 4. ASSURER L’ÉQUILIBRE
• m [kg] : masse du système ;
• k N.m−1 : raideur du système ;
• µ N.s.m−1 : amortissement du système.
Un régime apériodique critique (ξ = 1) est recherché. Ce régime correspond à la limite du
régime apériodique sans dépassement. C’est le plus rapide des régimes sans dépassement. Les
équations 4.47, 4.49 et ξ = 1 donnent :
r
k
µ
ω0 =
=
(4.50)
m
2m
Exemple d’application : détermination des asservissements pour l’accélération de consigne du
CdM. Dans cet exemple, la masse de l’hv est de 70 kg. Une période propre de 2.5 s est suffisante.
(
4.4
4.4.1
k =m
µ =2m
2π
T0
2π
T0
2
= 442 N.m−1
= 352 N.s.m−1
(4.51)
Justifications
Unicité de l’accélération en coordonnées généralisées de l’hv
Problématique : dans le cas où tous les contacts sont établis et le restent dans la simulation,
l’objectif de ce paragraphe est de démontrer que l’accélération en coordonnées généralisées du
robot calculé dans la loi de commande correspond à celle se produisant dans la simulation sous
l’effet de τ .
Hypothèses : tout d’abord, on s’intéresse uniquement aux interactions unilatérales de type
contact. Les torseurs d’effort résultant d’un actionnement de préhension ne sont pas pris en
compte dans cette démonstration. La condition “contacts établis dans la simulation” se traduit
par l’égalité suivante :
(4.52)
asimulation
= 0 ⇐⇒ Cc Ṫ + Ċc T = 0
c
avec Cc , la matrice exprimant les vitesses de contact en fonction de T .
De plus, cette condition implique que des efforts de perturbation ne déstabilisent pas l’hv.
Donc, du point de vue de la simulation, les efforts de perturbation n’interviennent pas dans
l’équation de la dynamique qui s’écrit :
M̃ Ṫ = L τ + Cct fcsimulation − N T + M̃ G
Démonstration :
M̃ est symétrique définie positive donc l’équation 4.53 s’écrit :
Ṫ = M̃ −1 L τ + Cct fcsimulation − N T + M̃ G
(4.53)
(4.54)
Ṫ est définie de manière unique si M̃ −1 Cct fcsimulation est définie de manière unique.
En multipliant l’équation 4.54 par Cc , on obtient :
Cc Ṫ = Cc M̃ −1 L τ + Cct fcsimulation − N T + M̃ G
64
(4.55)
4.4. JUSTIFICATIONS
Soit
Cc M̃ −1 Cct
fcsimulation = Cc Ṫ − Cc M̃ −1 L τ + Cc M̃ −1 N T − M̃ G
En remplaçant Cc Ṫ par −Ċc T , l’équation 4.56 s’écrit :
Cc M̃ −1 Cct fcsimulation = −Ċc T − Cc M̃ −1 L τ + Cc M̃ −1 N T − M̃ G
(4.56)
(4.57)
=ν
avec ν : vecteur déterminé. L’équation 4.57 implique M̃ −1 Cct fcsimulation défini de manière unique.
Par conséquence, Ṫ est définie de manière unique.
Conclusion : Les efforts de contact calculés par la simulation peuvent être différents des
efforts de contact calculés dans la loi de commande. Cependant, l’accélération Ṫ du robot calculée
par la simulation est identique à celle calculé par le QP. Il y a unicité du mouvement de l’hv.
4.4.2
Contraintes de complémentarité
En théorie, la relation entre la vitesse normale au contact et la force au contact est soumises
aux contraintes de complémentarité suivantes :
– maintien du contact : la vitesse normale au contact est nulle, une force au contact peut
alors s’appliquer ;
– rupture du contact : la vitesse normale au contact est non nulle, la force au contact doit
être nulle.
Or, les conditions de complémentarité sont difficiles à mettre en œuvre (convergence, temps
de calcul . . . ) et ne sont pas prise en compte dans notre formulation de la commande. On gère
explicitement la prise en compte des accélérations et des forces de contact à chaque instant
k de la simulation. Dans la commande, on impose une accélération de contact nulle, évitant
l’interpénétration, le glissement ou la rupture des contacts. Suite à une perturbation, une rupture
de contact peut se produire. Dans ce cas, l’effort de contact n’est pas calculé par la loi de
commande (tableau 4.1).
Instant
k−1
k
Bloc
simulation
collision
non-collision
Bloc commande
accélération contact (§ 4.3.1) force de contact
nulle
calculée
non-nulle
non-calculée
Table 4.1 – Rupture d’un contact à l’instant k. Les inconnues de la commande s’adapte au
nouvel état des contacts.
4.4.3
Influences du nombre de ddl
L’hv 32 ddl (figure 4.5(a)) a été présenté dans le § 2.2.2. En pratique, on a aussi utilisé
d’autres modélisations. L’hv 36 ddl (figure 4.5(b)) a 2 ddl supplémentaires à chaque clavicule,
ce qui permet une mobilité de l’épaule. D’autre part, les dimensions, les masses et la position des
liaisons cinématiques proviennent de HuMAns [INR06]. C’est ce mannequin qui est utilisé pour
la reconstruction de mouvement du chapitre 6. Par construction, son corps racine est l’abdomen,
ce qui a permis de tester le cas où le corps racine est un autre corps que le thorax. L’hv 49
ddl (figure 4.5(c)) est tiré d’un personnage fantaisiste. Sa colonne vertébrale est constituée de 4
liaisons rotules (succession de 3 liaisons pivots). Chaque ddl a des butées articulaires. De plus,
65
CHAPITRE 4. ASSURER L’ÉQUILIBRE
(a) 32 ddl
(b) 36 ddl
(c) 49 ddl
(d) 72 ddl
Figure 4.5 – Les différents types d’hv.
la cheville est dédoublée. Enfin, l’hv 72 ddl (figure 4.5(d)) est identique à l’hv 32 ddl, avec deux
mains à 20 ddl. La commande s’arrête juste après les poignets, le mouvement des doigts est
laissé à un simple contrôleur PD ou une commande de manipulation plus adapté. Dans tous les
cas, on utilise les mêmes asservissements, les mêmes priorités et l’on a testé une large gamme de
simulations. Les comportements obtenus sont similaires.
4.5
Résultats et discussions
Les simulations ont été réalisées avec le moteur physique Arboris développé par Alain Micaelli 1 et Sébastien Barthélémy 2 en langage Matlabr . L’élaboration du modèle dynamique
est tiré de Park [Par05] et le formalisme des contacts avec frottements secs s’inspire de L. Tong
et M.Y. Wang [TW05].
4.5.1
4.5.1.1
Introduction de nouvelles interactions dans le calcul de la commande
Appuyer sur le mur
Afin d’appliquer un effort sur un mur, l’hv atteint une posture et un CdM lui permettant
d’être équilibré statiquement (figure 4.6). Il s’agit d’une tâche en multi-contacts non coplanaires.
Les efforts de contact de la main sont ajoutés aux inconnues du problème. De plus, les contraintes
portant sur ces efforts ainsi que sur l’accélération des contacts de la main sont ajoutés aux autres
contraintes.
4.5.1.2
Poser le second pied
Dans cet exemple, l’hv n’a qu’un pied au sol au début de la simulation (figure 4.7). Dans
cette configuration, il n’est pas équilibré. Il atteint une posture stable en posant le second pied au
sol. L’hv établie ses contacts sur l’environnement le plus proche et, en même temps, à atteindre
son CdM de consigne. Celui-ci est calculé en considérant que l’hv repose sur ses deux pieds. En
quelque sorte, l’hv anticipe son nouvel appui. Il est important de traiter ces deux aspects en
même temps pour avoir un comportement stable.
Note 7. Le calcul du CdM de consigne nécessite la connaissance des coordonnées des points de
contact. Tous les contacts des pieds sont considérés comme établis dans ce calcul. Si ce n’est pas
le cas dans la simulation, on utilise la projection du contact sur l’environnement (ici, un plan
horizontal).
1. cea/list
2. isir
66
4.5. RÉSULTATS ET DISCUSSIONS
CdM réel
CdM consigne
Force réelle
Force de consigne
Figure 4.6 – L’hv appuie sur le mur à l’aide de sa main.
Figure 4.7 – L’hv pose le pied droit.
67
CHAPITRE 4. ASSURER L’ÉQUILIBRE
4.5.1.3
Se lever
(a)
(b)
(c)
(d)
(e)
Figure 4.8 – L’hv se lève.
Dans l’exemple de la figure 4.8, on met en œuvre une loi de commande permettant à l’hv
de se lever. On se contente d’assurer l’équilibre quasi-statique du mouvement qui se décompose
en deux temps. Tout d’abord, le CdM de consigne est calculé uniquement avec les appuis des
pieds. L’hv s’avance pour atteindre ce CdM de consigne (figure 4.8(b)). Puis, la contrainte sur
l’accélération du contact des fesses est désactivée (figure 4.8(c)). L’hv peut alors se lever.
L’introduction de nouvelles interactions dans la formulation de la loi de commande permet
d’enrichir considérablement le comportement de l’hv. Ainsi, les interactions de l’hv avec l’environnement évoluent au cours de la simulation. Le chapitre 3 permet de mettre à jour la position
du CdM de consigne, stable par rapport à la nouvelle configuration de contact ou de prise.
À présent, pour ce qui est des réactions à des perturbations, l’hv peut adopter deux stratégies
pour s’équilibrer, si la perturbation est :
– faible : il s’équilibre à l’aide de ses contacts et de ses prises courants. On parle de réflexe
“simple” ;
– forte : il met en œuvre une stratégie de retenue où il change la position de ses contacts et
de ses prises. On parle de réflexe “évolué”.
4.5.2
4.5.2.1
Réflexe “simple”
Perturbation sans préhension
Les perturbations s’appliquent sur un temps très court (100 ms), sur l’environnement de l’hv
ou directement sur l’hv. S’il le peut, l’hv s’équilibre et atteint une nouvelle position d’équilibre.
Dans l’exemple de la figure 4.9, l’hv subit un effort perturbateur au niveau de l’épaule. Cet
effort est représenté par une flèche rouge.
Dans les exemples des figures 4.10 et 4.11, c’est le sol qui est perturbé. La perturbation est
une translation de 15 cm, en quelques dizaines de ms, avant de s’arrêter brutalement. Pendant le
déplacement du support, l’hv applique tout son poids sur la jambe droite (figure 4.10). Une fois
le mouvement du sol stoppé, son pied gauche glisse quelques instants. Puis, l’hv peut s’équilibrer.
Dans l’exemple de la figure 4.11, pendant le déplacement du sol, l’hv lève légèrement l’avant
des pieds. Comme la perturbation n’est pas explicitement connue par la loi de commande, il y a
rupture de contact.
68
4.5. RÉSULTATS ET DISCUSSIONS
(a) Équilibre
(b) Perturbation
(c) Fin perturbation
(d)
Gestion
équilibre
(e)
Retour
équilibre
Figure 4.9 – Perturbation directement appliquée à l’hv.
(a) Translation du
support
(b) Glissement du
pied gauche
(c) Fin perturbation
(d) Gestion
libre
équi-
(e) Retour équilibre
Figure 4.10 – Perturbation de l’hv : déplacement médial / latéral du sol.
(a) Translation support
(b) Fin perturbation
(c) Gestion équilibre
(d) Retour équilibre
Figure 4.11 – Perturbation de l’hv : déplacement postérieur / antérieur du sol.
69
CHAPITRE 4. ASSURER L’ÉQUILIBRE
4.5.2.2
Perturbation avec préhension
Dans l’exemple de la figure 4.12, les efforts de préhension font partie intégrante des inconnues
du système à résoudre. L’hv utilise cette prise pour s’aider à retrouver son équilibre. Suivant les
sollicitations, l’hv tire, pousse ou applique un moment sur la prise.
Figure 4.12 – Simulation du comportement d’un passager dans un bus.
4.5.3
4.5.3.1
Réflexe “évolué”
Introduction
Figure 4.13 – Réflexe “simple” : l’hv maintient ses pieds au sol. La perturbation ne peut pas
être compensé avec cette configuration de contacts. L’hv pert l’équilibre.
Lorsqu’il s’agit de mettre en œuvre un réflexe “simple”, le comportement de l’hv lors d’une
perturbation consiste à maintenir ses contacts sur l’environnement et à atteindre son CdM de
consigne. Cela peut donner un comportement insuffisant (figure 4.13). Si la perturbation est trop
importante, l’hv ne parvient pas à retrouver son CdM de consigne et tombe en avant. Alors
qu’il est naturel pour un humain de faire un pas en avant, la commande réalisée jusqu’à présent
suppose que les pieds sont maintenus au sol. Pour que l’hv fasse un pas en avant (figure 4.14),
70
4.5. RÉSULTATS ET DISCUSSIONS
Figure 4.14 – Réflexe “évolué” : la commande spécifie explicitement le mouvement du pied de
l’hv. Ce dernier garde son équilibre.
il faut le spécifier explicitement en déclenchant une suite d’actions. En utilisant l’indicateur de
stabilité de l’hv (chapitre 3), la perte d’équilibre est caractérisée. On met en œuvre une stratégie
permettant à l’hv de faire un pas en avant et de retrouver son équilibre. Mais ce réflexe n’est
qu’une des nombreuses possibilités pour retrouver son équilibre. Dans ce chapitre trois réflexes
“évolués” sont présentés :
– appuyer avec les mains sur l’environnement ;
– saisir une prise ;
– faire un pas de côté.
Avant la simulation, l’ensemble des réflexes possibles sont spécifiés. Une méthode permettant
à la commande de choisir et d’appliquer le réflexe le plus pertinent est présentée § 4.5.4.
4.5.3.2
Appuyer avec les mains sur l’environnement
CdM consigne
CdM initial
Vitesse CdM
Forces contact
Figure 4.15 – Un effort de perturbation est directement appliqué dans le dos de l’hv. Il retrouve
son équilibre en s’appuyant sur un mur. La flèche verte représente la vitesse du CdM juste après
la perturbation.
Lorsque l’hv est poussé en direction d’un mur, ce réflexe lui permet de s’appuyer dessus.
Par simplification, l’endroit du mur où l’hv pose la main est connu. Il est défini par l’utilisateur
71
CHAPITRE 4. ASSURER L’ÉQUILIBRE
avant la simulation.
La position du CdM de consigne est calculée en fonction de la nouvelle configuration de
contact, à partir des forces de contact désirées des mains (normales au mur). Ainsi, l’hv freine
son mouvement en basculant en direction du mur. Les marges de stabilité ne sont pas prises en
compte. Une fois l’équilibre retrouvé, un mécanisme de retour à la position initiale se déclenche.
La figure 4.15 illustre la position de l’hv en appui sur le mur. Sur le schéma, le CdM de
consigne est plus proche du mur que le CdM initiale de l’hv, à l’instant de la perturbation. La
vitesse du CdM est en direction du mur. Le CdM de consigne est équilibré statiquement et est
sur le “chemin” qu’emprunte le CdM suite à la perturbation.
4.5.3.3
Saisir une prise
CdM consigne
CdM initial
Vitesse CdM
Forces contact
et préhension
Figure 4.16 – Un effort de perturbation est directement appliqué dans le dos de l’hv. Il retrouve
son équilibre en s’aidant d’une prise. Sa main droite est confondue avec la prise sur l’image de
droite. La flèche verte représente la vitesse du CdM juste après la perturbation.
Très proche du réflexe précédent, la saisie d’une prise améliore les possibilités de retour à
l’équilibre. En effet, si l’hv tombe en arrière, il peut s’aider d’une prise se situant devant lui pour
retrouver son équilibre.
Le CdM de consigne est déterminé en introduisant un effort désiré au niveau de la prise. La
direction de cet effort correspond à la vitesse du CdM juste après la perturbation (figure 4.16).
Bien que les aspects relatifs à la robustesse n’interviennent pas dans le calcul du CdM de
consigne, ils sont utilisés pour caractériser l’état d’équilibre de l’hv et déclencher des réflexes
“évolués”. Dans l’exemple de la figure 4.17, le sol bascule autour d’un axe, à vitesse constante
(11 deg.s−1 ). Au début de la simulation, l’hv est debout et le caractère préhensif de ses mains
n’est pas utilisé (figure 4.17(a)). L’équilibre est rompu pour une posture érigée sur deux pieds
pour une inclinaison trop importante du sol. L’objectif de la commande d’hv est de conserver
un équilibre robuste quand l’environnement change. Grâce aux prises, l’hv est capable de main72
4.5. RÉSULTATS ET DISCUSSIONS
(a) angle = 0˚
(b) angle = 15˚
(c) angle = 25˚
(d) angle = 38˚
(e) angle = 43˚
Figure 4.17 – Exemple de gestion d’équilibre d’hv basé sur le calcul des marges de stabilité.
Le sol bascule à une vitesse constante. On choisit une distribution de perturbations isotropique
pour calculer λmax pour chaque système étudié. L’hv garde son équilibre en utilisant des prises
avec ses mains.
tenir son équilibre. À cette fin, les interactions de préhension de l’hv sont activées/désactivées
dans la formulation de la loi de commande, tout au long de la simulation. Ce comportement est
basé sur le calcul de robustesse qui donne une bonne caractérisation de la rupture d’équilibre.
Pour la posture courante de l’hv, l’amplitude de l’effort de perturbation maximal (distribution
isotropique) est calculée. Lorsque ce critère de stabilité est plus petit qu’une amplitude limite
choisie, une action de rétablissement est déclenchée.
Le graphique présente l’effort de perturbation maximal admissible, fonction de l’angle de renversement du sol. Les critères de stabilité étudié diminuent logiquement lorsque le renversement
du sol augmente. Plusieurs systèmes sont étudiés simultanément : hv en interaction sur deux
pieds, deux pieds et une main, deux pieds et deux mains. L’hv passe d’une configuration de
prise à une autre dans le but de conserver une marge de stabilité minimum. Par exemple, sur
la figure 4.17(c), angle=25˚, la marge de stabilité de l’hv en interaction sur deux pieds devient
inférieure à la marge de stabilité minimum : déclenchement d’un changement de prise. L’hv
utilise sa main gauche pour attraper une prise. Dans cette nouvelle configuration, la marge de
stabilité est meilleure. L’hv converge donc vers une configuration d’équilibre plus stable.
4.5.3.4
Faire un pas de côté
Effectuer un pas de côté est également un réflexe courant en cas de perte d’équilibre. Jusqu’à
présent, une consigne de la commande était de maintenir les pieds au sol. Dans le réflexe proposé,
il faut spécifier explicitement à l’hv de déplacer son pied en lui indiquant où le poser ainsi
que la durée du pas. Il est préférable de positionner le pied dans la direction de la vitesse du
CdM. Le comportement de l’algorithme s’observe sur deux cas de pertes d’équilibre (figure 4.18).
73
CHAPITRE 4. ASSURER L’ÉQUILIBRE
(a) Perturbation vers l’avant gauche.
(b) Perturbation vers l’arrière droit.
Figure 4.18 – Suite à une perturbation, la direction du vecteur vitesse (flèche verte) du CdM
(sphère rouge) permet de déterminer où poser le pied pour tenter d’équilibrer l’hv. La trajectoire
du pied est alors calculée (tracée en bleu).
En perspective, l’utilisation d’un algorithme de marche enrichirait le comportement de l’hv en
proposant plusieurs pas.
4.5.4
Choix du réflexe
Champs
Description
Exemple
Nom
Nom du réflexe
Saisir une prise . . .
Membre
Le numéro de l’effecteur
Main gauche, Pied droit . . .
n˚env.
Identification de l’environnement
[n˚robot , n˚branche , n˚corps , n˚géométrie ]
Distance
Distance entre l’effecteur et sa cible
10 cm
λmax
Amplitude maximale de l’effort de perturbation
100
Table 4.2 – Caractéristiques communes d’un réflexe “évolué”.
Au début d’une simulation, on définit l’ensemble des réflexes possibles (tableau 4.2). Au cours
de la simulation, il faut définir le choix du réflexe le plus pertinent selon la perturbation. Les
origines d’une perte d’équilibre sont nombreuses. On classe les déséquilibres en deux cas :
– le déséquilibre provient d’une perturbation liée à l’environnement (déplacement du sol, choc
d’un objet). La loi de commande stoppe toutes les tâches en cours, cela correspond à un
comportement “intuitivement naturel”. Les tâches sont reprises après retour à l’équilibre ;
– le déséquilibre provient de la réalisation d’une tâche par l’hv. Par exemple, en atteignant
une cible trop loin, l’hv perd son équilibre (figure 4.20). On choisit alors uniquement les
réflexes qui permettent de poursuivre la tâche et d’améliorer l’équilibre.
Suite à cette première sélection de réflexes, on teste la pertinence des réflexes entre eux au
regard des critères suivants :
– angle CdM – cible : il s’agit de l’angle entre la vitesse du CdM à l’instant où l’on
74
4.5. RÉSULTATS ET DISCUSSIONS
Figure 4.19 – Schéma de principe de la mise en œuvre de stratégie de reprise d’équilibre.
déclenche le réflexe, et de la droite passant par la position du CdM courant et la cible. On
s’intéresse ici à la capacité d’arrêter le mouvement du CdM par rapport à l’axe de la prise.
La direction de la vitesse du CdM à l’instant où l’on déclenche le réflexe est une indication
de la direction de la perturbation (qui n’est pas connue, à priori) ;
– distance main – cible : il s’agit de la distance entre l’effecteur (main) et la cible, qu’il
s’agisse d’un mur ou d’une prise. Ce critère permet d’étudier la faisabilité d’atteindre une
cible. Si elle est trop loin, l’hv n’a pas le temps de l’atteindre convenablement.
Pour chacun des critères étudiés, les réflexes sont alors classés. Les critères sont pondérés
pour obtenir la meilleure stratégie. La figure 4.19 résume la mise en œuvre de réflexes “évolués”.
Toutes les stratégies réflexes présentées ne sont que des ébauches, incomplètes, des réflexes de
reprise d’équilibre possibles. On a décrit les principes ainsi que quelques tests sur des exemples
concrets.
75
CHAPITRE 4. ASSURER L’ÉQUILIBRE
Figure 4.20 – L’hv a pour objectif d’atteindre la sphère rouge, de la soulever et de la déplacer
jusqu’à l’autre support. En voulant atteindre la sphère rouge, l’hv est déséquilibré vers l’avant.
La perte d’équilibre provient de la tâche. La loi de commande sélectionne le réflexe qui consiste
à saisir la prise avec la main gauche. L’hv retrouve son équilibre sans que les tâches ne soient
interrompues.
76
CHAPITRE
5
Gestion de tâches
e chapitre traite de la gestion des tâches. Un objectif se décompose en un ensemble d’actions
C élémentaires se traduisant en critères et en contraintes pour la loi de commande. L’objectif
est de faire le lien entre un objectif global spécifié par l’utilisateur (ex : peindre) et sa traduction
automatique en termes de loi de commande.
On définit des structures et des actions de base, qui permettent l’interface entre des objectifs
globaux et la commande. Les structures mettent à jour la formulation de la loi de commande. Les
actions caractérisent le comportement souhaité.
Les tâches sont souvent conflictuelles et l’on propose une méthode numérique pour gérer les
priorités entre les tâches.
On peut ainsi réaliser des comportements complexes. Ainsi, l’ hv manutentionnaire déplace
des charges lourdes plus ou moins guidées ou portées, dans un monde virtuel industriel complexe.
77
CHAPITRE 5. GESTION DE TÂCHES
Sommaire
5.1
Introduction . . . . . . . . . . . . . . . . . . .
5.1.1 État de l’art . . . . . . . . . . . . . . . . . .
5.1.1.1 Génération de comportements . . .
5.1.1.2 Gestion des priorités . . . . . . . . .
5.1.2 Contribution et positionnement . . . . . . . .
5.2 Actions . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Présentation générale . . . . . . . . . . . . .
5.2.2 Détails des actions . . . . . . . . . . . . . . .
5.2.2.1 Génération de trajectoire . . . . . .
5.2.2.2 Saisir une prise ou un objet . . . . .
5.2.2.3 Appuyer sur l’environnement . . . .
5.2.2.4 Posture . . . . . . . . . . . . . . . .
5.2.3 Structures de base . . . . . . . . . . . . . . .
5.2.3.1 Contact . . . . . . . . . . . . . . . .
5.2.3.2 Préhension . . . . . . . . . . . . . .
5.3 Gestion des priorités . . . . . . . . . . . . . .
5.3.1 Présentation . . . . . . . . . . . . . . . . . .
5.3.2 Mise en œuvre . . . . . . . . . . . . . . . . .
5.4 Tâches de manutention . . . . . . . . . . . . .
5.4.1 Présentation du problème . . . . . . . . . . .
5.4.2 Synthèse des efforts de manutention . . . . .
5.4.2.1 Mouvement désiré . . . . . . . . . .
5.4.2.2 Forces de contact de consigne . . . .
5.4.3 Les différentes étapes de la commande . . . .
78
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . .
. . . . . .
. . . . . .
. . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
79
79
79
79
80
80
80
82
82
84
84
84
84
84
87
88
88
89
91
91
92
93
94
94
5.1. INTRODUCTION
5.1
5.1.1
5.1.1.1
Introduction
État de l’art
Génération de comportements
Une partie de la communauté de robotique humanoïde s’intéresse à la planification de tâches
complexes. Celle-ci peut prendre en compte des contraintes au niveau des efforts et des déplacements [Esc08] [TGG07]. O. Stasse et al. [SEM+ 08] (Japanese–French Robotics Laboratory)
présentent une tâche avec évitements de collisions et d’auto-collisions en temps réel du robot
HRP-2. E. Yoshida et al. [YPL+ 08] font déplacer une boîte par pivotement en quasi-statique
par le robot.
L’Irisa développe un processus temps réel dédié à la planification du mouvement d’humanoïdes de synthèse dans des environnements contraints (TopoPlan – projet Bunraku).
D’autre part, P. Faloustos et al. [FvdPT01] présentent un ensemble de lois de commande
bas-niveau et de modes d’enchaînements pour animer des personnages. Chaque commande est
spécifique d’une action élémentaire. Les travaux ont conduit au développement de l’outil Dance.
Les problématiques de planification et de mode d’enchaînement de tâches ne seront pas
abordées dans ce document.
5.1.1.2
Gestion des priorités
Figure 5.1 – Cas de conflit entre deux tâches. Le squelette ne peut atteindre simultanément la
position désirée du parapluie (en rose), et la poignée.
Les tâches sont souvent conflictuelles (figure 5.1). Il n’est pas toujours possible de résoudre
toutes les contraintes de manière simultanée. Dans la littérature, la priorité est traitée par les
projections cinématiques ou dynamiques.
Dans un contexte cinématique, le découplage de tâches a été appliqué à l’hv par P. Baerlocher et al. [BB04]. Ils proposent une commande de type cinématique inverse à multiples niveaux
de priorités. Un nombre arbitraire de priorités entre les tâches à effectuer est fixé. Les auteurs
décrivent un schéma de résolution efficace de ce problème de cinématique inverse.
79
CHAPITRE 5. GESTION DE TÂCHES
Cette approche a été étendue au cas dynamique par L. Sentis et al. [SK04], [SK05], [SK06]
et V. De Sapio [DKD06].
N. Mansard et al. [MK08] prennent en compte des contraintes unilatérales dans le calcul
des projecteurs dynamiques.
O. Khatib et al. [KWDS] proposent une méthode pour identifier les sous tâches caractéristiques des mouvements humains en analysant des comportements obtenus par capture de
mouvements. Ces comportements sont alors incorporés dans la commande multi-tâches qui classe
chaque tâche par priorité. En identifiant les caractéristiques du mouvement, les auteurs constituent ainsi une base des stratégies du mouvement humain, hiérarchisées par ordre de priorité
suivant la tâche à effectuer.
Enfin, S. Barthélemy et al. [BSB06] proposent d’utiliser la méthode des projecteurs entre
des tâches hierarchisées pour établir le critère à optimiser dans un problème de type QP. C’est
une méthode analytique.
5.1.2
Contribution et positionnement
On propose une architecture simplifiée permettant de combiner quelques comportements élémentaires – la coordination est inspirée de Faloustos. Pour les priorités, on propose une alternative
“numérique” aux projections.
On propose une liste non exhaustive de comportements élémentaires. Ces comportements
sont simples à mettre en œuvre. Ils dépendent d’un faible nombre de paramètres. Ils s’intègrent
naturellement dans la loi de commande, qui permet déjà de gérer l’équilibre. L’hv réalise des
tâches comme peindre ou déplacer des objets en combinant ces comportements élémentaires.
Une gestion des priorités entre les tâches est également proposée. Il s’agit d’une méthode
numérique qui est une alternative à la formulation analytique des projecteurs.
Les comportements élémentaires développés, appelés “actions”, sont décrits dans le § 5.2. Le
§ 5.3 présente la méthode de gestion des priorités. Enfin, les premiers résultats de simulation
d’hv manutentionnaire sont exposés dans le § 5.4.
5.2
5.2.1
Actions
Présentation générale
Ce chapitre propose une architecture de gestion de tâches et traite des aspects programmation. L’objectif est de doter l’hv d’un ensemble de comportements de base appelés par la suite
“actions”. Une action est utilisée comme contrainte ou critère dans la loi de commande (chapitre 4) où elle s’intègre naturellement. Une action a un certain nombre de champs pré-requis
définis dans le tableau 5.1. Avant chaque simulation, l’utilisateur définit les paramètres des actions qu’il souhaite voir réaliser par l’hv.
Le champs “type” est détaillé ci-dessous. Il permet de choisir quand et comment une action
s’exécute. On distingue trois types d’exécutions :
“type = 1” ces actions nécessitent la fin de l’exécution d’une action précédente. Dans ce cas,
l’action se déclenche lorsque l’action de “type = 1” précédente est réalisée. Une action se
80
5.2. ACTIONS
Champs
Description
Exemples de valeurs
Catégorie
Grande catégorie d’action
Tâche ou réflexe
Nom
Nom de l’action
Génération de trajectoire, posture . . .
Type
Mode de déclenchement
1, 2 ou 3
Actif
Déjà réalisé ou non
booléen
tinitial
Temps de début de l’action
Absolu ou relatif à un temps intermédiaire
tfin
Temps de fin de l’action
tcourant
Temps courant de l’action
Absolu ou relatif ou ∞
Compris entre tinitial et tfin
Table 5.1 – Identifiants communs à toutes les actions.
termine lorsque sa durée est écoulée. Des enchaînements de tâches sont ainsi définis. Par
exemple, pour générer un mouvement de va-et-vient entre deux configurations, on utilise
des actions “postures-clés” de “type = 1”. Il suffit de spécifier la durée de chaque action
pour pouvoir générer très simplement le mouvement ;
“type = 2” ces actions s’exécutent à un instant donné, une seule fois. Ainsi, des paramètres
peuvent être initialisés, des contraintes élémentaires activées ou désactivées. Par exemple,
afin que l’hv lâche une prise, on désactive à un instant donné la contrainte de préhension
dans la loi de commande. Une fois exécutée, une action de “type = 2” peut alors devenir
de “type = 3” ;
“type = 3” l’action est déclenchée à un instant, et reste activée pour une durée donnée. Par
exemple, une génération de trajectoire se réalise en deux étapes. Afin de déterminer les paramètres d’interpolation, cette action est donc de “type = 2” pendant l’initialisation, puis
elle devient de “type = 3” afin d’être exécutée tant que la trajectoire n’est pas entièrement
parcourue.
D’autre part, en complément du champs “type”, un certain nombre d’informations temporelles est nécessaire pour chaque action. Le début, la fin et/ou la durée d’une action doivent être
spécifiés :
– tinit : c’est l’instant où l’action est déclenchée. Pour les actions de “type = 2 ou 3”, c’est
le temps absolu de la simulation. Pour les actions de “type = 1”, c’est la durée entre la fin
de l’action précédente et le déclenchement de l’action suivante ;
– tfin : c’est l’instant où l’action est arrêtée. Pour les actions de “type = 3”, c’est le temps
absolu de la simulation. Pour les actions de “type = 1”, c’est la durée de l’action. Enfin, les
actions de “type = 2” ne sont, par définition, exécutées qu’une seule fois, cette information
n’est donc pas utilisée ;
– tcourant : c’est le temps courant de l’action qui donne une indication sur son taux de
réalisation. C’est une information utile lorsqu’une action est interrompue. On peut alors
reprendre l’action où elle en est ou bien depuis son début.
Enfin, une action est dite “Actif = 1” tant qu’elle n’a pas été commencée ou qu’elle a été
commencée mais pas terminée. Une action est dite “Actif = 0” lorsqu’elle est terminée.
On détaille à présent les quatres comportements de base implémentés, qui permettent de
générer des comportements très variés.
81
CHAPITRE 5. GESTION DE TÂCHES
5.2.2
5.2.2.1
Détails des actions
Génération de trajectoire
La “génération de trajectoire” est une action qui permet de spécifier le mouvement d’un corps
dans l’espace (main, pied . . . ). Cette action porte sur l’accélération d’un “corps”. Elle est utilisée
comme une contrainte dans la loi de commande. Elle peut être employée pour la marche ou pour
la saisie de prises ou d’objets.
Les actions “génération de trajectoire” sont toujours de “type = 2”. Lors de l’initialisation,
on s’assure que l’accélération du corps n’est pas surcontrainte (accélérations de contacts prises
en compte par la loi de commande).
Afin de déterminer l’accélération de consigne du corps, les consignes en positions (translation
et rotation) et en vitesses (translation et rotation) peuvent être calculées de deux manières
différentes :
– soit les consignes définissent l’état final à atteindre pour le corps contrôlé ; cet état est une
constante de SE(3) × se(3) et la commande est réalisée avec un correcteur PD vers cet état ;
– soit les consignes définissent une trajectoire à suivre dans SE(3) × se(3), depuis un état
initial jusqu’à un état final et la commande est réalisée avec un correcteur PD le long
de cette trajectoire (figure 5.2). Pour les exemples traités, on a choisi une génération de
trajectoire particulière mais la généralisation à des trajectoires plus complexes issues d’un
planificateur par exemple ne pose pas de difficultés à priori.
Les champs de base de l’action “génération de trajectoire” sont détaillés dans le tableau 5.2.
Exemple : Peindre est une tâche complexe se décomposant en un enchaînement d’actions
dont la “génération de trajectoire”. Pour atteindre le pinceau (figures 5.3(a) et 5.3(b)), le suivi
de trajectoire vers la position finale de l’objet à saisir est une méthode possible. On peut ainsi
spécifier un chemin qui évite la collision entre la main de l’hv et la table. La trajectoire est
calculée en début d’action mais il est possible de la recalculer si nécessaire.
Une fois le pinceau saisi, l’hv doit réaliser le mouvement de peindre (figures 5.3(c) et 5.3(d)).
L’état final à atteindre par la main est spécifié (positions en translation et en rotation). En
indiquant un ensemble d’objectifs clés, le mouvement de peindre est reproduit par l’hv.
Figure 5.2 – Interpolation de type spline avec une configuration de passage.
82
5.2. ACTIONS
Champs
Description
Exemple
ActifṪ
Désactiver/Activer le calcul de l’accélération de
l’effecteur dans la loi de commande
booléen
n˚prehension
Indice de l’effecteur
1 (main gauche) . . .
(kp , µp )
Raideur et amortissement du correcteur PD de
l’accélération de l’effecteur (permet de rigidifier
sa prise)
kp et µp ∈ M6,6 (R), symétrique définie positive
tmilieu
% de la durée totale de l’interpolation où intervient le passage intermédiaire
0.5
dmilieu
% de la distance totale de l’interpolation où intervient le passage intermédiaire
0.5
dHmilieu
Matrice de transformation qui positionne un repère de passage à partir de la position initiale de
l’effecteur
dHmilieu ∈ SE(3)
Hinitial
Repère initial de l’effecteur
Hfin
Repère de consigne final à atteindre par l’effecteur
Hinitial ∈ SE(3)
Vinitial
Vitesse initiale désirée de l’effecteur
Vfin
Vitesse finale désirée de l’effecteur
Hfin ∈ SE(3)
Vinitial ∈ R6
Vfin ∈ R6
Table 5.2 – Champs de base de l’action “génération de trajectoire”.
(a)
(b)
(c)
(d)
Figure 5.3 – Décomposition d’une tâche complexe (peindre) en un enchaînement d’actions.
83
CHAPITRE 5. GESTION DE TÂCHES
5.2.2.2
Saisir une prise ou un objet
Cette action traite de la prise en compte d’un calcul d’effort au niveau d’un effecteur. L’acheminement de l’effecteur vers une cible s’effectue avec l’action décrite au § 5.2.2.1. Tant que la
prise ou l’objet n’est pas atteint, la loi de commande ne calcule aucun effort de préhension. dmin
indique la distance à partir de laquelle on considère que la cible est atteinte (tableau 5.3). Un
modèle d’interaction de préhension est alors pris en compte à la fois dans la commande (calcul
d’un effort de préhension) et dans la simulation (activation d’une liaison visco-élastique). Dans
la loi de commande, l’accélération de l’effecteur doit être égale à l’accélération de la prise pour
assurer le maintien correct de la saisie.
Afin de soulever et déplacer un objet, l’actionnement de l’hv doit compenser la masse de
l’objet. On fait l’hypothèse que la masse de l’objet est connue. Un effort de réaction de consigne
est alors ajouté au bilan des efforts s’appliquant sur l’hv et est pris en compte par la loi de
commande.
Exemple : Un certain nombre de simulations utilisant l’action “saisir” sont présentées dans
ce document. On détaille au § 4.5.2.2 la problématique du passager de bus. Dans un véhicule,
l’hv saisit le volant et peut s’y accrocher (chapitre 7).
5.2.2.3
Appuyer sur l’environnement
Cette action traite de l’activation ou désactivation de la prise en compte par la commande
des contacts d’un effecteur (tableau 5.4). Les pieds interagissent toujours avec le sol par l’intermédiaire de contacts. De même, lorsque l’hv appuie sur un mur avec une main, c’est par
l’intermédiaire de contacts. C’est, en général, une action de “type = 2”.
5.2.2.4
Posture
L’action “posture” permet de changer la posture désirée. Grâce à un contrôle PD articulaire,
la posture de l’hv converge vers sa nouvelle consigne. En donnant à chaque instant la position et
la vitesse désirées de chaque articulation, l’hv peut rejouer un mouvement préenregistré. Contrairement à une approche simplement cinématique, le mouvement obtenu est soumis à toutes les
contraintes du moteur physique. Par exemple, l’hv rejoue au mieux le mouvement préenregistré
tout en conservant son équilibre en cas de perturbation.
5.2.3
Structures de base
Deux structures de base permettent de faire le lien entre la commande, les marges de stabilité
et des objectifs globaux de tâches.
5.2.3.1
Contact
La structure “Contact” regroupe toutes les informations concernant les contacts de l’hv utilisées dans la loi de commande (tableau 5.5). La disposition des contacts sur l’hv est donnée. Il
faut spécifier explicitement à quelle partie de l’environnement chaque contact de l’hv correspond.
L’exemple suivant illustre l’utilisation de cette structure. L’hv a pour consigne de s’appuyer
sur un mur. Au début de la simulation, l’hv a les bras le long du corps. Les contacts de sa main
ne sont pas pris en compte dans la loi de commande. L’action “génération de trajectoire” est
utile afin que l’hv amène sa main près du mur, avec la bonne orientation. À cet instant, les
contacts de la main doivent être activés dans la commande afin que l’hv puisse appuyer sur le
84
5.2. ACTIONS
Champs
Description
Exemple
Actifsaisi
Désactiver/Activer le calcul d’un effort de préhension
dans la loi de commande
booléen
Actifms
saisi
Désactiver/Activer le calcul d’un effort de préhension pour la détermination CdM de consigne (fonction marge de stabilité)
booléen
n˚prehension
Indice de l’effecteur
1 (main gauche) . . .
dmin
Distance à partir de laquelle la liaison visco-élastique
est activée dans la simulation
1 cm
Masse
Masse de l’objet à compenser (dans marge de stabilité
et la commande)
1 kg
n˚ve
Numéro de la liaison visco-élastique
1, 2 . . .
Table 5.3 – Champs de base de l’action “saisir”.
Champs
Description
Actifappuyer
Désactiver/Activer le calcul d’une force de contact dans la
loi de commande
booléen
Actifms
appuyer
Désactiver/Activer la prise en compte d’une force de
contact désirée dans le calcul du CdM de consigne (fonction marge de stabilité)
booléen
n˚contact
Numéro des contacts de la structure “contact” que l’on
veut désactiver/activer.
[1, 2, 3]
Table 5.4 – Champs de base de l’action “appuyer”.
85
Exemple
CHAPITRE 5. GESTION DE TÂCHES
mur (Actiffc ). De plus, des efforts désirés s’appliquant au niveau de ces nouvelles interactions,
peuvent être pris en compte dans le calcul du CdM de consigne (Actifms ). La détection de collision
renseigne sur l’état d’interaction de l’hv avec l’environnement à l’aide du champs Actifcollision .
Les informations sur le frottement sec de chaque contact (µcommande ), le repère de contact et les
asservissements apparaissent aussi dans cette structure. Enfin, si l’hv doit appliquer un effort de
consigne au niveau de sa main, on complète le champ fms
c . Afin que cette consigne soit au mieux
respectée, on pondère cette force de contact à la fois dans le calcul du CdM de consigne (Qfms
)
c
et dans le calcul de la commande (Qfc ).
Champs
Description
Exemple
Contact
Identification du contact sur le robot hv
[n˚rb , n˚br , n˚bd , n˚sh ] a
Env.
Identification du contact sur le robot environnement
[n˚rb , n˚br , n˚bd , n˚sh ]
µcommande
Coefficient de frottement du contact dans la loi de
commande (coefficient de sécurité, cf. § 2.4.1.2)
≤ µsimulation
na
Nombre de facettes du cône de frottement
4 ou 5
Actiffc
Désactiver/Activer le calcul d’une force de contact
dans la loi de commande
booléen
ActifṪ
Désactiver/Activer le calcul de l’accélération du
contact dans la loi de commande
booléen
Actifms
Désactiver/Activer le calcul d’une force de contact
dans le calcul du CdM de consigne (Marge de stabilité)
booléen
Actifcol.
Considéré en collision ou non par la commande
booléen
xc/scène
Coordonnées du contact sur le robot hv dans le repère scène
xc/scène ∈ R3
xc/scène
Coordonnées du contact sur le robot environnement
dans le repère scène
3
xconsigne
c/scène ∈ R
Rc/scène
Orientation du repère de contact dans le repère scène
(kc , µc )
Raideur et amortissement du correcteur PD de l’accélération du contact
Rc/scène ∈ SO(3)
fc
Force de contact calculée par la loi de commande
fdes
c
Force de contact désirée (sortie du calcul du CdM
de consigne, entrée du calcul des couples d’actionnement)
fms
c
Force de contact de consigne (entrée du calcul du
CdM de consigne)
fcms ∈ R3
Qfc
Poids du critère concernant la force de contact dans
le calcul des couples d’actionnement
Qfc ∈ M3,3 (R), symétrique définie positive
Qfms
c
Poids du critère concernant la force de contact dans
le calcul du CdM de consigne (marge de stabilité)
Qms
fc ∈ M3,3 (R), symétrique définie positive
consigne
kc et µc ∈ M6,6 (R), symétrique définie positive
fc ∈ R3
fcdes ∈ R3
Table 5.5 – Champs de base de la structure “Contact”.
a. rb : robot, br : branche, bd : corps, sh : géométrie
86
5.2. ACTIONS
5.2.3.2
Préhension
La structure “Préhension” regroupe toutes les informations concernant la génération de trajectoire et les efforts des effecteurs terminaux de l’hv utilisés dans la loi de commande (tableau
5.6). On retrouve les gains des asservissements de suivis de trajectoire (kp , µp ), les informations
de position courante et de consigne de chaque effecteur.
On illustre le fonctionnement de cette structure dans le cas où l’hv a pour consigne de saisir
une prise. Pour atteindre une prise, il faut s’assurer que les accélérations de contacts de la main
ne sont pas contraintes dans la loi de commande. On retrouve ces informations dans le champs
“n˚contact ”. Il faut activer la contrainte sur l’accélération de l’effecteur terminal (ActifṪ ). Les
consigne
consigne
consignes de positions et de vitesses se situent dans les champs Hp/scène et Vp/scène . Enfin,
lorsque l’hv a atteint sa cible et que sa main saisit la prise, il peut y exercer un effort (ActifWp ).
Les informations concernant les efforts de préhension désirés et maximaux se retrouvent respectivement dans les champs Wdes
et Wmax
p
p .
Champs
Description
Exemple
Nom
Nom de l’effecteur
’main gauche’ . . .
Préhension
Identification de l’effecteur sur la structure arborescente du robot hv
[n˚rb , n˚br , n˚bd , n˚sh ]
Env.
Identification de la prise sur la structure arborescente du robot environnement
[n˚rb , n˚br , n˚bd , n˚sh ]
n˚contact
Numéros des contacts de la structure “Contact”
située sur cet effecteur
[1, 2, 3]
ActifṪ
Désactiver/Activer la contrainte sur l’accélération de l’effecteur terminal
booléen
ActifWp
Désactiver/Activer le calcul d’un effort de préhension dans la loi de commande
booléen
Actifms
Wp
Désactiver/Activer le calcul d’un effort de préhension pour la détermination CdM de consigne
(fonction marge de stabilité)
booléen
Actifve
Numéro de la liaison visco-élastique dans la simulation, 0 si elle n’est pas activée
0, 1, 2 . . .
Hp/scène
Repère de préhension exprimé dans le repère
scène
Hp/scène ∈ SE(3)
Hp/scène
Repère de préhension de référence dans le repère
scène
consigne
Hp/scène
∈ SE(3)
Hfin
p/scène
Repère de préhension final à atteindre dans le
repère scène
fin
Hp/scène
∈ SE(3)
Repère de préhension exprimé par rapport au
repère du corps de préhension
géométrie
Hp/bd
∈ SE(3)
consigne
géométrie
Hp/bd
87
CHAPITRE 5. GESTION DE TÂCHES
Vitesse de préhension (réelle)
Vp/scène ∈ R6
Vp/scène
Vitesse de préhension de consigne
consigne
Vp/scène
∈ R6
V̇p/scène
Accélération de préhension calculée par la loi de
commande
V̇p/scène ∈ R6
V̇p/scène
Accélération de préhension de consigne
consigne
∈ R6
V̇p/scène
(kp , µp )
Raideur et amortissement du correcteur PD de
l’accélération de l’effecteur
kp et µp ∈ M6,6 (R), symétrique définie positive
Wp
Effort de préhension calculé par la loi de commande
W p ∈ R6
Wdes
p
Effort de préhension désiré (sortie de marge de
stabilité, entrée de loi de commande)
Wpdes ∈ R6
Wms
p
Effort de préhension de consigne (entrée de
marge de stabilité)
Wpms ∈ R6
Wmax
p
Effort de préhension maximal dans marge de stabilité et loi de commande
[80; 80; 80; 40; 40; 40]
Wsat
p
Effort de préhension limite au-delà duquel la liaison visco-élastique est rompue dans le simulateur
1.5 Wpmax
Masse
Masse de l’objet à compenser (cas d’une saisie
d’objet)
10 kg
QWp
Poids du critère concernant l’effort de préhension
dans le calcul des couples d’actionnement
QWp ∈ M6,6 (R), symétrique définie positive
QWdes
p
Poids du critère concernant l’effort de préhension
dans le calcul du CdM de consigne (marge de
stabilité)
Qdes
Wp ∈ M6,6 (R), symétrique définie positive
Vp/scène
consigne
consigne
Table 5.6: Champs de base de la structure “Préhension”.
5.3
5.3.1
Gestion des priorités
Présentation
La gestion des priorités entre les tâches (souvent conflictuelles) fait toujours l’objet de nombreuses recherches. La méthode la plus souvent utilisée est celle des projecteurs. Elle peut être
utilisée dans une méthode de type “couple calculé” [SK04] ou dans le critère d’optimisation dans
le cas d’une méthode d’optimisation sous contraintes [BSB06].
Dans la construction du critère à optimiser, un poids est affecté à chaque tâche en fonction
de son importance. Par exemple, la réalisation de la tâche “atteindre le CdM de consigne” est
88
5.3. GESTION DES PRIORITÉS
prioritaire par rapport à la tâche “atteindre la posture de référence”. Mais on obtient une solution
moyenne qui ne permet pas d’avoir la certitude que la tâche la plus prioritaire est parfaitement
réalisée. Une autre méthode est de ne pas traiter la tâche la plus prioritaire comme un critère à
optimiser mais comme une contrainte. C’est l’option adoptée jusqu’à présent pour la commande
du mouvement des effecteurs terminaux. Cette méthode a des limites :
– l’équilibre n’est pas garanti car l’atteinte du CdM de consigne n’est pas prioritaire ;
– la consigne de l’effecteur terminal n’est pas nécessairement réalisable. Traitée comme une
contrainte égalité, il n’existe pas forcément de solution satisfaisant toutes les contraintes
du problème d’optimisation quadratique.
On propose ici de traiter toutes les tâches dans le critère d’optimisation (atteindre le CdM
de consigne, mouvement des effecteurs terminaux, atteindre la posture de référence). Pour gérer
les priorités entre les tâches, une approche alternative est présentée. Il s’agit d’une méthode numérique basée sur la résolution d’une succession de problème d’optimisation quadratique.
Un premier QP est formulé et résolu pour la tâche la plus prioritaire. La solution ne réalise
peut-être pas complètement la tâche mais s’en approche du mieux possible. La solution obtenue
pour le premier critère est transformée en contrainte pour un second QP qui optimise un critère
relatif à une tâche secondaire. On procède itérativement tant que le problème d’optimisation
quadratique n’est pas surcontraint.
Par rapport à la méthode “tout optimisation”, cette approche permet de hiérarchiser efficacement les tâches. C’est une méthode équivalente à l’utilisation de projecteurs pour construire
le critère à optimiser.
Ce principe est illustré par la suite à travers un exemple de gestion de priorité entre trois
tâches.
5.3.2
Mise en œuvre
On rappelle que dans notre loi de commande multi-objectifs, l’équilibre est toujours prioritaire
sur les autres tâches. Dans l’exemple proposé, on souhaite que l’hv touche un objet matérialisé
par une sphère rouge, en conservant l’état de ses interactions. Cette tâche est impossible à réaliser
sans perdre l’équilibre. Les trois tâches constituant le critère multi-objectifs sont :
– tâche 1 : garder l’équilibre – atteindre la position du CdM de consigne ;
– tâche 2 : toucher une cible matérialisée par une sphère avec la main gauche ;
– tâche 3 : ne pas s’éloigner d’une posture de référence – atteindre la posture initiale.
La construction des trois problèmes successifs d’optimisation quadratique est présentée dans
la figure 5.4. Les résultats de cette loi de commande sont présentés sur les figures 5.5.
Une première simulation est effectuée en traitant la tâche 2 “toucher la cible” comme la tâche
la plus prioritaire. La figure 5.5(a) illustre le résultat de cette loi de commande : l’hv atteint sa
cible au détriment de son équilibre.
La tâche 1 “garder l’équilibre” est dorénavant la tâche la plus prioritaire. Dans un premier
temps, les butées articulaires ne sont pas prises en compte. Le résultat de cette commande est
présenté sur la figure 5.5(b). En bout de course, l’accélération désirée de la main est non nulle
car il existe une erreur non nulle en position. Plusieurs solutions sont possibles pour éviter les
oscillations de la main : augmenter le poids de τ des , filtrer la solution.
89
CHAPITRE 5. GESTION DE TÂCHES
(a) Priorité à l’atteinte de la sphère :
perte d’équilibre.
(b) Priorité à la conservation du
CdM sans les butées. articulaires
(c) Priorité à la conservation du
CdM avec les butées articulaires.
Figure 5.4 – Gestion de trois tâches à priorité décroissante.
90
Figure 5.5 – Différents ordres
de priorité entre les tâches de
conservation du CdM, de posture et d’atteinte de la sphère
avec la main gauche.
5.4. TÂCHES DE MANUTENTION
Enfin, les butées articulaires sont introduites et le résultat est présenté sur la figure 5.5(c).
Une fois le mouvement de la main bloqué par les butées articulaires, il se peut que l’on ne trouve
pas de solution au problème d’optimisation quadratique. Dans ce cas, on change la consigne
de la main qui devient la position courante de la main. Cette approche permet de stabiliser le
mouvement et d’obtenir une posture beaucoup plus réaliste car les butées articulaires sont prises
en compte.
5.4
5.4.1
Tâches de manutention
Présentation du problème
(a) Déplacer une boîte.
(b) Pousser une armoire.
Figure 5.6 – Humain virtuel manutentionnaire.
Les tâches de manutention ont été mises en œuvre par Chau-Thuan Huynh [Huy08], dans
le cadre de son stage de fin d’études. En s’appuyant sur la commande exposée aux chapitres 3 et
4 ainsi que sur les possibilités d’action de l’hv présentées en début de ce chapitre, C.T. Huynh
s’est intéressé à la commande d’hv manipulant des objets. Il s’est appliqué à commander un
hv manutentionnaire qui déplace des charges lourdes plus ou moins guidées ou portées dans un
monde virtuel industriel complexe.
On calcule les efforts que les mains de l’hv doivent appliquer sur l’objet pour réaliser le
mouvement souhaité à l’aide de l’équation de la dynamique de l’objet (§ 5.4.2, équation 5.1). De
plus, il faut prendre en compte le non-glissement des contacts. Un problème d’optimisation sous
contraintes est alors résolu avec pour inconnue les efforts que les mains de l’hv appliquent sur
l’objet. Ces efforts deviennent alors des consignes pour la commande de l’hv (figure 5.7). Tout
d’abord, le CdM de consigne, équilibré en statique, est calculé en tenant compte de l’objet manipulé (chapitre 3). De plus, dans le calcul des couples articulaires, les efforts de contact désirés
des mains sont les efforts précédemment calculés. On leur affecte une priorité importante pour
être réalisés dans le QP.
Deux tâches de manutentionnaires ont été traitées. La première consiste à déplacer une boîte
sur une table (figure 5.6(a)). La seconde tâche consiste à pousser une armoire (figure 5.6(b)).
Dans les deux cas, l’hv contrôle la position de l’objet dans l’environnement. Les dimensions et la
localisation des prises sur l’objet sont connues de l’hv. Il adapte sa posture et surtout la position
91
CHAPITRE 5. GESTION DE TÂCHES
de son CdM automatiquement pour pouvoir compenser les efforts produits sur l’objet sans perdre
l’équilibre.
Figure 5.7 – Schéma-bloc décrivant la manipulation d’une boîte.
5.4.2
Synthèse des efforts de manutention
Pour assurer le bon déroulement d’une tâche de manipulation, un soin particulier doit être
apporté au calcul des consignes en efforts au niveau de l’interface entre les effecteurs terminaux
de l’hv manutentionnaire et l’objet manipulé. En effet, ce sont principalement ces efforts, avec
la gravité, qui déterminent le mouvement de l’objet manipulé, et donc la réussite ou non de la
manipulation.
La relation entre le mouvement de l’objet et les efforts de contact qui lui sont appliqués est
l’équation de la dynamique de l’objet :
(5.1)
M̃box V̇box − G + Nbox Tbox = Wc→box + Wautres contacts→box
Dans cette équation, V̇box est le torseur cinématique absolu de l’objet et Wc→box est le torseur
résultant des efforts de contact de l’hv sur l’objet. Ces deux torseurs, ainsi que G et la matrice
d’inertie généralisée M̃box , sont exprimés dans le repère propre de l’objet. Wautres contacts→box
désigne le torseur des autres efforts de contact appliqué sur la box. Ils sont connus dans cette
équation.
Le torseur résultant des efforts de contact s’exprime en fonction des efforts fc (1), . . . , fc (nc )
appliqués à la surface de l’objet : si on suppose, comme d’habitude, que ces efforts sont écrits
dans leurs repères de contact c1 , . . . , cnc respectifs, et en notant box le repère de l’objet, on peut
écrire :
Wc→box =
nc
X
box
Ad−t
ci
i=1
avec
box Ad−t
ci
la matrice co-adjointe de
box
Ad−t
ci
=
box H
ci ,
fc (i)
03,1
(5.2)
dont on rappelle l’expression :
box R
[rbox,ci ]
92
ci
box R
ci
03,3
box R
ci
(5.3)
5.4. TÂCHES DE MANUTENTION
L’équation 5.2 se ré-écrit donc :
Wc→box =
box R
[rbox,c1 ]
c1
box R
c1
= Cct fc
box R
... cnc
. . . rbox,cnc box Rcnc


fc (1)


..


.
fc (nc )
(5.4)
Dans le domaine de l’étude de la manipulation robotique, la matrice Cct est appelée “matrice
de préhension”. En utilisant (5.1) et (5.4), on trouve donc la relation entre le mouvement de
l’objet et les causes de ce mouvement, fc :
M̃box
V̇box − G + Nbox Tbox = Cct fc + Wautres contacts→box
(5.5)
des . Il faut donc dans
C’est fc que l’on cherche, pour produire un certain mouvement désiré V̇box
un premier temps spécifier le mouvement désiré (§ 5.4.2.1) puis dans un deuxième temps utiliser
l’équation 5.5 pour en déduire les forces de contact adéquates à appliquer, fcconsigne (§ 5.4.2.2).
Ces forces de contact sont ensuite traitées comme des consignes à atteindre au mieux dans le
calcul de la commande de l’hv.
5.4.2.1
Mouvement désiré
Le mouvement désiré de l’objet manipulé par l’hv est spécifié par l’utilisateur sous la forme
d’une consigne de position dans SE(3) (position et orientation) et d’une consigne de vitesse dans
se(3) (vitesse de translation et de rotation) :
des
Hbox
=
des
des
Rbox
rbox
01,3
1
des
∈ se(3)
Vbox
∈ SE(3)
Ces consignes identifient soit un état final à atteindre dans SE(3) × se(3) pour l’objet, soit
une trajectoire à suivre dans le même espace. Les écarts entre le mouvement et le mouvement
désiré sont donc :
∆Xbox =
−1
des − r
rbox
Rbox
box
∆Rbox
et
avec
[∆Rbox ] =
1 des t
t
des
Rbox Rbox − Rbox
Rbox
2
(5.6)
des
∆Vbox = Vbox
− Vbox
−1
La matrice Rbox
apparaissant dans l’expression de ∆Xbox est nécessaire car les vecteurs rbox
des
et rbox sont exprimés dans le repère de référence. Les trois autres écarts sont exprimés dans
le repère propre à l’objet, repère dans lequel s’exprime également l’accélération du mouvement
des :
désiré, V̇box
des
V̇box
= kbox ∆Xbox + µbox ∆Vbox
(5.7)
On asservit en effet le mouvement de l’objet manipulé sur les consignes dans SE(3) × se(3) à
l’aide d’un correcteur proportionnel-dérivé.
93
CHAPITRE 5. GESTION DE TÂCHES
5.4.2.2
Forces de contact de consigne
des de l’objet induit, avec l’équation 5.1, un torseur d’efforts de contact
Le mouvement désiré V̇box
désiré selon :
des
Wc→box
= M̃box
des
− G + Nbox Tbox − Wautres contacts→box
V̇box
(5.8)
Si ce torseur est effectivement appliqué à l’objet, l’équation 5.1 assure que l’objet adopte
des , spécifiée au paragraphe précédent. En effet, si W des
l’accélération V̇box = V̇box
c→box = Wc→box , à
des
des car M̃
l’aide des équations 5.1 et 5.8, on obtient M̃box V̇box = M̃box V̇box soit V̇box = V̇box
box est
inversible.
des
= Wc→box . Comme les contraintes de nonL’objectif est de trouver les fc telles que Wc→box
glissement portent sur les forces de contact fc , on ne peut pas simplement calculer une pseudo
des n’est pas forcément atteignable. C’est pourquoi une
inverse de Cct . De plus, la trajectoire V̇box
des
et
méthode d’optimisation est mise en œuvre. On cherche à minimiser l’écart entre Wc→box
Wc→box ; les inconnues recherchées sont les efforts de contact, fc :
1
1 t
des
2
t
arg min kWc→box − Wc→box kQbox = arg min Wc→box
Qbox Wc→box + Wc→box
rbox
2
2
fc
fc
(5.9)
des
avec rbox = −Qbox Wc→box
, et d’après l’équation 5.4 :
1 t
1
des
2
t
Qbox Wc→box + Wc→box
rbox
arg min kWc→box − Wc→box kQbox = arg min Wc→box
2
2
fc
fc
avec
Qbox = Cc Qbox Cct
(5.10)
des
rbox = Cc rbox = −Cc Qbox Wc→box
et
Au final, pour calculer les efforts de contact fc qui produisent le mouvement de manutention
des , on minimise le critère précédent sous les contraintes de non-glissement des forces
souhaité, V̇box
de contact :
(
5.4.3
t
t
Qbox Wc→box + Wc→box
rbox
arg min 12 Wc→box
fc
Ec fc + dc ≥ 0
(5.11)
Les différentes étapes de la commande
Dans cette section, on détaille les différentes phases de la commande (figure 5.8). Il s’agit
d’un schéma séquentiel des différentes étapes de la commande de l’hv. Chaque étape débute une
fois la précédente terminée.
Étape 1 – établissement des prises : l’utilisateur spécifie les positions de consigne des
mains sur l’objet, par exemple, au milieu de deux faces opposées de la boîte. En utilisant l’action
“Génération de trajectoire” (§ 5.2.2.1), les mains atteignent les positions des prises sur les objets.
Étape 2 – activation des contacts : on active la prise en compte des contacts de la main
dans la loi de commande. On utilise l’action “Appuyer sur l’environnement” (§ 5.2.2.3). La loi
de commande peut calculer des efforts à appliquer sur l’objet.
94
5.4. TÂCHES DE MANUTENTION
Figure 5.8 – Déroulement des tâches de manutention.
Figure 5.9 – Équilibre de la boîte.
95
CHAPITRE 5. GESTION DE TÂCHES
Étape 3 – appuyer / saisir : on s’intéresse au calcul des efforts des mains sur l’objet,
avant de déplacer celui-ci. Du point de vue de la commande, une méthode consiste à augmenter
progressivement la masse de l’objet.
Mtcourant = Mbox
tcourant − tdébut de tâche
tfin de tâche − tdébut de tâche
(5.12)
Il faut considérer le frottement sec des contacts. Si l’objectif consiste à soulever un objet,
on calcule l’effort tangent nécessaire (figure 5.9). Le non-glissement du contact impose d’exercer
un certain effort normal de serrage. Si l’objectif consiste à pousser un objet, on calcule l’effort
normal nécessaire (figure 5.10). Il faut dans ce cas prendre en compte le frottement entre l’objet
et le sol.
Les efforts entre les mains et l’objet interviennent dans le bilan des efforts s’appliquant à
l’hv. En effet, on considère, dans le calcul du CdM de consigne, des efforts de contact désirés des
mains sur l’objet. Par exemple, en tentant progressivement de soulever une boîte située devant
lui, la position du CdM de consigne calculée recule afin de garantir l’équilibre statique de l’hv.
En poussant une armoire, la position du CdM doit avancer vers l’objet.
Étape 4 – déplacer l’objet : il s’agit de l’étape principale de la manutention. Elle s’appuie
sur le bilan des efforts s’exerçant sur l’objet (§ 5.4.2.2). La donnée d’entrée de cette étape est
le mouvement de l’objet désiré par l’utilisateur. À partir de l’accélération désirée, les efforts
nécessaires de la main sur l’objet pour réaliser le mouvement souhaité, sont déterminés. Ces
efforts entre les mains et l’objet étant pris en compte dans le calcul du CdM de consigne, on est
assuré que l’hv conserve son équilibre. L’objectif de la commande d’hv est double : appliquer
les efforts de contact de consigne et atteindre la position du CdM de consigne. On joue sur les
priorités du critère d’optimisation pour atteindre ces objectifs.
Étape 5 – relâcher l’objet : une fois que l’objet a atteint sa position finale, on relâche les
efforts que l’hv applique sur l’objet. C’est le processus inverse de l’étape 3.
Étape 6 – désactiver les contacts : on désactive la prise en compte des contacts de la main
dans la loi de commande. On utilise l’action “Appuyer sur l’environnement” (§ 5.2.2.3).
Figure 5.10 – Équilibre de l’armoire.
96
5.4. TÂCHES DE MANUTENTION
Étape 7 – s’éloigner des prises : on utilise l’action “Génération de trajectoire” (§ 5.2.2.1)
pour relacher les contraintes sur l’accélération des mains. L’hv retrouve alors sa posture de
départ.
97
CHAPITRE
6
Validations
e chapitre confronte la simulation et l’expérimentation sur des cas simples. Des campagnes
C d’essais sur 4 sujets volontaires ont été réalisées à l’ inrs. Une partie des essais a pour objectif d’étudier et de comparer les postures adoptées à partir de consignes par les sujets et par
l’ hv. Une autre partie a pour objectif d’étudier et de comparer les réflexes des sujets et de l’ hv.
En tout, 4 type d’essais ont été effectués.
Des capteurs d’efforts sont placées à chacune des interactions du sujet avec l’environnement :
pieds et mains. Les mouvements des sujets sont également capturés. On effectue une reconstruction de mouvement afin de passer des coordonnées des marqueurs aux coordonnées articulaires
du mannequin virtuel.
Les conditions des essais sont simulées : la disposition de l’environnement ainsi que les mouvements du sol sont reproduits à l’identique en simulation. Le comportement de l’ hv est généré à
l’aide des lois de commande précédemment présentées. L’ hv est entièrement autonome et n’utilise aucune donnée expérimentale.
Enfin, les résultats issus des expérimentations sont confrontés aux résultats des simulations.
On compare en particulier l’évolution du CdM et les efforts d’interactions. L’expérimentation
nous permet d’ajuster les paramètres de la loi de commande pour que le comportement de l’ hv se
rapproche de celui des sujets. On trouve ainsi des valeurs physiques pour ces paramètres, jusqu’à
présent fixés arbitrairement.
Ce travail constitue une première étape de validation. Outre les résultats des confrontations
calculs/essais, il illustre une démarche complète de validation biomécanique qui peut être étendue
à d’autre cas de simulation, dans le cadre de recherches ultérieures.
99
CHAPITRE 6. VALIDATIONS
Sommaire
6.1
Matériels et méthodes . . . . . . . . . . . . . . . . . .
6.1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.2 Instrumentation . . . . . . . . . . . . . . . . . . . . .
6.1.3 Sujets . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.4 Description des essais . . . . . . . . . . . . . . . . . .
6.1.4.1 Essai 01 : consigne en effort . . . . . . . . . .
6.1.4.2 Essai 02 : perturbation latérale du support .
6.1.4.3 Essai 03 : atteindre une cible . . . . . . . . .
6.1.4.4 Essai 04 : perturbation latérale du support et
6.1.5 Pré-traitements . . . . . . . . . . . . . . . . . . . . . .
6.1.5.1 Synchronisation . . . . . . . . . . . . . . . .
6.1.5.2 Capture de mouvements viconr . . . . . . .
6.1.5.3 Plate-forme d’efforts . . . . . . . . . . . . . .
6.2 Résultats et discussions . . . . . . . . . . . . . . . . . .
6.2.1 Mise en œuvre des simulations . . . . . . . . . . . . .
6.2.2 Classification des résultats . . . . . . . . . . . . . . . .
6.2.3 Essai 01 . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.3.1 Préliminaires . . . . . . . . . . . . . . . . . .
6.2.3.2 Comparaison CdM . . . . . . . . . . . . . . .
6.2.3.3 Comparaison des efforts . . . . . . . . . . . .
6.2.3.4 Bilan . . . . . . . . . . . . . . . . . . . . . .
6.2.4 Essai 02 . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.4.1 Préliminaires . . . . . . . . . . . . . . . . . .
6.2.4.2 Comparaison CdM . . . . . . . . . . . . . . .
6.2.4.3 Comparaison des efforts . . . . . . . . . . . .
6.2.4.4 Bilan . . . . . . . . . . . . . . . . . . . . . .
6.2.5 Essai 03 . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.5.1 Analyse des résultats . . . . . . . . . . . . .
6.2.5.2 Comparaison des efforts . . . . . . . . . . . .
6.2.5.3 Bilan . . . . . . . . . . . . . . . . . . . . . .
6.2.6 Essai 04 . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.6.1 Analyse des résultats . . . . . . . . . . . . .
6.2.6.2 Comparaison CdM . . . . . . . . . . . . . . .
6.2.6.3 Comparaison des efforts . . . . . . . . . . . .
6.2.6.4 Bilan . . . . . . . . . . . . . . . . . . . . . .
6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . .
100
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
préhension . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
101
101
101
102
102
102
103
104
104
105
105
105
106
106
106
106
107
107
107
109
109
109
109
110
110
110
113
113
114
115
115
115
117
117
117
117
6.1. MATÉRIELS ET MÉTHODES
6.1
6.1.1
Matériels et méthodes
Objectifs
Quatre essais ont été réalisés sur des sujets humains pour confronter l’expérience aux simulations. Afin de minimiser la variabilité inhérente au comportement humain, on s’est intéressé
à des cas simples, délimité par le protocole d’expérience. Pendant ces essais, les déplacements
des sujets et les efforts qu’ils appliquent sur l’environnement ont été mesurés. Chaque essai a été
réalisé trois fois par chaque volontaire pour tenir compte des dispersions souvent importantes
dans le domaine biomécanique.
La loi de commande contient de nombreux paramètres d’asservissements qu’il est difficile de
quantifier. L’intérêt de confronter ce modèle de comportement à la réalité est aussi d’ajuster ces
asservissements.
6.1.2
Instrumentation
(a) Capteur ati.
(b) Système viconr .
(c) Banc vibratoire.
Figure 6.1 – Instrumentation de la campagne d’essais.
Les équipements se situent dans le laboratoire inrs/msmp 1 . Les efforts entre le sujet et
l’environnement sont mesurés à l’aide de capteurs ati (figure 6.1(a)) :
– interactions pieds : 2 capteurs Delta SI 660-60 (FXmax = FYmax = 660 N ; FZmax = 1980 N ;
C max = 60 N.m−1 ) ;
– interaction main : 1 capteur Delta SI 1500-240 (FXmax = FYmax = 1500 N ; FZmax = 3750 N ;
C max = 240 N.m−1 ).
Les déplacements du sujet sont mesurés à l’aide du système de capture de mouvement viconr
(figure 6.1(b)). La reconstruction du mouvement permet d’obtenir les coordonnées articulaires
de l’hv aux dimensions du sujet. Enfin, les perturbations du sol sont provoquées par un banc
vibratoire (figure 6.1(c)) en régime transitoire. Après plusieurs essais, un profil de perturbation
de 15 cm d’amplitude a été retenu (figure 6.3). Les fréquences d’échantillonnage des mesures sont
données dans le tableau 6.1.
1. msmp : Modélisation des Systèmes Mécaniques et de Prévention à Vandœuvre
101
CHAPITRE 6. VALIDATIONS
Système de
mesure
capteur d’efforts
caméra viconr
caméra vidéo
Période d’
échantillonage
0.01 s
0.01 s
0.04 s
Nbr
3
6
1
Table 6.1 – Systèmes de mesure.
Nom du
sujet
alexandre
cyrille
jonathan
laurent
N˚ du
sujet
1
2
3
4
moyenne
Masse
(kg)
77
75
80
75
76.75
Taille
(m)
1.83
1.86
1.89
1.77
1.84
Table 6.3 – Déplacement du banc vibratoire
lors des essais 02 et 04.
Posture
Réflexe
Table 6.2 – Masses et tailles des sujets.
6.1.3
Sans
préhension
Essai 01
Essai 02
Avec
préhension
Essai 03
Essai 04
Table 6.4 – Objectifs de chaque essai.
Sujets
Quatre hommes, âgés de 25 à 40 ans, ont réalisé l’ensemble des 4 essais. La masse et la taille
des sujets sont indiqués dans le tableau 6.2.
6.1.4
Description des essais
Chaque essai a été effectué 3 fois par les 4 volontaires. La moitié des essais a pour but de
caractériser une posture donnée, par les forces d’interaction entre le sujet et son environnement.
L’autre moitié sert à mettre en évidence un comportement réflexe suite à une perturbation. Le
traitement de la préhension étant un des points clés de la loi de commande, la moitié des essais
met en jeu une prise pour le maintien de l’équilibre. L’objectif de chaque essai est résumé dans
le tableau 6.4. Lors des essais 02 et 04, le banc vibratoire exécute une translation en suivant le
profil de la figure 6.3.
6.1.4.1
Essai 01 : consigne en effort
Dans l’essai 01 (figure 6.2), le sujet est en position debout, une main contre un appui vertical.
Au début de l’essai, il n’applique aucun effort sur ce support. Il a pour objectif d’appliquer un
effort de consigne à l’aide de sa main gauche. Un oscilloscope, placé en face du sujet, lui indique
à chaque instant l’effort qu’il exerce sur ce support. La consigne de force de 120 N est aussi
indiquée sur l’oscilloscope. Pour atteindre cette consigne, tout en gardant les deux pieds au sol,
le sujet doit s’avancer pour garder son équilibre, qui dans ce cas, peut être considéré comme
statique. Il a pour objectif d’atteindre cette consigne en quelques secondes (environs 5 s).
Cet essai permet de connaître la validité du calcul de CdM de consigne ainsi que la validité
de la gestion de la redondance. Dans le chapitre 3, la position du CdM de consigne stable est
calculée pour une configuration de contact connue et des efforts de contact désirés (§ 3.2). En
simulation, il s’agit d’imposer des efforts de contact au niveau de la main identiques aux efforts
102
6.1. MATÉRIELS ET MÉTHODES
(a) Sujet
(b) Reconstruction
Figure 6.2 – Essai 01 : consigne en effort sur la main gauche.
mesurés, pour observer la posture automatiquement adoptée par l’hv. On peut donc comparer la
position du CdM, la posture globale et les efforts d’interaction, notamment au niveau des pieds.
6.1.4.2
Essai 02 : perturbation latérale du support
(a) Sujet
(b) Reconstruction
Figure 6.3 – Essai 02 : perturbation du sujet dans le plan sagittal.
Dans l’essai 02 (figure 6.3), le sujet est debout sur le banc vibratoire, les deux bras le long
du corps. Le banc se translate avant d’arriver en butée et de s’arrêter brutalement. Le sujet est
perturbé dans le plan sagittal. Il connaît la direction de la perturbation, ce qui influence son
comportement. Cependant, il ne sait pas précisément quand celle-ci va se produire. Toutes les
mesures ont été prises pour limiter les risques de chute de plain-pied : limitation des accélérations, déplacement raisonnable du sol, encadrement du sujet.
Cet essai permet d’évaluer sur un cas simple le comportement réflexe de l’hv suite à une
perturbation. L’expérimentation permet d’ajuster les paramètres de la loi de commande tel que
le suivi du CdM de consigne, jusqu’alors défini arbitrairement. Un recalage est donc possible
pour obtenir un temps de réponse à une perturbation et un retour à l’équilibre plus réaliste de
l’hv.
103
CHAPITRE 6. VALIDATIONS
6.1.4.3
Essai 03 : atteindre une cible
(a) Sujet
(b) Reconstruction
Figure 6.4 – Essai 03 : atteindre une cible en s’aidant d’une prise.
Dans l’essai 03 (figure 6.4), le sujet est en position debout. Il ne doit pas déplacer ses pieds.
Son objectif est de saisir avec sa main droite une balle située de son côté droit, en arrière. Celleci est trop éloignée pour être atteinte directement sous peine de perdre l’équilibre. Il saisit une
prise avec sa main gauche située devant lui, sur sa gauche. En s’aidant de celle-ci, il peut alors
se pencher pour atteindre la balle, tout en gardant son équilibre.
Comme dans l’essai 01, il s’agit principalement de comparer les efforts d’interaction une fois
l’objectif réalisé. Un problème se pose en simulation : générer le CdM de consigne sans connaître
la consigne d’effort de la main gauche. Dans un premier temps, on peut contourner ce problème en
utilisant comme donnée d’entrée de la simulation, la posture finale obtenue par la reconstruction
du mouvement. L’intérêt de cet essai réside alors uniquement dans la comparaison des efforts
d’interaction et enlève partiellement à la méthode ses propriétés de gestion autonome. Une autre
solution est de laisser le CdM de consigne au dessus des pieds. Le CdM réel s’en éloigne pour
permettre à la main gauche d’atteindre la cible, ce qui est traité comme une contrainte alors que
la position du CdM est uniquement une consigne, qu’il n’est pas obligatoire de satisfaire.
6.1.4.4
Essai 04 : perturbation latérale du support et préhension
Dans l’essai 04 (figure 6.5), le sujet est debout sur le banc vibratoire. Il saisit une prise avec
sa main droite qui l’aide à garder son équilibre. Il s’agit alors du même protocole que dans l’essai
02. Le banc se translate avant d’arriver en butée et de s’arrêter brutalement. Le sujet est perturbé dans le plan sagittal. Comme dans l’essai 02, on ajuste les asservissements et priorités de
l’algorithme de résolution du problème quadratique.
D’autre part, on a observé dès les premiers essais que l’utilisation de la prise évolue considérablement au cours des essais chez un même sujet. Dans le premier essai, le sujet, probablement
par appréhension, s’accroche de toutes ses forces à la prise pour conserver son équilibre. Dans
les essais suivants, l’effort appliqué sur la prise diminue et est mieux réparti sur les pieds. Il est
intéressant de comparer les essais 02 et 04.
104
6.1. MATÉRIELS ET MÉTHODES
(a) Sujet
(b) Reconstruction
Figure 6.5 – Essai 04 : perturbation du sujet s’aidant d’une prise dans le plan sagittal.
6.1.5
6.1.5.1
Pré-traitements
Synchronisation
Les mesures de forces, mouvements et vidéos ont été synchronisées à l’aide d’un signal choc
initial sur un des capteur ati, avec un marteau équipé de mires viconr .
6.1.5.2
Capture de mouvements viconr
Figure 6.6 – Processus de reconstruction de mouvements de l’hv à partir des données viconr .
Un marqueur doit être visible par au moins deux caméras pour permettre la détermination
de ses 3 composantes spatiales. Au cours de la mesure, certains marqueurs peuvent être occultés quelques instants. Il faut alors les reconnaître lorsqu’ils apparaissent à nouveau. Une fois
la mesure terminée, une étape de numérotation des marqueurs capturés est nécessaire. À la fin
de cette étape, tous les marqueurs sont identifiés mais certaines acquisitions peuvent manquer
suite à des occultations des mires. On réalise alors une interpolation pour obtenir les échantillons
temporels manquants. D’autre part, un filtrage peut être effectué pour atténuer le bruit dû aux
imprécisions de mesures.
105
CHAPITRE 6. VALIDATIONS
On effectue alors la reconstruction des mouvements capturés sous Arboris. L’hv utilisé pour
cette reconstruction à 36 ddl (données provenant de Humans [INR06]). À partir de la taille et de
la masse des sujets, on calcule un facteur d’échelle qui permet d’obtenir la longueur, la masse et
l’inertie de tous les segments corporels de leur avatar et la position des marqueurs viconr sur
l’hv. Il ne reste plus qu’à faire coïncider les marqueurs de l’hv avec les données capturées pour
chaque instant de l’essai réalisé. On obtient ainsi la position du corps racine ainsi que la configuration articulaire qui permet de définir complètement la posture de l’avatar. Cette opération est
effectuée par un algorithme d’optimisation de type descente de gradient, en pondérant les marqueurs. Les mires sont placées sur des repères anatomiques du sujet. D’un sujet à l’autre, il est
difficile de positionner précisément certaines mires. On affecte un poids différents aux marqueurs
en fonction de la pertinence que l’on accorde à chaque mesure. La solution moyenne obtenue se
rapproche de la configuration des marqueurs mesurée. Cette solution est satisfaisante, notamment au regard de l’exploitation que l’on fait de ces données : la reconstruction de mouvements
est utilisée principalement pour obtenir la position du CdM et une allure de comportement (figure 6.6). Pour alléger la présentation des résultats, les articulations ne sont pas étudiées une à
une.
6.1.5.3
Plate-forme d’efforts
Des plaques ou poignées sont montées sur les capteurs d’effort. Dans les essais 02 et 04, un
essai à vide (sans sujet) est effectué, afin d’obtenir la contribution dynamique des supports aux
efforts mesurés. On retranche par la suite ces efforts à vide sur les essais effectués avec sujet.
6.2
6.2.1
Résultats et discussions
Mise en œuvre des simulations
Le même avatar (masses, dimensions) est utilisé à la fois pour les simulations et pour la
reconstruction du mouvement. L’origine du repère scène de la simulation Arboris est confondue
avec l’origine du repère viconr . L’environnement extérieur (prises, mur) est repéré et modélisé
à l’échelle. Cet environnement intervient dans les calculs comme un robot commandé cinématiquement. Lors des essais 02 et 04, on commande cinématiquement en position et vitesse le sol
afin de reproduire exactement le même mouvement de translation.
Pour chaque essai, on effectue une simulation avec les caratéristiques corporelles de chaque
sujet – soit un total de 16 simulations. Pour chaque simulation, la posture de référence de l’hv est
la posture obtenue par reconstruction de mouvement. Pour chaque série, on choisit une posture
initiale parmi les trois essais disponibles. Chaque simulation correspond donc à une série et peut
être comparée avec les 3 essais effectués au cours de cette série.
6.2.2
Classification des résultats
Essai n˚1
Essai n˚2
Essai n˚3
Simulation n˚1
Simulation n˚2
Figure 6.7 – Légende des couleurs pour les courbes.
Les résultats sont présentés sous forme de courbes. Chaque essai étant réalisé 3 fois par sujet,
on les représente par une couleur bleue de nuance différente. Les résultats des simulations sont
représentés en rouge. Pour les essais 02 et 04, deux simulations sont réalisées avec des paramètres
106
6.2. RÉSULTATS ET DISCUSSIONS
de loi de commande différents. Le code des couleurs employé est détaillé dans la figure 6.7. De
plus, on trace le déplacement du CdM dans l’espace. Sa position initiale sera représentée par une
sphère verte • et sa position finale par une sphère rouge •.
6.2.3
6.2.3.1
Essai 01
Préliminaires
(a) Sujet 01
(b) Sujet 02
(c) Sujet 03
(d) Sujet 04
Figure 6.8 – Essai 01 : comparaison posture finale. Pour chaque sujet, la posture de gauche est
le résultat de la simulation, la posture de droite est obtenue par reconstruction de mouvement.
La position et l’effort de consigne de la main gauche sont fournis comme données d’entrée à
la loi de commande. La main gauche de l’hv suit une trajectoire générée par interpolation pour
atteindre le mur. On active alors les contacts de la main gauche à la fois dans le calcul des couples
articulaires et du CdM de consigne. Dans ce dernier calcul, les forces de contact désirées sont
de 120 N, correspondant ainsi à l’effort de consigne que doit appliquer le sujet sur le mur. Par
conséquent, le CdM de consigne, calculé automatiquement, avance vers le mur. On se contente
d’utiliser le calcul présenté § 3.2. Ce calcul ne prend pas en compte le critère de robustesse. L’hv
adapte sa posture et se penche vers le mur.
Dans la simulation, l’hv remonte les épaules et les bras en s’appuyant sur le mur. Ce phénomène n’a pas été constaté lors des essais (figure 6.8). En s’avançant, les sujets abaissent leur
CdM. Or, ce phénomène naturel n’est pas pris en compte par la commande. La hauteur du CdM
de consigne de l’hv reste constante. En s’avançant, l’hv compense donc en levant les épaules
et les bras. Dans le chapitre 3, la hauteur du CdM n’est pas déterminée automatiquement en
fonction de la configuration des contacts. Une idée est de s’assurer que la distance du CdM au
pied reste constante. Lorsque le CdM avance, il s’abaisserait.
Les sujets appuient progressivement sur le mur jusqu’à atteindre la consigne en effort de
120 N. L’effort de consigne de l’hv est un créneau d’amplitude 120 N. L’implémentation de la
commande permettant à l’hv d’appuyer progressivement sur le mur jusqu’à l’effort de consigne
est laissée en perspective.
6.2.3.2
Comparaison CdM
Le déplacement du CdM de l’hv est comparable à celui des sujets (figure 6.9). Chez les sujets
01 et 03, la position du CdM de simulation est très proche de celle du CdM en pratique. Chez
les sujets 02 et 04, la position mesurée du CdM est plus proche du mur que celle de l’hv. Dans la
simulation, la position du CdM de consigne est calculée automatiquement uniquement à partir
des positions et des efforts de consigne de la main gauche et des pieds. Ces résultats sont donc très
107
CHAPITRE 6. VALIDATIONS
Figure 6.9 – Essai 01 : évolution dans le plan du CdM. Pour le sujet cyrille, deux essais sur
trois sont exploitables. Pour le sujet jonathan, un seul des trois essais est utilisable. Unités : m.
108
6.2. RÉSULTATS ET DISCUSSIONS
satisfaisants car on observe une bonne corrélation de la posture finale entre essai et simulation.
La loi de commande peut donc effectivement prédire la posture à adopter pour appliquer une
consigne désirée. La prise en compte des marges de stabilité pour la détermination du CdM de
consigne pourrait prédire une position plus proche des sujets 02 et 04.
6.2.3.3
Comparaison des efforts
ESSAI 01
Bilan
Efforts (N)
Pied Gauche
−
→
→
−
X
Y
N.
−
→
Z
N.
Pied droit
→
−
→
−
X
Y
−
→
Z
Main Gauche
→
−
→
−
X
Y
N.
−
→
Z
Exp.
+380
+088
+035
-368
+414
+047
-040
-408
+132
+036
+001
-127
Sim.
+385
+085
+036
-374
+379
+048
-023
-374
+118
-004
+002
-118
Table 6.5 – Essai 01 : bilan de comparaison entre expériences et simulations des efforts. On
indique la norme de l’effort (N.) puis les 3 composantes de l’effort.
On observe une bonne corrélation entre les efforts issus de l’expérimentation et de la simulation (tableau 6.5). On relève un écart important des efforts de la main gauche tangents au
→
−
→ −
−
→
mur. L’hv exerce sur le mur un effort très proche de la consigne ( Z ≃ 120 N, X ≃ Y ≃ 0 N).
Les sujets appliquent le bon effort normal mais aussi de manière inconsciente un effort tangent
→
−
( X ≃ 36 N).
6.2.3.4
Bilan
À partir d’un effort de consigne sur la main gauche, la loi de commande permet de prédire
correctement la posture à adopter par l’hv. On observe une bonne adéquation en termes d’efforts
d’interactions et de déplacement du CdM.
Plusieurs modifications de la loi de commande permettraient sans doute d’améliorer l’adéquation du modèle à la réalité :
– gérer la hauteur du CdM de consigne ;
– calculer le CdM de consigne en introduisant un critère de stabilité ;
– introduire progressivement l’effort de consigne de la main gauche.
6.2.4
6.2.4.1
Essai 02
Préliminaires
(a) Sujet 01
(b) Sujet 02
(c) Sujet 03
(d) Sujet 04
Figure 6.10 – Essai 02 : comparaison des postures. Pour chaque sujet, la posture de gauche est
le résultat de la simulation, la posture de droite est obtenue par reconstruction de mouvement.
109
CHAPITRE 6. VALIDATIONS
La posture de référence de l’hv est choisie comme la posture initiale des sujets, obtenue par
reconstruction des mouvements. Lors de l’initialisation de la commande, la répartition des efforts
de consigne des contacts pieds/sol est calculée. Celle-ci permet d’équilibrer le CdM de la posture
de référence. Les sujets ont leur poids réparti plus ou moins sur l’avant des appuis.
Quelques simulations préliminaires montrent que l’asservissement sur le CdM est le facteur
le plus important du comportement de l’hv. Afin d’ajuster la commande de l’hv aux essais sur
sujets, deux simulations ont été réalisées par sujet, avec des asservissements différents concernant
le mouvement du CdM :
– simulation n˚1 : kcdm = 500 N.m−1 , µcdm = 250 N.s.m−1 .kg−1 ;
– simulation n˚2 : kcdm = 500 N.m−1 , µcdm = 100 N.s.m−1 .kg−1 .
La coordination posturale est assez différente entre l’hv et les sujets. Les asservissements et
priorités liés à la posture n’ont pas été recalés. Dans notre validation, on s’est intéressé uniquement au recalage de l’asservissement du CdM. Cet asservissement influence le temps de réponse
du système pour atteindre le CdM de consigne mais aussi le profil des efforts d’interaction de
l’hv avec le sol.
6.2.4.2
Comparaison CdM
On observe des comportements différents d’un sujet à l’autre (figure 6.11), notamment l’évolution postérieure/antérieure du CdM lors de la perturbation. L’hv conserve la même position de
CdM dans l’axe postérieur/antérieur. En ce qui concerne les efforts, au début de l’essai, les sujets
ont tendance à être plus en appui sur l’avant des pieds qu’à la fin de l’essai. Cette reconfiguration
n’est pas constatée dans la simulation.
L’évolution relative latérale du CdM en fonction du temps (figure 6.12) permet d’observer les
temps de réponse des deux asservissements testés en simulation. À raideur égale, l’amortissement
le plus faible donne le temps de réponse le plus court, ce qui peut provoquer la perte d’équilibre
de l’hv. Par exemple, la simulation n˚2 du sujet 03 ne donne pas de retour à l’équilibre. Ceci
est probablement du au fait que le sujet est initialement en appui sur la pointe des pieds, ce qui
diminue la capacité de l’hv à retrouver l’équilibre dans la simulation.
La région délimitée par les 2 simulations englobe (surtout suivant l’axe postérieur/antérieur)
les résultats expérimentaux, ce qui est très satisfaisant. On observe un phénomène d’oscillation
sur les courbes expérimentales, que l’on ne retrouve pas en simulation. Ce phénomène est plus
ou moins atténué d’un sujet à l’autre.
6.2.4.3
Comparaison des efforts
Le pic d’effort lors du déplacement du banc vibratoire est comparable entre simulation et
expérimentation (figures 6.13 et 6.14). On observe un phénomène d’oscillations sur la mesure des
efforts d’interaction du pied gauche et du pied droit avec le sol. La simulation n˚1 a une réponse
trop amortie. Avec la simulation n˚2, on observe une première oscillation suite au pic d’effort
comparable à l’expérimentation. En augmentant la raideur et/ou diminuant l’amortissement,
il est probable que l’on observe d’autres cycles d’oscillations. Cependant, on se heurte à des
problèmes de convergence.
6.2.4.4
Bilan
Les deux simulations englobent la zone des essais aussi bien pour le déplacement du CdM
que pour les efforts d’interactions. La simulation n˚2 permet d’obtenir une réponse plus fidèle à
110
6.2. RÉSULTATS ET DISCUSSIONS
Figure 6.11 – Essai 02 : évolution absolue du CdM dans le plan. Pour le sujet jonathan, l’hv
n’a pas retrouvé l’équilibre dans l’une des deux simulations. Unités : m.
111
CHAPITRE 6. VALIDATIONS
Figure 6.12 – Essai 02 : évolution relative latérale (axe de la perturbation) du CdM en fonction
du temps. La position du CdM est exprimée dans le repère attaché au sol en mouvement.
Figure 6.13 – Essai 02 : évolution de la norme de la force du pied gauche.
112
6.2. RÉSULTATS ET DISCUSSIONS
Figure 6.14 – Essai 02 : évolution de la norme de la force du pied droit.
la réalité.
En perspective, des essais complémentaires et des modifications de la loi de commande permettraient probablement d’améliorer encore la pertinence de notre modélisation :
– tout d’abord, il faut mieux rendre compte du phénomène d’oscillation sur le déplacement
du CdM et les efforts d’interaction. Le corps humain est une structure souple donc oscillante
lorsque elle est soumise à une perturbation ;
– la coordination posturale peut être également améliorée grâce au réglage les gains des
asservissements et priorités des optimisations ;
– enfin, suite à une perturbation, on pourrait redéfinir la position du CdM de consigne dans
l’axe postérieur/antérieur, en s’appuyant sur les marges de stabilité. On améliorerait ainsi
le retour à l’équilibre de l’hv.
6.2.5
6.2.5.1
Essai 03
Analyse des résultats
Une première simulation a été effectuée en spécifiant uniquement les positions de la prise pour
la main gauche et de la cible pour la main droite. Le résultat n’est pas concluant. En simulation,
le CdM s’écarte très peu de sa position initiale (figure 6.6). En termes d’efforts, l’hv utilise très
peu sa main gauche pour se maintenir (tableau 6.7). À l’opposé, les sujets reculent et s’aident
de leur prise avec la main gauche pour atteindre la cible.
Le CdM de consigne n’évolue pas au cours de la simulation. Contrairement à l’essai 01, l’effort
de consigne de la main gauche est inconnu. Cet effort est difficilement quantifiable et dépend
de la posture adoptée par le sujet pour atteindre la cible. Pour ce type de problème, la loi de
113
CHAPITRE 6. VALIDATIONS
Efforts
Pied
Pied
Main
normés
Gauche
Droit
Gauche
Expérience
380
360
155
Simulation
360
380
25
Écart (%)
5
6
84
Table 6.7 – Essai 03 : comparaison entre expériences et simulations des efforts. Norme des
efforts d’interactions appliqués en position finale
en N.
Table 6.6 – Essai 03 : évolution dans le
plan du CdM sans l’indication de position
du CdM finale. Unités : m.
commande est inadaptée. Elle ne permet pas de prédire la posture à adopter et les efforts à
appliquer pour que l’hv atteigne la cible. Pour aller plus loin dans l’expérimentation, on fait une
hypothèse supplémentaire. La position finale du CdM est connue et provient de l’expérimentation.
(a) Sujet 01
(b) Sujet 02
(c) Sujet 03
(d) Sujet 04
Figure 6.15 – Essai 03 : comparaison posture finale. Pour chaque sujet, la posture de gauche est
le résultat de la simulation, la posture de droite est obtenue par reconstruction de mouvement.
En spécifiant la posture initiale et le CdM final, l’évolution du CdM de l’hv est très corrélée avec celles des expérimentations. Les postures finales entre simulations et expérimentations
sont très proches (figure 6.15). La redondance de la posture de l’hv est gérée par la commande.
L’orientation du thorax est actualisée en fonction de la position des effecteurs. Il n’est pertinent que de comparer les efforts, puisque les CdM ont fait l’objet d’une hypothèse qui les rend
“artificiellement” très proches.
6.2.5.2
Comparaison des efforts
ESSAI 03
Bilan
Efforts (N)
Pied Gauche
→
−
→
−
→
−
N.
X
Y
Z
N.
Pied droit
→
−
→
−
X
Y
−
→
Z
Main Gauche
→
−
→
−
−
→
N.
X
Y
Z
Exp.
+349
-093
-052
+331
+379
-016
-046
-375
+128
+034
-072
+089
Sim.
+357
-087
-040
+344
+422
-032
-054
-417
+142
+089
-110
+011
Table 6.8 – Essai 03 : comparaison entre expériences et simulations des efforts. On indique la
norme de l’effort (N.) puis ses 3 composantes. Unité : N.
114
6.2. RÉSULTATS ET DISCUSSIONS
On observe une bonne corrélation au niveau des efforts d’interaction des pieds (tableau 6.8).
Les efforts de la main gauche sont comparables en norme mais pas en direction. La mauvaise
estimation des couples et efforts de préhension de saturation peut être à l’origine de ces différences
entre simulation et expérimentation.
6.2.5.3
Bilan
Notre algorithme de commande ne permet pas de prédire la posture et les efforts d’interaction
pour les tâches d’atteinte de cible. Sans information sur l’effort de consigne à exercer sur la prise,
l’hv a un comportement différent de l’humain. En ajoutant une hypothèse très restrictive sur
la position du CdM final de l’hv, on a comparé les efforts d’interactions. Il y a une mauvaise
corrélation sur les efforts exercés par la main qui tient la prise gauche. L’étude de l’influence de
la saturation des efforts de préhension sur cette corrélation est laissée en perspective.
6.2.6
6.2.6.1
Essai 04
Analyse des résultats
(a) Sujet 01
(b) Sujet 02
(c) Sujet 03
(d) Sujet 04
Figure 6.16 – Essai 04 : comparaison de postures. Pour chaque sujet, la posture de gauche est
le résultat de la simulation, la posture de droite est obtenue par reconstruction de mouvement.
Le dispositif de l’essai 02 est complexifié. On s’intéresse à la réaction simple à une perturbation de l’hv s’aidant d’une prise. Le CdM de consigne est mis à jour en tenant compte de la
position des pieds de l’hv. Les mêmes efforts de contact désirés au niveau des pieds que dans
l’essai 02 sont utilisés. L’effort de préhension désiré est nul.
Comme dans l’essai 02, on réalise deux simulations avec différents gains des asservissements
de la position du CdM :
– simulation n˚1 : kcdm = 500 N.m−1 , µcdm = 250 N.s.m−1 .kg−1 ;
– simulation n˚2 : kcdm = 500 N.m−1 , µcdm = 100 N.s.m−1 .kg−1 .
Ces deux premières simulations montrent une mauvaise corrélation en termes d’efforts d’interaction entre simulation et expérimentations. On étudie alors l’influence d’un paramètre supplémentaire de la loi de commande, la saturation de l’effort de préhension :
– simulation n˚1 : f max = 200 N, mmax = 80 N.m−1 ;
– simulation n˚2 : f max = 050 N, mmax = 20 N.m−1 .
Pour simplifier la présentation, gains et saturations sont étudiés simultanément. L’influence
de chaque paramètre n’est pas exposée.
115
CHAPITRE 6. VALIDATIONS
Figure 6.17 – Essai 04 : évolution absolue du CdM dans le plan. Unités : m.
116
6.3. CONCLUSION
6.2.6.2
Comparaison CdM
D’une part, les comportements sont différents d’un sujet à l’autre (figure 6.17). D’autre part,
on note peu de différences entre les simulations n˚1 et n˚2 en ce qui concerne l’évolution dans
le plan du CdM. Le déplacement simulé du CdM se trouve dans le corridor de variabilité des
résultats expérimentaux.
L’évolution relative latérale du CdM en fonction du temps permet d’observer les temps de
réponse des deux asservissements testés (figure 6.18). Contrairement à l’essai 02, on n’observe
pas d’instabilité dans les simulations. L’hv est soumis à la même perturbation que dans l’essai
02 mais la prise saisie par la main droite améliore sa stabilité.
Suivant l’axe médial/latéral, les 2 simulations sont comparables aux résultats expérimentaux, ce qui est très satisfaisant. On observe un petit phénomène d’oscillation sur les courbes
expérimentales, que l’on ne retrouve pas en simulation.
6.2.6.3
Comparaison des efforts
On trouve des différences importantes entre les deux simulations en termes d’efforts d’interactions (figures 6.19, 6.21 et 6.20). Pour la simulation n˚1, la norme des efforts des pieds reste
pratiquement constante. Ces résultats sont très éloignés de la réalité. La variation d’efforts produite par la perturbation semble se répercuter uniquement sur l’effort exercé par la main droite.
La simulation n˚2, dans laquelle on a diminué la saturation de l’effort de préhension, donne des
résultats plus proches de la réalité. On observe une répartition des efforts d’interactions plus
plausible. L’hv n’utilise pas uniquement sa main droite pour compenser la perturbation mais
aussi ses pieds. En diminuant la saturation de l’effort de préhension, on observe également une
diminution de la norme de l’effort exercé par la main droite sur la prise (figure 6.20). De plus,
l’effort n’est pas exercé dans la même direction.
6.2.6.4
Bilan
À partir de la même posture initiale que les sujets, le comportement de l’hv est proche de
celui des sujets. Les deux simulations permettent d’englober le corridor de variabilité des essais
pour le déplacement du CdM. La simulation n˚2 permet d’obtenir une réponse plus fidèle à la
réalité en terme d’efforts d’interaction.
En perspective, une analyse complémentaire des essais et des modifications de la loi de commande permettraient peut-être d’améliorer l’adéquation de notre loi de commande à la réalité :
– interpréter suivant chaque axe les efforts d’interactions ;
– implémenter une saturation isotrope de l’effort de préhension ;
– étudier l’influence de la saturation des couples d’actionnement.
6.3
Conclusion
Cette étude dresse une première validation et permet un recalage de la loi de commande
(tableau 6.9). Les résultats sont encourageants et ont démontré la grande souplesse d’utilisation
de la loi de commande. L’identification très simple des paramètres clés de la commande a permis d’obtenir rapidement une bonne corrélation entre simulation et expérimentation. Il suffit de
modifier l’asservissement du CdM et de la saturation de l’effort de préhension, c’est à dire deux
paramètres seulement, pour obtenir un recalage satisfaisant en terme de déplacement du CdM
117
CHAPITRE 6. VALIDATIONS
Figure 6.18 – Essai 04 : évolution relative latérale du CdM en fonction du temps. La position
du CdM est exprimée dans le repère attaché au sol en mouvement.
Figure 6.19 – Essai 04 : évolution de la norme de la force du pied gauche.
118
6.3. CONCLUSION
Figure 6.20 – Essai 04 : évolution de la norme de la force du pied droit.
Figure 6.21 – Essai 04 : évolution de la norme de la force de la main droite.
119
CHAPITRE 6. VALIDATIONS
Comparaison simulation /
expérimentation
Numéro de l’essai
Essai 01
Essai 02
Essai 03
Essai 04
Rôle prédictif de la commande
oui
oui
non
oui
Comparaison CdM
oui
oui
-
oui
Comparaison efforts
oui
oui
moyen
oui
Recalage paramètres
-
kcdm , µcdm
-
kcdm , µcdm
fpmax , mmax
p
Table 6.9 – Bilan de la validation.
et d’efforts d’interaction.
Pour ces essais bien définis, on a observé des différences de comportement d’un essai à l’autre
pour un même sujet et entre les sujets. La loi de commande ne permet pas de simuler rigoureusement tous ces comportements, c’est à dire ne permet pas de simuler la variabilité humaine.
Elle donne cependant un comportement globalement comparable à la réalité. La modélisation
des interactions (contact, préhension) est adaptée aux problèmes traités. La loi de commande
donne à l’hv un comportement réflexe pertinent (essai 02 et 04). Elle génère une posture réaliste
à partir d’informations concernant les efforts d’interaction (essai 01).
Une démarche plus complète et approfondie de validation, faisant l’objet en soi d’une thèse,
pourrait être entreprise.
120
CHAPITRE
7
Cariste
es renversements latéraux de chariots de manutention provoquent chaque année de nom-
L breux accidents mortels. La prévention dans ce domaine et le développement de systèmes
de retenue pour les conducteurs est une priorité pour l’ inrs. Comme il n’est pas possible de
reproduire expérimentalement un cas complet réaliste de renversement de chariot avec un sujet
humain pour des problèmes évidents de sécurité, on a recours à des outils de simulation, mais
encore faut-il disposer d’un hv ayant un comportement dynamique réaliste. Ce chapitre présente
les premiers résultats de l’application de la loi de commande présenté dans cette thèse à la problématique du cariste.
Tout d’abord, on présente un bref résumé des campagnes d’essais réalisées à l’ inrs concernant
le renversement latéral du cariste. Deux types de banc d’essais ont été construits avec l’objectif
de fournir des éléments de validation biomécanique représentatifs et utilisables pour un modèle
d’ hv. On dresse un bilan qualitatif des comportements observés sur les sujets.
Puis, le comportement du cariste est simulé en utilisant les lois de commande de l’ hv présentées dans ce mémoire. Les cas de renversement traités sont présentés par ordre croissant de
complexité et de réalisme. On s’appuie sur des cas simples pour expliquer l’influence de certains
paramètres de la simulation et/ou de la commande (coefficient de frottement, effort de préhension maximal, délai). Enfin, plusieurs cas de renversement complet avec un cariste virtuel sont
détaillés.
121
CHAPITRE 7. CARISTE
Sommaire
7.1
Problématique du cariste . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.2 Résultats expérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.2.1 Banc dynamique pour l’étude du virage en J . . . . . . . . . .
7.1.2.2 Banc statique . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.3 Objectifs de la simulation . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Commande du cariste . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Présentation du système . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1.1 Modélisation du chariot . . . . . . . . . . . . . . . . . . . . . .
7.2.1.2 Les différents types de renversement traités . . . . . . . . . . .
7.2.1.3 Stratégies du cariste . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1.4 Paramètres testés . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.2 Renversement simple : simulations . . . . . . . . . . . . . . . . . . . . .
7.2.2.1 Classification des résultats . . . . . . . . . . . . . . . . . . . .
7.2.2.2 Influence du coefficient de frottement et de l’effort de préhension maximal . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.2.3 Influence du délai . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.2.4 Différences entre délai et stratégie . . . . . . . . . . . . . . . .
7.2.3 Renversement statique : simulations . . . . . . . . . . . . . . . . . . . .
7.2.3.1 Classification des résultats . . . . . . . . . . . . . . . . . . . .
7.2.3.2 Influence de la stratégie . . . . . . . . . . . . . . . . . . . . . .
7.2.3.3 Influence du délai . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.3.4 Comparaison expérimentation / simulation . . . . . . . . . . .
7.2.4 Renversement dynamique : simulations . . . . . . . . . . . . . . . . . . .
7.2.4.1 Classification des résultats . . . . . . . . . . . . . . . . . . . .
7.2.4.2 Nouvelle stratégie : centrifuge . . . . . . . . . . . . . . . . . .
7.2.4.3 Influence de la stratégie . . . . . . . . . . . . . . . . . . . . . .
7.3 Conclusion et perspectives . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
122
123
123
125
125
125
127
127
127
127
128
129
130
132
132
132
133
134
134
134
136
136
136
138
138
139
139
142
142
142
7.1. PROBLÉMATIQUE DU CARISTE
7.1
Problématique du cariste
Figure 7.1 – Chariot élévateur.
7.1.1
Contexte
En France, chaque année, les chariots élévateurs (figure 7.1) sont responsables en moyenne
de 8300 accidents 1 avec arrêt de travail dont 560 avec incapacité permanente. On déplore en
moyenne 10 accidents mortels par an mettant en cause des chariots élévateurs, dont la moitié est
due au renversement latéral de la machine. Le coût direct pour les entreprises est de 45 millions
d’euros par an. Les chariots sont des machines relativement instables du fait de leur Centre de
Masse (CdM) élevé.
L’inrs conduit depuis 8 ans un projet de recherche multidisciplinaire impliquant des équipes
d’ingénieurs et d’ergonomes (projet cemamo, Conception et Ergonomie des MAchines MObiles).
L’approche est fondée sur l’observation de l’utilisation des machines en situation réelle de travail
afin d’améliorer la conception des chariots. Ce travail se décompose en trois axes :
1. Normalisation = évaluation des risques. L’objectif est de développer une norme d’essai européenne cen 2 (Comité Européen de Normalisation) permettant de caractériser la
stabilité des machines disponibles sur le marché. La difficulté réside dans la prise en compte
la dynamique du véhicule. Le principe est d’effectuer un parcours à pleine vitesse en virage
et de déterminer les dimensions minimales du couloir de sortie ne conduisant pas à un
renversement de la machine.
2. Conception = réduction des risques à la source :
Limiter le risque de renversement : le principe est de développer des outils numériques
permettant de prédire et d’optimiser le comportement dynamique de la machine. On
peut prédire les effets d’un paramètre de conception (pneus, distribution de la masse,
empattement . . . ) sur la stabilité de la machine avant même qu’elle ne soit fabriquée.
Minimiser les conséquences d’un renversement sur le conducteur : en effet, le risque de
renversement n’est pas complètement maîtrisable. On ne pourra jamais empêcher
un chariot de se renverser dans des cas de conduites extrêmes ou de sollicitations
extraordinaires (exemple : effondrement de quais). Dans ces circonstances, il faut
garantir l’intégrité du conducteur. Des systèmes sont disponibles : ceintures, portillons,
etc. (figure 7.2). L’objectif de l’inrs est de mettre au point une méthode d’essais
permettant d’évaluer l’aptitude de ces systèmes à retenir le conducteur et à le protéger.
1. chiffres décennie 1993–2002
2. groupe de travail n˚11 (Investigation into the lateral and general stability of industrial trucks covered by
standards en 1726-1 and en 1459), comité technique n˚150 (safety of industrial trucks)
123
CHAPITRE 7. CARISTE
3. Formation = gestion des risques résiduels et prise en compte de l’opérateur.
L’utilisation de modèles physiques de tenue de route a permis de développer un simulateur
de conduite. L’objectif est de mettre les apprenants en situation d’expérimentation des
effets d’une conduite à risque pour les sensibiliser. Un prototype de simulateur a été développé sur la base d’un cahier des charges pédagogique élaboré par un groupe de travail avec
des organismes de formation externes. Le prototype circule actuellement pour évaluation
dans ces organismes.
Figure 7.2 – Différents systèmes de retenue du cariste : ceinture de sécurité, portillon de sécurité,
coussins gonflables.
Dans le second axe, le développement d’une méthode d’essais pour évaluer les systèmes de
contention présente une double difficulté :
− La première est de définir un ou des critères biomécaniques caractérisant l’efficacité réelle
du système. Par exemple, un critère géométrique privilégierait les systèmes empêchant les
membres de sortir du périmètre de la cabine. Un critère physique permettrait notamment
de prendre en compte la force d’un impact s’il y a un choc d’une partie du corps avec le
sol. Ces questions restent ouvertes.
− La seconde difficulté est de modéliser le comportement du cariste lors du renversement qui
ne peut pas être considéré comme purement passif. En effet, le temps de renversement du
chariot (une ou deux secondes) est suffisamment long pour que le conducteur ait plusieurs
réflexes. Cependant, il est difficile de réaliser des expérimentations sur sujets humains en
situation de renversement, même partiel, pour des raisons éthiques et de sécurité. Deux
approches complémentaires sont envisagées.
La première utilise des mannequins physiques passifs. Une étude inrs démarre actuellement
dans ce sens. La difficulté est d’adapter les mannequins existants de type HybridIII, originellement conçus pour des essais de crash automobile, afin de les faire “réagir” de manière réaliste.
Cette approche nécessite des installations lourdes et coûteuses.
La seconde approche consiste à modéliser le comportement dynamique du conducteur en
simulation. L’humain virtuel interagit avec l’environnement (plancher, siège et volant). Il peut
utiliser cet environnement pour se maintenir dans la cabine lors du renversement dynamique.
Ses capacités physiques à se maintenir sur son siège doivent être modélisées de façon réaliste. Il
est important de simuler plusieurs comportements actifs de l’hv, représentatifs des différentes
réactions des caristes. Cette thèse répond à ces besoins de simulation et ce chapitre compare,
dans un objectif de validation, des résultats de simulation avec des essais.
124
7.1. PROBLÉMATIQUE DU CARISTE
7.1.2
Résultats expérimentaux
Ces dernières années, l’inrs a conçu et réalisé deux bancs d’essais de renversement pour
simuler en laboratoire et avec des sujets humains le renversement latéral d’un chariot :
– renversement statique : le chariot (ou le banc d’essais) est à l’arrêt et son basculement
est provoqué par un moyen externe (gravité – figure 7.4) ;
– renversement dynamique : le chariot (ou la nacelle du banc) est conduit à sa vitesse
maximale (de 12 à 20 km/h), le renversement du cariste est provoqué, soit en roulant sur
un plan latéralement incliné, soit sous l’effet des forces d’inertie centrifuges en initiant un
virage brutal (rayon de braquage de l’ordre de 5 m – figure 7.3).
7.1.2.1
Banc dynamique pour l’étude du virage en J
Figure 7.3 – Campagne d’essais sur banc dynamique.
En octobre 2003, des essais de renversement dynamique latéral ont été réalisés avec quatre
sujets [Feu05] (figure 7.3). L’objectif du banc de renversement « virage en J » est d’analyser le
comportement d’un sujet humain lors d’une situation de renversement latéral provoqué par un
virage serré à grande vitesse en marche avant. Les efforts d’interaction au niveau des appuis du
cariste dans son chariot et les mouvements des sujets ont été mesurés. Une première analyse des
données de force a permis de dégager essentiellement deux types de comportements : soit le sujet
s’agrippe et tire sur le volant pour essayer, sans succès, de rester dans la cabine, soit le sujet
pousse sur le volant afin de se caler dans son siège et parvient ainsi à rester dans la cabine, mais
uniquement lors d’essais à faible vitesse.
7.1.2.2
Banc statique
En 2006, des essais de renversement statique ont été réalisés avec quatre sujets [Gau] (figures 7.4 et 7.5). Les efforts d’interaction ont été mesurés et tous les essais ont été filmés. Une
étude comparative des différents dispositifs de retenue testés sur les sujets a été effectuée.
Ces essais ont été réalisés avec un siège de conducteur simplifié. Il s’agit d’une plaque en bois
recouvert de deux matériaux différents (moquette figure 7.4 – téflon figure 7.5). Il n’y a pas de
dossier. L’objectif est alors d’étudier l’influence du frottement entre le siège et le cariste sur le
comportement de ce dernier. Pour chaque revêtement, chaque sujet a réalisé deux essais. Dans
le premier, la consigne est de ne pas chercher à résister à l’éjection. Dans le second essai, il est
demandé au sujet de chercher à se maintenir dans la cabine en s’appuyant sur les mains et jambes.
Le comportement du sujet et son maintien dans la cabine est très influencé par le type de
revêtement du siège (et donc le coefficient de frottement) et la stratégie (active ou passive)
adoptée par le sujet pendant le renversement.
125
CHAPITRE 7. CARISTE
Figure 7.4 – Campagne d’essais sur banc statique. Le siège est une plaque en bois recouverte
de moquette (coefficient de frottement élevé). Essai du haut : la consigne est de ne pas chercher
à résister à l’éjection. Essai du bas : il est demandé au sujet de chercher à se maintenir dans la
cabine en s’appuyant sur les mains et jambes.
Figure 7.5 – Campagne d’essais sur banc statique. Le siège est une plaque en bois recouverte
de teflon (coefficient de frottement faible). Essai du haut : la consigne est de ne pas chercher à
résister à l’éjection. Essai du bas : il est demandé au sujet de chercher à se maintenir dans la
cabine en s’appuyant sur les mains et jambes.
126
7.2. COMMANDE DU CARISTE
7.1.3
Objectifs de la simulation
Pour aborder la problématique du cariste, la simulation est un moyen complémentaire à
l’expérimentation. En effet, les campagnes d’essai sur sujets déjà réalisées ne permettent pas de
reproduire une situation de renversement complète réaliste. Elles sont longues à mettre en œuvre.
Quant aux essais sur mannequin passif, il est difficile d’actionner ce dernier pour qu’il adopte
un comportement réaliste. En principe, la simulation de renversement dynamique de chariot est
à la fois moins coûteuse et plus flexible. Elle permet notamment de reproduire intégralement
une situation de renversement de chariot, à condition que le modèle soit réaliste. Pour vérifier
ce caractère réaliste, il est important de confronter au préalable le modèle numérique avec des
essais réels, afin d’en recaler les paramètres (présenté dans une certaine mesure au le chapitre
précédent).
Lors des campagnes d’essais sur sujets (§ 7.1.2.1 et § 7.1.2.2), on a observé que les réactions
et stratégies réflexes étaient différentes d’un sujet à l’autre. C’est pourquoi il est important de
modéliser différentes familles de réactions pour le cariste virtuel, qui correspondent le plus possible aux réactions de l’homme.
L’objectif est d’utiliser la commande d’hv dynamiques permettant de prédire le comportement mécanique d’un conducteur de chariot élévateur en situation de renversement latéral. À
plus long terme, l’inrs envisage d’intégrer le modèle d’hv à des outils de modélisation mécanique
conventionnels, l’objectif étant de concevoir et d’optimiser des systèmes de retenue.
7.2
7.2.1
7.2.1.1
Commande du cariste
Présentation du système
Modélisation du chariot
Volant et prises
pour les mains
Siège
Plancher
Axe de renversement
simple
Axe de renversement
statique
Figure 7.6 – Représentations du chariot : complet (à gauche) et simplifié (à droite). Les axes
de rotation des renversements simple et statique sont représentés sur les deux figures.
Le chariot d’essai de l’inrs a été modélisé sous Arboris. Deux représentations (une simplifiée
et une plus complète) ont été créées. Dans tous les cas, le chariot est modélisé comme un objet
127
CHAPITRE 7. CARISTE
commandé cinématiquement en position et en vitesse. Certaines parties du chariot sont actives
pour la détection de collisions (figure 7.6). C’est le cas du plancher et du siège. Les autres formes
géométriques du chariot sont utilisées comme indicateurs graphiques pour détecter visuellement
les collisions entre le cariste et la cabine. On détaille par la suite les différents types de commandes
cinématiques pour le chariot.
7.2.1.2
Les différents types de renversement traités
Figure 7.7 – Renversement simple du chariot : position et vitesse angulaires de l’axe de renversement.
Figure 7.8 – Renversement statique du chariot : position et vitesse angulaires de l’axe de renversement.
On traite trois types de renversement. Le renversement simple est une rotation autour d’un
axe situé sous le siège au milieu de celui-ci (figure 7.6). Le chariot réalise un basculement de
60 degrés avant de retourner à sa position initiale. L’évolution de l’angle au niveau de l’axe est
donnée figure 7.7. Le retour à la position verticale permet de conclure si l’hv a réussi à se maintenir sur son siège, s’il a glissé ou s’il a lâché le volant. Ce renversement simple permet d’étudier
l’influence de plusieurs paramètres sur l’équilibre du cariste, en particulier différentes stratégies
de retenue du cariste.
Le renversement statique est une rotation autour d’un axe se situant au niveau des roues
(figures 7.4, 7.5 et 7.6). L’évolution de l’angle au niveau de l’axe est donnée figure 7.8 et est la
même que celle utilisée lors de la campagne d’essai sur des sujets (§ 7.1.2.2). Le mouvement du
128
7.2. COMMANDE DU CARISTE
Figure 7.9 – Renversement dynamique du chariot : virage en J à gauche.
chariot s’interrompt brutalement vers 70 degrés, avec une vitesse importante avant l’arrêt. On
étudie le comportement du cariste jusqu’à cet instant. Le mouvement subi par le cariste est une
rotation combinée par une translation. Ce type de renversement est simplifié par rapport au type
de renversement suivant.
Enfin, le renversement dynamique est le renversement le plus réaliste (figure 7.9). Il s’agit
d’un virage en J. Après une phase où le chariot accélère en ligne droite et atteint une certaine
vitesse, celui-ci tourne puis se renverse. C’est le cas le plus fréquent de renversement de chariot de
manutention, responsable d’accidents graves du conducteur. Les caractéristiques des trajectoires
(positions et vitesses à chaque instant) ont été calculées grâce au modèle de chariot développé et
validé par l’inrs (J. Rebelle [RMP08]). On teste la commande d’hv sur un cas de renversement
dynamique.
7.2.1.3
Stratégies du cariste
(a) simple : suivre le mouvement du siège.
(b) verticale : conserver une posture verticale.
Figure 7.10 – Stratégies du cariste.
En simulation, la liaison entre les mains du cariste et le volant (une fois celles-ci en contact
avec le volant) est réalisée par une liaison visco-élastique dont la charge maximale est fixée arbitrairement à 1, 5 fois le torseur maximal de préhension main/objet défini dans la loi de commande.
Le torseur de préhension calculé par la loi de commande ne correspond pas toujours à l’effort
appliqué dans la simulation. Par exemple, c’est le cas lorsque l’hv arrive en butée articulaire,
129
CHAPITRE 7. CARISTE
une partie de son poids s’ajoute au torseur de préhension. C’est pourquoi les liaisons entre les
mains et le volant peuvent se rompre au cours de la simulation.
On rappelle quelques aspects de la commande de l’hv :
– les efforts de préhension sont saturés ;
– les couples articulaires de commande sont saturés à 100 N.m−1 ;
– l’hv possède trois sphères de contact par pied ainsi qu’une sphère de contact au niveau des
fesses. Ces sphères sont prises en compte par la détection de collision d’Arboris ;
– la vitesse désirée de l’asservissement PD du CdM et du thorax correspond à la vitesse de
basculement du chariot. En effet, le conducteur est entraîné par le mouvement de la cabine.
En absolu, sa vitesse coïncide avec celle du chariot.
Les observations réalisées pendant les campagnes d’essais (§ 7.1.2) indiquent clairement qu’il
n’existe pas une seule “stratégie” possible lors d’un renversement : il n’existe pas de modèle
“unique” du comportement humain lors d’un renversement de véhicule. Par conséquent, il faut
pouvoir proposer plusieurs familles de modèles, représentatifs des comportements observés. On
en a implémenté deux :
simple : l’hv cherche à conserver une position assise sur le siège lors du renversement (figure 7.10(a)). Le CdM et la position du thorax de consigne sont calculés en fonction de la
position du chariot.
verticale : l’hv conserve son buste vertical indépendamment de l’orientation du siège (figure 7.10(b)). Le CdM et la position du thorax de consigne sont également calculés en
fonction de la position du chariot.
On laisse en perspective l’implémentation d’autres modèles de comportement. Par simplification, la détermination du CdM de consigne provient d’informations sur le déplacement du
chariot.
7.2.1.4
Paramètres testés
La loi de commmande fait intervenir de nombreux paramètres : gains des asservissements,
poids des critères d’optimisation et efforts de saturation. Tous ces paramètres influencent le
résultat de la loi de commande (c’est à dire τ ) et donc le comportement dynamique du cariste
lors de son éjection. Afin d’étudier l’influence de certains paramètres sur le comportement du
cariste, et sa capacité à se maintenir sur son siège, on a effectué une série de simulations. Les
deux stratégies du cariste ont été testé. On étudie l’influence de trois paramètres :
Le coefficient de frottement : on étudie différents coefficient de frottement entre l’hv et le
chariot. Les contacts concernés sont ceux au niveau des fesses sur le siège et des pieds sur
le plancher. Ces contacts ont le même coefficient de frottement. On fait varier ce dernier
entre 0, 1 et 0, 9, avec un pas de 0, 2.
Les efforts de préhension maximaux : il s’agit des efforts de préhension maximaux admissibles, c’est à dire des bornes inférieures et supérieures qui sont fixées par l’inconnue
“efforts de préhension” dans la loi de commande. Ces bornes inférieures et supérieures
sont les mêmes dans les trois directions de forces et les trois directions de moment, ce qui
contraint la force et le moment de l’effort de préhension dans un cube de R3 . En simulation,
on considère que le lâcher-prise du volant intervient lorsque l’effort visco-élastique modélisant l’interaction entre les mains et le volant atteint une certaine valeur, que l’on appelle
“effort de rupture” de cette liaison et qui est proportionnel à l’effort maximum admissible
défini dans la loi de commande (tableau 7.1). L’hv lâche alors le volant.
130
7.2. COMMANDE DU CARISTE
nmax
effort
1
2
3
4
5
6
Force/
Dimensions des cubes
→
→
→
saturants (−
x,−
y ,−
z)
Moment
Force (N)
2 [50, 50, 50]
Moment (N.m )
−1
Force (N)
2 [20, 20, 20]
2 [100, 100, 100]
Moment (N.m )
−1
Force (N)
2 [40, 40, 40]
2 [150, 150, 150]
Moment (N.m−1 )
Force (N)
2 [60, 60, 60]
2 [200, 200, 200]
Moment (N.m )
−1
Force (N)
2 [80, 80, 80]
2 [250, 250, 250]
Moment (N.m )
2 [100, 100, 100]
Force (N)
2 [300, 300, 300]
−1
Moment (N.m )
−1
2 [120, 120, 120]
Norme de l’effort max
compris dans l’intervalle :
50 ≤ kfmax k ≤ 87 (=
√
3 50)
√
20 ≤
≤ 35 (= 3 20)
√
100 ≤ kfmax k ≤ 173 (= 3 100)
√
40 ≤ kmmax k ≤ 69 (= 3 40)
√
150 ≤ kfmax k ≤ 260 (= 3 150)
√
60 ≤ kmmax k ≤ 104 (= 3 60)
√
200 ≤ kfmax k ≤ 346 (= 3 200)
√
80 ≤ kmmax k ≤ 139 (= 3 80)
√
250 ≤ kfmax k ≤ 433 (= 3 250)
√
100 ≤ kmmax k ≤ 173 (= 3 100)
√
300 ≤ kfmax k ≤ 520 (= 3 300)
√
120 ≤ kmmax k ≤ 207 (= 3 120)
kmmax k
Table 7.1 – La saturation du torseur de préhension dans la loi de commande est un paramètre
qui peut prendre différentes valeurs, désigné par le numéro nmax
effort . Les forces et moments de
préhension sont contraints dans des cubes. Lorsque la force (ou le moment) atteint les limites
du cube, sa norme est différente si l’on se situe sur une face, une arrête ou un sommet. Pour
simplifier la présentation des résultats, lorsque la force (ou le moment) calculée par la loi de
commande est comprise dans l’intervalle de saturation, on suppose que la contrainte sur cette
force (ou moment) est atteinte.
131
CHAPITRE 7. CARISTE
Le délai sur la consigne du CdM : pour modéliser le caractère non-immédiat des réactions
humaines, on introduit un retard sur la consigne du CdM et la position du thorax (ainsi
que la vitesse). On fait varier ce retard entre 0 et 300 ms. Si l’on note ∆t le retard en
(t − ∆t).
secondes, la position du CdM de consigne à l’instant t est : xconsigne
(t) = xconsigne
cdm
cdm
Afin d’étudier l’influence de ces trois paramètres sur le comportement du cariste, on a réalisé
de nombreuses simulations. Chaque simulation n’aboutit pas forcément à un résultat exploitable.
Une simulation échoue lorsqu’une force de contact devient beaucoup trop grande. Il se peut,
compte tenu des hypothèses faits pour le calcul de la commande (non-glissement, par exemple),
qu’il n’existe pas de solution.
7.2.2
Renversement simple : simulations
On étudie dans un premier temps le renversement simple, une simplification du renversement
dynamique. Cette première étude permet d’interpréter l’influence des paramètres et des stratégies
du cariste sur le succès du maintien sur le siège.
7.2.2.1
Classification des résultats
La simulation a échoué, la
commande ne réussit pas à
maintenir l’hv sur son siège.
Celui-ci lâche le volant.
Le cariste se maintient sur
son siège avec des couples
articulaires atteignant la
saturation.
Le cariste se maintient sur
son siège sans que ses
couples articulaires
n’atteignent la saturation.
Figure 7.11 – Légendes des tableaux pour un renversement simple.
Les résultats sont synthétisés sous forme de tableaux. Chaque tableau présente l’influence de
deux paramètres sur la réussite du cariste, pour une stratégie donnée. Chaque cellule est colorée
en fonction de la réussite de la simulation (figure 7.11) :
– si la simulation a échoué, la cellule est très grisée. On indique dans la cellule correspondante
l’angle, en degré, du chariot au dernier instant avant l’échec de la simulation. Plus cet angle
est grand, plus le cariste arrive à se maintenir sur son siège.
– si la simulation est allée à son terme, le chariot revient à sa position initiale. Si la cellule
a un fond gris clair, cela signifie que les couples articulaires maximaux ont été atteints à
un instant de la simulation. On indique dans la cellule la force (N) et le moment (N.m−1 )
maximaux calculés par la loi de commande au cours de la simulation. Dans le cas où ces
valeurs sont indiquées en caractères gras, on suppose que la contrainte de saturation de la
force (ou moment) de préhension est atteinte (tableau 7.1).
7.2.2.2
Influence du coefficient de frottement et de l’effort de préhension maximal
On constate que plus le coefficient de frottement et/ou l’effort maximal admissible augmentent, meilleur est le maintien du cariste sur son siège (tableaux 7.2 et 7.3). Même si la
simulation échoue (cellule gris foncé), l’angle de renversement au moment de l’échec du maintient augmente avec ces deux paramètres. À nmax
effort constant, plus le coefficient de frottement
augmente et plus l’effort de préhension diminue. Ce résultat paraît logique car un transfert des
efforts s’opère de la liaison main/volant vers les zones de contact. De plus, en comparant les deux
stratégies du cariste, on constate qu’aucune n’améliore significativement le résultat. Cependant,
132
7.2. COMMANDE DU CARISTE
les efforts de préhension maximaux calculés par la loi de commande pendant la simulation sont
plus importants pour la stratégie verticale.
Stratégie
0.1
28˚
0.3
40˚
0.5
48˚
0.7
53˚
2
37˚
49˚
57˚
59˚
3
45˚
57˚
4
54˚
5
60˚
6
60˚
338
117
265
110
265
110
260
88
215
93
215
93
215
93
174
75
174
77
174
77
174
77
Effort max (nmax
effort )
0.9
57˚
151
61
139
61
139
61
139
61
139
61
Table 7.2 – Renversement simple, délai : 0 s,
τ max = 100 N.m−1 .
Coefficient de frottement
1
0.1
32˚
0.3
43˚
0.5
53˚
0.7
58˚
2
42˚
53˚
60˚
60˚
3
50˚
60˚
4
57˚
5
58˚
6
59˚
346
133
365
152
319
139
256
91
273
117
260
119
260
119
240
88
217
101
217
101
217
101
verticale
Effort max (nmax
effort )
1
simple
Stratégie
Coefficient de frottement
Table 7.3 – Renversement simple, délai : 0 s,
τ max = 100 N.m−1 .
Dans le cas d’une stratégie verticale, à mi-parcours, on constate que la position désirée ne
peut pas être entièrement atteinte. D’une part, les mains et les pieds sont contraints en position et
en orientation, les fesses en position seulement. La forte diminution de la redondance articulaire
que ces contraintes entraînent explique en partie la mauvaise atteinte du CdM de consigne. Ainsi,
si on observe le nombre maximal de ddl en butée à un instant de la simulation (nmax
ddl butee ), on
constate qu’il est nul pour la stratégie simple et de 6 pour la stratégie verticale. Le tableau
7.4 présente la distance la plus grande entre, d’une part, le CdM et sa consigne (ligne du haut
dans les cellules), et d’autre part, le centre du thorax et sa consigne (ligne du bas).
Stratégie
µ = 0.9, délai = 0 s, effort max = 4
7.2.2.3
Effort max (nmax
effort )
µ = 0.3, délai = 0 s, effort max = 4
Coefficient de frottement
1
0.1
32˚
0.3
43˚
0.5
53˚
0.7
58˚
2
42˚
53˚
60˚
60˚
3
50˚
60˚
4
57˚
5
58˚
6
59˚
12.6
29.7
6.2
16.6
6.2
16.6
7.0
18.0
6.4
17.0
6.4
17.0
6.4
17.0
6.4
17.0
6.4
17.0
6.4
17.0
6.4
17.0
verticale
0.9
60˚
6.4
17.0
6.4
17.0
6.4
17.0
6.4
17.0
6.4
17.0
Table 7.4 – Renversement simple, délai : 0 s, nmax
ddl butee =
6, τ max = 100 N.m−1 , distances en cm.
Influence du délai
L’introduction d’un délai n’a pas d’influence sur le succès ou l’échec du maintien du cariste,
quelque soit la stratégie de celui-ci. De plus, le délai n’a pas d’influence sur l’effort de préhension
maximal atteint au cours de la simulation. Cependant, il modifie la position du cariste durant le
133
0.9
60˚
173
57
179
83
179
83
179
83
179
83
CHAPITRE 7. CARISTE
renversement (figure 7.12). Plus le délai est important, et plus la position du CdM de consigne
est en retard par rapport à la position du siège.
Figure 7.12 – Les images du dessus montrent le comportement du cariste sans délai et les images
du dessous avec un délai de 300 ms. L’introduction du délai semble apporter plus de réalisme.
Stratégie simple, µ = 0,5, nmax
effort = 4.
7.2.2.4
Différences entre délai et stratégie
Dans une stratégie verticale, les consignes de position pour le CdM et le thorax pivotent
autour du contact bassin/siège. Lorsque l’on augmente le délai, l’hv doit atteindre une configuration de plus en plus éloignée dans le temps, qui correspond à une autre configuration de
contact, pour une autre inclinaison du siège. La configuration du cariste, à un même instant de
la simulation, semble assez proche entre d’une part une stratégie simple avec un délai important
et d’autre part, une stratégie verticale sans délai.
La figure 7.13 illustre la différence aux niveaux des consignes de position du CdM et du
thorax. Dans le premier cas (délai = 0 ms, stratégie simple), l’hv est correctement assis sur le
siège et ses consignes sont atteintes. Dans le deuxième cas (délai = 0 ms, stratégie verticale),
l’hv garde le dos droit et vertical, les consignes étant relativement bien atteintes. Le CdM et le
thorax sont alignés verticalement. Dans le dernier cas (délai = 240 ms, stratégie simple), l’hv
n’a pas le dos droit et est assez éloigné de ses consignes en position du CdM et du thorax, qu’il
ne pourra probablement pas atteindre compte tenu des contraintes que le calcul de la commande
doit satisfaire.
7.2.3
7.2.3.1
Renversement statique : simulations
Classification des résultats
Dans le cas d’un renversement statique, il n’y a pas de retour à l’équilibre du système comme
dans le renversement simple. C’est pourquoi on s’intéresse au pas précédant l’arrivée en butée du
mouvement de renversement. À cet instant, on regarde si le cariste est proche ou non de son CdM
de consigne et s’il a glissé. La signification du fond coloré n’est pas la même que dans l’étude du
renversement simple ; elle est définie figure 7.14.
Lorsqu’au cours d’une simulation, un couple articulaire atteint sa valeur de saturation, on
marque une étoile dans la cellule. Le contenu de la cellule est en caractères gras lorsqu’au cours
de la simulation correspondante, les efforts de préhension maximum sont atteints. Enfin, si la
simulation a échoué, l’angle de renversement atteint est alors indiqué dans la cellule.
134
7.2. COMMANDE DU CARISTE
délai = 0 ms, stratégie
simple
délai = 0 ms, stratégie
verticale
délai = 240 ms, stratégie
simple
max =
Figure 7.13 – Renversement simple, µ = 0,5, nmax
effort = 4, angle de renversement = 28˚, τ
−1
100 N.m . Dans les figures du dessous, les sphères représentent la position du CdM et les parallélépipèdes la position du thorax. Le vert représente la consigne, tandis que le rouge représente
l’état courant.
La simulation a échoué, le
cariste glisse sur son siège et
lâche le volant.
L’hv se maintient sur son
siège. Il est éloigné de son
CdM de consigne ou glisse.
Le cariste se maintient sur
son siège. Il est proche de
son CdM de consigne.
Figure 7.14 – Légendes des tableaux pour un renversement statique. Pour chaque couleur,
l’image du haut correspond à la stratégie simple et l’image du bas à la stratégie verticale.
135
CHAPITRE 7. CARISTE
7.2.3.2
Influence de la stratégie
En ce qui concerne l’évolution des résultats dans les tableaux 7.5 et 7.6, on peut faire la
même remarque que dans le cas du renversement simple : l’augmentation du coefficient de frottement et de l’effort maximal de préhension admissible améliore le maintien du cariste sur son siège.
Dans le renversement simple, la stratégie n’influençait pas significativement le succès du
maintien du cariste dans la cabine. Cette fois, pour un renversement statique, on constate que la
stratégie du cariste influence sa capacité à se maintenir dans le chariot. Cela est dû en partie au
type de renversement mais surtout aux critères d’observations que l’on utilise (§ 7.2.3.1). Lorsque
le CdM du cariste est éloigné de son CdM de consigne (cellule gris clair), cet éloignement est
dans le sens de la chute. En cherchant à atteindre une position verticale, le cariste s’éloigne le
plus possible de ce sens du renversement et améliore ainsi son maintien dans le chariot. Il retarde
le moment de son éjection en essayant, dès le début, de rester vertical. Ceci explique pourquoi
la stratégie verticale est meilleure que la stratégie simple.
La stratégie verticale donne une consigne de position du CdM non réalisable par l’algorithme de commande, ce qui se traduit par une augmentation du nombre d’articulations en
max
butée articulaire (stratégie simple – nmax
ddl butee = 0, stratégie verticale – nddl butee = 7).
Stratégie
Effort max (nmax
effort )
Coefficient de frottement
1
0.1
41˚
0.3
51˚
2
51˚
62˚
3
62˚
4
323∗
119
378∗
146
297
125
248
91
313
118
278
118
277
118
simple
5
6
0.5
59˚
173
69
260
90
247
107
245
106
245
106
0.7
62˚
173
60
231
87
212
94
212
94
212
94
0.9
65˚
173
58
185
78
185
81
185
81
185
81
Table 7.5 – Renversement statique, délai : 0 s, τ max = 100 N.m−1 .
7.2.3.3
Influence du délai
Contrairement au renversement simple, le délai joue un rôle significatif dans le maintien
du cariste sur son siège. Dans certaines proportions, plus le délai augmente et meilleur est le
maintien du cariste. En effet, ajouter du délai est équivalent à atteindre une posture verticale.
Cependant, un délai trop important a pour effet une consigne irréalisable. Or, l’hv trouve ses
limites articulaires en voulant atteindre une consigne en position très éloigné de sa configuration
courante. Étant très contraint (au niveau des pieds, mains et fesses, butées), si son nombre de
butées articulaires augmente, le cariste glisse au niveau de ses contacts.
7.2.3.4
Comparaison expérimentation / simulation
Une confrontation entre l’expérimentation et la simulation est possible dans le cas du renversement statique. En s’appuyant sur les essais inrs 7.1.2.2, on effectue une comparaison qualitative
à partir de captures vidéo (figure 7.15). Les coefficients de frottement du contact entre le bassin
136
7.2. COMMANDE DU CARISTE
Stratégie
Effort max (nmax
effort )
Coefficient de frottement
0.1
0.3
0.5
1
46˚
57˚
65˚
2
59˚
3
260∗
96
323∗
123
393∗
144
278∗
127
173
69
260∗
101
298∗
127
248∗
114
248∗
114
173
65
260∗
98
220
103
220
103
220
103
verticale
4
5
6
0.7
87
35
173
69
195
86
194
91
194
91
194
91
0.9
87
35
173
69
173
74
171
81
171
81
171
81
Table 7.6 – Renversement statique, délai : 0 s, τ max = 100 N.m−1 .
(a) L’hv glisse sur le siège,
stratégie simple – µ=0,1
(b) Le cariste adopte une
stratégie simple – µ=0,5
(c) Le cariste adopte une
stratégie verticale – µ=0,5
Figure 7.15 – Comparaison expérimentation / simulation pour le renversement statique.
137
CHAPITRE 7. CARISTE
et le siège sont comparables entre l’expérimentation et la simulation.
Dans la comparaison (a), le sujet est assis sur une plaque en bois recouverte de téflon. L’éjection du sujet débute à partir d’un angle de renversement de 50˚. Le résultat de la simulation
donne un comportement très semblable pour le cariste virtuel.
Dans les comparaisons (b) et (c), le sujet est assis sur une plaque en bois recouverte de
moquette. La meilleure adhérence du contact entre le bassin et le siège permet au sujet de se
maintenir dans la cabine jusqu’à l’arrivé en butée du banc d’essai, à 70˚ de renversement. Le
cariste virtuel arrive lui aussi à se maintenir jusqu’à 70˚. Dans la comparaison (b), la consigne
donnée au sujet est de chercher à se maintenir dans la cabine en appuyant sur ses mains et ses
jambes. On rapproche ce comportement de la stratégie simple. Dans la comparaison (c), aucune
consigne n’est donnée au sujet. On rapproche ce comportement de la stratégie verticale.
Avec seulement deux stratégies de cariste implémentées et un bon ajustement du coefficient
de frottement du contact entre le bassin et le siège, la loi de commande génère un ensemble de
comportements pour le cariste proches de ceux observés lors de la campagne d’essai sur sujets.
Ces premiers résultats sont encourageants.
7.2.4
7.2.4.1
Renversement dynamique : simulations
Classification des résultats
On peut décomposer un renversement dynamique en trois phases :
– phase 1 (figure 7.16(a)) : phase d’accélération du chariot qui lui permet d’attaquer le
virage avec une vitesse importante ;
– phase 2 (figure 7.16(b)) : début du virage serré. La force centrifuge fait basculer le haut
du corps de l’hv vers l’extérieur du virage ;
– phase 3 (figure 7.16(c)) : en continuant de tourner, le chariot bascule autour de ses roues
extérieures et se renverse, ce qui se rapproche du cas statique.
(a) Phase 1 : accélération du chariot.
(b) Phase 2 : début du virage.
(c) Phase 3 : basculement du chariot.
Figure 7.16 – Les 3 phases du virage en J (stratégie simple).
Les résultats d’un renversement dynamique, avec un délai de 0 s et τ max = 100 N.m−1 sont
présentés dans les tableaux 7.7, 7.8 et 7.9. Le coefficient de frottement de µ = 0, 1 ne figure pas
dans les tableaux, car dès la phase 1 d’accélération du chariot, l’adhérence du cariste sur le siège
est insuffisante et l’hv décolle du siège.
Deux angles sont indiqués dans chaque cellule. Ces angles définissent l’orientation du chariot
à l’instant où l’interaction de préhension des mains sur le volant est rompue dans le simulateur.
138
7.2. COMMANDE DU CARISTE
Le premier angle correspond à la rotation suivant un axe vertical (angle de virage). Le deuxième
angle correspond au basculement du chariot.
Résultat mauvais
Résultat moyen
Résultat bon
Figure 7.17 – Légendes des tableaux pour un renversement dynamique. Pour un µ et nmax
effort
identiques, on relève l’instant où le cariste lâche le volant. Plus la rupture de la préhension
intervient tard dans le renversement, meilleure est la stratégie. On compare la qualité de 3
stratégies entre elles et on associe à chaque cellule une teinte de gris.
7.2.4.2
Nouvelle stratégie : centrifuge
Dès la phase 2, la force centrifuge pousse le corps de l’hv vers l’extérieur du virage. Les
stratégies simple et verticale n’empêchent pas ce phénomène. Avec une stratégie simple, l’hv
reste en position assise lors du renversement (figure 7.18). La stratégie verticale n’intervient
que lorsque le chariot bascule, c’est à dire dans la phase 3. De manière générale, l’hv n’anticipe
pas le renversement.
On met en œuvre une troisième stratégie, que l’on nomme centrifuge. Cette stratégie a
pour objectif d’obtenir un comportement d’hv qui anticipe le renversement du chariot dès que
les effets centrifuges se font sentir. Avec une stratégie centrifuge, l’hv cherche à atteindre une
position assise inclinée de 20˚par rapport à la verticale dans le repère de la cabine. Cet angle est
fixe contrairement à la stratégie verticale où l’angle dans le repère chariot change lorsque celuici bascule. Bien sûr cet angle de 20˚ est orienté vers l’intérieur du virage. Ceci permet pendant
la phase 2 du renversement de contrer les efforts centrifuges. Dans la phase 3, la consigne est
d’atteindre une position plus verticale que la position assise simple. La stratégie centrifuge
semble un compromis entre les stratégies simple et verticale avec un facteur d’anticipation du
renversement. Sa nécessité est apparue dès les premières simulations de renversement dynamique.
7.2.4.3
Influence de la stratégie
L’efficacité d’une stratégie dépend de la trajectoire du virage, du coefficient de frottement et
de l’effort maximal admissible de préhension. En général, la stratégie simple est souvent la plus
performante et la stratégie verticale la moins performante (figures 7.18 et 7.19). Il faut être
prudent face à ces résultats car une différence d’un ou deux degrés séparent parfois la meilleure
stratégie de la plus mauvaise. Pour les stratégies simple et centrifuge, les consignes de position
du CdM et du thorax sont tout le temps atteignables, ce qui n’est pas le cas de la stratégie verticale. Ceci peut expliquer les mauvais résultats de la stratégie verticale. De plus, les
conclusions de la partie sur le renversement statique s’appliquent dans le cas d’un basculement de
70˚. Or, dans le cas dynamique, le renversement peut atteindre 90˚. La stratégie verticale peut,
dans ce cas, être moins performante, notamment pour des problèmes de consigne non atteignable.
Le réalisme des postures tenues par l’hv lors du renversement dynamique est discutable
(figure 7.19). Lors des campagnes d’essais réalisées à l’inrs (§ 7.1.2), les sujets humains ne
pouvaient se maintenir pour de telles inclinaisons de cabine. La capacité “musculaire” de l’hv a
sans doute un peu été surestimée.
139
CHAPITRE 7. CARISTE
Figure 7.18 – Les 3 stratégies du cariste. De haut en bas, stratégies simple, verticale et
centrifuge.
Stratégie simple
Stratégie verticale
Stratégie centrifuge
Figure 7.19 – Stratégies du cariste lors d’un virage en J à l’instant précédant le lâcher du volant.
140
7.2. COMMANDE DU CARISTE
Stratégie
Effort max (nmax
effort )
simple
1
2
3
4
5
6
Coefficient de frottement
0.3
3˚
53˚
60˚
120˚
74˚
124˚
78˚
125˚
89˚
128˚
89˚
128˚
0.5
16˚
96˚
71˚
123˚
82˚
126˚
85˚
125˚
89˚
128˚
89˚
128˚
0.7
60˚
120˚
71˚
123˚
82˚
126˚
89˚
128˚
85˚
127˚
89˚
128˚
0.9
64˚
121˚
74˚
124˚
85˚
127˚
85˚
127˚
85˚
127˚
89˚
128˚
Table 7.7 – Stratégie simple.
Stratégie
Effort max (nmax
effort )
verticale
1
2
3
4
5
6
Coefficient de frottement
0.3
3˚
48˚
22˚
103˚
57˚
119˚
85˚
127˚
82˚
126˚
89˚
128˚
0.5
9˚
83˚
45˚
115˚
54˚
118˚
78˚
125˚
78˚
125˚
82˚
126˚
0.7
51˚
117˚
51˚
117˚
54˚
118˚
78˚
125˚
78˚
125˚
78˚
125˚
0.9
31˚
109˚
51˚
117˚
54˚
118˚
54˚
118˚
78˚
125˚
78˚
125˚
Table 7.8 – Stratégie verticale.
Stratégie
Effort max (nmax
effort )
centrifuge
1
2
3
4
5
6
Coefficient de frottement
0.3
4˚
62˚
64˚
121˚
71˚
123˚
74˚
124˚
82˚
126˚
85˚
127˚
0.5
60˚
120˚
67˚
122˚
78˚
125˚
74˚
124˚
78˚
125˚
78˚
125˚
0.7
60˚
120˚
71˚
123˚
67˚
122˚
82˚
126˚
70˚
123˚
82˚
126˚
Table 7.9 – Stratégie centrifuge.
141
0.9
64˚
121˚
74˚
124˚
74˚
124˚
78˚
125˚
78˚
125˚
82˚
126˚
CHAPITRE 7. CARISTE
7.3
Conclusion et perspectives
7.3.1
Conclusion
Dans ce chapitre, la commande d’hv est appliqué au cas du cariste. On a étudié trois types
de renversement de complexité et de réalisme croissants. On a proposé trois types de stratégies
réflexes pour le cariste et testé leur efficacité quant au maintien du cariste dans la cabine. Enfin,
on a fait varier trois paramètres et interprété leur influence sur le comportement dynamique du
cariste. Ces résultats sont synthétisés dans le tableau 7.10. Bien qu’il soit trivial de constater que
l’augmentation du coefficient de frottement, tout comme celle de l’effort de préhension maximal
admissible, améliore le maintien du cariste dans la cabine, on connaît maintenant dans quelle
mesure. Ces résultats ne sont pour l’instant pas validés par des essais sur sujets. Cette étude
permet d’évaluer qualitativement l’influence de certains paramètres. L’objectif était d’obtenir un
ensemble de comportements de cariste dans plusieurs situations.
Aide au maintien
du cariste
ր coefficient de frottement
ր effort maximale de préhension
ր délai
Meilleure stratégie
type de renversement
simple
statique
dynamique
oui
oui
oui a
oui
oui
oui b
neutre
oui c
non testé
neutre
verticale
simple d
Table 7.10 – Effet des paramètres et stratégies étudiés sur l’amélioration du maintien
du cariste dans son chariot.
a.
b.
c.
d.
Ce paramètre améliore en générale le maintien du cariste ; quelques exceptions sont constatées.
Ce paramètre améliore en générale le maintien du cariste ; quelques exceptions sont constatées.
Un petit délai améliore les résultats mais l’effet s’inverse lorsque celui-ci devient trop grand.
Suivie par la stratégie centrifuge et verticale.
7.3.2
Perspectives
Cette étude soulève également des interrogations qui pourront être abordées dans des recherches ultérieures.
Essais
Validations : le comportement du cariste virtuel n’a pas été quantitativement comparé aux
essais sur sujets humains. Une étape importante est de valider ces résultats.
Renversement dynamique : l’interprétation en l’état des résultats est assez délicate et nécessite
une analyse plus poussée des données.
Modèle
Saturation des couples articulaires : dans toutes les simulations, on a saturé tous les couples
de commande de manière identique : τ max = 100 N.m−1 . Ce couple est assez important et
n’est pas réalisable par toutes les articulations humaines. On devrait faire varier ce couple
maximal en différenciant les articulations, d’une simulation à l’autre et étudier son impact
sur la capacité du cariste à se maintenir dans le chariot.
142
7.3. CONCLUSION ET PERSPECTIVES
Glissement des contacts : dans l’algorithme de commande, une contrainte sur l’accélération des
contacts est appliquée et empêche en partie les contacts de glisser (interactions pieds/plancher,
fesses/siège). On pourrait relâcher cette contrainte et autoriser le glissement du contact
bassin/siège.
Définir d’autres stratégies réflexes
“éjection” : l’hv tente de s’éjecter en cours de renversement, vers l’intérieur du virage ;
“dossier ” : l’hv tente de se maintenir au fond du siège. On ajoute au siège un dossier sur lequel
l’hv peut s’appuyer et exercer une pression à l’aide des membres inférieurs.
À moyen terme, on pourrait également modéliser en simulation des éléments de retenue
(portique, ceinture . . . ) afin d’étudier leur efficacité.
143
CHAPITRE
8
Conclusion et perspectives
8.1
Conclusion
On a proposé une nouvelle commande d’humain virtuel dynamique. Les points clés sont les
suivants :
Définir et quantifier l’équilibre (chapitre 3)
– centre de masse stable : la position de consigne du CdM est calculée à chaque pas de temps
en fonction de la configuration de contact (pieds, mains, fesses) et de la configuration
de préhension (mains uniquement). On calcule les efforts de l’hv sur son environnement
qui lui permettent d’atteindre ce CdM de consigne et d’y rester à l’équilibre statique ;
– marges de stabilité : on traite de la stabilité vis-à-vis d’efforts de perturbation. On calcule
le plus grand effort de perturbation qui peut être compensé par une variation d’effort
de contact sous des hypothèses de contacts non-glissants et de limitation des efforts
de préhension. La norme de cette plus grande perturbation est la marge de stabilité
de la posture. Plus la marge de stabilité est grande, meilleure est la stabilité de la
posture. Cette marge de stabilité permet de quantifier la robustesse d’une configuration
de contacts et de prises. De plus, on calcule la position du CdM permettant de maximiser
cette marge de stabilité. On détermine également la valeur des efforts de l’hv sur son
environnement pour résister de façon globale aux perturbations : il s’agit d’efforts de
pré-contrainte et non d’efforts résistifs relatifs à une perturbation particulière ;
– critères de stabilité statique : ces marges de stabilité peuvent soit considérer le CdM
comme inconnue soit prendre en compte la saturation des couples articulaires. Ces marges
peuvent de déclencher des automates permettant à l’hv d’atteindre une configuration
stable.
Assurer l’équilibre (chapitre 4)
– commande dynamique d’humain virtuel : commande globale basée sur l’optimisation d’un
critère sous contrainte. Les valeurs désirées des variables d’optimisation sont fixées par les
consignes de la loi de commande : position du CdM, efforts de contact et de préhension
(entre autres), calculés en prenant en compte les marges de stabilité ;
– contact frottant unilatéral et préhension bilatérale considérés simultanément : dans des
environnements virtuels complexes, un humain virtuel peut être amené à devoir utiliser
ses mains en plus de ses pieds pour assurer son équilibre. Le traitement de l’équilibre
prend cet aspect en compte en gérant à la fois les contacts unilatéraux, non coplanaires
et avec frottement sec, et les contacts bilatéraux en force et/ou en couple (modélisant
145
la préhension au niveau des mains). Pour traiter les différents types de contacts, une
formulation unifiée de la commande est proposée ;
– gestion de la redondance : les consignes relatives au CdM et à la posture sont mises
à jour périodiquement ce qui a pour effet une certaine autonomie de l’hv commandé
relativement à sa configuration articulaire. De plus, l’évitement des butées articulaires
est géré par la loi de commande.
– stratégies d’équilibre complexes : dans certains cas, des stratégies d’équilibres complexes
sont à mettre en œuvre pour pour permettre à l’hv de conserver son équilibre. Il s’agit
de changer la configuration de contact ou de préhension de l’hv. On a implémenté trois
types d’action réflexes : faire un pas de côté, poser une main sur un plan et saisir une
prise. Ces actions réflexes sont déclenchées de manière automatique par un observateur
de la marge de stabilité courante de l’humain virtuel. Dans une bibliothèque de réflexes
explicitement connus de la commande, l’algorithme choisit le plus pertinent en fonction
de la perturbation de son état.
Réalisations de tâches (chapitre 5)
– paramètres indépendants de la tâche : le problème d’optimisation sous contraintes met en
jeu de nombreux gains d’asservissements et priorités. Chacun d’eux a une signification
physique. On utilise pour une large gamme de simulation les mêmes gains et priorités
qui, ne dépendent donc pas de l’action à réaliser ;
– actions élémentaires : génération de trajectoire, saisir une prise ou un objet, appuyer sur
l’environnement, posture. À l’aide de ces quatre actions élémentaires, on peut réaliser
la majorité des comportements de base de l’humain virtuel. Un enchaînement d’actions
élémentaires permet de réaliser des comportements plus complexes comme l’escalade
d’un mur de prise. Ces actions élémentaires font le lien entre un comportement global,
comme la marche, et la formulation du problème d’optimisation sous contraintes ;
– gestion des priorités entre les tâches : les tâches peuvent être conflictuelles. On propose
une méthode numérique pour gérer les priorités entre les tâches.
On a confronté la commande d’humain virtuel au réel. Pour cela, une série de quatre essais
types a été réalisé sur quatre sujets. Les efforts et les mouvements des sujets ont été mesurés. On
a comparé les ordres de grandeur de ces mesures avec des simulations dynamiques équivalentes
contenant un humain virtuel commandé. Cette étude dresse une première validation et permet
un recalage de la loi de commande. Ces résultats encourageants ont démontré la grande souplesse
d’utilisation de la loi de commande.
Enfin, on a appliqué la commande au cas particulier du cariste, pour un renversement quasi
statique et dynamique. On a proposé trois types de stratégies réflexes pour le cariste et testé leur
efficacité quant au maintien du cariste dans la cabine. Enfin, on a fait varier trois paramètres et
interprété leur influence sur le comportement dynamique du cariste. On obtient un ensemble de
comportements de cariste dans plusieurs situations.
8.2
8.2.1
Perspectives
Amélioration de la commande dynamique
Voici quelques perspectives :
Trouver des valeurs physiques pour les couples articulaires limites (§ 4.2.3)
Modéliser et piloter la raideur de l’hv
Dans l’étude relative à la robustesse, la raideur de l’hv vis-à-vis de son environnement
146
intervient et l’on a choisit une valeur arbitraire. Il est intéressant de se baser sur une
valeur plus réaliste. La raideur de l’hv constitue également un élément important dans son
comportement vis-à-vis de son environnement.
Prendre en compte la cinématique de l’hv dans la robustesse
En regard de la robustesse, la position du CdM dépend de la cinématique de l’hv. Introduire
cette cinématique compliquerait le problème en le rendant fortement non linéaire, mais
permettrait d’éliminer des solutions non réalistes.
Comportements plus complexes
– enrichir les comportements à plusieurs pas et l’enchaînement de stratégies d’équilibre ;
– avoir une caractérisation dynamique de la rupture d’équilibre, et non simplement statique ;
– prédictive (C. Azevedo et al. [APE04]).
8.2.2
hv dynamique interactif
(a) Gestion d’équilibre.
(b) Gestion de tâches.
Figure 8.1 – hv interactif.
Une implémentation en temps réel de la commande de l’hv a été réalisé (figure 8.1)permettant
une interaction directe avec l’hv. L’algorithme de base est suffisamment rapide pour être utilisé
en temps réel. En effet, dans la commande, la résolution du QP est l’étape la plus coûteuse. Pour
un problème de complexité moyenne (un hv debout résistant à une perturbation), les dimensions
des matrices sont :

arg min 12 kY − Y des k2Q

 dim (Y ) = (88, 01)
Y
dim (A) = (24, 88)
avec
(8.1)
AY +b=0


dim (C) = (94, 88)
C Y +d≥0
La rapidité de la résolution est également corrélée au conditionnement des matrices. Cependant, la taille du système est un bon indicateur. Le QP est résout à l’aide une fonction C
single-threaded en 2.6 ms sur un processeur Intelr Xeonr 5130 cadencé à 2,00 GHz avec 2,00
Go de mémoire vive.
147
Outre la mise en œuvre de stratégies d’équilibres évoluées pour répondre à des perturbations,
c’est la cohabitation entre l’hv piloté par capture de mouvement et hv dynamique autonome
qui est la prochaine grande étape.
La capture de mouvement permet d’obtenir un avatar effectuant les gestes d’un opérateur.
Ces mouvements seront complétés par une gestion d’équilibre autonome qui garantirait à l’hv
des gestes physiques, quelle que soit la qualité de la capture de mouvement. Ainsi, il ne sera peut
être plus nécessaire de traquer tout le corps de l’opérateur, mais seulement une partie, le reste
résultant de la gestion d’équilibre, ou comportements plus évolués complémentaires des souhaits
ou indications de l’opérateur.
148
Bibliographie
[And89]
Anderson, Robert J. : Passive computed torque algorithms for robots.
Conference on Decision and Control, pages 1638–1644, Décembre 1989.
[APE04]
Azevedo, C., Poignet, P. et Espiau, B. : Artificial locomotion control: from
humans to robots. Robotics and Autonomous Systems, 47:203–223, 2004.
[ASP07]
Abe, Yeuhi, Silva, Marco Da et Popović, Jovan : Multiobjective control with frictional contacts. Dans Eurographics / ACM SIGGRAPH Symposium on Computer
Animation, pages 249–258, 2007.
[BB04]
Baerlocher, Paolo et Boulic, Ronan : An inverse kinematic architecture enforcing an arbitrary number of strict priority levels. The Visual Computer, 20(6),
2004.
[BBM09]
Bidaud, Philippe, Barthélemy, Sébastien et Micaelli, Alain : Le traité de la
réalité virtuelle : Contrôle de l’équilibre des humains virtuels (à paraître), tome 5.
Les Presses, Mines Paris, 2009.
[BLR05]
Bretl, Timothy, Latombe, Jean-Claude et Rock, Stephen : Toward autonomous
free-climbing robots. Robotics Research, pages 6–15, 2005.
[BRL03]
Bretl, Timothy, Rock, Stephen et Latombe, Jean-Claude : Motion planning for
a three-limbed climbing robot in vertical natural terrain. Dans IEEE International
Conference on Robotics and Automation, tome 3, pages 2946–2953, Taipei, Taiwan,
2003.
[BSB06]
Barthélemy, Sébastien, Salaun, Camille et Bidaud, Philippe : Dynamic simulation and control of sit-to-stand motion. Dans Proceedings of the 9th International
Conference on Climbing and Walking Robots (CLAWAR), 2006.
[Che98]
Chevallier, J.M. : Anatomie, tome 2 : l’appareil locomoteur. Broché, flammarion
médecine édition, 1998.
[DDW+ 08]
Diedam, H., Dimitrov, D., Wieber, P. B., Mombaur, K. et Diehl, M. : Online walking gait generation with adaptive foot positioning through linear model
predictive control. Dans IEEE International Conference on Intelligent Robots and
Systems, pages 1121–1126, Octobre 2008.
[DG67]
Dempster, W.T. et Gaughran, G.R.L. : Properties of body segments based on
size and weight. American Journal of Anatomy, 120:33–54, 1967.
[DKD06]
De Sapio, Vincent, Khatib, Oussama et Delp, S. : Task-level approaches for the
control of constrained multibody systems. 2006.
149
Dans
[Esc08]
Escande, Adrien : Planification de points d’appui pour la génération de mouvements acycliques : application aux humanoïdes. Thèse de doctorat, Université
d’Evry-Val d’Esonne, Décembre 2008.
[FB98]
Fasse, E.D. et Breedveld, P.C. : Modeling of elastically coupled bodies: Part
1 – general theory and geometric potential function method. Transactions of the
ASME, 120:496–506, 1998.
[Feu05]
Feutry, David : Développement d’un modèle numérique de sujet humain pour
prédire le comportement bio-dynamique d’un conducteur de chariot élévateur en
situation de renversement latéral. Rapport d’activité INRS/LIRIS, Mars 2005.
[FvdPT01]
Faloutsos, Petros, Panne, Michiel van de et Terzopoulos, Demetri : Composable controllers for physics-based character animation. Dans Fiume, Eugene
(rédacteur): SIGGRAPH 2001, Computer Graphics Proceedings, pages 251–260.
ACM Press / ACM SIGGRAPH, 2001.
[Gau]
Gautier, Jean : Définition et réalisation d’un protocole d’essai pour la qualification
de systèmes de retenue pour caristes. Stage de fin d’étude – Master ENSEM.
[Han64]
Hanavan, E.P. : Mathematical model of the human body. Wright-Patterson Air
Force Base, Ohio, AMRL-TR, pages 64–102, 1964.
[Her05]
Herbin, R. : Cours d’analyse numérique : licence de mathématiques. Université
Aix-Marseille 1, 2004–2005.
[HHH+ 06]
Hirukawa, H., Hattori, S., Harada, K., Kajita, S., Kaneko, K., Kanehiro,
F., Fujiwara, K. et Morisawa, M. : A universal stability criterion of the foot
contact of legged robots – adios zmp. Dans IEEE International Conference on
Robotics and Automation, pages 1976–1983, 2006.
[HKF+ 07]
Harada, K., Kanehiro, F., Fujiwara, K., Kaneko, K., Yokoi, K. et
Hirukawa, H. : Real-time planning of humanoid robot’s gait for force-controlled
manipulation. IEEE/ASME Transations on Mechatronics, 12(1):53–62, 2007.
[HKKH06]
Harada, K., Kajita, S., Kanko, K. et Hirukawa, H. : Dynamics and balance
of a humanoid robot during manipulation tasks. IEEE Transactions on Robotics,
22(3):568–575, 2006.
[Huy08]
Huynh, Chau Thuan : Commande d’un mannequin virtuel manutentionnaire. Rapport de fin d’études, CEA, 2008.
[INR06]
INRIA Rhône-Alpes : HuMAnS User Documentation, Octobre 2006.
[KWDS]
Khatib, Oussama, Warren, James, De Sapio, Vincent et Sentis, Luis : Humanlike motion from physiologically-based potential energies.
[LHP05]
Liu, C. Karen, Hertzmann, Aaron et Popović, Zoran : Learning physic-based
motion style with nonlinear inverse optimization. ACM Transactions on Graphics
SIGGRAPH, 24(3):1071–1081, 2005.
[LP02]
Liu, C. Karen et Popović, Zoran : Synthesis of complex dynamic character motion
from simple animations. Dans Proceedings of the 29th annual conference on computer graphics and interactive techniques, pages 408–416, New York, 2002. ACM
Press.
[LWP80]
Luh, J.Y.S., Walker, M.W. et Paul, R.P.C. : Resolved-acceleration control of
mechanical manipultors. Dans IEEE Transactions on Automatic Control, tome 25,
pages 468–474, Juin 1980.
[MF68]
McGhee, R.B. et Frank, A.A. : On the stability properties of quadruped creeping
gaits. Dans Mathematical Biosciences, tome 3, pages 331–351, 1968.
150
[MK08]
Mansard, Nicolas et Khatib, Oussama : Continuous control law from unilateral
constraints. Dans IEEE International Conference on Robotics and Automation,
tome 3, pages 3359–3364, Mai 2008.
[MLS94]
Murray, Richard M., Li, Zexiang et Sastry, S. Shankar : A Mathematical Introduction to Robotic Manipulation. CRC Press, 1994.
[MM75]
Miller, D. et Morrison, W.E. : Prediction of segmental parameters using the
hanavan human body model. Medecine and Science in Sports, 7(3):207–212, 1975.
[OR04]
Or, Yizhar et Rimon, Elon : Computation and graphic characterization of robust multiple-contact postures in gravitational environments. Dans Department of
Mechanical Engineering, Juin 2004.
[OR06]
Or, Yizhar et Rimon, Elon : Computation of multiple-contact frictional equilibrium
postures in three-dimensional gravitational environments. Dans Department of
Mechanical Engineering, 2006.
[Par05]
Park, Jonghoon : Principle of dynamical balance for multibody systems, multibody
system dynamics. 14(3–4):269–299, 2005.
[PCDG06]
Pratt, Jerry E., Carff, J., Drakunov, S. et Goswami, Ambarish : Capture
point : A step toward humanoid push recovery. Dans IEEE International Conference on Humanoid Robots, pages 200–207, 2006.
[RCPG07]
Rebula, John R., Canas, Fabian, Pratt, Jerry E. et Goswami, Ambarish :
Learning capture points for humanoid push recovery. Dans IEEE International
Conference on Humanoid Robots, Décembre 2007.
[Ren06]
Rennuit, Antoine : Contribution au Contrôle des Humains Virtuels Interactifs.
Thèse de doctorat, École Centrale de Nantes, 2006.
[RMP08]
Rebelle, Jérôme, Mistrot, Pierre et Poirot, Richard : Development and validation of a numerical model for predicting forklift truck tip-over. Vehicle System
Dynamics, Novembre 2008.
[SEM+ 08]
Stasse, Olivier, Escande, Adrien, Mansard, Nicolas, Miossec, Sylvain,
Evrard, Paul et Kheddar, Abderrahmane : Real-time (self )-collision avoidance
task on a hrp-2 humanoid robot. Dans IEEE International Conference on Robotics
and Automation, pages 3200–3205, Pasadena, CA, USA, Mai 2008.
[SK04]
Sentis, Luis et Khatib, Oussama : Task-oriented control of humanoid robots
through prioritization. International Journal of Humanoid Robotics, Décembre
2004.
[SK05]
Sentis, Luis et Khatib, Oussama : Synthesis of whole-body behaviors through
hierarchical control of behavioral primitives. International Journal of Humanoid
Robotics, 2005.
[SK06]
Sentis, Luis et Khatib, Oussama : A whole-body control framework for humanoids
operating in human environnements. Dans IEEE International Conference on
Robotics and Automation Orlando, Florida, pages 2641–2648, 2006.
[Tei96]
Teichmann, Marek : A grasp metric invariant under rigid motions. Dans IEEE
International Conference on Robotics and Automation, tome 3, pages 2143–2148,
Avril 1996.
[TGG07]
Toussaint, Marc, Gienger, Michael et Goerick, Christian : Optimization of
sequential attractor-based movement for compact behaviour generation. Dans IEEE
International Conference on Humanoid Robots, Décembre 2007.
151
[TTP01]
Trinkle, Jeffrey C., Tzitzoutis, J. et Pang, J.S. : Dynamic multi-rigid-body
systems with concurrent distributed contacts: Theory and examples, philosophical transactions on mathematical, physical, and engineering sciences. Series A,
359:2575–2593, 2001.
[TW05]
Tong, Liu et Wang, Michael Yu : Computation of three-dimensional rigid-body dynamics with multiple unilateral contacts using time-stepping and gauss-seidel methods. IEEE Transactions on Automation Science and Engineering, 2(1):19–31, 2005.
[VS74]
Vukobratovic, M. et Stepanenko, J. : On the stability of anthropomorphic
systems. Dans Mathematical Biosciences, tome 15, pages 1–37, 1974.
[Wie00]
Wieber, P. B. : Modélisation et Commande d’un Robot Marcheur Anthropomorphe.
Thèse de doctorat, École des Mines de Paris, Décembre 2000.
[YCBvdP08] Yin, Kang Kang, Coros, Stelian, Beaudoin, Philippe et Panne, Michiel van de :
Continuation methods for adapting simulated skills. ACM Transactions on Graphics, 27(3):1–7, Août 2008.
[YLvdP07]
Yin, Kang Kang, Loken, Kevin et Panne, Michiel van de : Simbicon: Simple
biped locomotion control. ACM Transactions on Graphics, 26(3):1–10, Juin 2007.
[YPL+ 08]
Yoshida, Eiichi, Poirier, Mathieu, Laumond, Jean-Paul, Kanoun, Oussama,
Lamiraux, Florent, Alami, Rachid et Yokoi, Kazuhito : Whole-body motion
planning for pivoting based manipulation by humanoids. Dans IEEE International
Conference on Robotics and Automation, pages 3181–3186, Pasadena, CA, USA,
Mai 2008.
[ZDL01]
Zhu, Xiangyang, Ding, Han et Li, Hanxiong : A quantitative measure for multifingered grasps. Dans IEEE/ASME International Conference on Advanced Intelligent Mechatronics, pages 213–219, Italy, July 2001.
[ZDW03]
Zhu, Xiangyang, Ding, Han et Wang, Jun : Grasp analysis and synthesis based
on a new quantitative measure. IEEE Transactions on Robotics and Automation,
19(6):942–953, Décembre 2003.
[ZMCF05]
Zordan, Victor B., Majkowska, Anna, Chiu, Bill et Fast, Matthew : Dynamic
response for motion capture animation. Dans Fiume, Eugene (rédacteur): SIGGRAPH 2005, Computer Graphics Proceedings, pages 697–701. ACM Press / ACM
SIGGRAPH, 2005.
152
Annexes
Sommaire
A
B
C
D
E
Définition des variables . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formalisme mathématique et rappels de mécanique du solide . . . .
B.1
Le groupe spécial euclidien . . . . . . . . . . . . . . . . . . . . . . . . .
B.2
La notation homogène . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.3
Matrice de rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4
Rappels de mécanique du solide . . . . . . . . . . . . . . . . . . . . . . .
B.5
CdM : position, vitesse, accélération . . . . . . . . . . . . . . . . . . . .
B.5.1
Position du CdM . . . . . . . . . . . . . . . . . . . . . . . . . .
B.5.2
Vitesse du CdM . . . . . . . . . . . . . . . . . . . . . . . . . .
B.5.3
Accélération du CdM . . . . . . . . . . . . . . . . . . . . . . .
Simulation physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.1
Fonctionnement global d’une simulation . . . . . . . . . . . . . . . . . .
C.2
Gestion des contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.3
Intégration numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramétrage de l’hv . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.1
Masses et géométries . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.2
Limites articulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste de publications . . . . . . . . . . . . . . . . . . . . . . . . . . . .
153
155
159
159
159
160
160
161
162
163
164
165
165
166
167
169
169
170
171
A
Définition des variables
Les variables utilisées tout au long du rapport sont ici listées. Le lecteur peut s’y référer pour
retrouver la signification d’une variable introduite avant la partie en cours de lecture.
X
Vecteur position en coordonnées généralisées d’un robot
T
Vecteur vitesse en coordonnées généralisées d’un robot
Ṫ
Vecteur accélération en coordonnées généralisées d’un robot, dérivé de T
τ
Couples articulaires
W
Vecteur des torseurs d’efforts appliqués sur chacun des corps qui constituent le
robot, exprimés dans leurs repères de base respectifs. (repères liés aux “corps”)
C
Jacobienne du robot : matrice de transformation entre l’espace des vitesses articulaires (“espace tangent exprimé par T ”) et l’espace des vitesses cartésiennes
des corps (espace des torseurs cinématiques des corps, en formulation “corps”
se3 (R) × . . . × se3 (R) = se3 (R)ncorps ).
M̃
Matrice de masse (ou d’inertie) généralisée en coordonnées généralisées
L
Matrice permettant d’exprimer τ en coordonnées généralisées
N
Matrice associée aux effets de Coriolis et centrifuges
G
Accélération de la pesanteur exprimée en coordonnées généralisées
Vracine
Torseur cinématique du corps racine de l’arborescence du robot exprimé dans le
repère lié au corps “racine”
q̇k
Vitesse articulaire du corps k par rapport au corps le précédent dans l’arborescence
τk
Couple articulaire appliqué par le corps k sur le corps le suivant dans l’arborescence
τcommande
Couples articulaires calculés par la commande
τbutée
Couples articulaires dus aux butées articulaires
Wcontact
Torseur dynamique lié aux contacts entre l’hv et son environnement
Wliaison
Torseur dynamique lié aux liaisons viscoélastiques entre l’hv et son environnement
Wperturbation Torseur dynamique lié aux perturbations extérieures exercées sur l’hv
Mk
Matrice d’inertie du corps k dans son repère de base
nddl
Nombre de degrés de liberté du robot hv (ne tient pas compte des 6 ddl du corps
racine)
na
Nombre d’arêtes des cônes de frottement linéarisés
nc
Nombre de corps de contact du robot hv
np
Nombre de corps de préhension du robot hv
xconsigne
cdm/scène
xdes
cdm/scène
Position de consigne du CdM exprimée dans le repère scène
xcdm/scène
Position du CdM exprimée dans le repère scène
xcdm/racine
Position du CdM exprimée dans le repère racine
des
vcdm/scène
Vitesse absolue désirée du CdM exprimée dans le repère scène
Position désirée du CdM exprimée dans le repère scène
155
vcdm/scène
Vitesse absolue du CdM exprimée dans le repère scène
vcdm/racine
Vitesse absolue du CdM exprimée dans le repère racine
acdm/scène
Accélération absolue du CdM exprimée dans le repère scène
acdm/racine
Accélération absolue du CdM exprimée dans le repère racine
ades
cdm/scène
Accélération absolue désirée du CdM exprimée dans le repère scène
ades
cdm/racine
Accélération absolue désirée du CdM exprimée dans le repère racine
xkc/scène
Position du k ieme point de contact exprimée dans le repère scène
xc/scène
Concaténation des xkc/scène
k
vc/scène
Vitesse du k ieme point de contact exprimée dans le repère scène
vc/scène
k
Concaténation des vc/scène
akc/scène
Accélération du k ieme point de contact exprimée dans le repère scène
k
Xp/scène
Position du k ieme corps de préhension exprimée dans le repère scène
k
Vp/scène
Torseur vitesse du k ieme corps de préhension exprimée dans le repère scène
k
V̇p/scène
Accélération du k ieme corps de préhension exprimée dans le repère scène
Ccdm
Jacobienne permettant d’exprimer vcdm/racine en fonction de T
Cp
Jacobienne permettant d’exprimer vp/bd en fonction de T
Cc
Jacobienne permettant d’exprimer vc/bd en fonction de T
τ des
Couples articulaires désirés
Ṫ des
Accélérations en coordonnées généralisées désirées
des
fc/contact
des
Wp/bd
Forces de contact désirées exprimées dans le repère de contact
Rracine
Rotation du repère du corps racine par rapport au repère scène
rracine
Position du repère du corps racine par rapport au repère scène
hdes
Hauteur du thorax désirée exprimée dans le repère scène
m
Masse totale du robot hv
g
Accélération de pesanteur (g = 9,81 m.s−2 )
µ
Coefficient de frottement sec
Normale au contact
Nc
Tc1 ,
Efforts de préhension désirés exprimé dans le repère du corps
Tc2
fc/contact
Tangentes au contact
Forces de contact exprimées dans le repère de contact
Wp/prehension Efforts de préhension exprimés dans les repères de préhension
Cct
Jacobienne exprimant fc/contact en coordonnées généralisées
Cpt
Jacobienne exprimant Wp/préhension en coordonnées généralisées
(kcdm , µcdm ) Gains de l’asservissement de la position du CdM
$
kṪ , µṪ
Gains de l’asservissement de la posture
(kc , µc )
Gains de l’asservissement de la position des corps de contact
(kp , µp )
Gains de l’asservissement de la position des corps de préhension
pcdm
Poids du critère d’optimisation portant sur l’accélération du CdM
pṪ
Poids du critère d’optimisation portant sur l’accélération de la posture de l’hv
156
pτ
Poids du critère d’optimisation portant sur les couples articulaires
pf c
Poids du critère d’optimisation portant sur les forces de contact
pW p
Poids du critère d’optimisation portant sur les efforts de préhension
157
B
Formalisme mathématique et rappels de mécanique du solide
B.1
Le groupe spécial euclidien
Cette annexe précise le formalisme mathématique utilisé dans ce rapport. Ce formalisme est
celui présenté dans l’ouvrage de Murray, Li et Sastry [MLS94]. On rappel que l’espace des
matrices de rotation dans M3,3 (R), est le groupe spécial orthogonal :
SO3 (R) = {R ∈ M3,3 (R) : R Rt = I3 , det(R) = 1}
(2)
Ces matrices décrivent l’ensemble des rotations possibles dans R3 . L’ensemble des matrices
antisymétriques forme l’espace antisym3 (R) :
antisym3 (R) = {S ∈ M3,3 (R) : S t = −S}
(3)
On définit l’application [] : r ∈ R3 → [r] ∈ antisym3 (R) :

rx
r =  ry 
rz



0
−rz ry
0 −rx 
[r] =  rz
−ry rx
0
[r]t = −[r]
(5)
∧ : le produit vectoriel
(6)
car
[r] ∈ antisym3 (R)
(4)
Cette application effectue un produit vectoriel :
avec
r1 ∧ r2 = [r1 ] r2
Tout déplacement rigide définissant la position d’un solide attaché à un repère B, relativement
à un repère A peut être défini par la combinaison d’une :
– translation : rab ∈ R3 , vecteur définissant la position de l’origine du repère B dans le
repère A ;
– rotation : Rab ∈ SO3 (R), matrice décrivant l’orientation du repère B par rapport au
repère A.
L’ensemble de ces déplacements est appelé le groupe spécial euclidien :
SE3 (R) = {(R, r) ∈ SO3 (R) × R3 }
B.2
(7)
La notation homogène
La notation homogène permet de représenter les éléments de SE3 (R) et d’exprimer les changements de repère. Cette notation permet de différencier un point ou un vecteur de R3 par l’ajout
d’une quatrième coordonnée :
– un point de coordonnées (x, y, z) est noté : [x, y, z, 1]T ;
– un vecteur de coordonnées (x, y, z) est noté : [x, y, z, 0]T .
On peut également représenter chacun des éléments de SE3 (R) par une matrice homogène :
Hab =
Rab rab
01,3 1
−1
Hba = Hab
=
t
t r
−Rab
Rab
ab
01,3
1
(8)
Hab (t) ∈ SE3 (R) représente le mouvement d’un corps rigide lié à un repère B, relativement
à un repère A. L’augmentation de la dimension de 3 à 4 permet de manipuler des points et
des vecteurs indépendamment de leur nature, par des relations linéaires. Par exemple, on peut
159
exprimer la position d’un point ou d’un vecteur, exprimé dans le repère B (rB ), dans le repère
A (rA ), en utilisant la matrice de passage du repère A au repère B (figure 2).
(9)
rA = Hab rB
RAB
yB
xB
B
yA
rAB
xA
A
zB
zA
HAB
Figure 2 – Changement de repère.
B.3
Matrice de rotation
Une matrice de rotation R est une matrice orthogonale directe, ce qui signifie que ses colonnes forment une base orthonormée directe, ou encore que sa matrice transposée est égale à
sa matrice inverse, et que son déterminant vaut 1. Inversement, étant donnée une matrice de
rotation quelconque, on retrouve facilement le cosinus de l’angle de rotation. En effet, la trace
de la matrice est égale à 1 + 2 cos φ. Par ailleurs, on remarque que :




nx
0
−nz +ny
t
R−R
0
−nx 
= sin(φ)  +nz
~n =  ny 
2
nz
−ny +nx
0
ce qui permet de retrouver rapidement l’axe ~n et le sinus associés à la rotation φ. L’utilisation de
matrices de rotation présente l’avantage de ne pas avoir de singularité contrairement à l’utilisation
des angles d’Euler. Le seul cas de singularité se présente lorsque φ = 0 mod π. Dans ce cas, la
matrice antisymétrique est nulle et les deux matrices de rotation (R et Rt ) sont confondues car
φ = 0 ⇒ R = I3 .
B.4
Rappels de mécanique du solide
La vitesse d’un corps associé au repère B par rapport à A, exprimée dans le repère A s’exprime
à l’aide du torseur cinématique (“twist” en anglais) [MLS94] :
b
vob ,ba
b
Vab =
(10)
b
ωba
160
avec :
• vobb ,ba ∈ R3 : vitesse de l’origine du repère B, exprimée dans le repère B ;
b ∈ R3 : vitesse angulaire de B par rapport à A, exprimée dans le repère B.
• ωba
On note se3 (R) l’ensemble des torseurs cinématiques. se3 (R) est l’espace tangent à l’identité
du groupe de Lie SE3 (R). se3 (R) a une structure d’algèbre de Lie.
Le changement de repère d’un torseur cinématique s’exprime à l’aide de l’adjointe de Hab ,
noté AdHab : R6 −→ R6 :
t
t [r ]
Rab [rab ] Rab
Rab −Rab
ab
−1
AdHab =
(11)
AdHab =
t
03,3
Rab
03,3
Rab
b
a
Vab
= Ad−1
Hab Vab
(12)
soit :
b = Rt v a − Rt [r ] ω a = Rt (v a − r ∧ ω a )
• vab
ab
ab ab
ab ab
ab
ab
ab
ab
b = Rt ω a
• ωab
ab ab
Une force généralisée agissant sur un corps rigide est définie par une force et un moment.
Cette force généralisée est représenté par un torseur d’effort (“wrench” en anglais), i.e. les deux
composantes sont liées par la relation “de déplacement du champ de moment” :
a
fab
a
Wab =
(13)
τoaa ,ab
soit :
a : résultante des efforts du solide lié à A sur le solide lié à B ;
• fab
• τoaa ,ab : moment en A des efforts de A sur B.
Par analogie au torseur cinétique, le changement de repère s’exprime à l’aide de la matrice
co-adjointe Ad−t
Hab de la transformation homogène Hab :
Rab
03,3
−t
−1 t
t
−1
(14)
AdHab = (AdHab ) = (AdHab ) =
[rab ] Rab Rab
a
b
Wab
= Ad−t
Hab Wab
(15)
soit :
a = R fb ;
• fab
ab ab
$
a = R τ b + [r ] R f b = R τ b + r ∧ f a .
• τab
ab ab
ab
ab ab
ab ab
ab
ab
B.5
CdM : position, vitesse, accélération
On détaille dans cette annexe les calculs pour obtenir la position, la vitesse et l’accélération
du CdM à partir du modèle dynamique d’Arboris.
161
{i L (i + 1)}
Ei
{i + 1}
{i}
{i L (i − 1)}
Figure 3 – Repère de liaison des corps : on choisit de confondre les repères {i} au CdM du
corps.
B.5.1
Position du CdM
La position du CdM exprimée dans le repère du corps racine est :
xcdm/racine =
1
rcdm
m
Démonstrations :
Dans un premier temps, afin de
et C t .

Mracine 06,6

 06,6
M1
M =

..
..

.
.
06,6
...





C=




1
1
Adracine
..
.
i

I6

 01,6


 01,6
Ct = 

 01,6


 01,6
01,6

06,6

..

.


06,6 
Mnddl
...
..
.
..
.
06,6
avec
Mi =
06,1
...
...
Ad1Lracine E1
..
.
06,1
..
.
...
...
06,1
...
AdiL(i−1) Ei
06,1
..
.
...
i
Adracine
..
.
nddl
Adracine
Ad1Lracine E1
..
.
nddl
Ad1Lracine E1
t
Adracine
t
1
Ad1Lracine E1
1
01,6
..
.
..
.
...
(16)
calculer C t M C, on rappelle l’expression des matrices M , C
06,1
I6

$
[rcdm ] = C t M C (1 : 3, 4 : 6)
avec
...
...
..
.
01,6
..
.
...
...
i
...
...
nddl
...
AdiL(i−1) Ei
t
Adracine
t
i
Ad1Lracine E1
..
.
t
i
AdiL(i−1) Ei
i
01,6
...
162
0
...
..
.
..
.
..
.
01,6
mi I3 03,3
03,3
ℑi
(17)
06,1
..
.

06,1
..
.
nddl
06,1
Adnddl L(nddl −1) Enddl
nddl
Adnddl L(nddl −1) Enddl
(18)

t
(nddl Adracine )
t
(nddl Ad1Lracine E1 )
..
.
t
nddl
AdiL(i−1) Ei
..
.










t











(19)
À partir des matrices M , C et C t (équations 17, 18 et 19), on calcule C t M C (1 : 6, 1 : 6) :
C t M C (1 : 6, 1 : 6) = Mracine +
n
ddl
X
i
Adracine
i=1
i
avec
Adracine =
t
Ri [ri ] Ri
03,3
Ri
Mi
i
Adracine
(20)
Par construction, le repère d’un corps i est confondu avec son CdM (figure 3). Ainsi, ri
représente la distance du CdM du corps i au repère
racine exprimée dans le repère du corps i.
t
On détaille le calcul de i Adracine Mi i Adracine :
i
Adracine
t
Mi
i
Adracine =
=
"
03,3
Rit
t
−Ri [ri ] Rit
mi I3
−mi Rit [ri ] Ri
mi I3 033
03,3 ℑi
Ri [ri ] Ri
03,3
Ri
#
t
mi Ri [ri ] Ri
t
Ri ℑi − mi [ri ]2 Ri
(21)
Tout d’abord, la masse de l’hv s’obtient simplement avec C t M C (1, 1). Pour la suite, on
introduit les notations suivantes :


ai
ri =  bi 
ci

0
[ri ] =  +ci
−bi

− b2i + c2i
ai bi
−
[ri ]2 = 
ai ci

−ci +bi
0 −ai 
+ai
0
[ri ]t = − [ri ]

ai bi ai ci
a2i + c2i
bi ci 
bi ci
− a2i + b2i
(22)
(23)
Pour exprimer la matrice d’inertie du corps i du repère (cdm, Ri ) au repère (racine, Ri ), la
formule de Huygens donne :
 2

bi + c2i
−ai bi −ai ci
a2i + c2i
−bi ci 
ℑ(i)/(racine,Ri ) = ℑ(i)/(cdm,Ri ) + mi  −ai bi
(24)
2
2
−ai ci
−bi ci
ai + bi
Donc la matrice d’inertie globale du système est C t M C (4 : 6, 4 : 6). On détaille maintenant
la matrice C t M C (1 : 3, 4 : 6) :
t
C M C (1 : 3, 4 : 6) = mracine I3 +
n
ddl
X
i=1
= m [rcdm ]
B.5.2
mi Rit [ri ] Ri
(25)
Vitesse du CdM
Pour exprimer la vitesse du CdM à partir du modèle dynamique, on part du modèle cinématique direct :




Vracine
Vracine
 q̇1 
 V1 




(26)
=CT
=C 

..
..




.
.
q̇nddl
Vnddl
163
On multiplie les vitesses en coordonnées généralisées par la matrice de masse M , puis C t :


Mracine Vracine


M1 V 1


MCT =
(27)

..


.
Mnddl Vnddl
En multipliant l’équation 27 par C t , on obtient :
Ct M C T =
"
Mracine Vracine +
t
C MCT =
"
1 Ad
racine
t
M1 V1 + . . . + (nddl Adracine )t Mnddl Vnddl
..
.
Mracine Vracine +
Pnddl racine
i=1
..
.
Adi Mi Vi/corps(i)
#
#
(28)
(29)
On obtient la vitesse du CdM exprimée dans le repère du corps racine :
vcdm/racine
1
=
m
!
Mracine Vracine +
n
ddl
X
racine
Adi Mi Vi/corps(i)
i=1
On pose vcdm/racine = Ccdm T avec Ccdm =
1
m
$
1
C t M C (1 : 3, :) T (30)
m
C t M C (1 : 3, :).
vcdm/scène = Rracine vcdm/racine
B.5.3
=
(31)
Accélération du CdM
Pour obtenir l’accélération du CdM, on repart de l’expression de la vitesse du CdM, vcdm/racine =
Ccdm T que l’on dérive :
acdm/racine = Ċcdm T + Ccdm Ṫ
(32)
acdm/scène = Rracine acdm/racine
(33)
164
C
C.1
Simulation physique
Fonctionnement global d’une simulation
Figure 4 – Présentation de la boucle de simulation.
On utilise un simulateur dynamique (chapitre 2.3) des systèmes rigides poly-articulés. Les
robots ne sont pas libres. Ils sont physiquement contraints dans la simulation. Les butées articulaires constituent les contraintes internes, qui sont gérées par le simulateur. Dans cette étude, les
contraintes externes se limitent à des contacts rigides sur rigides et des liaisons viscoélastiques.
On détaillera les différents modèles d’interaction (chapitre 2.4).
La simulation se déroule en une étape d’initialisation puis une boucle de simulation (figure 4).
Lors de l’étape d’initialisation, on définit les structures arborescentes, leurs propriétés physiques
(masse, inertie, contacts, matériaux, . . .), graphiques (géométrie, couleur, . . .) ainsi que la posture
initiale. Pour déterminer la position et la vitesse du système à l’instant k + 1, il faut calculer
l’accélération du système à l’instant k + 1 car on effectue une intégration Euler implicite (§ C.3).
Cette accélération est calculée à partir des positions et vitesses de l’instant k et des contraintes
(internes et externes) du système à l’instant k +1. On calcule tout d’abord ces efforts (contraintes
et commande) à l’instant k + 1 puis l’accélération à k + 1 et enfin, par intégration, on en déduit la
posture et la vitesse de l’instant k +1. On peut décomposer une boucle de simulation en plusieurs
étapes.
Étape 1 – Modèle à l’instant k : à chaque instant k de la simulation, on connaît l’état du
système. Il s’agit des positions et des vitesses du corps racine et des articulations.
165
Étape 2 – Commande : on commence tout d’abord par calculer la commande de l’instant
k + 1. Celle-ci s’appuie sur des connaissances de positions et de vitesses de l’instant k.
Étape 3 – Mouvement libre : l’état du système à l’instant k, les couples de commande
et l’accélération de pesanteur génèrent un mouvement libre. Ce mouvement n’est pas contraint
(contacts, butées articulaires . . . ). Suite à ce mouvement libre, on calcule les contraintes. Par
exemple, dans le mouvement libre, des corps peuvent s’interpénétrer. On réalise alors une détection de collision pour déterminer le point d’application des forces de contact. Enfin, on calcule
les forces de contact de réaction qui empêchent les solides de s’interpénétrer.
Étape 4 – Bilan des efforts : on effectue un bilan des efforts de l’instant k+1 s’appliquant au
robot. Ces efforts contiennent les couples de la loi de commande et aussi les efforts de contraintes.
Étape 5 – Mouvement contraint : à partir du bilan des efforts précédents, on détermine
l’accélération du système à l’instant k + 1.
Étape 6 – Intégration de l’accélération : en intégrant deux fois cette accélération, on
obtient la vitesse et la configuration du système à l’instant k +1. Les contraintes ont été calculées
pour garantir la non-interpénétration des solides au niveau des contacts et la non-violation des
butées articulaires.
C.2
Gestion des contraintes
La méthode de prise en compte des contraintes bilatérales (liaisons viscoélastiques, boucles
cinématiques) et unilatérales (collisions, butées) repose sur un algorithme de Gauss-Seidel qui
nécessite la connaissance d’une matrice de “compliance” ou matrice “admittance”. Cette matrice
met en relation des torseurs d’efforts de contraintes avec des vitesses relatives. On peut l’écrire
ainsi :
θ̇c = Y Γc
(34)
avec :
– θ̇c : vecteur vitesses de contraintes (torseurs cinématiques complets ou partiels, vitesses
articulaires . . . ) ;
– Y : matrice d’admittance en question ;
– Γc : vecteur des efforts de contraintes (torseurs d’efforts complets ou partiels, forces ou
couples articulaires . . . ).
On procède en trois temps :
– on construit d’abord la matrice admittance pour chacun des cas traités isolément comme
s’il n’y avait qu’une seule contrainte ;
– on construit la matrice admittance globale qui fait apparaître des couplages entre les différentes contraintes ;
– on décrit l’algorithme de Gauss-Seidel globalement, puis le traitement particulier lié à
chaque cas.
On ne considère que des contacts ponctuels avec frottements secs de type Coulomb avec une
composante en torsion, tels que décrits dans les articles de J.C. Trinkle et al. [TTP01] et Liu
Tong et al. [TW05]. Dans ce modèle de frottement et dans le repère de contact, les seules composantes du torseur d’efforts engendrés par le contact sont (fx , fy , fz , mz ) (figure 5), soit : les
166
trois composantes de force et une composante de moment, la dernière suivant l’axe z.
D’autre part, une liaison viscoélastique est constituée d’un ressort (application de SE (3)
dans se (3)∗ ) et d’une viscosité (application de se (3) dans se (3)∗ ). On a choisi pour le ressort
une formulation dérivant d’un potentiel (E.D. Fasse et P.C. Breedveld [FB98]) et, pour la
viscosité, une application linéaire constante symétrique définie positive appliquée dans l’un des
repères de la liaison.
Dans la simulation, on utilise des contacts sphère/parallélépipède, sphère/sphère et ellipsoïde/sphère. Pour réaliser un contact plan/plan (figure 5), on attache sur un “corps” 3 sphères
de contact qui définissent un plan, qui pourra entrer en collision avec un parallélépipède. Les pieds
et les mains du mannequin sont des parallélépipèdes où 3 sphères sont encastrées. C’est au niveau
de ces sphères qu’interviennent les contacts avec l’environnement (un autre parallélépipède).
x3c
−
→
z
x2c
−
→
y
−
→
x
x1c
Figure 5 – Orientation du repère de contact et simplification du contact plan/plan.
C.3
Intégration numérique
Le problème à résoudre dans une simulation numérique consiste à discrétiser l’équation 35
pour la résoudre numériquement (avec x l’état du système considéré) :
ẋ = f (x)
(35)
On utilise deux schémas d’intégration numérique à un pas de temps que sont Euler direct
(qui est un schéma explicite) et Euler rétrograde (qui est un schéma implicite) :
– schéma explicite :
xk+1 − xk
≃ ẋk = f (xk )
δt
(36)
xk+1 − xk
≃ ẋk+1 = f (xk+1 )
δt
(37)
– schéma implicite :
Une prédiction de xk+1 est mise en œuvre, puis une linéarisation de f autour de xk , dans un
schéma d’Euler implicite linéarisé :
xk+1 − xk
≃ ẋk+1 ≃ f (xk + ẋk δt)
δt
167
(38)
∂f
ẋk δt
(39)
∂x
L’accélération est intégrée. L’intégration numérique se fait d’abord selon Euler implicite puis
selon Euler explicite (R. Herbin [Her05]). À l’instant k, l’équation de la dynamique s’écrit :
f (xk + ẋk δt) = f (xk ) +
Tk+1 − Tk
(40)
dt
Donc, par inversion, on obtient le vecteur vitesse en coordonnées généralisées du robot à
l’instant k + 1 :
−1 Vk+1
t
M̃k Tk + dt Ck Wk + L τk
(41)
Tk+1 = M̃k + dt Ñk
avec Tk+1 =
q̇k+1
M̃k Ṫk+1 + Ñk Tk+1 = Ckt Wk + L τk
avec
Ṫk+1 =
Enfin, la configuration de l’hv à l’instant k + 1 est calculée à partir de la configuration à
l’instant k et Tk+1 :
(
Hk+1 = Hk exp(Vk+1 dt)
(42)
qk+1 = qk + q̇k+1 dt
168
D
D.1
Paramétrage de l’hv
Masses et géométries
Segments corporels
% de la masse totale
tête
06.30
thorax
17.10
abdomen + bassin
32.39
bras
02.63
avant-bras
01.54
main
00.59
cuisse
10.95
jambe
04.93
pied
01.46
Table 2 – Masses des segments corporels (D. Miller et al. [MM75]).
Géométries
Segments corporels
Ellipsoïde
Tête
Thorax
Stadium
Abdomen
Bras
Avant-bras
Cône tronqué
Cuisse
Jambe
Main
Parallépipède
Pied
Table 3 – Géométries des segments corporels (E.P. Hanavan [Han64]).
169
D.2
Limites articulaires
Articulation
Mouvement
Angle limite (˚)
Nomination
−18
coumin
X
abduction
adduction
Cou
flexion
extension
rotation médiale
rotation latérale
adduction
abduction
Épaule
extension
coumax
Y
−75
coumin
Z
+75
coumax
Z
−90
épaulemin
X
+90
épaulemax
X
−60
épaulemin
Y
−20
épaulemin
Z
+97
épaulemax
Z
extension
+00
coudemin
Y
flexion
+160
coudemax
Y
supination
−90
coudemin
Z
extension
adduction
adduction
abduction
extension
+85
coudemax
Z
−80
poignetmin
X
+70
poignetmax
X
−30
poignetmin
Y
+20
poignetmax
Y
−30
hanchemin
X
+30
hanchemax
X
−20
hanchemin
Y
flexion
+120
hanchemax
Y
rotation latérale
−60
hanchemin
Z
rotation médiale
flexion
extension
adduction
Cheville
+23
rotation interne
abduction
Genou
coumin
Y
épaulemax
Y
flexion
Hanche
−19
+170
pronation
Poignet
coumax
X
flexion
rotation externe
Coude
+18
abduction
flexion plantaire
flexion dorsale
+30
hanchemax
Z
−135
genoumin
Y
+00
genoumax
Y
−30
chevillemin
X
+20
chevillemax
X
−50
chevillemin
Y
+30
chevillemax
Y
Table 4 – Limites articulaires de l’humain virtuel à 32 ddl (J.M. Chevallier [Che98]).
170
E
Liste de publications
Publications à des conférences internationales
icra 08
Robust Balance Optimization Control of Humanoid Robots with Multiple non
Coplanar Grasps and Frictional Contacts. Cyrille Collette, Alain Micaelli,
Pierre Lemerle et Claude Andriot. Dans IEEE International Conference on
Robotics and Automation, pages 3187-3193, Pasadena, ca, usa, Mai 2008.
Humanoids 07 Dynamic Balance Control of Humanoids for Multiple Grasps and non Coplanar Frictional Contacts. Cyrille Collette, Alain Micaelli, Pierre Lemerle
et Claude Andriot. Dans IEEE/RAS International Conference on Humanoid
Robots, Pittsburgh, pa, usa, December 2007.
isvc 07
Dynamic Balance Control Following Disturbance of Virtual Humans. Cyrille
Collette, Alain Micaelli, Pierre Lemerle et Claude Andriot. Dans
G. Bebis et al., editor, isvc 2007, Part I, lncs 4841, pages 734-744, Berlin
Heidelberg, 2007. Springer-Verlag.
Autres
jnrh 08
Gestion d’Équilibre Robuste d’Humains Virtuels Dynamiques. Cyrille Collette, Alain Micaelli, Pierre Lemerle et Claude Andriot. jnrh, Paris,
France, 2008.
jnrh 07
Gestion d’Équilibre d’Humains Virtuels Dynamiques en Multi Contacts Non
Coplanaires avec Frottements Secs. Cyrille Collette, Alain Micaelli, Pierre
Lemerle et Claude Andriot. jnrh, Montpellier, France, 2007.
171
Téléchargement