Damien Chablat
email: damien.chablat@irccyn.ec-nantes.fr

Fouad Bennis

Bernard Hoessler
email: bhoessler@tecnomatix.fr

Mathieu Guibert

Périphériques haptiques et simulation d'objets, de robots et de mannequins dans un environnement de CAO-Robotique : eM-Virtual Desktop Haptic devices and objects, robots and mannequin simulation in a CAD-CAM software: eM-Virtual Desktop

Le travail présenté dans ce papier est relatif à l'intégration d'une interface à retour d'efforts dans un environnement de simulation. Après une analyse de l'existant dans le domaine, des conditions d'intégration et des applications potentielles, nous présentons la solution retenue et les étapes de développement. Les éléments de modélisation nécessaires à la manipulation d'objets, de mannequins et de robots à l'aide du Phantom desktop sont particulièrement développés dans ce papier. Nous montrerons également comment le retour d'effort est géré par l'application. Cette étude a été concrétisée par le développement du module eM-Virtual Desktop associé au produit eM-Workplace de la société Tecnomatix. Le module développé est testé actuellement par un constructeur automobile européen.

Mots clefs : Retour d'efforts, Robot, Mannequin, Simulation.

Abstract:

This paper presents the development of a new software in order to manage objects, robots and mannequins in using the possibilities given by the haptic feedback of the Phantom desktop devices. The haptic device provides 6 positional degrees of freedom sensing but three degrees force feedback. This software called eM-Virtual Desktop is integrated in the Tecnomatix's solution called eM-Workplace. The eM-Workplace provides powerful solutions for planning and designing of complex assembly facilities, lines and workplaces. In the digital mockup context, the haptic interfaces can be used to reduce the development cycle of products. Three different loops are used to manage the graphic, the collision detection and the haptic feedback according to theirs own frequencies. The developed software is currently tested in industrial context by a European automotive constructor.

Key words: Haptic feedback, CAD/CAM software, robot and mannequin.

1-Introduction

La phase de développement est une période cruciale dans le cycle de création des produits et des services industriels. Les objectifs visés sont antagonistes : optimisation des coûts, amélioration de la qualité et des performances et réduction des délais de développement. L'ingénierie intégrée permet de répondre à ces objectifs en parallélisant les tâches et en intégrant, à tous les niveaux de développement, toutes les considérations relatives au cycle de vie du produit. Les logiciels de simulation contribuent à répondre, en partie, à ces objectifs. Ils permettent d'explorer un espace de configurations suffisamment large en un temps minimum et hors ligne de production. La réalisation de prototype de produit est alors réduite au strict nécessaire. La définition de la tâche et du poste de travail est optimisée en intégrant tous ces aspects le plus tôt possible dans le cycle de création du produit.

La définition de la maquette numérique et des éléments nécessaires à la simulation est réalisée à l'aide de logiciels de CAO. Une grande partie des aspects géométriques du produits est déjà gérée par les applications de simulation de mécanismes, robots, machines, mannequin, de poste de travail,... Par contre, l'interface utilisateur est limitée, la plupart du temps, aux aspects graphiques des icônes et des boîtes de dialogues. La maturité et la grande diffusion de ces logiciels sont certainement à l'origine de l'émergence d'un nouveau besoin. Il s'agit des fonctions centrées sur le point de vue de l'ingénieur ou de l'opérateur qui participe à la définition et à la création de produit ou du service. Parmi ces fonctions, l'immersion, la présence, la navigation, l'interaction sont identifiées comme les caractéristiques clefs des outils de la réalité Virtuelle. Celle-ci est actuellement en plein développement et les résultats de recherche commencent progressivement à quitter les centres de recherche et de développement pour être déployés dans le cadre de projets industriels [START_REF] Enhance | Projet européen[END_REF][START_REF] Lécuyer | A Haptic Prototype for the Simulations of Aeronautics Mounting/Unmounting Operations[END_REF].

La littérature générale sur le thème de la réalité virtuelle est relativement abondante [START_REF] Fuchs | Le traité de la réalité virtuelle[END_REF][START_REF] Lu | Virtual and Augmented Reality Technologies for Product Realization[END_REF]. Nous nous limitons dans ce papier au développement de notre étude spécifique en insistant sur les points particuliers de notre approche par rapport à une approche générale.

La stratégie générale utilisée dans les logiciels de la réalité virtuelle existants peut être résumée par les étapes suivantes :

-Récupération de la maquette numérique des éléments de la scène qui peuvent provenir de plusieurs applications CAO différentes. Les éléments de la scène sont transformés en un format unique.

-Facétisation et tesséllation des éléments. Cette opération a pour but de réduire la taille occupée par des données géométriques manipulées afin de respecter la contrainte principale relative au temps réel.

-Simulation et recherche de solution pour la tâche désirée.

-Modification et réactualisation des modèles. Après la simulation, l'utilisateur doit prendre en compte les modifications éventuelles suggérées par la simulation et réactualiser le modèle CAO en conséquence.

3-Analyse fonctionnelle

Il existe plusieurs méthodes, automatiques ou semi-automatiques, pour la détection et l'évitement de collision en génération de trajectoire. Ces méthodes ne sont pas encore suffisamment matures pour une intégration complète et un respect de la contrainte du temps réel.

Nous nous intéressons principalement à l'approche de génération de trajectoire effectuée par un opérateur expert en s'appuyant sur des fonctionnalités interactives. Dans les logiciels existants, l'opérateur dispose de plusieurs fonctions élémentaires basées sur l'utilisation de la souris 2D ou 3D de type "space mouse".

Il est souvent guidé par des boîtes de dialogue et des menus déroulants. Compte tenu de la complexité géométrique sous-jacente à ces problèmes de simulation, les interfaces graphiques ne sont pas suffisamment naturelles pour traiter rapidement et efficacement les situations difficiles. On retrouve également des fonctions plus évoluées qui affichent les entités et les zones en collision, ou encore les fonctions de type "stop sur collision". Ces dernières fonctions arrêtent le mouvement de l'objet manipulé lorsque la collision est détectée, sans contrôler le mouvement de la souris. L'opérateur est averti par un simple signal sonore et un changement de couleurs.

Pour fixer les idées, prenons l'exemple d'un robot à structure parallèle qui évolue dans un environnement encombré en manipulant un objet de forme complexe.

Lorsqu'une collision est détectée, la solution pour se dégager n'est pas toujours simple. Les déplacements de la souris ne sont pas en adéquation avec les mouvements des objets manipulés dans l'espace à six dimensions en position et orientation. Dans certaines situations, l'opérateur doit utiliser plusieurs étapes pour réaliser un mouvement élémentaire du robot. Une méthode, qui aide l'opérateur à faire glisser des objets sur les frontières de l'environnement, est proposée dans [START_REF] Chedmail | Object manipulation and mannequin driving based on multi-agent architecture[END_REF].

Dans ce cas, la direction de glissement n'est pas perçue par l'utilisateur.

D'une manière générale, les contraintes imposées par la souris (2D ou 3D) et par l'interface graphique ne sont pas très naturelles pour l'expert. Les périphériques haptiques doivent apporter des éléments de réponse à ce problème.

4-Périphériques haptiques

Des nouveaux périphériques dédiés à l'ingénierie virtuelle se développent et s'adaptent de plus en plus aux besoins spécifiques de l'ingénieur [START_REF] Lu | Virtual and Augmented Reality Technologies for Product Realization[END_REF] Il existe également des périphériques qui retournent un couple mais qui nécessitent une fraction supplémentaire du temps de traitement. Leur coût est également un frein qui ne favorise pas leur diffusion.

4.2-Espace de la scène et espace de déplacement

En général, l'espace accessible du périphérique haptique est relativement faible par rapport à la taille de l'espace de la scène simulée. Il existe plusieurs problèmes relatifs à la correspondance entre les déplacements dans ces deux espaces.

- Inversement, lors de la réalisation de mouvement de transfert d'objet, l'amplitude de mouvement dans l'espace virtuel peut être plus grande.

-Espace accessible : Lorsque les mouvements générés dans l'espace virtuel sont de faible amplitude, il n'est pas possible de générer des mouvements dans toute la fenêtre graphique. Une stratégie doit donc être mise en place pour changer l'origine des déplacements.

-Direction de déplacement : Le repère du périphérique peut être associé à celui de la vision (point de vue de la scène) ou celui du repère de la tâche. Ce problème est lié à la difficulté de génération de mouvements, par l'utilisateur, dans l'espace virtuel à 6 degrés de liberté (translation et rotation).

4.3-Gestion du contact / collision

La génération de retour haptique nécessite de nombreux tests de collision entre l'entité manipulée et son environnement. Le calcul doit être rapide et doit retourner les informations nécessaires à la génération du retour haptique (effort et couple).

Pour réaliser la détection de collision, il existe plusieurs outils, comme la librairie « contact », développé par l'INRIA [START_REF] Redon | CONTACT: Arbitrary in-between motions for collision detection[END_REF] ou l'application Voxel PointShell (VPS) [START_REF] Cohen | Six Degree of Freedom Hapatic System for Desktop Virtual Prototyping Applications[END_REF]. Cette dernière est actuellement intégrée par SensAble dans les dernières versions de GHOST sous Windows [START_REF]GHOST SDK Programmer's Guide[END_REF].

Le calcul théorique permet la génération d'une force et d'un couple, en utilisant les coordonnées du point de contact et la normale à la surface rencontrée en ce point ainsi que le centre virtuel de rotation, par exemple, le centre de la main de l'utilisateur.

5-Structure et fonctionnalités de l'application eM-Virtual Desktop

5.1-Présentation générale

Deux périphériques haptiques sont intégrés dans l'application eM-Virtual Desktop. Le premier est un Phantom Desktop (Figure 1), périphérique haptique de la société SensAble Technologies [START_REF] Sensable | [END_REF] et le second, un gant de données CyberGlove (ou gant numérique) (Figure 2), de la société Virtual Technologies [START_REF]Virtual Technologies[END_REF]. Dans cet article, seulement l'intégration du Phatom Desktop est présentée.

Nous avons choisi le Phantom en raison de la similitude qu'il présente avec les éléments que nous traitons dans le cadre de ce projet. Sa structure articulaire, équivalente à un robot, permet à l'expert de manipuler les éléments du poste de travail avec des mouvements assez naturels. 3). L'application regroupe les deux interfaces haptiques. L'interface graphique est identique et l'utilisateur choisit en fonction de son besoin (Figure 4).

5.2-Intégration dans eM-Worksplace

Le principal problème rencontré lors de l'intégration du périphérique haptique

5.3-Détection de collision et génération du retour haptique

Pour les contraintes de simplifications et de robustesses données précédemment, nous limitons notre recherche à la détermination de l'effort. Nous laissons également la possibilité, à l'utilisateur, de désactiver la génération de retour haptique pour permettre une utilisation du stylet comme une souris 3D.

Pour le calcul d'interférence dans eM-Virtual Desktop, nous avons exploité directement les fonctions disponibles dans l'application eM-Worksplace. Ainsi, il n'existe aucune perte d'information et la mise à jour de la base de données est complètement intégrée.

Pour chaque situation de l'entité manipulée dans son environnement, la fonction d'interférence retourne les coordonnées des deux points les plus proches entre les deux entités. Elle retourne également la distance entre ces entités lorsqu'il n'y a pas de collision, et zéro sinon.

Toujours pour des raisons de réduction du temps de calcul, nous évitons le calcul des coordonnées du point de contact lors de la détection de collision. Des stratégies jugées coûteuses en temps de calcul pour notre application sont disponibles dans la librairie Contact. Notre approche de détection de collision est basée sur l'exploitation d'une zone de sécurité autour de l'environnement virtuel.

Ainsi, nous pouvons générer une sensation de contact pour l'utilisateur en définissant un point de contact et une normale à la surface de contact grâce aux positions de ces deux points.

5.4-Déplacement des solides

Les axes de déplacement des solides, via le déplacement du stylet de l'utilisateur, sont définis de trois manières différentes. La première semble être la plus naturelle. Elle correspond aux axes Y et Z du plan de l'écran et l'axe X normal à ce plan. Pour ce faire, le Phantom Desktop doit être placé juste à côté de l'écran (Figure 6).

La seconde suit les axes du repère principal de la cellule. Son utilisation est limitée car lorsque l'on déplace le point d'observation de l'utilisateur sur la cellule, les déplacements ne sont pas intuitifs. La dernière suit des axes de déplacement, définis par l'utilisateur.

5.5-Facteur d'échelle

Pour permettre de résoudre les problèmes de changement d'échelle entre la dimension de la cellule de travail et l'espace accessible du Phantom Desktop, quatre niveaux de sensibilité sont définis pour les mouvements de translation (Rough, medium, fine et screen ). Le niveau screen définit un facteur d'échelle adaptatif, entre la taille de l'environnement affiché à l'écran et l'espace accessible par le Phantom Desktop. La valeur de l'échelle est définie par l'utilisateur en fonction du grossissement (« zoom+/zoom-).

Les valeurs numériques des seuils peuvent être modifiées par l'utilisateur. Ces valeurs se trouvent dans les fichiers de configuration du logiciel. 7).

5.6-Environnement associé à la détection de collision

6.2-Robot

Un robot est composé de plusieurs corps solides liés les uns aux autres par des articulations. La situation relative des corps est donc variable pendant la simulation.

En principe, le mouvement du stylet peut être associé à n'importe quel solide du Lorsqu'il existe plusieurs solutions au modèle géométrique inverse, la solution retenue est la plus proche de la situation précédente. Cela permet d'assurer la continuité de la trajectoire dans l'espace articulaire. Cependant, il est possible de changer la solution retenue en utilisant les fonctionnalités d'eM-Workplace.

6.3-Manipulation d'un mannequin

La dernière entité manipulée est un mannequin. Avec le stylet du Phantom Desktop, il est possible de déplacer, tout le mannequin, une des deux mains ou les deux mains à la fois en utilisant les modèles géométriques du mannequin (Figure 10). Le mannequin disponible possède 56 degrés de mobilité (Figure 11).

Des contraintes peuvent être ajoutées au mannequin, pour bloquer le déplacement du tronc.

6.4-Génération de trajectoires

La génération de trajectoire doit permettre de mémoriser le déplacement des entités manipulées. Sa création peut se faire soit en manuel, soit en automatique.

Dans ce cas, les repères constituant la trajectoire sont créés suivant des intervalles de temps ou de distances. Le lissage de la trajectoire enregistré par l'utilisateur n'est pas généré par l'application.

7-Conclusion

Malgré les contraintes imposées par l'intégration du périphérique haptique dans

8-Remerciements

Le travail présenté dans ce papier, s'appuie sur les financements issus du projet européen ENHANCE, acronymes de "ENHanced AeroNautical Concurrent

Engineering" et de la société Tecnomatix France. Les auteurs tiennent à remercier messieurs Velay, Pino et Creuzot pour leurs remarques et leurs aides lors de l'implantation de ce travail sur station SGI.

  Facteur d'échelle : L'application d'un facteur d'échelle doit s'adapter à la précision souhaitée du mouvement. Par exemple, pour des opérations d'assemblage de précision, une bonne dextérité de l'opérateur est requise. Le mouvement des entités dans l'espace virtuel doit donc être aussi précis.

  robot. Pour simplifier, nous avons conservé uniquement la possibilité de manipuler la base ou l'effecteur. Si l'on sélectionne l'option « base », alors le déplacement est équivalent au déplacement d'un corps rigide (Figure8). Par contre, si l'on choisit l'option effecteur « Tcpf », alors le modèle géométrique inverse du robot est utilisé. Ce modèle calcule les coordonnées articulaires à partir de la position et de l'orientation du robot. Il retrouve donc les situations relatives des corps du robot. Les limites de l'espace de travail peuvent être considérées comme un obstacle.Grâce à l'intégration totale d'eM-Virtual Desktop dans eM-Workplace, il est possible de traiter n'importe quel robot de la bibliothèque disposant d'un modèle géométrique inverse (Figure9).

  l'environnement de simulation de CAO-Robotique, les résultats obtenus sont très satisfaisants. En particulier, les temps de réponse et les sensations de contact facilitent la manipulation et la définition de trajectoires dans la maquette numérique. Des tests supplémentaires relatifs à ce développement sont actuellement réalisés par un constructeur automobile européen. Ces tests doivent évaluer le module dans le cadre d'une application industrielle et définir les futures voix de développement. Il sera possible de coupler notre solution avec les méthodes proposées dans[START_REF] Chedmail | Object manipulation and mannequin driving based on multi-agent architecture[END_REF][START_REF] Chedmail | A distributed Approach for Access and Visbility Task with a Manikin and a Robot in a Virtual Reality Environment[END_REF].

Fig. 1 :Fig. 2 :Fig. 3 :Fig. 4 :Fig. 5 :Fig. 6 :Fig. 7 :Fig. 8 :Fig. 9 :Fig. 10 :Fig. 11 :

 1234567891011 Fig. 1 : Phantom desktop

2-Description du contexte et des spécifications de l'étude

  Chaque étape, de cette boucle simplifiée, présente des difficultés et des contraintes supplémentaires pour le développement du produit. La phase de

	doit être capable de s'adapter à une large palette de robots, et d'objets manipulés.
	Il doit être intégrable directement dans l'application de simulation de robots tout
	simulation est assez critique pour notre application car le logiciel de simulation de en conservant, pour l'utilisateur, une fluidité des mouvements. Les contraintes du
	robots dispose de fonctions dédiées indispensables à la simulation de robots. Il temps réel doivent être contrôlées.
	n'est pas possible de les reproduire dans le système de réalité virtuelle. De plus, la Toutes ces contraintes sont antagonistes et nécessitent une stratégie globale
	recherche des collisions entre les objets de l'environnement virtuel, est rendue plus d'harmonisation des fréquences pour le traitement des données relatives à la
	difficile à cause de la dégradation des volumes en facettes. Notons que la visualisation, à l'interface haptique, au calcul, etc...
	réalisation des autres étapes peut être très longue et difficile à réaliser lorsque les
	partenaires du projet sont situés sur des sites distants et utilisent des maquettes
	numériques d'origines différentes [1, 5].
	Notre étude porte sur le développement d'une application informatique permettant
	l'intégration d'un périphérique haptique dans un environnement de simulation. On
	s'intéresse, plus particulièrement, aux fonctions relatives à la manipulation
	d'objets, robots ou de mannequins dans l'environnement encombré d'un poste de
	travail. Les applications potentielles du produit sont : la simulation pour
	l'optimisation du poste de travail, la génération de trajectoire, la formation des
	opérateurs, l'entraînement à des tâches difficiles, la maintenance, et l'analyse
	ergonomique du poste de travail.
	Pour l'entreprise Tecnomatix, le choix du périphérique devait être guidé par les
	contraintes de coût, de facilité d'utilisation et de mise en oeuvre. L'outil ne doit pas
	être encombrant, ce qui élimine les solutions de type exo-squelette, casque,…. Il

  Il devra également ressentir la butée de la porte voire sa résistance. Le retour d'effort reproduit, assez fidèlement par rapport à la réalité, la notion du mouvement temporel et spatial (position et orientation). Grâce à ce type d'interactions, l'expert a le temps et la possibilité de se concentrer mieux sur les fonctions de la tâche à définir. Il s'encombre moins des contraintes imposées par les menus et les boîtes de dialogues.

. La possibilité d'intégrer le retour d'effort par l'intermédiaire du périphérique haptique offre une souplesse supplémentaire par rapport aux périphériques classiques. Par exemple, pour ouvrir la porte d'une voiture, l'opérateur doit être guidé par le périphérique et contraint à effectuer un mouvement circulaire dans un plan le plus naturellement possible.

4.1-Retour d'effort

Il est possible de classer l'application du retour d'effort en trois classes. Dans la première classe, l'effort retourné est constant quelle que soit la situation de collision rencontrée. Il informe uniquement sur la présence ou non de celle-ci en "bloquant" les mouvements du périphérique ; cela donne la sensation d'une frontière. Le choix de la valeur de l'effort n'est pas important, car l'opérateur a seulement besoin de distinguer entre les mouvements libres (sans retour d'effort virtuel) et les mouvements qui rencontrent des obstacles. Dans la deuxième classe, l'effort est variable en fonction de l'importance et du type de collision. Il est également possible de distinguer la masse des objets manipulés et d'autres types de critères de différentiation. La palette des valeurs des efforts virtuels retournés doit être suffisamment large pour pouvoir distinguer les objets manipulés. La troisième prend en compte la dynamique du mouvement des objets manipulés

[START_REF] Khatib | Efficient Algorithms for Robots with Human-Like Structures and Interactive Haptic Simulation[END_REF]

.

  Pour simplifier les calculs, il n'est pas nécessaire de tester toutes les entités de l'environnement ainsi que tous ses détails. En effet, le temps de calcul des collisions dépend fortement du nombre d'entités à tester. L'utilisateur doit utiliser une stratégie de découpage de l'environnement en groupe de test.

	point à celui de notre main.
	Il est possible d'utiliser trois repères dans notre application. Le premier est défini
	par construction, c'est le « self origin ». Pour un cube, par exemple, il est placé au
	centre de sa face inférieure. Le second est le « geometric center » qui permet des
	manipulations plus intuitives. Pour finir, si ces deux repères sont insuffisants,
	Une fonctionnalité d'eM-Worksplace permet de définir un groupe d'entités qui l'utilisateur peut utiliser sa propre définition (Figure
	doit être testé avec un autre groupe. Les groupes sélectionnés peuvent être
	modifiés lors du déplacement de l'objet. La fonction retourne la distance
	minimale ou la présence éventuelle d'une collision.
	6-Entités manipulées
	Trois types d'entités peuvent être manipulés via le stylet du Phantom Desktop
	dans une cellule eM-Worksplace. Pour chaque type (solides, robots et
	mannequins), un comportement mécanique est associé. En sélectionnant une
	entité dans la cellule, le système associe automatiquement son modèle
	cinématique et ses propriétés de déplacement. La programmation en C++ de
	l'application autorise facilement l'ajout d'entités supplémentaires. Le bouton du
	stylet permet d'activer ou désactiver la sélection et le déplacement des objets.
	6.1-Manipulation d'un solide
	La manipulation d'un solide via un périphérique de réalité virtuelle est une tâche
	complexe car la manipulabilité de la main sur le stylet du Phantom Desktop est
	différente de celle du contact direct avec la main. En particulier, nous devons
	définir le centre de rotation de la pièce en faisant correspondre le repère en ce


D Chablat
email: damien.chablat@irccyn.ec-nantes.frangeles@cim.mcgill.ca

J Angeles

The Design of a Novel Prismatic Drive for a Three-DOF Parallel-Kinematics Machine

The design of a novel prismatic drive is reported in this paper. This transmission is based on Slide-o-Cam, a cam mechanism with multiple rollers mounted on a common translating follower. The design of Slide-o-Cam was reported elsewhere. This drive thus provides pure-rolling motion, thereby reducing the friction of rack-and-pinions and linear drives. Such properties can be used to design new transmissions for parallel-kinematics machines. In this paper, this transmission is intended to replace the ball-screws in Orthoglide, a three-dof parallel robot intended for machining applications.

Introduction

In robotics and mechatronics applications, whereby motion is controlled using a piece of software, the conversion of motion from rotational to translational is usually done by either ball-screws or linear actuators. Of these alternatives, ball-screws are gaining popularity, one of their drawbacks being the high number of moving parts that they comprise, for their functioning relies on a number of balls rolling on grooves machined on a shaft; one more drawback of ball-screws is their low load-carrying capacity, stemming from the punctual form of contact by means of which loads are transmitted. Linear bearings solve these drawbacks to some extent, for they can be fabricated with roller-bearings; however these devices rely on a form of direct-drive motor, which makes them expensive to produce and to maintain.

A novel transmission, called Slide-o-Cam, was introduced in [1] as depicted in Fig. 1, to transform a rotation into a translation. Slide-o-Cam is composed of four major elements: (i) the frame, (ii) the cam, (iii) the follower, and (iv) the rollers. The input axis on which the cam is mounted, the camshaft, is driven at a constant angular velocity by an actuator under computer-control. Power is transmitted to the output, the translating follower, which is the roller-carrying slider, by means of pure-rolling contact between cam and roller. The roller comprises two components, the pin and the bearing. The bearing is mounted at one end of the pin, while the other end is press-fit into the roller-carrying slider. Contact between cam and roller thus takes place at the outer surface of the bearing. The mechanism uses two conjugate cam-follower pairs, which alternately take over the motion transmission to ensure a positive action; the rollers are thus driven by the cams throughout a complete cycle. The main advantage of cam-follower mechanisms over alternative transmissions to transform rotation into translation is that contact through a roller reduces friction, contact stress and wear.

This transmission, once fully optimized, will replace the three ball-screws used by the Orthoglide prototype [START_REF] Chablat | Architecture Optimization of a 3-DOF Parallel Mechanism for Machining Applications, the Orthoglide[END_REF]. Orthoglide features three prismatic joints mounted orthogonaly, three identical legs and a mobile platform, which moves in Cartesian space with fixed orientation, as shown in Fig. 2. The three motors are SANYO DENKI (ref. P30B08075D) with a constant torque of 1.2 Nm from 0 to 3000 rpm. This property enables the mechanism to move throughout the workspace a 4 kg load with an acceleration of 17 ms -2 and a velocity of 1.3 ms -1 . On the ball-screws, the pitch is 50 mm per cam turn. The minimum radius of the camshaft is 8.5 mm. A new arrangement of camshaft, rollers and follower is proposed to reduce the inertial load when more than two cams are used. Figure 2: The Orthoglide Unlike Lampinen [START_REF] Lampinen | Cam shape optimisation by genetic algorithm[END_REF], who used a genetic algorithm, or Zhang and Shin [START_REF] Zhang | A Computational Approach to Profile Generation of Planar Cam Mechanisms[END_REF], who used what they called a relative-motion method, where the relative velocity and relative acceleration of a follower with respect to a cam is prescribed and implemented in C++, we use a deterministic method while taking into account geometric and machining constraints, as outlined in [START_REF] Bouzakis | Computer-Aided Optimum Design and NC Milling of Planar Cam Mechanims[END_REF]. Unlike Carra [START_REF] Carra | Synthesis of cams with negative radius follower and evaluation of the pressure angles[END_REF], who used a negative-radius follower to reduce the pressure angle, we use a positive-radius follower that permits us to assemble several cams on the same roller-carrier.

In Section 2, we introduce the relations describing the cam profile and the mechanism kinematics. In Section 3, we derive conditions on the design parameters so as to have a fully convex cam profile, to avoid undercutting, and to have a geometrically feasible mechanism. In Section 4, the pressure angle, a key performance index of cam mechanisms, is studied in order to choose the design parameters that give the best pressure angle distribution, a compromise being made with the accuracy of the mechanism.

Synthesis of the Planar Cam Mechanism

Let the x-y frame be fixed to the machine frame and the u-v frame be attached to the cam, as depicted in Fig. 3. O 1 is the origin of both frames, while O 2 is the center of the roller, and C is the contact point between cam and roller. The geometric parameters defining the cam mechanism are illustrated in the same figure. The notation of this figure is based on the general notation introduced in [START_REF] González-Palacios | Cam Synthesis[END_REF], namely, (i) p, the pitch, i.e., the distance between the center of two rollers on the same side of the follower; (ii) e, distance between the axis of the cam and the line of centers of the rollers; (iii) a 4 , radius of the roller-bearing, i.e., the radius of the roller; (iv) ψ, angle of rotation of the cam, the input of the mechanism; (v) s, position of the center of the roller, i.e, the displacement of the follower, the output of the mechanism; (vi) µ, pressure angle; (vii) f, force transmitted from cam to roller. In this paper, p is set to 50 mm, in order to meet the Orthoglide specifications.

The above parameters as well as the contact surface on the cam, are determined by the geometric relations dictated by the Aronhold-Kennedy Theorem in the plane [START_REF] Waldron | Kinematics, Dynamics, and Design of Machinery[END_REF]. When the cam makes a complete turn (∆ψ = 2π), the displacement of the roller is equal to p, the distance between two rollers on the same side of the rollercarrying slider (∆s = p). Furthermore, if we consider the home configuration of the roller as depicted in Fig. 4, the roller is below the x-axis for ψ = 0, so that we have s(0) = -p/2. Hence, the input-output function s is

s(ψ) = p 2π ψ - p 2 (1)
The expressions for the first and second derivatives of s(ψ) with respect to ψ will be needed: The cam profile is determined by the displacement of the contact point C around the cam. The Cartesian coordinates of this point in the u-v frame take the form [START_REF] González-Palacios | Cam Synthesis[END_REF]

s ′ (ψ) = p/(2π) and s ′′ (ψ) = 0 (2)
u c (ψ) = b 2 cos ψ + (b 3 -a 4 ) cos(δ -ψ) (3a) v c (ψ) = -b 2 sin ψ + (b 3 -a 4 ) sin(δ -ψ) (3b)
with coefficients b 2 , b 3 and δ given by

b 2 = -s ′ (ψ) sin α 1 (4a) b 3 = (e + s ′ (ψ) sin α 1 ) 2 + (s(ψ) sin α 1 ) 2 (4b) δ = arctan -s(ψ) sin α 1 e + s ′ (ψ) sin α 1 (4c)
where α 1 is the directed angle between the axis of the cam and the translating direction of the follower, positive in the ccw direction. Considering the orientation adopted for the input angle ψ and for the output s, as depicted in Fig. 3, we have

α 1 = -π/2 (5)
We now introduce the nondimensional design parameter η, which will be extensively used:

η = e/p (6)
Thus, from Eqs. (1), ( 2), (4a-c), ( 5) and ( 6), we find the expressions for coefficients b 2 , b 3 and δ as

b 2 = p 2π (7a) b 3 = p 2π (2πη -1) 2 + (ψ -π) 2 (7b) δ = arctan ψ -π 2πη -1 (7c)
whence a first constraint on η, η = 1/(2π), is derived. An extended angle ∆ is introduced [START_REF] Lee | Design for Manufacturability of Speed-Reduction Cam Mechanisms[END_REF], so that the cam profile closes. Angle ∆ is obtained as a root of Eq. 3. In the case of Slide-o-Cam, ∆ is negative, as shown in Fig. 5. Consequently, the cam profile closes within ∆ ≤ ψ ≤ 2π -∆.

Pitch-Curve Determination

The pitch curve is the trajectory of the center O 2 of the roller, distinct from the trajectory of the contact point C, which produces the cam profile. The Cartesian coordinates of point O 2 in the x-y frame are (e, s), as

O 1 x y u v C ψ (a) O 1 x y C ψ -u -v (b) O 1 x y C ψ u v (c)
u p (ψ) = e cos ψ + s(ψ) sin ψ (8a) v p (ψ) = -e sin ψ + s(ψ) cos ψ (8b)

Geometric Constraints on the Mechanism

In order to lead to a feasible mechanism, the radius a 4 of the roller must satisfy two conditions, as shown in Fig. 6a:

• Two consecutive rollers on the same side of the roller-carrying slider must not interfere with each other. Since p is the distance between the center of two consecutive rollers, we have the constraint 2a 4 < p.

Hence the first condition on a 4 :

a 4 /p < 1/2 (9)
• The radius b of the shaft on which the cams are mounted must be taken into consideration. Hence, we have the constraint a 4 + b ≤ e, the second constraint on a 4 in terms of the parameter η thus being

a 4 /p ≤ η -b/p (10)
Considering the initial configuration of the roller, as depicted in Fig. 4, the v-component of the Cartesian

p 2πa 4 (2πη -1) 2 + (-π) 2 -1 sin arctan -π 2πη -1 ≤ 0
Further, we define A and B as:

A = p 2πa 4 (2πη -1) 2 + π 2 -1 and B = sin arctan -π 2πη -1 Since (2πη -1) 2 > 0, we have (2πη -1) 2 + π 2 > π (11)
Hence, A > p/(2a 4 ) -1. Furthermore, from the constraint on a 4 , stated in Eq. ( 9), we have p/(2a 4 ) -1 > 0, whence A > 0. Consequently, the constraint v c (0) ≤ 0 leads to the constraint B ≤ 0. We rewrite the constraint B, by using the trigonometric relation,

∀x ∈ R, sin(arctan x) = x √ 1 + x 2
Hence the constraint v c (0) ≤ 0 becomes

B ≤ 0 ⇐⇒ -π (2πη -1) 1 + π 2 /(2πη -1) 2 ≤ 0 which holds only if 2πη -1 > 0. Finally, the constraint v c (0) ≤ 0 leads to a constraint on η, namely, η > 1/(2π) (12)

Pressure Angle

The pressure angle is defined as the angle between the common normal at the cam-roller contact point C and the velocity of the follower [START_REF] López-Cajún | Optimization of Cam Mechanisms[END_REF], as depicted in Fig. 3, where the presure angle is denoted by µ. The smaller |µ|, the better the force transmission. In the case of high-speed operations, i.e., angular velocities of cams exceeding 50 rpm, the recommended bounds of the pressure angle are within 30 • . Nevertheless, as it is not always possible to have a pressure angle that remains below 30 • , we adopt the concept of service factor, which is the percentage of the working cycle with a pressure angle within 30 • [START_REF] Lee | Design for Manufacturability of Speed-Reduction Cam Mechanisms[END_REF]. The service angle will be useful to take into consideration these notions in the ensuing discussion, when optimizing the mechanism.

For the case at hand, the expression for the pressure angle µ is given in [START_REF] López-Cajún | Optimization of Cam Mechanisms[END_REF] as

µ = arctan s ′ (ψ) -e s(ψ)
Considering the expressions for s and s ′ , and using the parameter η given in Eqs. (1), (2a) and ( 6), respectively, the expression for the pressure angle becomes

µ = arctan 1 -2πη ψ -π (13)
We are only interested in the value of the pressure angle with the cam driving the roller, which happens with

π ≤ ψ ≤ 2π -∆ (14)
Indeed, if we start the motion in the home configuration depicted in Fig. 4, with the cam rotating in the ccw direction, the cam begins to drive the roller only when ψ = π; and the cam can drive the follower until contact is lost, i.e., when ψ = 2π -∆, as shown in Figs. 5b &c. Nevertheless, as shown in Fig. 7, the conjugate cam can also drive the follower when 0 ≤ ψ ≤ π -∆; there is therefore a common interval, for π ≤ ψ ≤ π -∆, during which two cams can drive the follower. In this interval, the conjugate cam can drive a roller with lower absolute values of the pressure angle. We assume that, when the two cams can drive the rollers, the cam with the lower absolute value of pressure angle effectively drives the follower. Consequently, we are only interested in the value of the pressure angle in the interval,

π -∆ ≤ ψ ≤ 2π -∆ (15)
We study here the influence of parameters η and a 4 on the values of the pressure angle while the cam drives the roller, i.e., with π -∆ ≤ ψ ≤ 2π -∆, as explained above.

• Influence of parameter η: Figure 8 shows the influence of the parameter η on the pressure angle, with a 4 and p being fixed. From these plots we have one result: The lower η, the lower |µ|.

• Influence of the radius of the roller a 4 : a 4 does not appear in the expression for the pressure angle, but it influences the value of the extended angle ∆, and hence, the plot boundaries of the pressure angle, as shown in Fig. 7.

By computing the value of the extended angle ∆ for several values of a 4 , we can see that the higher a 4 , the lower |∆|. Consequently, since the boundaries to plot the pressure angle are π -∆ and 2π -∆, we can see that when we increase a 4 , -∆ decreases and the boundaries are translated toward the left, i.e., toward higher absolute values of the pressure angle. In order to enhance machining accuracy, we need the cam profile to be fully convex. In this section we establish conditions on the design parameters η and a 4 in order to have a fully convex cam profile. We thus study the sign-change in the curvature of the cam profile via that of the pitch curve. Furthermore, for cam design in roller-follower mechanisms, we should also consider undercutting. Undercutting occurs when the radius of the roller is greater than or equal to the minimum absolute value of the radius of curvature of the pitch curve. Upon avoiding undercutting, the sign of the curvature of the pitch curve is identical to that of the cam profile.

Curvature of the Cam Profile

The curvature of any planar parametric curve, in terms of the Cartesian coordinates u and v, and parameterized with any parameter ψ, is given by [START_REF] López-Cajún | Optimization of Cam Mechanisms[END_REF]:

κ = v ′ (ψ)u ′′ (ψ) -u ′ (ψ)v ′′ (ψ) [u ′ (ψ) 2 + v ′ (ψ) 2 ] 3/2 (16)
The sign of κ in Eq. ( 16) tells whether the curve is convex or concave at a point: a positive κ implies convexity, while a negative κ implies concavity at that point. To obtain the curvature of the cam profile for a given rollerfollower, we use the Cartesian coordinates of the pitch curve, since obtaining its first and second derivatives leads to simpler expressions as compared with those associated with the cam profile itself. Then, the curvature of the cam profile is derived by a simple geometric relationship between the curvatures of the pitch curve and of the cam profile. The Cartesian coordinates of the pitch curve were recalled in Eqs. (8a & b), while Eqs. (2a & b) give their first and second derivatives as

s(ψ) = p/(2π)ψ -p/2 , s ′ (ψ) = p/(2π) , s ′′ (ψ) = 0
With the above-mentioned expressions, we can compute the first and second derivatives of the Cartesian coordinates of the pitch curve with respect to the angle of rotation of the cam, ψ:

u ′ p (ψ) = [s ′ (ψ) -e] sin ψ + s(ψ) cos ψ (17a) v ′ p (ψ) = [s ′ (ψ) -e] cos ψ -s(ψ) sin ψ (17b) u ′′ p (ψ) = [2s ′ (ψ) -e] cos ψ -s(ψ) sin ψ (17c) v ′′ p (ψ) = -[2s ′ (ψ) -e] sin ψ -s(ψ) cos ψ (17d)
By substituting η = e/p, along with Eqs. (17a-d), into Eq. ( 16), the curvature κ p of the pitch curve is obtained as

κ p = 2π p [(ψ -π) 2 + 2(2πη -1)(πη -1)] [(ψ -π) 2 + (2πη -1) 2 ] 3/2 (18)
which remains bounded by virtue of condition [START_REF] Renotte | The Design of a Pure-Rolling Cam Mechanism to Convert Rotationnal into Translational Motion[END_REF]. Let ρ c and ρ p be the radii of curvature of both the cam profile and the pitch curve, respectively, and κ c the curvature of the cam profile. Since the curvature is the reciprocal of the radius of curvature, we have ρ c = 1/κ c and ρ p = 1/κ p . Furthermore, due to the definition of the pitch curve, it is apparent that

ρ p = ρ c + a 4 (19)
Writing Eq. ( 19) in terms of κ c and κ p , we obtain the curvature of the cam profile as

κ c = κ p 1 -a 4 κ p (20)
with κ p given in Eq. ( 18). As we saw previously, we want the cam profile to be fully convex, which happens if the pitch curve is fully convex too. We thus find first the convexity condition of the pitch curve.

Convexity Condition of the Pitch Curve

Considering the expression for κ p in Eq. (18), we have, for every value of ψ, κ p ≥ 0 if (2πη -1)(πη -1) ≥ 0 and η = 1/(2π), whence the condition on η: must be combined with the condition appearing in Eq. ( 12), η > 1/(2π); hence, the final convexity condition of the pitch curve is:

κ p ≥ 0 if η ∈ [0, 1/(2π)[ ∪ [1/π, +∞[ (21)
η ≥ 1/π (22)

Undercutting-Avoidance

We assume in this subsection that the pitch curve is fully convex, i.e., κ p ≥ 0 and η ≥ 1/π. In order to avoid undercutting, i.e., in order to have both the cam profile and the pitch curve fully convex, we need κ c to be positive. Considering the expression for the curvature of the cam profile κ c of Eq. ( 20), the condition to avoid undercutting is 1 -a 4 κ p > 0, whence the condition on the radius of the follower a 4 :

a 4 < 1 κ p (ψ) ∀ ψ ∈ R
Since κ p is positive, this condition can be written as

a 4 < 1 κ pmax , with κ pmax = max ψ∈R κ p (ψ) (23)
• Expression for κ pmax : In order to compute the expression for κ pmax , we need the first derivative κ ′ p of κ p with respect to ψ and its roots. With the condition η ≥ 1/π, the expression for κ p given in Eq. ( 18) is differentiable for every value of ψ. We thus obtain

κ ′ p = - 2π p (ψ -π)(ψ 2 -2πψ + π 2 + 4η 2 π 2 -10ηπ + 4) [(ψ -π) 2 + (2πη -1) 2 ] 5/2 (24)
The roots of κ ′ p are, apparently, ψ 1 = π and the roots ψ 2 and ψ 3 of the polynomial

P (ψ) = ψ 2 -2πψ + π 2 + 4η 2 π 2 -10ηπ + 4
Let β ψ be the discriminant of the equation P = 0, i.e.,

β ψ = -4η 2 π 2 + 10ηπ -4
Therefore, the sign of β ψ and, consequently, the roots ψ 2 and ψ 3 , depend on the value of η. Let β η be the discriminant of β ψ = 0, a quadratic equation in η. Hence, β η = 9π 2 , which is positive. The two roots of β ψ are 1/2π and 2/π. Thus,

β ψ > 0 if η ∈ 1 π , 2 π or β ψ < 0 if η ∈ 2 π , +∞ β ψ = 0 if η = 2 π
We now study the roots of κ ′ p according to the value of η.

• η ∈ [1/π, 2/π[: β ψ > 0, and the polynomial P has two roots ψ 2 and ψ 3 , so that κ ′ p has three roots:

ψ 1 = π (25a) ψ 2 = π + -4η 2 π 2 + 10ηπ -4 (25b)
ψ 3 = π --4η 2 π 2 + 10ηπ -4 (25c)
• η ∈]2/π, +∞[: β ψ < 0, and the polynomial P has no real roots, so that κ ′ p has only one root, ψ 1 = π. • η = 2/π: β ψ = 0, and the polynomial P has one double root equal to π, so that κ ′ p has one triple root ψ 1 = π.

To decide whether these roots correspond to minima or maxima, we need to know the sign of the second derivative κ ′′ p of κ p with respect to ψ, for the corresponding values of ψ. If the second derivative is negative, the stationary value is a maximum; if positive, a minimum. The expressions for the second derivatives, as derived with computer algebra, for the values of ψ given in Eqs. (25a-c):

κ ′′ p (ψ 1 ) = 4π(ηπ -2) p|2ηπ -1| 3 (2ηπ -1) κ ′′ p (ψ 2 ) = κ ′′ p (ψ 3 ) = 8π(ηπ -2) 9p(2ηπ -1) √ 6ηπ -3 κ p ψ (rad)
• If η ∈ [1/π, 2/π[, κ ′′ p (ψ 1 ) > 0 and κ ′′ p (ψ 2 ) = κ ′′ p (ψ 3
) < 0, the curvature of the pitch curve has one local minimum for ψ 1 and two maxima, for ψ 2 and ψ 3 . Hence, the value of κ pmax is

κ pmax1 = κ p (ψ 2 ) = κ p (ψ 3 ) = 4π 3p √ 6ηπ -3 (26)
Figure 10a shows a plot of the pitch-curve curvature with η = 1/π and p = 50 mm. Since η is taken equal to the convexity limit 1/π, the curvature remains positive and only vanishes for ψ = π.

• If η ∈]2/π, +∞[, κ ′′ p (ψ 1 ) < 0, the curvature of the pitch curve has a maximum for ψ 1 . Hence, the value of κ pmax is

κ pmax2 = κ p (ψ 1 ) = 4π p (2η 2 π 2 -3ηπ + 1) (4η 2 π 2 -4ηπ + 1) 3/2 (27)
Figure 9d shows a plot of the pitch-curve curvature with η = 0.7 (η > 2/π) and p = 50 mm.

• If η = 2/π, κ ′′ p (ψ 1 ) = 0, we cannot tell whether we are in the presence of a maximum or a minimum. We solve this uncertainty graphically, by plotting the curvature of the pitch curve for η = 2/π and p = 50 mm. Figure 10b reveals that the curvature has a maximum for ψ 1 . The value of this maximum can be obtained by substituting η by 2/π into either κ pmax1 or κ pmax2 , expressed in Eqs. ( 26) and (27), respectively.

In summary, to have a fully convex cam profile, taking the geometric constraints on the mechanism into consideration, parameter η must obey the condition given in Eq. ( 22), i.e. η ≥ 1/π. We combine the condition on a 4 to avoid undercutting, as given in Eq. ( 23), with the geometric constraints on the mechanism, as given in Eqs. ( 9) and [START_REF] López-Cajún | Optimization of Cam Mechanisms[END_REF], which are, respectively, a 4 /p < 1/2 and a 4 /p ≤ η -b/p:

if η ∈ 1 π , 2 π , a 4 < min 1 κ pmax1 , p 2 , ηp -b (28a) if η ∈ 2 π , +∞ , a 4 < min 1 κ pmax2 , p 2 , ηp -b (28b)
where κ pmax1 and κ pmax2 are given in Eqs. ( 26) and (27), respectively.

Optimization of the Roller Pin

We concluded in the previous section that the lowest values of parameters η and a 4 led to the lowest values of the pressure angle. Nevertheless, we must take into consideration that the smaller the radius of the roller, the bigger the deformation of the roller pin, and hence, a decrease of the stiffness and the accuracy of the mechanism. In this section we formulate and solve an optimization problem to find the best compromise on parameters η and a 4 to obtain the lowest pressure angle values with an acceptable deformation of the roller pin.

In this section we adopt the approach proposed by Teng and Angeles [START_REF] Teng | An optimality criterion for the structural optimization of machine element[END_REF].

Minimization of the Elastic Deformation on the Roller Pins

Here we find the expression for the maximum elastic deformation on the pin, which will be minimized under given constraints. Figure 11 displays the free part of the pin, i.e., the part not fixed to the roller-carrying slider, as a cantilever beam, where the load F = f 2 x + f 2 y denotes the magnitude of the force f transmitted by the cam. This force is applied at a single point at the end of the pin in the worst loading case. Although the dimensions of the pin are not those of a simple beam, we assume below that the pin can be modeled as such, in order to obtain an explicit formula for its deflection. This assumption was found to be plausible by testing it with FEA [START_REF] Teng | An optimality criterion for the structural optimization of machine element[END_REF]. The displacement v L at the free end of the pin turns out to be

v L = v 2 x + v 2 y = F L 3 3EI ( 29
)
where E is the Young modulus and I = πa 4 5 /4, with a 5 denoting the radius of the pin, is the polar moment of inertia of the cross section. Moreover, v x and v y are the pin elastic displacements in the x-and y-directions, respectively, at the free end.

Before proceeding, we prove that the vertical component f y of the transmitted force is constant, and hence, we will consider only the magnitude of the x-component of v L . Since we assume that the mechanism undergoes a pure-rolling motion, the force exerted by the cam onto the roller, denoted by f = [f x f y ] T , passes through the center of the roller, i.e., its line of action passes through points O 2 and C, as depicted in Fig. 3

f y = 2πτ p = F 0 ( 30
)
Since τ is constant, f y is also constant throughout one full turn of the cam. Consequently we only have to consider the x-component of f, and hence, v x , as given below, should be minimized:

v x = |f x |L 3 3EI = 4|f x |L 3 3Eπa 4 5 = β |f x | a 4 5 , β = 4L 3 3Eπ (31)
β thus being a constant factor. The objective function z, to be minimized, is thus defined as

z = f 2 max a 4 5 → min η,a4,a5 (32)
where f max is the maximum value of f x throughout one cycle. Since

f x = f y tan δ = F 0 tan δ (33)
we obtain

z = 1 a 4 5 max ψ f 2 x = 1 a 4 5 max ψ F 2 0 tan 2 δ = F 2 0 a 4 5 max ψ 1 tan 2 δ
with δ, a function of ψ, given in Eq. (7c). Moreover, the system operates by means of two conjugate mechanisms, which alternately take over the power transmission. We established in Eq. ( 15) that when one mechanism is in positive action, ψ is bounded between ψ i = π -∆ and ψ f = 2π -∆, which corresponds to δ bounded between δ i and δ f with 0 ≤ δ i < δ f ≤ π. Moreover, functions 1/ tan 2 δ and cos 2 δ are both unimodal in -π ≤ δ ≤ 0 and in 0 ≤ δ ≤ π, their common maxima finding themselves at -π, 0 and π. Since cos 2 δ is better behaved than 1/ tan 2 δ, we redefine z as

z = 1 a 4 5 max δi≤δ≤δ f cos 2 δ
Furthermore, the function cos 2 δ attains its global minimum of 0 in [0, π], its maximum in the interval [δ i , δ f ], included in [0, π], occurring at the larger of the two extremes of the interval, δ i or δ f . It follows that the objective function to be minimized becomes

z = 1 a 4 5 max cos 2 δ i , cos 2 δ f -→ min ν,a4,a5
with δ i and δ f the values of δ for ψ i = π -∆ and ψ f = 2π -∆, respectively. Using the expression for δ given in Eq. (7c) and the trigonometric identity

cos(arctan x) = 1 √ 1 + x 2
we obtain the expression for cos 2 δ:

cos 2 δ = (2πη -1) 2 (2πη -1) 2 + (ψ -π) 2 (34)
Hence,

cos 2 δ i = (2πη -1) 2 (2πη -1) 2 + (ψ i -π) 2 (35a) cos 2 δ f = (2πη -1) 2 (2πη -1) 2 + (ψ f -π) 2 (35b)
Furthermore, since

ψ i = π -∆, ψ f = 2π -∆ and ∆ < 0, we have ψ f > ψ i > π, ψ f -π > ψ i -π >
with cos 2 δ i given in Eq. (35a) and ψ i = π -∆.

Geometric Constraints

Two neighboring pins cannot be tangent to each other, as depicted in Fig. 12, and hence the radius a 5 of the pin is bounded as a 5 /p < 1/4 (37) Furthermore, a 4 and a 5 are not independent. From the SKF catalogue, for example, we have information on bearings available in terms of the outer radius D and the inner radius d, as shown in Fig. 13. We divide these bearings into five series, from 1 to 5. Hence, each series can be represented by a continuous function. We chose series 2, in which the basic dynamic load rating C lies between 844 and 7020 N. We define now two non-dimensional parameters α 4 and α 5 :

α 4 = a 4 /p α 5 = a 5 /p (39)
where α 5 can be derived from Eq. (38) as

α 5 = (5/8)α 4 -25/(8p) with p in mm. ( 40
)
Moreover, we recall the geometric constraint defined in Eqs. ( 22) and (28) which can be rewritten as

g 1 = 1 π -η ≤ 0 (41a) g 2 = α 4 - 1 2 < 0 (41b) g 3 = α 4 - 1 pκ pmax < 0 (41c) g 4 = α 4 -η + b p ≤ 0 (41d) g 5 = α 5 - 1 4 < 0 (41e)
with cos 2 δ i and α 5 given in Eqs. (35a) and (40), respectively.

Results of the Optimization Problem

We solve the foregoing optimization problem using the f mincon function of Matlab which is base on semi quadratic programming, using p = 50 mm and b = 9.5 mm. One solution is found, corresponding to η = 0.69 and a 4 = 24.9992 mm, with a value of z = 249. The algorithm finds the values of η and a 4 as big as possible considering the constraints. For this solution, constraints (41d & e) are active. Nevertheless, as we saw in Subsection 3.3. about the influence of parameters h and a 4 , we want these parameters to be as small as possible in order to have low pressure angle values. For the solution found above, the service factor is equal to 0%. Consequently, we must find a compromise between the pressure angle and the roller-pin elastic deformation.

Table 1 shows solutions found by the optimization algorithm upon reducing the boundaries of η. Each time the algorithm finds the corresponding value of a 4 big as possible, constraint (41d) becomes active. Recorded in this table is also the corresponding maximum elastic deformation of the pin v Lmax (its expression is derived below), the minimum and the maximum absolute values of the pressure angle, |µ min | and |µ max |, respectively, and the service factor, as defined in Section 2.4. From Eqs. ( 29) and (31) we have

v L = β a 4 5 f 2 x + f 2 y
Using Eqs. ( 30) and (33), the above equation leads to

v L = βF 0 a 4 5 1 + 1 tan 2 δ
which can be simplified by means of the expression for cos 2 δ i given in Eq. (35a) as

v Lmax = βF 0 a 4 5 (2πη -1) 2 + (ψ i -π) 2 |ψ i -π| (42)
with F 0 , β and a 5 given in Eqs. (30), ( 31) and (38), respectively, and ψ i = π -∆. In Table 1 we record the value of v Lmax with L = 10 mm, τ = 1.2 Nm (according to the Orthoglide specifications recalled in Section 1) and E = 2 × 10 5 MPa. We conclude from Table 1 that for this cam profile we cannot find an acceptable compromise between a low deformation of the roller pin, and hence a high stiffness and accuracy of the mechanism, and low pressure angle values. Indeed, for an acceptable deformation of the roller pin, v Lmax = 8.87 µm, obtained with η = 0.38, the service factor equals 54.68%, which is too low. On the other hand, for an acceptable service factor of 79.43%, obtained with η = 1/π ≈ 0.3183, the deformation of the roller pin is equal to 710.19 µm, which is too high. Figure 14 This Section describes a novel mechanism and its prototype, based on Slide-o-Cam, that enables us to decrease considerably the pressure angle while meeting the Orthoglide specifications. This mechanism is composed of three conjugate cams mounted either (i) on three parallel shafts (with the rollers placed on one single side of the roller-carrier) or (ii) on a single shaft (with the rollers placed on one single side of three parallel roller-carrier), as depicted in Fig. 15. Mounted on two guideways, one motor provides the torque to one camshaft. In case (i), the torque is transmitted to the two other camshafts through a parallelogram mechanism coupling them, whose detailed design is reported in [START_REF] Renotte | The Design of a Pure-Rolling Cam Mechanism to Convert Rotationnal into Translational Motion[END_REF]. Shown in Fig. 16 is a layout of this case, with 1, 2 and 3 denoting the three cams. The profile of each cam is as described in Section 2. The cams are mounted in such a way that the angle between the u-axis of cams 1 and 2 is 120 • , while the angle between the u-axis of cams 1 and 3 is 240 • . According to the configuration of the mechanism depicted in Fig. 16, and denoting by y 12 and y 13 the distance between the origin of 1 and 2, and between the origin of 1 and 3, respectively, we have y 12 = p/2 + p + s(2π/3) , y 13 = p/2 + 2p + s(4π/3) Using the expression of the input-output function s given in Eq. (1), we obtain y 12 = 4p/3 , y 13 = 8p/3 (43)

Figure 17 shows the pressure angle variation for each cam vs. ψ, where 1, 2 and 3 denote the plot of the pressure angle for cams 1, 2 and 3, respectively. Moreover, cams 2 and 3 are rotated by angles 2π/3 and 4π/3, respectively, from cam 1. We can also consider that the plot for cam 3 that drives the follower before cam 1 in a previous cycle, referred to as 3' in Fig. 17, is out of phase -2π/3 with respect to cam 1. As we saw in Eq. ( 14), cam 1 can drive the follower within π ≤ ψ ≤ 2π -∆, which corresponds in Fig. 17 The above interval corresponds in Fig. 17 to the part of the plot 3' between points A and C. Consequently, there is a common part for cams 1 (plot 1 ) and 3 (plot 3' ) during which these two cams drive the follower, namely, between points B and C, which corresponds to 4π/3 -∆ ≤ ψ ≤ 2π -∆. These boundaries allow us to have a pressure angle lower than with coaxial conjugate cams, since we do not use anymore the part of the cam profile within π -∆ ≤ ψ ≤ 4π/3 -∆, which has high absolute pressure angle values. We can thus obtain a higher service factor for the mechanism. The maximum roller-pin deformation v Lmax derived in eq.( 42) is reasonably low. In Table 2, we record the values of η, a 4 , a 5 , v Lmax , |µ min |, |µ max | and the service factor for the three-conjugate-cam mechanism of Fig. 15. The best compromise is to use the three-conjugate-cam mechanism with η = 0.37, whence the radius of the roller is a 4 = 9 mm and the roller-pin deformation is v Lmax = 9.76 µm with a good service factor of 88.03%.

π ≤ ψ ≤ 4π/

Conclusions

The optimum design of Slide-o-Cam was made for two types of mechanism, i.e. with two and three-conjugatecams. The three-conjugate-cam mechanism reported here allows us to drive the Orthoglide with prismatic actuators using rotary DC motors. Moreover, the roller-pin deformation is minimized, and the service factor is substantially increased with respect to the layout of Fig. 14. Further research is currently underway to evaluate the influence of the number of lobes on each cam to increase the service factor using only two cams.

Figure 1 :

 1 Figure 1: Layout of Slide-o-Cam Figure 2: The Orthoglide

2 Figure 3 :Figure 4 :

 234 Figure 3: Parameterization of Slide-o-Cam

Figure 5 :

 5 Figure 5: Orientations of the cam found when v c = 0: (a) ψ = ∆; (c) ψ = π; and (d) ψ = 2π -∆ depicted in Fig. 3. Hence, the Cartesian coordinates of the pitch-curve in the u-v frame are

Figure 6 :

 6 Figure 6: Constraints on the radius of the roller: (a) a 4 /p < 1/2; and (b) a 4 /p ≤ η -b/p. coordinate of the contact point C is negative in this configuration, i.e., v c (0) ≤ 0. Moreover, from the expression for v c (ψ) and for parameters b 3 and δ given in Eqs. (3b), (7b & c), respectively, the above relation leads to the condition:

Figure 8 :

 8 Figure 7: Pressure angle distribution

Figure 9 Figure 9 :

 99 Figure 9 shows pitch-curve profiles and their curvatures for two values of η. The condition on η given in Eq. (21)

Figure 10 :

 10 Figure 10: Pitch-curve curvature for p = 50 mm: (a) η = 1/π and (b) η = 2/π

Figure 11 :

 11 Figure 11: Approximation of the roller pin as a cantilever beam

  . With a constant torque τ provided by the motor, we have τ = ||f ||d, where d denotes the distance from the center of the input axis to the line of action of the force f. Moreover, we have d = b 2 sin δ. Hence, τ = ||f ||(b 2 sin δ) = b 2 (||f || sin δ) = b 2 f y . Finally, since b 2 = 2π/p we obtain the expression for f y sought:

= cos 2 δ i a 4 5 →

 5 0 and, consequently, from Eqs. (35a & b), cos 2 δ i > cos 2 δ f and the objective function to minimize becomes z min η,a4,a5

5 Figure 12 :Figure 13 :

 51213 Figure 12: Geometric constraint on the roller-pin radius

  Figure 14: Layout of the two coaxial conjugate-cam mechanism on the same shaft Figure 15: Layout of the three conjugate-cam mechanism on the same shaft

Figure 16 :

 16 Figure 16: Layout of the non-coaxial conjugate-cam mechanism on three parallel shafts

  Figure17shows the pressure angle variation for each cam vs. ψ, where 1, 2 and 3 denote the plot of the pressure angle for cams 1, 2 and 3, respectively. Moreover, cams 2 and 3 are rotated by angles 2π/3 and 4π/3, respectively, from cam 1. We can also consider that the plot for cam 3 that drives the follower before cam 1 in a previous cycle, referred to as 3' in Fig.17, is out of phase -2π/3 with respect to cam 1. As we saw in Eq. (14), cam 1 can drive the follower within π ≤ ψ ≤ 2π -∆, which corresponds in Fig.17to the part of the plot 1 between points B and D.Consequently, cam 2 can drive the follower within π + 2π/3 ≤ ψ ≤ 2π -∆ + 2π/3 i.e. 5π/3 ≤ ψ ≤ 8π/3 -∆

  Fig. 15, with p = 50 mm, b = 9.5 mm, L = 10 mm, τ = 1.2 Nm and E = 2 × 10 5 MPa.

[ 1 ]Figure 17 :

 117 Figure 17: Pressure angle for the three cams

Table 1 :

 1 depicts a rapid protote of the optimum mechanism whith an intermediate value, namely, η = 0.35. The motor and the two cams translate, while the follower and the rollers stay fixed on the base. Results of

	η 0.69 24.99 a 4 (mm)	a 5 (mm) 12.50	z 249	v Lmax (µm) |µ min | ( • ) 0.09 42.11	|µ max | ( • ) 80.68	service factor (%) 0
	0.5 15.5	6.56	2968	0.50	28.59	69.81	6.85
	0.4 10.5	3.44	32183	4.32	20.31	57.99	46.68
	0.39 10	3.12	45490	6.07	19.46	56.42	50.68
	0.38 9.5	2.81	66659	8.87	18.61	54.78	54.68
	0.37 9	2.50	102171	13.63	17.75	53.04	58.69
	0.36 8.5	2.19	165896	22.31	16.89	51.22	62.69
	0.35 8	1.87	290765	39.71	16.03	49.31	66.70
	0.34 7.5	1.56	566521	79.18	15.17	47.31	70.72
	0.33 7	1.25	1.29 10 6	186.06	14.31	45.21	74.73
	1/π 6.41	0.88	4.68 10 6	710.19	13.31	42.64	79.43

Table 2 :

 2 3 -∆ (44) Moreover, during this common part, cam 3 has lower absolute pressure angle values than cam 1, and hence, we consider that only cam 3 drives the follower. Consequently, cam 1 drives the follower only within η a 4 (mm) a 5 (mm) v Lmax (µm) |µ min | ( • ) |µ max | ( • ) Design parameters, roller pin deformation and pressure angle for the novel conjugate-cam mechanism of

	service factor (%)


Ruina Ma
email: ruina.ma@irccyn.ec-nantes.fr

Damien Chablat
email: damien.chablat@irccyn.ec-nantes.fr

Fouad Bennis
email: fouad.bennis@irccyn.ec-nantes.fr

Liang Ma
email: liangma@tsinghua.edu.cn

A framework of motion capture system based human behaviours simulation for ergonomic analysis

Keywords:

Introduction

With the increasing of computer capabilities, Computer aided ergonomics (CAE) offers new possibilities to integrate conventional ergonomic knowledge and to develop new methods into the work design process. As mentioned in [START_REF] Karwowski | Computer-aided ergonomics[END_REF], different approaches have been developed to enhance the efficiency of the ergonomic evaluation. Ergonomic expert systems, ergonomic oriented information systems, numerical models of human, etc. have been implemented in numerical ergonomic software. Until now, there are ergonomic software tools available, such as Jack, Ergoman, Delmia Human, 3DSSPP, and Santos, etc. [START_REF] Badler | Simulating humans: computer graphics animation and control[END_REF][START_REF] Schaub | A computer-aided tool for ergonomic workplace design and preventive health care[END_REF][START_REF] Chaffin | Development of computerized human static strength simulation model for job design[END_REF]. The main functions of these tools are posture analysis and posture prediction. In the visualization part, Jack and 3DSSPP produce results to visualize virtual human tasks in 3-dimensional, but without realistic physical properties. Nowadays, with the development of computer technology, the simulation of physical world is paid more attention. Physical engines [START_REF] David | Game Physics[END_REF] are used more and more in computer game (CG) field. The advantage of physical engine is the nature physical world environment simulation. The purpose of our research is to use the CG technology to create a virtual environment with physical properties for ergonomic analysis of virtual human.

In the following sections, firstly we will introduce motion capture system and the related data obtained and processed. Secondly we will illustrate the physical engine, and by using it we create our virtual physical environment. Thirdly, we propose a simulation framework using motion capture system and physical engine for ergonomic analysis. At last, we introduce a study case to present the ergonomic analysis based on a muscle fatigue model.

Motion capture

Motion capture techniques have been applied frequently to obtain the dynamic and natural motion information in human simulation tools [START_REF]Technical for project virtual soldier research[END_REF]. Several kinds of tracking systems are available, such as mechanical motion tracking, acoustic tracking, magnetic tracking, optical motion tracking, and inertial motion tracking [START_REF] Foxlin | Motion Tracking Requirements and Technologies. Handbook of virtual environments: Design, implementation, and applications[END_REF]. We use the motion capture system which is produced by NaturalPoint Company [8] to obtain the trajectory of human movement.

Optical tracking system camera placement: Our optical capture system is composed of three cameras around the work space. Markers are made from reflective material that could be tracked by camera sensitively, and they are attached to the human articulation. In order to track markers, multiple OptiTrack cameras must be arranged to have several overlapped fields of view. For best calibration and tracking results, it should be avoided to place al the cameras in the same plane, instead position the cameras at different angles. This will create an area called a capture volume in which tracking can occur. The overall capture system works at the frequency 100 Hz. It could offer a minimum sampling rate to have good image rendering, and this could provide sufficient detailed analysis of the static and dynamic human body motions.

Fig. 1. Camera Installation and Data Obtain Process

Data obtain process: Camera calibration here refers to the calibration of the multicamera system. It is the base of the following work. Dynamic camera calibration method which offered by the software was used to calibrate multiple cameras. In the Data Collection part, we open the interface about data collection. Markers are placed in the proper articulation, in order to get the relatively accurate position. In each articulation we put at least two markers and organise them as a tracker table. In this situation the average spatial position values of the markers will be the final trajectory values. In order to get the high quality trajectory , these markers moving in the capture volume space, should be viewed by at least two cameras.

The data we get from the software is the format ".cvs". In this format it contains much information more than we want. We must extract the information that we are interested in. In the data pre-processing part we do the data extraction using Matlab.

Physical engine

A physics engine is computer software that provides an approximate simulation of certain simple physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics. They are use in films, computer graphics, and mainly in video games (typically as middleware), in which the simulations are in real-time. The term is sometimes used more generally to describe any software system for simulating physical phenomena, such as high-performance scientific simulation [9]. For the human being, the dynamic motion is related more about the mechanics. Doing analysis in the physics world is more meaningful.

Physical engine development:

A physics engine is basically like a black box; it uses a set of mathematical expressions to simulate physics. Data drives the physics engine to develop more quickly. There are two compelling advantages to use a A framework of motion capture system based human behaviours simulation for ergonomic analysis 3 physics engine in the simulation. The first one is time saving and the second one is quality of rendering. A physical engine provides us with the ability to have interactive effects in believable ways. Using it we could create a more realistic virtual world.

Software Design: Bullet has been designed to be customizable and modular. The main components are organized as follows: Rigid Body Physics Pipeline: Before going into details, the following diagram shows the most important data structures and computation stages in the Bullet physics pipeline. This pipeline is executed from left to right, starting by applying gravity, and ending by position integration, updating the world transform.

The entire physics pipeline computation and its data structures are represented in Bullet by a dynamics world. When performing "stepSimulation" on the dynamics world, all the above stages are executed. The default dynamics world implementation is the "btDiscreteDynamicsWorld".

Finally, based on the framework of Bullet, we created a virtual environment with physic and robotic properties. According to the digital human structure, we create our mannequin in the environment.

Framework of simulation

The framework presented in Fig. 3 illustrating the workflow of the software system which was consisted by mainly four parts: The first part is using motion capture system to get the trajectory information of human body movements. The second part is using digital human model to get related geometric data and dynamic information data. The forth part is using physical engine to create a physical virtual environment and create the virtual human in the environment. The forth part is immerge the dynamic muscle fatigue model when the human doing the movement in order to do the ergonomic analysis.

We use the physical engine to create the virtual physical environment and to create the virtual human in this environment. We have read the data obtained from the motion capture system and put it in a virtual human in the virtual physical environment. We had set up the dynamic muscle fatigue model, and immerge it in the virtual human is the next step work.

Case study

Considering the complexity of the whole body movement, at the very beginning we set the posture of an arm in moving an object as the research target.

Arm geometric model: We put three groups of markers on the arm articulation position (the shoulder, the elbow and the wrist). In order to reduce the complexity and avoid the redundant situation, we suppose in the shoulder there is two degree of freedom, and in the elbow there is one degree of freedom and the wrist is fixed. The geometric model is as below:

Conclusion and perspective

In this paper, we proposed a framework for human behavior simulation. We use physical engine to set up the virtual environment and the purpose of this framework is to enhance the ergonomic analysis. Ergonomic analysis is important challenge but we have concentrate our research on muscle fatigue model to use this model into the framework for trajectory planning is our final purpose. This is only a preliminary result. Thus, there still a many research to do in the ergonomic module and visualization module. Later we will take consideration of path planning and collision avoiding based on a multi-agent optimization approach in the physical world.

Fig. 2 .

 2 Fig. 2. Bullet Engine Software Design Structure [10]

Fig. 3 .

 3 Fig. 3. Simulation Framework

Tab. 1 .

 1 Geometry Parameters of Arm[START_REF] Denavit | A kinematic notation for lower pair mechanism based on matrics[END_REF] D 3 and D 4 represent the length of upper and lower arm. Using the trajectory which we get from motion capture system and with the inverse kinematic model, we could calculate the articulation angle  ,  ,   .Ergonomic analysis---muscle fatigue model: Ergonomic analysis and assessment can be evaluated from different aspects according to the task requirement. At first, most of the ergonomic analysis is based on the scoring method. With the development of the ergonomic field, there come out some model to describe the working situations. Currently, we pay attention to the muscle fatigue effectors in ergonomic analysis. Recently, we have defined a muscle fatigue model [12] from the macroscopic point of view and using simple parameters to define the muscle fatigue development when time elapses. We want to integrate the fatigue model in the human A framework of motion capture system based human behaviours simulation for ergonomic analysis 5 moving procedure. Below is the figure to illustrate the muscle fatigue trend with time goes by.

Fig. 4 .

 4 Fig. 4. Muscle Fatigue Trend with Time [12]


Damien Chablat

Guillaume Moroz

Philippe Wenger

Uniqueness domains and non singular assembly mode changing trajectories

Parallel robots admit generally several solutions to the direct kinematics problem. The aspects are associated with the maximal singularity free domains without any singular configurations. Inside these regions, some trajectories are possible between two solutions of the direct kinematic problem without meeting any type of singularity: non-singular assembly mode trajectories. An established condition for such trajectories is to have cusp points inside the joint space that must be encircled. This paper presents an approach based on the notion of uniqueness domains to explain this behaviour. 1

I. INTRODUCTION

The direct and inverse kinematics problem of parallel robots have been study in many papers to define first the maximal numbers of solution for each problem and secondly to characterize the joint space and workspace. The mobile platform can admit several positions and orientations (or configurations) in the workspace for one given set of input joint values. Conversely, the robot can admit several input joint values for a given mobile platform configurations.

The notion of assembly modes has been defined to represent the different solutions to the direct kinematic problem while the notion of working mode has been introduced to separate the solutions to the inverse kinematic problem [START_REF] Chablat | Working Modes and Aspects in Fully-Parallel Manipulator[END_REF].

To cope with the existence of multiple inverse kinematic solutions in serial mechanisms, the notion of aspects was introduced [START_REF] Paul | A study of manipulator inverse kinematic solutions with application to trajectory planning and workspace determination[END_REF]. The aspects were defined as the maximal singularity-free domains in the joint space. The same notion was extended for parallel mechanism with several inverse and direct kinematic solutions [START_REF] Chablat | Working Modes and Aspects in Fully-Parallel Manipulator[END_REF][START_REF] Wenger Ph | Definition Sets for the Direct Kinematics of Parallel Manipulators[END_REF].

For path planning, we need to define a one-to-one mapping between the joint space and the workspace, which makes it possible to associate one single solution to the inverse and direct kinematic problem. One way to solve this problem is to introduce the definition of the uniqueness domains. Like for serial mechanisms, the aspects do not define the uniqueness domains of the inverse and direct kinematic problem because some parallel robots are able to change assembly-mode without passing through a singularity, thus meaning that there is more than one direct kinematic solution in one aspect [START_REF] Innocenti | Singularity-free evolution from one configuration to another in serial and fully-parallel manipulators[END_REF]. This feature was first analyzed for the 3-RPR parallel robot and more recently for other ones such as the RPR-2PRR [START_REF] Hernandez | Defining conditions for non singular transitions between assembly modes[END_REF].

The change of assembly-mode was first analyzed in the joint space. However, it did not make it possible to explain the non-singular assembly-mode phenomenon. To solve this problem, a configuration-space was defined by the input joint value plus one coordinate of the platform configuration [START_REF] Zein | Non-Singular Assembly-mode Changing Motions for 3-RPR Parallel Manipulators[END_REF]. This approach makes it possible to show that a cusp point is encircled during a non-singular assembly-mode motion. A second problem is to find trajectories that induce an assembly mode changing. This problem can be solved by defining the uniqueness domains as defined for serial robots in [START_REF] Wenger | Uniqueness domains and regions of feasible paths for cuspidal manipulators[END_REF] and for parallel robots in [START_REF] Chablat | Séparation des solutions aux modèles géométriques direct et inverse pour les manipulateurs pleinement parallèles[END_REF].

To compute the aspects and the uniqueness domains, new algebraic tools based on Groebner basis are introduced in this paper. These tools make it possible to obtain the analytic expression of the border of these domains and, by using a cylindrical algebraic decomposition, they define completely these regions. As a matter of fact, only numerical methods have been used to generate these regions, such as Octree models by the subdivision of the joint space and workspace).

The paper is organised as follows. In the next section, we recall the notion of working mode, aspects and uniqueness domains. Then, we will introduce the algebraic tools used for the first time to describe these domains. Finally, assemblymode changing motions are analyzed with an example trajectory.

II. DEFINITION OF THE UNIQUENESS DOMAINS

In this section, we recall briefly the definition of uniqueness domains.

A. Definition of the kinematics

The vector of input variables q and the vector of output variables X for a n-DOF parallel manipulator are linked by a system of non linear algebraic equations:

  , F  q X 0 ( 1
)
where 0 is the n-dimensional zero vector. Differentiating

Uniqueness domains and non singular assembly mode changing trajectories

(1) with respect to time leads to the velocity model:

0  A X B q   (2)
where A et B are n  n Jacobian matrices. These matrices are functions of q and X:

FF    AB Xq (3)
These matrices are useful for the determination of the singular configurations [START_REF] Sefrioui | Singularity analysis and representation of planar parallel manipulators[END_REF].

B. Working modes

The notion of working modes was introduced in [START_REF] Chablat | Working Modes and Aspects in Fully-Parallel Manipulator[END_REF] for parallel manipulators with several solutions to the inverse kinematic problem and whose matrix B is diagonal.

A working mode, denoted by i Mf , is the set of robot configurations for which the sign of jj B ( 1, , jn   for a parallel manipulator with n degrees of freedom) does not change and jj B does not vanish. A robot configuration is represented by the vector (X, q). ( , ) such that sign( )=cst for 1, , and det ( )

0 jj i W Q B Mf jn          Xq B
Therefore, the set of working modes ( i Mf , iI  ) is obtained using all combinations of sign of each term jj B . Changing working mode is equivalent to changing the posture of one or several legs. A working mode is defined in WQ  because the terms of jj B depend on both X and q. For a working mode i Mf , we have only one inverse kinematic solution. So, we can define an application that maps X onto q:   i g  Xq [START_REF] Innocenti | Singularity-free evolution from one configuration to another in serial and fully-parallel manipulators[END_REF] Then the images in W of a posture q in Q is denoted by:

    1 \ ( , ) ii g M f   q X X q (5)

C. Generalized aspect

The generalized aspects ij A were defined in [START_REF] Chablat | Working Modes and Aspects in Fully-Parallel Manipulator[END_REF] as the maximal sets in WQ  such that

      is connected , \det 0 ij ij ij i A W Q A A M f     X q A (6)
The projection W  of the generalized aspects ij A onto the workspace are the regions ij W A W  and are also connected. These regions, called W-aspects, define the maximal singularity-free regions of the workspace for a given working mode Mf i .

The projection Q  of the generalized aspects onto the jointspace are the regions

ij Q A Q 
and are also connected. These regions, called Q-aspects, define the maximal singularity-free regions of the joint space for a given working mode Mf i .

D. Characteristic surfaces

The characteristic surfaces were introduced in [10] to define the uniqueness domains for serial cuspidal robots. This definition was extended to parallel robots with one inverse kinematic solution in [3] and to parallel robots with several inverse kinematic solutions in [START_REF] Chablat | Séparation des solutions aux modèles géométriques direct et inverse pour les manipulateurs pleinement parallèles[END_REF].

Let ij WA be one W-aspect. The characteristic surfaces, denoted by ()

C ij S W A , are defined as the preimage in ij WA of the boundary ij WA  that delimits ij WA       1 C ij i i ij ij S W A g g W A W A     (7)
where :  i g is defined in eq. ( 4)

 1 i g  is a notation defined in eq. (5). Let C  Q :     1 ( ) / ii g W g C     C X X
When the robot admits only two W-aspects for each working mode, the characteristic surfaces coincide with the pseudo-singularities defined by:

      1 ij i i ij Sc W A g g W A   (8)

E. Basic components and basic regions

Let ij WA be an W-aspect. The basic regions of ijk WA , denoted   , ijk W A b k K 
, are defined as the connected components of the set

  ij C ij W A S W A   (   means the difference between sets). The basic regions induce a partition on ij WA :     ij k K ijk C ij W A W Ab S W A     Let   ijk ijk Q A b g W A b  , ijk Q A b is a domain in the reachable joint space Q called basic components. Let ij WA
an W-aspect and ij QA its image under g. The following relation holds:

      ij k K ijk C ij Q A Q Ab g S W A    

F. Uniqueness domain

The uniqueness domains

    ' il k K ijk C ijk W u W Ab S W Ab     (9) with ' KK  such that 12 ,' k k JK  ,     12 ij ij g W A b g W A b    .

III. ALGEBRAIC TOOLS

A. Projection or Groebner basis elimination

We use the Groebner basis theory to compute the projections  Q and  W . Let P be a set of polynomials in the variables X=(x 1 , .., x n ) and q=(q 1 , .., q n ). Moreover, let V be the set of common roots of the polynomial in P, let W be the projection of V on the workspace and Q the projection on the joint space. It might not be possible to represent W (resp. Q) by polynomial equations. Let W (resp. Q ) be the smallest set defined by polynomial equations that contain W (resp. Q). Our goal is to compute the polynomial equations defining W (resp. Q ). A Groebner basis P is a polynomial system equivalent to P, satisfying some additional specific properties. The Groebner basis of a system depends on the chosen ordering on the monomials (cf [START_REF] Cox | Ideals, Varieties, and Algorithms[END_REF], Chapter 3).

For the projection  W , when we choose an ordering eliminating q, the Groebner basis of P contains exactly the polynomials defining W . For the projection  Q , when we choose an ordering eliminating X, the Groebner basis of P contains exactly the polynomials defining Q .

B. Discussing the number of solutions of the parametric system

The joint space (resp. workspace) analysis requires the discussion of the number of solutions of the parametric system associated with the direct (resp. inverse) kinematics. More precisely we want to decompose the joint space (resp. workspace) in cells 1k ,...,C C , such that:

 i
C is an open connected subset of the joint space (resp. workspace).  for all joint (resp. pose) values in i C , the direct (resp. inverse) kinematics problem has a constant number of solutions.  i C is maximal in the sense that if i C is contained in a set E, then E does not satisfy the first or the second condition. This analysis is done in 3 steps:  computation of a subset of the jointspace (resp. workspace) where the number of solutions changes: the Discriminant Variety.  description of the complementary of the discriminant variety in connected cells: the Generic Cylindrical Algebraic Decomposition  connecting the cells that belong to the same connected component of the complementary of the discriminant variety: interval comparisons.

From a general point of view, the discriminant variety can be defined for any system of polynomial equations and inequalities. Let 11 , ... , , ..., ml p p q q be polynomials with rational coefficients depending on the unknowns 1 , ..., n XX and on the parameters 1 , ..., d UU . Let us consider the constructible set:

  n+d 11
= , ( ) 0,..., ( ) 0, ( ) 0, ..., ( ) 0 , C defines an analytic covering. In particular, the number of points of C over any point of U is constant.

ml p p q q      v v v v v C C If
Let us now consider the following semi-algebraic set:

  n+d 11
, ( ) 0,..., ( ) 0, ( ) 0, ..., ( ) 0

ml p p q q       v v v v v S C
If we assume that S has a finite number of solutions over at least one real point that does not belong to D V , then d D V  R can be viewed as a real discriminant variety of S , with the same property: over each connected open set

d  U R such that D V    U
, C defines an analytic covering. In particular, the number of points of R over any point of U is constant.

Discriminant varieties can be computed using basic and well known tools from computer algebra such as Groebner bases (see [START_REF] Lazard | Solving parametric polynomial systems[END_REF]) and a full package computing such objects in a general framework is available in Maple software through the RootFinding[Parametric] package.

C. The complementary of a discriminant variety

At this stage, we know, by construction, that over any simply connected open set that does not intersect the discriminant variety (so-called regions), the system has a constant number of (real) roots. The goal of this part is now to provide a description of the regions for which the number of solutions of the system at hand is constant. Accordingly, we compute an open CAD [START_REF] Collins | Quantifier Elimination for Real Closed Fields by Cylindrical Algebraic Decomposition[END_REF][START_REF] Dolzmann | Eficient projection orders for CAD[END_REF]

 d P :       1 D iscrim inant , , LeadingC oefficient , , R esultant , , , \ , ii ii p U p U p q U p q        P
We can associate to each i P an algebraic variety of dimension at most

1 i  :   1 ii p V V p    P p
The i V are used to define recursively a finite union of simply connected open subsets of i R of dimension i:

1, i n k i k   U such that , i i k V    U ,
i i i ik i i i v v v v v v p l p l             VV v U =|   , 1 1
, ..., ,

i k i i u      , with   1 1 1, 1, 1, , ..., R oot( , ) ; R oot( , 1
)

ii i i j u j u j i i i u p l p l             
where , ij are fixed integer.

D. Connecting the cells

Finally, we need to connect the cells that belong to the same connected component in the complementary of the discriminant variety. This property is represented by an undirected unweighted graph G where each node represents a cell: if an edge connects two nodes, then the corresponding cells are adjacent (i.e. their closures have a non empty intersection) and are in the same connected component in the complementary of the discriminant variety.

We use the cylindrical shape of the cells output in the Cylindrical Algebraic Decomposition to compute the edges of G. Our method only works when the joint space (resp. workspace) has dimension 2.

In this case, let 1

2 ,i C  U and 2 2 , j C  U
be 2 cells of the cylindrical algebraic decomposition computed in the previous subsection. First, a necessary condition for these cells to be adjacent is that their projection is adjacent. In the of dimension 2 cells, the projection of 1 C (resp. ). Then the two cells 1 C and 2 C are adjacent and belong to the same connected component of the complementary of the discriminant variety if the line segment [START_REF] Collins | Quantifier Elimination for Real Closed Fields by Cylindrical Algebraic Decomposition[END_REF] [] PP does not cross the discriminant variety. This property can be checked by using Descartes' rule of sign [START_REF] Collins | Polynomial real root isolation using descarte's rule of signs[END_REF] or Sturm's theorem [START_REF] Sturm | Mémoire sur la résolution des équations numériques[END_REF].

IV. MECHANISM UNDER STUDY

A. Kinematic equations

The aim of this section is to recall briefly the kinematic equations of the RPR-2PRR mechanism [START_REF] Hernandez | Defining conditions for non singular transitions between assembly modes[END_REF]. The kinematic equations are defined in [START_REF] Hernandez | Defining conditions for non singular transitions between assembly modes[END_REF] 2

B 1 B x y 2 ( , ) B 3 A 3 A 1 A 2 y x            C 2 C 3 l  l  a b
                        (10)
In the following, we have fixed 23 3 ll  and 1 ab  in certain units of length that we need not specify. The position of the end-effector in B 2 is such that for a given value of y, we have either . This allows us to study the mechanism in a 2D slice of the workspace or in the joint space.

B. Singularity analysis

Matrices A and B can be derived from eq. [START_REF] Wenger | A new general formalism for the kinematic analysis of all nonredundant manipulators[END_REF]. The roots of the determinant of these matrices define the parallel and serial singularities. The serial singularities, denoted by S S , are defined by . The parallel singularities, denoted by P S , are defined by : cos( ) sin( ) sin( ) sin( ) cos( ) 0

P ya xa b x ab          S
This singularity occurs whenever the axes (A 1 B 1 ), (A 2 B 2 ) and (A 3 C 3 ) intersect (possibly at infinity). The parallel singularities do not depend on the choice of the inverse kinematic solution.

C. Projection of the singularities into the workspace and joint space

To determine the polynomial equations that characterize the serial and parallel singularities in the joint space and workspace, we use the operators  W and  Q , , i.e. another working mode. It can be noticed as is written in [START_REF] Hernandez | Defining conditions for non singular transitions between assembly modes[END_REF] that there exist four cusp points in this cross-section.

D. The generalized aspects

Form the definition of the parallel and serial singularities in the workspace, and thanks to the property that the location of the parallel singularities does not depend on the working mode, we can define 2x4 generalized aspects.

          2
                                       
The main benefit of the formulation is that we have the complete definition of the space and we can find easily in which cell a given point belongs.

E. Characteristic surface

The characteristic surface is defined by:

(cos( ) 2 ) 0 C S y y x x y x x y x x x                      
with   . Figure 7 represents the singularities and the characteristic surfaces. The projections of the cusps points lie on the intersections of the parallel singularities and the characteristic surfaces. The two expressions defining the parallel singularities and the characteristic surfaces can be used to study the kinematic equations of the robot defined in Eq. [START_REF] Wenger | A new general formalism for the kinematic analysis of all nonredundant manipulators[END_REF]. As the sign of the two expressions can be positive or negative, we obtain four regions in the workspace The cell decomposition and the connectivity analysis yield 10 regions, as shown in Fig. 8. The analysis of the inverse kinematic solution allows us to compute the basic regions. Figure 9 represents the 4 uniqueness domains for each working mode.

F. Application to trajectory planning

For any trajectory inside a uniqueness domain do no change of assembly mode occurs. Figure 10 (a) shows a trajectory defined between two regions in green. As the end points of the trajectory are in two separate uniqueness domains, a non-singular assembly mode changing trajectory occurs. We can also notice that in Fig. 10 (b), the two images of the trajectory in the joint space encircle a cusp point.

V. CONCLUSIONS

In this paper, the notion of uniqueness domains and non-singular assembly-mode changing motion was revisited and exemplified using a RPR-2PRR parallel robot. The implicit definition of the parallel and serial singularities as well as the characteristic surface were obtained with a new approach based on algebraic tools such as Discriminant Varieties and Cylindrical Algebraic Decompositions. Moreover, this allowed us to get algebraic formula describing the basic regions, the basic components and the uniqueness domains.

il

  Wu are the union of two sets, (i) the set of adjacent basic regions ' ijWA whose respective preimages are disjoint basic components, and (ii) the set of the characteristic surfaces

Figure 1 :

 1 Figure 1 : RPR-2PRR mechanism with 23 3 ll  and 1 ab 

Figure 2 Figure 2 :Figure 3 :

 223 Figure 2 and 3 depict a slice of the workspace for y=1/2 and the joint space, respectively, with in red the serial singularities and in blue the parallel singularities.

Figure 4 :

 4 Figure 4: A slice of the workspace for y=1/2 with 2 Waspects Figure 5: A slice of the joint space for 2 arcsin (1 / 6 )   with 2 Q-aspects Each W-aspect of Fig. 4 is described by 41 cells. Same for

Figure 6 :

 6 Figure 6: The two W-aspects associated with a same working modeFigure6represents the W-aspects obtained with the CAD decomposition. The borders are the projection onto the workspace of the serial and parallel singularities. Each Waspect is described by 411 cells. For instance, the cell 116 is defined by the set of points x 0 , y 0 ,  0 :

Figure 7 :

 7 Figure 7: The joint space analysis for 2 arcsin (1 / 6 )  with in red the serial singularities, in blue the parallel singularities and in green the characteristic surface

Figure 8 :

 8 Figure 8 : The workspace analysis for 2 arcsin (1 / 6 )   with in red the number of inverse kinematic solutions and in blue the number of direct kinematic solution associated with each image

Figure 9 :

 9 The four uniqueness domains with in red and in blue the common regions.

Figure 10 :

 10 Figure 10 : Trajectory for y=1/2 and [x,]= [[-1,1], [0,1/2], [1,-1],[1/2,-2]] (a) in the workspace and (b) in the joint space

  we assume that C is a finite number of points for almost all the parameter values, a discriminant variety D V of C is a variety in the parameter space d C such that, over each connected open set U satisfying

	U		V	D	 

  and one point ,

		Moreover, if p is a n-variate polynomial, and v is a	1 n  -
	uplet, then p V denotes the univariate polynomial where the
	first	1 n  variables have been replaced by v .
		Roughly speaking, the recursive process defining the , ik U
	is the following:
	 For	1 i  , let	p	i	 	p		1 P p . Taking	U	, ik		]R oot( , ); pk
	Root( , pk	1)[		for k from 0 to n where n is the number of
	real roots of		1 p , one gets a partition of R that fits the
	above definition. Moreover, one can chose arbitrarily one
	rational point , ik u	in each , ik U .
	 Then, let	p	i	 	p		1 P p . The regions , ik U	and the points
	u	, ik	are of the form:
					1	, ...,		1	,			| :		1	, ...,	1	
		,											Root( , ) ; Root( ,	1)
													u	ik	with
													rational coordinates in each , ik U .
													In order to define the ,
															if	l		0
													R oot ( , ) p l		 	the	l	th	real roots of if 1 p	l n  	\[
													  	if	ln 

ik U , we introduce the following notations. If p is a univariate polynomial with n real roots:

Manuscript received September 10,

The research work reported here was made possible by SiRoPa ANR Project. D Chablat, G. Moroz and P. Wenger are with the IRCCyN, Nantes, 44321 France (corresponding author: +33240376958; fax: +33240376930; e-mail: Damien.Chablat @irccyn.ec-nantes.fr).


Lara Leclerc

Delphine Boudard

Jérémie Pourchez

Valérie Forest

Laurence Marmuse

Cédric Louis

Valérie Bin

Sabine Palle

Philippe Grosseau

Michèle Cottier

Development of innovative pH sensor nanoparticles: a new approach to evaluate phagocytosis

• FITC-NP (green fluorescence)

• FITC-NP conjugated with a fluorescent pHrodo™ probe which red fluorescence increases as pH acidifies allowing the detection of intra-lysosomal engulfed NP.

After validation in acellular conditions by spectral analysis in confocal microscopy, the proof of concept of the nano pH-sensor was conducted in vitro on a macrophage cell line (RAW 264.7). The detection of entirely engulfed pHrodo-NP (green and red labelings) allowed the quantification of phagocytosis.

The biological effects of nano-pH-sensor (cytotoxicity, inflammatory response and oxidative stress) were also investigated. Results showed that incorporation of pHrodo had no major effects on the cytotoxicity of NP especially for the double fluorescent pH-sensor NP of 250 nm, making them an interesting and powerful tool to quantify phagocytosis in vivo.

A better understanding of uptake mechanisms is a key issue of nanotoxicology and these data could be applied to improve drug delivery targeting in anticancerous treatment.

KEYWORDS

Fluorescent nanoparticles, uptake, toxicity.

Figure 1 :

 1 Figure 1 : Nano-pH-sensor.