FR 3097149 A1 20201218 FR 1906269 A 20190612 Description Titre de l'invention : Dispositif de contrôle électronique optimisé pour robot mobile spécifique [0001] La présente invention concerne un dispositif pour saisir, porter, transporter puis déposer des charges plus ou moins lourdes, avec une précision éventuellement élevée. D'autre part, ce dispositif peut également exercer un effort sur la charge portée, et / ou sur un élément de l'environnement. Le dispositif selon l'invention met en oeuvre au moins un bras porté par une plateforme mobile (par exemple un robot autonome, télécommandé, ou guidé...) dont l'action se situe par exemple : [0002] au sein d'un processus de production en participant au flux des composants, à leur élaboration ou à leur assemblage, [0003] en amont ou en aval d'un processus de production, en rassemblant ou dissociant des composants, identiques ou différents entre eux, pour en préparer le transport. [0004] Le dispositif selon l'invention est particulièrement indiqué pour la manipulation d'objet, de masse de 2 à 500kg, de dimension non contrainte, éventuellement avec une grande précision, que ce soit dans un environnement usuel (production mécanique, manipulation de colis, préparation de commande en logistique) ou dans un environnement sévère et/ou non-structuré de type : agriculture, sous-terrain, bois et sous-bois, urbain intérieur ou extérieur, et urbain post-séisme..., par exemple : température frigorifique (domaine alimentaire), température élevée (processus métallurgique), dangereux (construction BTP, chimie, pétrolier, militaire, sécurité civile), milieu contrôlé en niveau bas de poussière (production électronique), milieu contrôlé en microbiologie avec un haut niveau d'asepsie (santé, vaccin) ; pour des activités de domaine usuel (distribution, automobile) ou sensible (manipulation de billets de banque, de valeurs, médicaments, armement...). [0005] Le dispositif selon l'invention est également indiqué pour les cas d'usage tradi- tionnels de robots mobiles décrits dans le chapitre suivant : « Contexte ». Contexte 100061 Premiers cas d'usage traditionnel : Quand la manipulation d'une charge lourde (par exemple cartons de marchandises, pièces mécaniques, outils, bonbonnes) est de fréquence imprévisible, irrégulière, peu fréquente et/ou complexe, alors la manipulation est traditionnellement effectuée par un opérateur humain. Cette manipulation manuelle présente des contraintes d'ergonomie du poste de travail (stockage à hauteur d'homme, table à billes...) et de posture pour les opérateurs (cf pénibilité). Elle est de plus réglementée avec une masse maximale admissible de l'ordre de 10kg (limite variable selon les secteurs d'activité, et cumulable journalièrement, hebdomadairement 2 ...). Enfin, la manipulation manuelle comporte un risque de santé dans la durée pour les opérateurs, ce sont les troubles musculo-squelettique (TMS). Un premier niveau d'automatisation est le recours à des outils, comme les palans et treuils, qui sont contraignants pour la sécurité des opérateurs (car les pièces lourdes sont en mouvement au bout d'une chainc, donc avec un guidage imprécis) et encombrants en termes d'implantation en hauteur comme au sol, et ces outils ne suppriment souvent pas totalement le risque ergonomie et TMS pour les opérateurs. [0007] Un cas particulier intéressant pour l'invention est la logistique en amont d'un processus de production, d'un point de vente alimentaire de détails, d'une pharmacie, ou de tout établissement ayant la nécessité de présenter constamment une grande gamme de produits différents avec une quantité faible de chacun. Cette activité de préparation de commande (répartition, ou éclatement) en amont est traditionnellement réalisée manuellement, cc qui en limite l'usage aux produits à plus forte valeur ajoutée (comme les médicaments). Alternativement la préparation des commandes peut être réalisée ou facilitée, par des tours de stockage automatisées, des carrousels ou des processus de tri en flux continu (par exemple : le tri du courrier par La Poste), mais l'investissement important ne se justifie que dans le cas d'usages intensifs, et seulement si toutes les combinaisons de préparation sont connues, et validées à l'avance. Donc aujourd'hui, la préparation de commande repose sur la manipulation humaine. [0008] Second cas d'usage traditionnel : Dans les processus de production stables et de grandes série, les charges lourdes sont usuellement manipulées par un bras robotisé massif fixé au sol : il est usuel d'avoir un ratio de 10 à 30% entre la masse du bras et celle de l'objet manipulé (par ex. : le bras EverRobot MPL80 de 960kg manipule une charge de 80kg à 2.2m de son axe). [0009] De plus, une zone réservée pour le mouvement du bras robotisé avec sa charge, protégée par une barrière, doit être installée. Et l'automatisation par bras robotisé de la manipulation d'une pièce (ou autre) entre deux machines, impose de disposer la machine d'où sort la pièce, et celle où elle va, de manière adaptée au bras robotisé, notamment son allongement, sa dextérité (nombre de degré de liberté définissant sa capacité de mouvement) et de prendre en compte les zones d'accessibilité des machines. Enfin, les machines et le bras doivent être gérés de manière coordonnée, ce qui impose que le bras et les machines soient dotés de capteurs permettant a minima d'éviter les collisions entre eux. Cette zone sécurisée, contrôlée et spécialisée est une cellule de production robotisée. [0010] Comme il est nécessaire de laisser des espaces de passage entre les machines et le bras robotisé pour les opérateurs, notamment de maintenance, la taille d'une cellule robotisée est généralement de plusieurs mètres de cotés. Les machines d'une cellule 3 sont donc distantes usuellement. de 3 m, ce qui impose au bras d'avoir une portée de 2m de part et d'autre (0.5 pour pénétrer dans la machine pour prendre la pièce). La conception de la cellule typique aboutit donc à un besoin d'un bras capable de manipuler une charge lourde à une distance de 2m, d'où le recours à des robots massifs, dotés de très gros moteurs, qui consomment et chauffent beaucoup, d'une grosse structure porteuses, qui sont couteux à l'achat, complexes à l'installation, et en maintenance, et qui génèrent une inertie importante, ce qui est dangereux pour les opérateurs, d'où la zone protégée. Enfin, la dangerosité des pièces portées par les bras robotisés à base fixe, est d'autant plus importante que les utilisateurs maximisent la productivité, en augmentant la vitesse des mouvements, d'où une énergie cinétique élevée. [0011] Comme illustré ci-dessus, la mise en oeuvre de cellules robotisées impose des contraintes fortes sur le flux de pièces, la disposition des machines, l'emprise au sol élevée, ainsi qu'une grande technicité dans l'installation, le réglage et la maintenance, un investissement important à l'achat et à l'usage de ces bras robotisés massifs, et une dangerosité importante. [0012] Troisième cas d'usage traditionnel : pour une multitude de raisons, il arrive que la saisie d'une pièce ou sa manipulation dans l'espace requière une grande précision. Ces misons peuvent être que la pièce est partiellement molle, temporairement fragilisée par le processus de production, ou bien que la pièce est entassée en vrac avec plusieurs autres dans un même emballage, ou encore la pièce peut être d'une forme complexe ce qui impose de la saisir d'une manière très précise. La précision d'un bras robotisé exige un certain type de capteur et d'effecteur, mais surtout, cela exige que la structure mécanique soit très rigide, ce qui aboutit traditionnellement à alourdir le bras robotisé, induisant à nouveau les contraintes pré-citées. [0013] Quatrième cas d'usage traditionnel : chaque opération industrielle est justifiée par un rendement économique démontrable. Or pour rentabiliser l'investissement important, les robots doivent montrer une forte productivité, d'où une vitesse de travail rapide. Répondre à cette exigence économique justifiée, vient encore accroitre la contrainte sur les bras robotisé, car non seulement il est nécessaire de manipuler des charges distantes, éventuellement lourdes, éventuellement avec précision, mais il faut le faire rapidement. Traditionnellement les capacités dynamiques des moteurs sont alors fortement accrues, d'où un alourdissement supplémentaire de la structure, avec éventuellement un abaissement de la capacité à manipuler des charges lourdes à distance. Arrière plan technique et brevets pré-existants [0014] 11 existe une très riche bibliographie, et réalisations techniques dans le domaine de l'automatisation des processus, la robotique et la robotique mobile, pour des usages industriels, de types logistiques ou de manipulation principalement, ainsi que dans les milieux non-structurés. [0015] Les nombreux brevets des sociétés ABB et Kuka ne sont pas cités ici, car ils se fo- calisent sur des thèmes lointain de l'invention (par ex. : problématique d'échauffement thermique pour les bras robots lourds, de fusion de données, ou sur des aspects de correction de dérives de boucles de commande pour les bras plus léger et précis). [0016] Les brevets préexistants en relation avec la présente invention sont : [0017] FR1901856, de HMS2030 (déposé 22/02/2019) : qui revendique notamment des dis- positifs de blocage d'articulation. Ces dispositifs sont nommés dans la présente invention : « mécanisme dédié (190) », et font partie des éléments matériels pouvant augmenter les performances du robot en s'intégrant dans le dispositif décrit dans la présente invention. [0018] US9499219, de Google (2016) revendique une méthode de détection du contact entre un membre robotisé et le sol, basée sur un système mécano-pneumatique, et présente des algorithmes associés. [0019] US9393693, de Google (2016) revendique un système de manipulateur robotisé incluant un préhenseur, et une méthode permettant de générer un espace virtuel de contraintes relatives à un ensemble de vecteurs force, limitant les trajectoires acceptables afin d'éviter la chute de la pièce portée. La méthode décrite semble pertinente uniquement pour l'élimination des trajectoires inadéquates de l'objet porté. Mais elle reste passive, à savoir elle ne génère aucune solution, et d'autre part les revendications laissent entrevoir des lacunes importantes pour le contrôle d'un robot mobile, par exemple son équilibre, la prise en compte de ses capacités motrices et ses limitations angulaires articulaires Par ailleurs, le recours à l'intelligence artificielle (filtre particulaire) proposé est un compromis entre une exécution optimisée et la minimisation de la puissance de calcul. Néanmoins, la puissance de calcul requise pour exécuter les logiciels en intelligence artificielle reste élevée, avec pour conséquence un temps de réaction éventuellement trop long en cas de changement rapide de l'environnement du robot (risque de chute...). [0020] W02009/143377 de Georgia Tech Research Corp : revendique un robot à une ou deux roues, notamment un humanoïde, dont la stabilité en statique et quasi-statique, est assurée par le mouvement d'un système de balancier, à savoir typiquement un bras du robot. [0021] US2016/0229057 de Harris Corp : revendique une méthode pour éviter le ren- versement d'un véhicule robotisé (sur un terrain en pente) en utilisant un composant mobile porté par le robot, dont la position pourra être ultérieurement optimisée. Ce brevet traite du contrôle de l'équilibre d'un bras robot sur base mobile sur un terrain incliné, et cet équilibre est atteint uniquement en déplaçant un objet mobile porté par le robot ; c'est à dire que ce brevet ne considère pas les possibilités d'adaptation au terrain du robot proprement dit. [0022] US2001/0045807 inventeur Mc Connell : revendique une méthode pour contrôler le mouvement d'un objet (porté par un bras robotisé) basée sur la mesure du couple et de la position, permettant notamment d'éliminer les oscillations d'un bras robot. [0023] TI apparait que l'état de l'art n'aborde la commande de robot mobile et manipulateur que de manière parcellaire. Même la mise en oeuvre de l'ensemble des dispositifs de capteurs, et méthodes de commande, décrits dans l'état de l'art, ne fournirait pas un ensemble logiciel et matériel cohérent, dont le fonctionnement permettrait de répondre aux contraintes d'un usage réel. [0024] Par ailleurs, comme les robots mobiles offrent des milliers de possibilités et de géométries redondantes pour prendre une même pièce, ou pour se déplacer d'un point A vers un point B. La puissance de calculs requise pour évaluer ces options est donc très élevée. Très peu de brevet aborde cc point, et aucun avec une efficacité comparable à la présente invention. Avantages de l'invention [0025] L'invention décrit des équipements spécifiques, et une méthode de contrôle dédiée (et vice-versa). Le système ainsi constitué d'équipements & méthode de contrôle, peut exécuter des actions variées dans des environnements réalistes, de manière optimale, en mettant en oeuvre un minimum de ressources. [0026] La méthode se base sur une bibliothèque initiale contenant un nombre limité de configurations possibles et pertinentes, par exemple entre 10 et 80, et typiquement 50. De nouvelles configurations sont élaborées, à chaque itération des algorithmes (320) par ces mêmes algorithmes, en prenant en compte les conditions réelles d'exécution de l'action assignée, entre 5 et 50, et typiquement 20 variantes par configurations initiales (au delà de la première itération, les configurations les mieux notées lors des itérations précédentes, peuvent être préférées pour la génération de variantes). La puissance de calcul est donc concentrée sur une petite quantité d'information, à savoir typiquement 1000 configurations par itération de calculs. Et ce sont entre 50 et 800, typiquement 200 itérations qui sont faites, pour éviter les solutions sous-optimales. La puissance de calcul nécessaire selon l'invention est 10 000 fois inférieure aux approches existantes (vs IA-filtre particulaire, cf brevet (ioogle). Cette efficacité logicielle offre la possibilité d'adapter plusieurs fois par seconde la configuration du robot au cours de l'exécution de l'action ! Cette réactivité est synonyme de fiabilité. De plus, en relaxant la contrainte de la puissance de calcul, il devient possible d'utiliser des cartes électroniques éprouvées, compactes et moins couteuses. [0027] Le système selon l'invention évalue la faisabilité d'une action, et peut augmenter les capacités du robot, par exemple en générant des sous-objectifs moins contraignants que l'action telle qu'assignée, ou en limitant l'angle d'ouverture d'une articulation afin de 6 limiter le bras de levier exercé sur son moteur, ou encore en bloquant une articulation permettant ainsi de dépasser le couple maximal du moteur concerné, ou en prenant appui sur un élément de l'environnement pour se stabiliser. Le système selon l'invention permet aussi d'optimiser l'exécution de l'action assignée, selon des critères choisis, comme la consommation en courant, la vitesse d'exécution... Glossaire [0028] « C i b le » est un sous-objectif de l'action assignée, une action assignée étant a minima constituée d'une cible, et typiquement constituée d'une cible de départ et d'une cible d'arrivée ; la réalisation (ou exécution, ou atteinte) de la totalité des cibles, et des transitions entre cibles, est l'exécution de l'action complète assignée. Chaque cible est fournie ou décrite de manière complémentaire entre l'humain, le logiciel de supervision, et / ou les capteurs du robot (3), de sorte qu'une cible soit toujours décrite exhaustivement. Les données caractéristiques d'une cible sont typiquement : [0029] son ordre logique dans l'exécution de l'action assignée, dit séquencement [0030] les coordonnées spatiales tolérancées pour chaque point, ou chaque élément géo- métrique, de l'environnement (6), ciblé, et où le robot (3) doit positionner au moins un de ses composants, typiquement le préhenseur [0031] les coordonnées spatiales tolérancées pour chaque point, ou élément géométrique, de l'environnement (6) constituant une contrainte ou un obstacle, et où le robot (3) ne doit positionner aucun de ses composants, [0032] « Configuration » définit: la position dans l'espace de la base (2), la géométrie du bras (1) relativement à la base (2), les caractéristiques statiques et dynamiques, à savoir vitesse et accélération, des composants du robot (3) et de l'objet (4) éventuellement porté, et / ou des caractéristiques d'état comme la consommation des moteurs, leur température etc ; et enfin chaque configuration peut se voir adjoindre un, ou plusieurs, champ contenant par exemple une note d'évaluation pour chaque cible considérée ; cette note caractérise l'adéquation de ladite configuration à ladite cible, ce champ peut également contenir des informations logiques, sous forme de texte ou autre (p.ex. : booléen), afin de permettre aux algorithmes (320) de fonctionner de manière optimale. [0033] « Configuration de repos » correspond à une configuration où le niveau d'efforts subis par le robot (3) est soit négligeable, soit n'induisant pas de limitation significative de ses capacités ni de mobilité, ni de manipulation. [0034] Dans l'équation du seuil de motricité, qui définit l'angle au delà duquel le moteur n'est plus capable de générer un mouvement du segment qu'il contrôle, et dans le cas particulier très fréquent, où les forces de gravité sont prépondérantes par rapport aux autres forces extérieures, nous avons: (alpha_j_i) médiairc (n') étant typiquement la dépose de l'objet (4) sur un élément de l'environnement (6) par exemple le sol, une table, ou un emplacement adéquat du robot (3), typiquement sa plateforme, pour ensuite le transporter, et/ou ressaisir l'objet (4) selon une configuration compatible avec celle de la cible (n+1) [0069] quand parmi les algorithmes (320) se trouve un algorithme (326), indiquant que la transition de la cible (n) vers la suivante (n+1) induit une modification significative des contraintes synthétiques par rapport à celles de chacune de ces cibles successives, alors l'ajout d'une cible (n') permet une adaptation de la configuration à ces contraintes différentes lors de la transition; il peut s'agir notamment d'une relaxation de contraintes permettant au bras (1) de déposer l'objet (4), ou d'un aléa comme la présence d'un obstacle fixe ou mobile, ou bien encore d'une sévérisation des conditions d'équilibre comme un sol en dévers ou glissant. [0070] Selon une dix-septième caractéristique, parmi les algorithmes (320) se trouve un al- gorithme (323) qui d'une part note individuellement, pour chaque cible, toutes les configurations étudiées par le, ou les, algorithme (322), et d'autre part attribue une note globale pour chaque succession possible de configurations satisfaisantes permettant de réaliser l'action complète ; les notes sont conservées en mémoire (311). Les notations se basent sur un, ou plusieurs, critère à optimiser, pondéré et / ou retraité statistiquement ; cc, ou ces, critère, et règle de pondération ou de retraitement statistique étant fournis au robot (3) et / ou générés par le logiciel de commande (300). Ensuite l'algorithme (323) compare les notes sur le présent cycle (ou itération) de calcul des algorithmes (320) avec celles obtenues précédemment et stockées en mémoire (311). Pour chaque cible, la configuration ayant la meilleure note ((le toutes les configurations du présent cycle, et de tous les cycles) est la configuration dite optimale pour ladite cible ; et pour l'action complète la succession ayant la meilleure note (de toutes les successions du présent cycle, et de tous les cycles) est la succession dite optimale. Et enfin avant de lancer la succession optimale permettant l'exécution de l'action, l'algorithme (323) devra confirmer la validité de ladite succession optimale en utilisant un, ou plusieurs, critère de validation, par exemple : un seuil minimal d'itérations des algorithmes (320), par exemple 200 cycles, et / ou une valeur seuil au dessus ou en deçà de laquelle la note globale, ou alternativement les notes de chaque configuration de la succession, doit se trouver pour être validée... [0071] Selon une dix-huitième caractéristique, la librairie de configurations (301) contient notamment une collection quasi-exhaustive des configurations dites pertinentes, à savoir qui utilisent les capacités motrices et manipulatoires du robot (3) à leur maximum. [0072] Selon une dix-neuvième caractéristique, le, ou les, logiciel de commande (300) met 13 en oeuvre l'ensemble des algorithmes (320) une fois lors de l'assignation de l'action, afin d'en déterminer un mode de réalisation selon les données (333) connues au départ, et aussi de manière régulière et rapprochée dans le temps, tout au long de l'action, afin d'en permettre la réalisation réelle et d'en optimiser le déroulement. [0073] Selon une vingtième caractéristique, où les algorithmes (320), une partie du, ou des, logiciel de commande (300), la librairie de configurations (301) et une partie des données (333) sont déportés, à savoir sur un PC fixe ou équivalent, typiquement un serveur de forte puissance, et qui communique via le réseau informatique local avec le robot (3), permettant de réduire le dispositif électronique (310) embarqué sur le robot (3) au stricte nécessaire, et donc réduisant le coût du robot (3), tout en conservant une puissance de calcul élevée permettant de conserver voire d'accroitrc la réactivité du robot (3). [0074] Selon une vingt-et-unième caractéristique : parmi les algorithmes (320) se trouve un algorithme (321) vérifiant qu'il existe pour chaque cible au moins une configuration satisfaisante, permettant ainsi par au moins une succession de configurations satisfaisantes de réaliser l'action assignée complète ; et tant qu'il n'existe pas pour chaque cible au moins une configuration satisfaisante, alors les algorithmes (320) réitèrent leur boucle de calcul (ou cycle ou itération) à partir d'une librairie de configuration (301) complétée, et d'un ensemble de cible éventuellement plus grand. [0075] Selon une vingt-deuxième caractéristique : parmi les algorithmes (320) se trouve un algorithme (327), qui étudie la configuration du robot (3) en cours de calcul pour chaque cible, et s'active dans le cas où au moins un bras (1) est disponible pour exercer un effort sur un élément de l'environnement (6) ; alors ledit algorithme (327) identifie dans l'environnement (6) le, ou les, éléments sur lequel le bras (1) peut exercer un effort, en vu d'augmenter la performance et / ou la stabilité du robot (3). Pour chaque nouvel élément disponible dans l'environnement (6) au moins une nouvelle configuration sera générée par l'algorithme (324), en vue d'une évaluation de la, ou les, nouvelle configuration par l'algorithme (323). [0076] Selon une vingt-troisième caractéristique : parmi les algorithmes (320) se trouve l'algorithme (324) qui génère de manière préférentiel, pour chaque cible individuellement, au moins une configuration (j'), à partir d'une, ou plusieurs, configuration (j) issue de la librairie (301) sélectionnée selon un, ou plusieurs, critère relatif à la note attribuée par l'algorithme (323) lors d'une itération précédente des algorithmes (320), le critère relatif à la note pouvant être typiquement : la configuration (j) ayant obtenu la meilleure note, ou les configurations (j) ayant obtenues une note supérieure à un certain seuil, ou bien les « X » meilleures configurations (j) (par exemple : X=5) ... [0077] Selon un mode de réalisation préférentiel, la base mobile, présente une forme sen- siblement rectangulaire, est dotée de 3 ou 4 roues, et où un, ou deux, bras est fixé rela- 14 tivement proche d'un coté du rectangle, et où: [0078] une plateforme (7) est aménagée sur la base (2), caractérisée en ce qu'elle : - est sensiblement horizontale permet de porter un contenant de transport (710), le bras (1) pouvant venir déposer au moins un objet (4) sur ladite plateforme, ou sur ledit contenant de transport (710), cc qui permet de déplacer un, ou plusieurs, objet de manière stable et sans solliciter mécaniquement le bras, minimisant donc son usure et sa consommation d'énergie (cf configuration de repos) a une forme adaptée au contenant de transport (710), typiquement une palette de transport logistique de format standard européen ou US, la forme de la plateforme (7) étant alors typiquement une fourche de dimensions identique à celles d'un chariot transpalettes usuels est éventuellement mobile selon un axe vertical, permettant ainsi notamment de soulever du sol, respectivement déposer, un contenant de transport (710), [0079] le, ou les, bras étant constitué de 2 à 5 segments (110) et d'au moins un préhenseur (120) [0080] au moins un des moteurs du robot (3) est doté d'un frein interne, intégré au moteur ou disposé a posteriori, et / ou d'au moins un mécanisme dédié (190) de blocage du degré de liberté autorisé par le dit moteur [0081] un contrepoids (290), amovible ou fixe, est éventuellement présent, et est ty- piquement fixé sur le coté de la base (2) opposé au bras (1). [0082] Selon un autre mode de réalisation préférentiel, la base mobile est un véhicule motorisé à 1 ou 2 roues, qui présente une forme sensiblement humanoïde, à savoir doté d'une partie inférieure (jambe articulée ou organe rigide) liée à la, ou les deux, roue , et d'une partie supérieure (torse) liée à la partie inférieure par une articulation dite de hanche ; en haut de la partie supérieure (torse) se trouve l'articulation d'épaule, où est fixé le, ou les deux, bras étant lui-même constitué de 2 à 5 segments (110) et d'au moins un préhenseur (120) ; au moins un des moteurs du robot (3) est doté soit d'un frein interne, intégré au moteur ou disposé a posteriori, soit d'un mécanisme dédié (190) de blocage du degré de liberté autorisé par le dit moteur ; [0083] Les dessins annexés illustrent l'invention : [0084] [fig.1] représente une vue générale du robot, selon le dispositif de l'invention. [0085] [fig.2] représente une réalisation préférentielle du dispositif correspondant à un robot manipulateur par exemple pour la logistique. [0086] [fig.3] représente une réalisation préférentielle du dispositif correspondant à un robot manipulateur par exemple pour la logistique, à deux bras (1) complémentaires. [0087] [fig.4] représente une réalisation préférentielle du dispositif correspondant à un robot de type humanoïde sur roue(s). Selon un mode de réalisation non illustré, ce robot peut avoir comme partie inférieure une, ou plusieurs jambes articulées, ou bien simplement des béquilles. [0088] [fig.5] représente un diagramme logique des flux d'informations et les principales phases de traitement. [0089] La [fig.6] illustre le diagramme simplifié de fonctionnement des algorithmes (320), qui sont au coeur de l'organisation du logiciel de commande (300). [0090] La [fig.7] est un synoptique détaillé, mais non exhaustif, de l'organisation générale et logique des algorithmes (320). [0091] La [fig.1] représente le robot (3) doté d'un bras (1) et d'une base (2) mobile. L'articulation (280) est composée d'un moteur (250), positionné verticalement et pouvant être intégré à la base, contrôlant la rotation selon l'axe vertical (Oz) du bras (1). Si nécessaire pour plus de clarté dans la gestion des indices, il sera possible de donner au moteur (250) l'indice (i=1), car il est le premier moteur à contrôler le bras (1). L'orientation du premier segment (110_1) est donc contrôlée par le moteur (250_1) ; ce premier segment (110_1) étant constitué d'un court segment horizontal englobant le moteur (150_2) qui contrôle l'inclinaison du segment (110_2). L'angle formé entre la verticale et le segment (110_2) dans la configuration (j) est nommé (alpha_j 2). La mobilité du bras (1) une fois que l'objet (4) est porté, dépend également du segment (110_3) contrôlé par le moteur (150 3), qui forme un angle (alpha_j 3) avec la verticale. Les moteurs (150_2) et (150_3) conservent leur capacité motrice si le couple qui leur est nécessaire pour leur rotation est inférieur à leur couple maximal (ou nominal si la fréquence (l'usage est très importante). Ce sont les algorithmes (320) gèrent entre autres, cet angle (alpha_j_i). [0092] Dans la figure [tig.1] les articulations (180_4) et (180_5) du bras sont bloquées, ty- piquement par un mécanisme dédié (190) de blocage. De la sorte, le bras dispose d'une zone de travail importante, tout en pouvant manipuler des charges lourdes via les moteurs (150_2) et (150_3). [0093] De plus, l'environnement (6) présente un obstacle, qui contraint le bras à venir saisir l'objet (4) à l'horizontal ; cet obstacle est typiquement la porte d'une machine automatique : CNC ou machine d'injection. Enfin, la mobilité du robot (3) est contrôlée par les moteurs (250) des roues de la base (2), à savoir même sans mouvement du bras (1), le robot est en mesure de déplacer l'objet (4) porté. Alternativement, les algorithmes (320) peuvent générer une cible intermédiaire, et poser l'objet (4), une fois passé l'obstacle de l'environnement (6) (à savoir la porte précitée) sur une table à proximité, ou sur la plateforme (7) dédiée du robot (3). Le robot (3) pourra ensuite se ressaisir de l'objet (4) dans une nouvelle configuration soit adaptée au transport, soit pour atteindre la cible suivante... [0094] La [fig.2] représente le robot (3) doté d'un bras (1) et d'une base (2) mobile, il s'agit 16 d'un mode préférentiel du dispositif pour des usages de transport de pièces, dit logistique. Dans cette variante, la base est de forme rectangulaire, avec une partie surélevée, qui supporte le bras (1), et une partie basse, dite plateforme (7) qui se caractérise par une forme de fourche, capable de se déplacer selon l'axe verticale. Le contenant de transport (710) est représenté par une palette au format européen, et est soutenu par la fourche. A l'opposé du bras (1) se situe sur la base (2) un contrepoids, qui permet d'équilibrer les masses, dans le cas où l'objet (4) porté serait lourd. [0095] Le bras (1) est constitué de 4 segments (110) longs mus chacun par un moteur (150), d'un segment (110) court mû par le moteur (250), et d'un préhenseur (120), sous forme de deux demie-pinces opposables, mue chacune un moteur (150). [0096] Le dispositif électronique (310) est représenté comme étant intégré dans la base (2). De manière générale, le logiciel de commande (300) et le dispositif électronique (310), sont partiellement embarqué, et partiellement localisé sur un ordinateur fixe distant, faisant partie du réseau informatique local. [0097] La [fig.3] représente le robot (3) doté de deux bras (1) et d'une base (2) mobile, il s'agit d'un mode préférentiel du dispositif pour des usages de transport intérieur de pièces lourdes ou encombrantes. Dans cette illustration, assez proche de la [Fig.2], la présence de deux bras (1) permet de stabiliser le robot (3) lors de la rotation du premier bras (1), porteur de l'objet (4) lourd, avec le second bras (1) en appui sur le sol. La dite rotation de l'objet (4) est typiquement une cible générée par les algorithmes (320) correspondant à une transition entre la prise d'un objet (4) et son transport sur la plateforme du robot (3). La phase de transition génère des efforts qui pourraient renverser le robot (3) en l'absence de configuration appropriée du second bras. Alternativement, le robot peut saisir des objets lourds ou encombrants avec ses deux bras. [0098] La [fig.4] représente une réalisation préférentielle du dispositif correspondant à un robot de type humanoïde dont le contact avec le sol est réalisé par deux roues latéralement opposée sur la base. Un unique bras est illustré, néanmoins un mode de réalisation également préférentiel, inclurait un second bras, permettant ainsi de prendre des objets de part et d'autre, ou permettant l'appui d'un bras sur le sol, ou tout autre élément de l'environnement, afin de stabiliser le robot et / ou d'en augmenter la performance en manipulation ou en mobilité. [0099] La [fig.5] illustre les flux d'information, et les différentes phases de traitement de l'information permettant d'aboutir, dans la mesure du possible, à l'exécution de l'action assignée. [0100] La [fig.6] illustre le diagramme simplifié de fonctionnement des algorithmes (320), les tâches effectuées, ainsi que les tests logiques effectués. Les données (333) sont le recueil de toutes les informations issues de toutes les sources à disposition du robot (3), incluant les informations retraitées, fusionnées, et les résultats des algorithmes (320) 17 lors de la présente itération, et des précédentes. [0101] Pour conserver un bon niveau de compréhension de la [fig.6], les portes logiques et les conditions de transmission d'information d'un algorithme (320) à un autre ne sont pas représentées. Ces éléments sont décrits dans les revendications. Le résultat des calculs des algorithmes (320) est soit la répétition d'une boucle de calcul par les algorithmes (320), soit la validation du résultat obtenu pour exécution de l'action assignée par le logiciel de commande (300). L'échec possible de la phase de faisabilité n'est pas représenté sur l'illustration. [0102] La [fig.7] illustre l'organisation générale et logique des algorithmes (320), incluant les portes logiques de transition entre algorithmes, aboutissant soit à l'exécution de l'action assignée d'une manière optimale, soit à la conclusion (selon un certaine probabilité en relation notamment avec les valeurs de seuils de validation utilisées) que le robot n'est pas en capacité d'exécuter l'action assignée. [0103] Dans la mesure où l'algorithme (327) est dépendant de la configuration étudiée. Son fonctionnement est sous-jacent et permanent, et son action est conditionnelle. Et considérant la difficulté à illustrer les relations logiques de manière claire et univoque, il a semblé plus simple que le dit algorithme (327) ne figure pas sur cette [fig.7]. 18 [Revendication 1] REVENDICATIONSDispositif composé d'un robot (3) ct d'au moins un logiciel de commande (300) mis en oeuvre par au moins un dispositif électronique (310), permettant au dit robot (3) d'exécuter au moins une action, assignée typiquement par un opérateur humain ou par un logiciel de supervision ; caractérisé en ce que : le robot (3) est constitué d'au moins un bras (1) et d'une base (2) mobile, n. le, ou les, logiciel de commande (300) évalue la faisabilité de Faction assignée, ct définit la succession de configurations du robot (3) permettant d'exécuter de manière optimale l'action assignée, le, ou les, logiciel de commande (300) met en oeuvre une unique librairie de configurations (301), constituée : a. uniquement de configurations dites possibles, à savoir qui respectent les limitations mécaniques et motrices, en statique et dynamique, intrinsèques du robot (3), b. initiallement d'une collection quasi-exhaustive des configurations dites pertinentes, à savoir qui utilisent les capacités motrices et manipulatoires du robot (3) à leur maximum, c. de configurations possibles issues des configurations précitées, et élaborées par le logiciel de commande (300) en vue de l'exécution de l'action assignée. [Revendication 2] Dispositif selon la [Revendication 1] caractérisé en cc que: i. le bras (1) étant constitué d'au moins un segment (110) mobile, chaque segment (110) étant mû par au moins un moteur (150); les segments (110) étant reliés entre eux par une articulation (180) ; le bras (1) étant doté d'au moins un capteur (140); le bras (1) étant fixé par une de ses extrémités sur la base (2) par une articulation (280) ; le bras (1) pouvant intégrer à l'autre extrémité au moins un préhenseur (120) pouvant être muni d'au moins un moteurs (150) ; la base (2) étant doté d'au moins un capteur (240) et d'au moins un moteur (250); la base (2) étant mobile et dotée d'au 19 moins un organe de contact (220) avec le sol, typiquement : roue, chenille, jambe articulée, béquille ou une combinaison de ces éléments ; iii. au moins une articulation (180) (280) étant dotée d'un frein intégré au moteur (150) (250), ou d'un mécanisme dédié (190) au blocage du degré de liberté autorisé par le dit moteur de la dite articulation, ce mécanisme dédié (190) incluant au moins un moteur (150) ou (250) fixé localement ou déporté; iv. le, ou les, dispositif électronique (310) commandant, directement ou indirectement, l'ensemble des moteurs (150) et (250) du robot (3) de manière coordonnée ; le, ou les, dispositif électronique (310) étant doté d'au moins une mémoire (311) de stockage d'informations, et d'au moins un moyen de communication (312) avec un, ou plusieurs, réseau informatique local, et d'au moins un équipement d'interaction locale avec les opérateurs humains, dit interface homme-machine (313). [Revendication 3] Dispositif selon au moins une des revendications précédentes caractérisé en ce que le logiciel de commande (300) inclut et met en oeuvre des algorithmes (320), qui fonctionnent en parallèle, et qui utilisent de manière itérative comme données entrantes, entre autres des résultats générés par les algorithmes (320) au cours de la présente itération ou de précédentes itérations ; les algorithmes (320) fournissent au logiciel de commande (300) un ensemble d'informations nécessaire et suffisant à l'exécution optimale de l'action assignée ; l'ensemble d'informations précité est obtenu en effectuant tout ou partie des calculs suivants, pour chacune des cibles de l'action assignée : j. synthétiser un ensemble sensiblement exhaustif des contraintes relatives à l'exécution de chaque cible élaborer de nouvelles configurations possibles à partir des configurations précédemment évaluées, et les adapter à l'ensemble des contraintes d'exécution obtenues en (i), générer éventuellement un, ou plusieurs, sous-objectif à intégrer à l'action assignée, afin de pouvoir l'exécuter, ou en vu d'en optimiser l'exécution, iv. identifier éventuellement dans l'environnement (6) le, ou les, 20 élément sur lequel le robot (3) peut exercer un effort, y. évaluer la capacité du robot (3) dans chaque configuration considérée, issue de la librairie (301), à satisfaire l'ensemble des contraintes citées en (i), et calculer une note representative de ce niveau de satisfaction, vi. comparer et classer les configurations satisfaisant l'ensemble des contraintes d'exécution obtenues en (i), pour chaque cible, puis définir, si elle existe, la séquence de configurations optimales permettant d'exécuter l'action assignée complète, et enfin valider, ou non, cette séquence. [Revendication 4] Dispositif selon au moins une des revendications précédentes, dans un mode de réalisation préférentiel, caractérisé en ce que la base mobile, présente une forme sensiblement rectangulaire, est dotée de 3 ou 4 roues, et où un, ou deux, bras est fixé relativement proche d'un coté du rectangle, et où: une plateforme (7) est aménagée sur la base (2), caractérisée en ce qu'elle : a. est sensiblement horizontale b. permet de poiler un contenant de transport (710), le bras (1) pouvant venir déposer au moins un objet (4) sur ladite plateforme, ou sur ledit contenant de transport (710), c. a une forme adaptée au contenant de transport (710), à savoir typiquement une fourche sensiblement identique à celle d'un chariot transpalette usuel, d. est éventuellement mobile selon un axe vertical, permettant ainsi notamment de soulever du sol, respectivement déposer, ledit contenant de transport (710), le, ou les, bras étant constitué de 2 à 5 segments (110) et d'au moins un préhenseur (120), un contrepoids (290), amovible ou fixe, est éventuellement présent, et est typiquement fixé sur le coté de la base (2) opposé au bras (1). 21 [Revendication 5] [Revendication 6] Dispositif selon au moins une des revendications [1], [2] ou [3], dans un mode de réalisation préférentiel, caractérisé en ce que la base mobile est un véhicule motorisé à 1 ou 2 roues, qui présente une forme sensiblement humanoïde. à savoir doté d'une partie inférieure liée à la, ou les deux, roue , et d'une partie supérieure liée à la partie inférieure par une articulation dite de hanche ; en haut de la partie supérieure se trouve l'articulation d'épaule, où est fixé le, ou les deux, bras étant lui-même constitué de 2 à 5 segments (110) et d'au moins un préhenseur (120) ; au moins un des moteurs du robot (3) est doté d'un frein interne, intégré au moteur ou disposé a posteriori, ou d'un mécanisme dédié (190) de blocage du degré de liberté autorisé par le dit moteur. Dispositif selon au moins une des revendications précédentes, caractérisé en ce que parmi les algorithmes (320) se trouve un algorithme (322) qui, pour chaque cible individuellement, évalue toutes les configurations de la librairie (301), puis sélectionne, celles qui satisfont les conditions ci-dessous : a. si le robot (3) est en mesure d'atteindre la cible en respectant toutes les contraintes décrites dans les données (333) associée à ladite cible, alors la configuration est dite plausible, b. si la somme des efforts extérieurs au robot (3), à savoir les forces et les moments dans les 3 dimensions, en statique ou quasi-statique, résultants de l'exécution de l'action assignée, est quasi-nulle, ou alternativement si l'accélération résultante reste sous-controle du robot (3), à savoir peut être annulée sans chute, ni renversement, alors la configuration est dite équilibrée, c. si le robot (3) est en mesure de générer des efforts supérieurs aux efforts nécessaires à l'exécution de l'action assignée, alors la configuration est dite efficace, d. si le robot (3) est en mesure de générer des efforts supérieurs aux efforts nécessaires aux deux transitions ci-dessous, à savoir premièrement depuis une configuration de repos, ou depuis la configuration de la cible précédente (i1-1) si elle existe, vers la configuration de la cible (n) actuellement considérée , et deuxièmement depuis la configuration de la cible (n) vers la configuration de repos, ou vers celle de la cible suivante (n+1) si elle existe ; alors la configuration est dite compatible, [Revendication 7] [Revendication 8] [Revendication 9] l'expression sous forme mathématique de l'ensemble de ces conditions constitue les « contraintes synthétiques » du robot (3) pour la cible considérée ; et les contraintes synthétiques sont enregistrées dans les données (333) ; les configurations satisfaisant toutes les contraintes synthétiques sont dites satisfaisantes. Dispositif selon la [Revendication 6], caractérisé en ce qu'une variante de l'algorithme (322) précité, considère qu'une, ou plusieurs, des conditions précitées est validée a priori, dispensant alors le logiciel de commande (300) de la vérifier. Dispositif selon au moins une des revendications précédentes, caractérisé en ce que parmi les algorithmes (320) se trouve un, ou des, algorithme (323) qui d'une part note individuellement, pour chaque cible, toutes les configurations évaluées par le, ou les, algorithme (322), et d'autre part attribue une note globale pour chaque succession possible de configurations satisfaisantes permettant de réaliser l'action complète ; les notes sont conservées en mémoire (311) ; les notations se basent sur un, ou plusieurs, critère à optimiser, pondéré et / ou retraité statistiquement ; ce, ou ces, critère, et règle de pondération ou de retraitement statistique étant fournis au robot (3) et / ou générés par le logiciel de commande (300) ; ensuite l'algorithme (323) compare les notes sur le présent cycle de calcul des algorithmes (320) avec celles obtenues précédemment et stockées en mémoire (311), puis pour chaque cible la configuration ayant la meilleure note de tous les cycles est la configuration dite optimale pour ladite cible, et pour l'action complète la succession ayant la meilleure note de tous les cycles est la succession dite optimale, et enfin avant de lancer la succession optimale permettant l'exécution de l'action, l'algorithme (323) devra confirmer la validité de la succession optimale en utilisant un, ou plusieurs, critère de validation. Dispositif selon au moins une des revendications précédentes, caractérisé en ce que parmi les algorithmes (320) se trouve un algorithme (324) générant pour chaque cible, à partir de configurations (j), ne satisfaisant pas forcément les contraintes synthétiques, de la librairie (301) des variantes potentiellement améliorées (j') ; ces configurations (j') sont stockées dans la librairie (301) ; le, ou les, algorithme (324) utilise 23 au moins une des cinq méthodes d'amélioration de configuration suivantes : rapprocher la base (2) de la cible, ii. bloquer une, ou plusieurs, articulation en utilisant soit le frein intégré au moteur (150) (250), soit le mécanisme dédié (190), ou les deux, i . utiliser au moins un bras (1) pour le mettre en contact avec un élément de l'environnement (6) et exercer sur le dit élément un effort ; iv. maintenir pour chaque moteur, le couple nécessaire à l'exécution de l'action assignée inférieur au couple maximal admissible par ledit moteur ; cette méthode est applicable pour toute articulation (180) (280) d'indice (i) présentant un degré de liberté en rotation, mue par un moteur (150) (250) dit (M i); cette méthode qui consiste à limiter le bras de levier exercé par la résultante des forces extérieures sur l'axe du moteur en controlant l'angle du segment (110 i), peut dans une certaine mesure transformer une configuration (j) non-satisfaisante initialement, en une configuration (j') efficace ; a. dans le cas particulier, néanmoins très fréquent, où les forces de gravité sont prépondérantes par rapport aux autres forces extérieures, cette méthode consiste à limiter l'angle « alpha_j_i » en deçà du seuil de motricité angulaire du moteur (Mi), selon l'équation: (alpha_j_i)