• Aucun résultat trouvé

3. Présentation et évaluation de ARPH

3.1. Présentation de ARPH

3.1.1. Présentation générale

ARPH (Assistance Robotisée pour Personnes Handicapées) est un robot mobile d’assistance aux personnes handicapées (Figure 3-1).

Figure 3-1 : Robot ARPH

Il est composé d’une plate-forme mobile, à deux roues motrices, équipée d’un bras manipulateur MANUS à 6 degrés de liberté. Il possède de plus une pince permettant la préhension d’objets jusqu’à 1Kg. À de la plate-forme se situe une ceinture de capteurs

32 / 146 ultrasons permettant de se situer par rapport aux obstacles et de les éviter. ARPH est pilotable en vue et hors vue. Pour cela, il est équipé d’une caméra orientable en site et en azimut. Le système embarque un ordinateur PC P4 3Ghz Wifi qui lui permet d’être commandé à distance. Deux batteries de voiture 12V 44Ah lui assurent une autonomie d’environ 3 heures. La Figure 3-2 présente les dimensions de la base mobile du prototype actuel.

Figure 3-2 : Description de la base mobile (dimensions en mm)

3.1.2. Interface de commande

Via la liaison Wifi, ARPH est contrôlé à distance à l’aide d’une interface homme machine présentée sur la Figure 3-3 qui autorise la visualisation du flux vidéo en provenance de la caméra embarquée.

33 / 146 De plus, elle affiche un radar qui visualise la distance aux obstacles. Elle possède un ensemble de boutons de contrôle permettant le pilotage du bras et de la base ainsi que l’orientation de la caméra. L’interface permet en outre de visualiser l’image issue de la caméra embarquée ainsi qu’un diagramme d’état de l’environnement issu des informations données par les capteurs ultrasons. Il est aussi possible de sélectionner des modes de fonctionnement particuliers qui sont exposés dans le paragraphe suivant.

3.1.3. Modes de commande

Parmi ces modes, on trouve : • Pilotage Manuel

L’utilisateur pilote simplement la base à l’aide de boutons avant-arrière-gauche-droite. • Pilotage Caméra

Des études [RYBA2004A], [RYBA2004B] ont montré que l’orientation de la tête lors de la conduite dépend de la trajectoire voulue. Ainsi, lors par exemple d’un virage à gauche, le conducteur tourne la tête vers la gauche en pointant une région particulière à l’intérieur du virage. Cette idée a été transposée et implémentée sur ARPH. Dans le mode pilotage caméra, l’utilisateur devra faire pivoter la caméra en azimut (gauche-droite) pour que le robot tourne. La vitesse de rotation du robot dépendra alors de l’angle d’azimut à un instant donné. Les contrôles «marche avant et marche arrière» sont identiques au mode manuel. Notons simplement qu’en mode manuel, un bouton stop permet d’arrêter la plate-forme mobile. En mode Pilotage Caméra, le bouton stop annule la vitesse linéaire du robot (mouvement avant-arrière) et un bouton supplémentaire de « recentrage caméra » permet de recentrer la caméra et donc d’arrêter la rotation de la plate-forme. Ce mode de pilotage est intuitif et permet d’avoir des trajectoires plus lissées qu’en mode Pilotage Manuel.

• Pilotage Suivi de caméra

C’est un mode de pilotage automatique. L’utilisateur sélectionne une cible de couleur particulière et la plate-forme mobile la suivra automatiquement sans autre commande. Ce mode peut être utilisé par exemple pour que ARPH suive la personne handicapée dans son fauteuil lors de ses déplacements. Il met en œuvre la fonction de suivi de couleur implémentée en interne dans la caméra.

• Suivi de pince

Dans ce mode, la caméra suit automatique la pince du manipulateur, ce qui évite à l’utilisateur d’avoir à orienter par lui-même la caméra. Ce mode a été ajouté suite aux évaluations décrites au paragraphe 3.2.

À tous modes de commande peut s’ajouter l’évitement d’obstacle. Ainsi, à l’aide de la ceinture ultrason, la plate-forme mobile peut contourner les obstacles tout en gardant pour objectif principal la direction imposée par l’utilisateur. Ce mode est particulièrement utile pour les déplacements dans les couloirs afin de ne pas entrer en collision avec les murs. Dans cette configuration, l’utilisateur demande une simple marche avant et la plate-forme mobile se déplace en restant automatiquement au milieu du couloir.

3.1.4. Architecture informatique

L’architecture de ARPH (Figure 3-4) est basée sur un système client serveur inspiré du projet ARITI [OTMA2000] qui permet la télémanipulation d’un robot via internet. Le logiciel a été,

34 / 146 au cours de ma thèse, restructuré et réécrit en langage objet C++ (encadrement d’un ingénieur informatique en CDD de 4 mois). Cette nouvelle structure a permis d’assurer de bonnes performances en termes de fiabilité et de sécurité lors des évaluations avec les utilisateurs finaux.

Figure 3-4 : Architecture logicielle de ARPH

On trouve un ensemble de serveurs matériels directement connectés aux différents organes matériels de ARPH. Ces serveurs reçoivent des ordres par l’intermédiaire d’une mémoire partagée. Un ensemble de serveurs TCP/IP reçoit des ordres via le réseau Ethernet qui sont

35 / 146 transférés en mémoire partagée à destination des serveurs matériels. A chaque serveur matériel correspond un serveur TCP/IP. Cette architecture distribuée permet de faire fonctionner ARPH en mode dégradé si une panne survient sur l’un des modules sans affecter les autres. Afin de pouvoir gérer les différents modes de commandes, un serveur TCP/IP SUPERVISEUR a été ajouté. Celui ci a pour rôle d’agencer temporellement des Modules de comportement basiques pour obtenir des modes de commande avancés. On y trouve par exemple les comportements « mode de navigation » et « évitement » qui permettent d’obtenir par exemple le mode complexe « Pilotage Caméra avec évitement d’obstacle ». L’implémentation de ce superviseur a fait l’objet de l’encadrement d’un stagiaire ingénieur IIE 2ème année. Le système embarque un OS Linux, Mandrake 9.2 ou sont implémentés en C++ l’ensemble des codes. La complexité du système nous a amené à introduire des normes de codage strictes permettant de générer automatiquement de la documentation et d’assurer ainsi un développement plus rapide et plus fiable de nouveaux comportements.

Malgré une interface logicielle fiable, l’hétérogénéité des composants matériels et donc des protocoles propriétaires de communications, le système était encore difficilement utilisable pour des évaluations. La motorisation, basée sur un système DXKEY, utilisé pour la commande des moteurs de fauteuils roulants a été avantageusement remplacée par des variateurs de modélisme contrôlés par une carte à microcontrôleur. Des codeurs incrémentaux montés sur chaque moteur ont permis un asservissement en vitesse et un calcul odométrique fiable. La robustesse a été améliorée lors de l’encadrement d’un stage INSA Rennes 1ère année. Nous avons, de plus, implanté des capteurs de courant sur chaque moteur. En effet, le prototype actuel est lourd et volumineux. A la vitesse de 0,6m/s, il représente un danger potentiel pour un enfant qui ne serait pas détecté par la ceinture ultrason par exemple. Le contrôle du courant permet de limiter le couple moteur et donc d’améliorer notablement la sécurité.