FR3097149A1 - Electronic control device optimized for specific mobile robot - Google Patents

Electronic control device optimized for specific mobile robot Download PDF

Info

Publication number
FR3097149A1
FR3097149A1 FR1906269A FR1906269A FR3097149A1 FR 3097149 A1 FR3097149 A1 FR 3097149A1 FR 1906269 A FR1906269 A FR 1906269A FR 1906269 A FR1906269 A FR 1906269A FR 3097149 A1 FR3097149 A1 FR 3097149A1
Authority
FR
France
Prior art keywords
target
configuration
robot
algorithms
configurations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1906269A
Other languages
French (fr)
Inventor
Jean Frédéric MARTIN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hms2030
Original Assignee
Hms2030
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hms2030 filed Critical Hms2030
Priority to FR1906269A priority Critical patent/FR3097149A1/en
Publication of FR3097149A1 publication Critical patent/FR3097149A1/en
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Dispositif de contrôle électronique optimisé pour robot mobile spécifique Le dispositif selon l’invention met en œuvre au moins un bras (1) robotisé, porté par une base (2) mobile (télécommandée, autonome, filo-guidée...). Le dispositif selon l’invention met en œuvre également un logiciel de commande (300), des algorithmes (320) fonctionnant en parallèle, et une librairie de configuration (301) spécifique. Le dispositif selon l’invention est particulièrement destiné aux processus de production de biens physiques, et au transport de marchandises (incluant palettisation). Le dispositif est également adapté à la mobilité sur terrain non-structuré. Figure à publier avec l’abrégé : Fig. 1Electronic control device optimized for a specific mobile robot The device according to the invention uses at least one robotic arm (1), carried by a mobile base (2) (remote controlled, autonomous, wire-guided, etc.). The device according to the invention also implements control software (300), algorithms (320) operating in parallel, and a specific configuration library (301). The device according to the invention is particularly intended for the production process of physical goods, and for the transport of goods (including palletizing). The device is also suitable for mobility on unstructured terrain. Figure to be published with the abstract: Fig. 1

Description

Dispositif de contrôle électronique optimisé pour robot mobile spécifiqueElectronic control device optimized for specific mobile robot

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 œuvre 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 :The present invention relates to a device for grasping, carrying, transporting and then depositing more or less heavy loads, with possibly high precision. On the other hand, this device can also exert a force on the load carried, and/or on an element of the environment. The device according to the invention implements at least one arm carried by a mobile platform (for example an autonomous, remote-controlled, or guided robot, etc.) whose action is located, for example:

au sein d’un processus de production en participant au flux des composants, à leur élaboration ou à leur assemblage,within a production process by participating in the flow of components, their development or their assembly,

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.upstream or downstream of a production process, by bringing together or dissociating components, which are identical or different from each other, to prepare for transport.

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, militaire, 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...).The device according to the invention is particularly suitable for handling objects, with a mass of 2 to 500 kg, of unconstrained size, possibly with great precision, whether in a usual environment (mechanical production, handling of packages, preparation control in logistics) or in a severe and/or unstructured environment such as: agriculture, underground, woods and undergrowth, military, indoor or outdoor urban, and post-earthquake urban..., for example: refrigeration temperature (food industry), high temperature (metallurgical process), hazardous (construction, chemicals, oil, military, civil security), controlled environment with low dust level (electronic production), controlled environment in microbiology with a high level of asepsis (health, vaccine); for activities in the usual domain (distribution, automobile) or sensitive (handling of banknotes, valuables, medicines, weapons, etc.).

Le dispositif selon l’invention est également indiqué pour les cas d’usage traditionnels de robots mobiles décrits dans le chapitre suivant : « Contexte ».The device according to the invention is also indicated for the traditional use cases of mobile robots described in the following chapter: “Context”.

ContexteContext

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 ...). 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 chaine, 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.First cases of traditional use: When the handling of a heavy load (for example boxes of goods, mechanical parts, tools, cylinders) is of unpredictable, irregular, infrequent and/or complex frequency, then the handling is traditionally carried out by a human operator. This manual handling presents ergonomic constraints for the workstation (storage at head height, ball table, etc.) and posture constraints for the operators (see hardship). It is also regulated with a maximum permissible mass of around 10kg (variable limit depending on the sector of activity, and cumulative daily, weekly, etc.). Finally, manual handling involves a long-term health risk for operators, namely musculoskeletal disorders (MSDs). A first level of automation is the use of tools, such as hoists and winches, which are restrictive for the safety of operators (because the heavy parts are moving at the end of a chain, therefore with imprecise guidance) and cumbersome in terms of installation at height and on the ground, and these tools often do not completely eliminate the ergonomics and MSD risk for operators.

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, ce 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.A particular case of interest for the invention is the logistics upstream of a production process, a retail food outlet, a pharmacy, or any establishment having the need to constantly present a wide range of products. different with a small amount of each. This upstream order preparation activity (distribution, or breakdown) is traditionally carried out manually, which limits its use to products with higher added value (such as drugs). Alternatively, the preparation of orders can be carried out or facilitated, by automated storage towers, carousels or continuous flow sorting processes (for example: sorting of mail by La Poste), but the significant investment is only justified in the case of intensive use, and only if all the preparation combinations are known and validated in advance. So today, order preparation relies on human manipulation.

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).Second traditional use case: In stable and large series production processes, heavy loads are usually handled by a massive robotic arm fixed to the ground: it is usual to have a ratio of 10 to 30% between the mass of the arm and that of the object handled (e.g.: the 960kg EverRobot MPL80 arm handles an 80kg load at 2.2m from its axis).

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.In addition, a zone reserved for the movement of the robotic arm with its load, protected by a barrier, must be installed. And the automation by robotic arm of the manipulation of a part (or other) between two machines, imposes to arrange the machine from which the part comes out, and the one where it goes, in a way adapted to the robotic arm, in particular its elongation , its dexterity (number of degrees of freedom defining its ability to move) and to take into account the accessibility zones of the machines. Finally, the machines and the arm must be managed in a coordinated way, which requires that the arm and the machines be equipped with sensors allowing at least collisions between them to be avoided. This secure, controlled and specialized area is a robotized production cell.

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 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.As it is necessary to leave passage spaces between the machines and the robotic arm for the operators, in particular for maintenance, the size of a robotic cell is generally several meters on each side. The machines in a cell are therefore usually 3 m apart, which requires the arm to have a range of 2 m on either side (0.5 to enter the machine to pick up the part). The design of the typical cell therefore results in a need for an arm capable of handling a heavy load at a distance of 2m, hence the use of massive robots, equipped with very large motors, which consume and heat a lot, d a large load-bearing structure, which is expensive to purchase, complex to install and maintain, and which generate significant inertia, which is dangerous for operators, hence the protected area. Finally, the dangerousness of the parts carried by the robotic arms with a fixed base is all the more important as the users maximize productivity, by increasing the speed of the movements, hence a high kinetic energy.

Comme illustré ci-dessus, la mise en œuvre 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.As illustrated above, the implementation of robotic cells imposes strong constraints on the flow of parts, the layout of the machines, the high footprint, as well as a great technicality in the installation, the adjustment and the maintenance, a significant investment in the purchase and use of these massive robotic arms, and significant danger.

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 raisons 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.Third traditional use case: for a multitude of reasons, it happens that the seizure of a part or its manipulation in space requires great precision. These reasons can be that the part is partially soft, temporarily weakened by the production process, or that the part is piled up in bulk with several others in the same packaging, or the part can be of a complex shape which imposes to grasp it very precisely. The precision of a robotic arm requires a certain type of sensor and effector, but above all, this requires that the mechanical structure be very rigid, which traditionally results in making the robotic arm heavier, again inducing the aforementioned constraints.

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.Fourth traditional use case: each industrial operation is justified by a demonstrable economic return. However, to make the significant investment profitable, the robots must show high productivity, hence a fast working speed. Responding to this justified economic requirement further increases the stress on robotic arms, because not only is it necessary to handle remote loads, possibly heavy, possibly with precision, but it must be done quickly. Traditionally, the dynamic capacities of the motors are then greatly increased, resulting in an additional weighting of the structure, with possibly a lowering of the capacity to handle heavy loads from a distance.

Arrière plan technique et brevets pré-existantsTechnical background and pre-existing patents

Il 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.There is a very rich bibliography, and technical achievements in the field of process automation, robotics and mobile robotics, for industrial uses, mainly for logistics or handling, as well as in unstructured environments.

Les nombreux brevets des sociétés ABB et Kuka ne sont pas cités ici, car ils se focalisent 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).The numerous patents of the ABB and Kuka companies are not cited here, because they focus on distant themes of the invention (e.g.: problem of thermal heating for heavy robot arms, data fusion, or on control loop drift correction aspects for lighter and more precise arms).

Les brevets préexistants en relation avec la présente invention sont :The pre-existing patents in relation to the present invention are:

FR1901856, de HMS2030 (déposé 22/02/2019) : qui revendique notamment des dispositifs 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.FR1901856, from HMS2030 (filed 02/22/2019): which notably claims joint locking devices. These devices are named in the present invention: "dedicated mechanism (190)", and are part of the hardware elements that can increase the performance of the robot by integrating into the device described in the present invention.

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.US9499219, from Google (2016) claims a method for detecting contact between a robotic limb and the ground, based on a mechanical-pneumatic system, and presents associated algorithms.

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...).US9393693, from Google (2016) claims a robotic manipulator system including a gripper, and a method for generating a virtual space of constraints relating to a set of force vectors, limiting the acceptable trajectories in order to avoid the fall of the carried part . The described method seems relevant only for the elimination of inadequate trajectories of the carried object. But it remains passive, namely it does not generate any solution, and on the other hand the claims suggest significant shortcomings for the control of a mobile robot, for example its balance, the taking into account of its motor capacities and its limitations. angular joints... Furthermore, the proposed use of artificial intelligence (particle filter) is a compromise between optimized execution and minimization of computing power. Nevertheless, the computing power required to run artificial intelligence software remains high, resulting in a reaction time that may be too long in the event of a rapid change in the robot's environment (risk of falling, etc.).

WO2009/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.WO2009/143377 by Georgia Tech Research Corp: claims a robot with one or two wheels, in particular a humanoid, whose static and quasi-static stability is ensured by the movement of a pendulum system, namely typically an arm of the robot.

US2016/0229057 de Harris Corp : revendique une méthode pour éviter le renversement 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.US2016/0229057 by Harris Corp: claims a method for avoiding the overturning of a robotic vehicle (on sloping ground) by using a mobile component carried by the robot, the position of which can be subsequently optimized. This patent deals with the control of the balance of a robot arm on a mobile base on an inclined terrain, and this balance is achieved only by moving a mobile object carried by the robot; that is to say that this patent does not consider the possibilities of adaptation to the terrain of the robot itself.

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.US2001/0045807 inventor Mc Connell: claims a method for controlling the movement of an object (carried by a robotic arm) based on the measurement of the torque and the position, allowing in particular to eliminate the oscillations of a robot arm.

Il 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 œuvre 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.It appears that the state of the art only addresses the control of mobile robots and manipulators in a piecemeal way. Even the implementation of all the sensor devices, and control methods, described in the state of the art, would not provide a coherent software and hardware set, the operation of which would make it possible to meet the constraints of a actual use.

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 ce point, et aucun avec une efficacité comparable à la présente invention.Moreover, since mobile robots offer thousands of possibilities and redundant geometries to pick up the same part, or to move from point A to point B. The computing power required to evaluate these options is therefore very high. Very few patents address this point, and none with comparable effectiveness to the present invention.

Avantages de l’inventionAdvantages of the invention

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 œuvre un minimum de ressources.The invention describes specific equipment, and a dedicated control method (and vice versa). The system thus made up of equipment & control method, can perform various actions in realistic environments, in an optimal way, by implementing a minimum of resources.

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 Google). 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.The method is based on an initial library containing a limited number of possible and relevant configurations, for example between 10 and 80, and typically 50. New configurations are developed, at each iteration of the algorithms (320) by these same algorithms, by taking take into account the actual execution conditions of the assigned action, between 5 and 50, and typically 20 variants per initial configuration (beyond the first iteration, the configurations with the best scores during the previous iterations, can be preferred for the generation of variants). The computing power is therefore concentrated on a small amount of information, namely typically 1000 configurations per calculation iteration. And it is between 50 and 800, typically 200 iterations that are made, to avoid sub-optimal solutions. The computing power required according to the invention is 10,000 times lower than existing approaches (vs. AI-particle filter, see Google patent). This software efficiency offers the possibility of adapting the configuration of the robot several times per second during the execution of the action! This responsiveness is synonymous with reliability. In addition, by relaxing the constraint of computing power, it becomes possible to use proven, compact and less expensive electronic cards.

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 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...The system according to the invention evaluates the feasibility of an action, and can increase the capabilities of the robot, for example by generating sub-objectives that are less restrictive than the action as assigned, or by limiting the opening angle of a joint in order to limit the lever arm exerted on its motor, or by blocking a joint thus making it possible to exceed the maximum torque of the motor concerned, or by leaning on an element of the environment to stabilize itself. The system according to the invention also makes it possible to optimize the execution of the assigned action, according to selected criteria, such as current consumption, execution speed, etc.

GlossaireGlossary

« Cible » 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 :“Target” is a sub-objective of the assigned action, an assigned action being at least made up of a target, and typically made up of a starting target and a finishing target; the achievement (or execution, or achievement) of all targets, and transitions between targets, is the execution of the complete assigned action. Each target is provided or described in a complementary way between the human, the supervision software, and / or the robot sensors (3), so that a target is always described exhaustively. The characteristic data of a target are typically:

son ordre logique dans l’exécution de l’action assignée, dit séquencementits logical order in the execution of the assigned action, called sequencing

les coordonnées spatiales tolérancées pour chaque point, ou chaque élément géométrique, de l’environnement (6), ciblé, et où le robot (3) doit positionner au moins un de ses composants, typiquement le préhenseurthe spatial coordinates tolerated for each point, or each geometric element, of the environment (6), targeted, and where the robot (3) must position at least one of its components, typically the gripper

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,the spatial coordinates tolerated for each point, or geometric element, of the environment (6) constituting a constraint or an obstacle, and where the robot (3) must not position any of its components,

« 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."Configuration" defines: the position in space of the base (2), the geometry of the arm (1) relative to the base (2), the static and dynamic characteristics, namely speed and acceleration, of the components of the robot ( 3) and the object (4) possibly worn, and/or status characteristics such as motor consumption, their temperature, etc.; and finally each configuration can be added one or more fields containing, for example, an evaluation score for each target considered; this note characterizes the adequacy of said configuration to said target, this field can also contain logical information, in the form of text or other (e.g.: boolean), in order to allow the algorithms (320) to operate in an optimal manner .

« 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."Rest configuration" corresponds to a configuration where the level of effort undergone by the robot (3) is either negligible, or does not induce a significant limitation of its capacities either of mobility or of manipulation.

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) <= (sin-1)(Cmax_i/Cres90_j_i)

  1. l’angle (alpha_j_i) est l’angle formé, dans la configuration (j), entre le segment (110_i) et la gravité ;
  2. (sin-1) est la fonction inverse du sinus,
  3. (Cmax_i) est le couple de sortie du moteur (M_i), considéré comme « maximal » au vu de l’application
  4. (Cres90_j_i) est le couple résultant maximal exercé sur l’axe du moteur (M_i), à savoir la somme des moments exercés sur le segment (110_i) ajouté à la somme des moments maximum des forces appliquées sur ce segment, à savoir quand ce segment forme un angle de 90° avec la gravité,
Nota Bene : si (Cmax_i/ Cres90_j_i) est supérieur à « 1 », alors le moteur (M_i) peut exécuter l’action sans contrainte angulaire ;
Application numérique: Nous avons 2 forces extérieures appliquées sur un segment du bras, son propre poids (0.25,1.8) et le poids de l’objet porté (0.6,50), où (x,y) correspond à : « x » étant la distance en (m) entre le point d’application de la force et l’axe du moteur, et « y » étant la masse en (kg). Il en résulte un couple maximal généré sur l’axe du moteur (Cres90_j_i) égal à 304.5 Nm. Considérons un couple moteur max de 160 Nm (Cmax_i), l’angle maximal de motricité (alpha_j_i) est de : 31.7°.In the motricity threshold equation, which defines the angle beyond which the motor is no longer capable of generating a movement of the segment it controls, and in the very frequent particular case, where the forces of gravity are preponderant with respect to other external forces, we have:
(alpha_j_i) <= (sin-1)(Cmax_i/Cres90_j_i)
  1. the angle (alpha_j_i) is the angle formed, in the configuration (j), between the segment (110_i) and gravity;
  2. (sin-1) is the inverse function of sine,
  3. (Cmax_i) is the motor output torque (M_i), considered as "maximum" in view of the application
  4. (Cres90_j_i) is the maximum resulting torque exerted on the axis of the motor (M_i), namely the sum of the moments exerted on the segment (110_i) added to the sum of the maximum moments of the forces applied on this segment, namely when this segment forms a 90° angle with gravity,
Please note: if (Cmax_i/ Cres90_j_i) is greater than "1", then the motor (M_i) can perform the action without angular constraint;
Numerical application: We have 2 external forces applied to a segment of the arm, its own weight (0.25,1.8) and the weight of the object carried (0.6,50), where (x,y) corresponds to: "x" being the distance in (m) between the point of application of the force and the axis of the motor, and "y" being the mass in (kg). This results in a maximum torque generated on the axis of the motor (Cres90_j_i) equal to 304.5 Nm. Let us consider a maximum motor torque of 160 Nm (Cmax_i), the maximum traction angle (alpha_j_i) is: 31.7°.

Description de l’inventionDescription of the invention

Le dispositif est un robot (3), qui comporte selon une première caractéristique au moins un bras robotisé (1) porté par une base (2) mobile, qui permet au robot de se déplacer usuellement en portant une pièce entre un point de départ, et un point d’arrivée.The device is a robot (3), which comprises according to a first characteristic at least one robotic arm (1) carried by a mobile base (2), which allows the robot to move usually by carrying a part between a starting point, and an end point.

Selon une seconde caractéristique, le bras robotisé est doté de capteurs (140) proprioceptifs, permettant de mesurer sa propre position dans l’espace, ainsi que le couple et/ou les forces qui s’exercent sur sa structure et ses articulations, et donc ses moteurs.According to a second characteristic, the robotic arm is equipped with proprioceptive sensors (140), making it possible to measure its own position in space, as well as the torque and/or the forces which are exerted on its structure and its joints, and therefore its engines.

Selon une troisième caractéristique, le bras robotisé et/ou sa base mobile est doté de capteurs extéroceptifs (140) (240), permettant de mesurer par exemple : les caractéristiques dimensionnelles, de position, de masse, de possibilité de préhension de la pièce à manipuler, et de l’environnement du robot, notamment le sol et la présence d’obstacle, autorisant son utilisation sans nécessité de zone protégée et / ou sans connaissance a priori, ni certaine de son environnement (6).According to a third feature, the robotic arm and/or its mobile base is equipped with exteroceptive sensors (140) (240), making it possible to measure, for example: the dimensional, position, mass, possibility of gripping characteristics of the part to be handle, and the environment of the robot, in particular the ground and the presence of obstacles, authorizing its use without the need for a protected area and/or without a priori or certain knowledge of its environment (6).

Selon une quatrième caractéristique, un, ou plusieurs, dispositif électronique (310), embarqué ou non, gère les moteurs (150) (250) du bras (1) robotisé et de sa base (2) mobile de manière coordonnée. Ce dispositif électronique (310) met en œuvre des algorithmes (320), et permet d’interpréter l’action assignée sous une forme logique et mathématique, et aussi de générer un ensemble de sous-objectifs, dits « cibles », nécessaires et suffisants à l’exécution de l’action assignée, et/ou de compléter avec des données supplémentaires, issues de capteur ou de calcul, le descriptif partiel de ces cibles éventuellement fourni par l’humain et/ou le système de supervision.According to a fourth feature, one or more electronic device (310), whether onboard or not, manages the motors (150) (250) of the robotic arm (1) and of its mobile base (2) in a coordinated manner. This electronic device (310) implements algorithms (320), and makes it possible to interpret the action assigned in a logical and mathematical form, and also to generate a set of sub-objectives, called "targets", necessary and sufficient to the execution of the assigned action, and/or to complete with additional data, coming from sensor or calculation, the partial description of these targets possibly provided by the human and/or the supervision system.

Selon une cinquième caractéristique, 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) ;According to a fifth characteristic, the arm (1) being made up of at least one movable segment (110), each segment (110) being moved by at least one motor (150); the segments (110) being interconnected by a hinge (180); the arm (1) being provided with at least one sensor (140); the arm (1) being fixed by one of its ends to the base (2) by a hinge (280); the arm (1) being able to integrate at the other end at least one gripper (120) being able to be equipped with at least one motor (150);

Selon une sixième caractéristique, 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 moins un organe de contact (220) avec le sol, de type : roue, chenille, jambe articulée, béquille ou une combinaison de ces élémentsAccording to a sixth characteristic, the base (2) being equipped with at least one sensor (240) and at least one motor (250); the base (2) being mobile and provided with at least one contact member (220) with the ground, of the type: wheel, caterpillar, articulated leg, crutch or a combination of these elements

Selon une septième caractéristique, 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 / ou d’au moins un moyen de communication (312) avec un, ou plusieurs, réseau informatique local, et / ou d’au moins une interface homme-machine (313) ;According to a seventh characteristic, the electronic device(s) (310) controlling, directly or indirectly, all of the motors (150) and (250) of the robot (3) in a coordinated manner; the electronic device(s) (310) being equipped with at least one memory (311) for storing information, and/or at least one means of communication (312) with one or more local computer networks , and/or at least one man-machine interface (313);

Selon une huitième caractéristique, la, ou les, mémoire (311) stockant un ensemble de données (333) issues des mesures réalisées par les capteurs (140) et (240), communiquées via le moyen de communication (312) ou via l’interface homme-machine (313), ou calculées par le, ou les, logiciel de commande (300) ;According to an eighth characteristic, the memory or memories (311) storing a set of data (333) resulting from the measurements carried out by the sensors (140) and (240), communicated via the communication means (312) or via the man-machine interface (313), or calculated by the control software(s) (300);

Selon une neuvième caractéristique, les données (333) étant constituées typiquement de : la description logique de l’action à exécuter, les caractéristiques de l’objet (4) éventuel, de l’élément extérieur (5) éventuel, et de l’environnement (6), notamment le sol, et les obstacles, et aussi les caractéristiques mécaniques et fonctionnelles du robot (3), et enfin un, ou plusieurs, éventuel facteur de sécurité permettant de palier aux incertitudes de mesure ou de calcul, des données (333).According to a ninth characteristic, the data (333) typically consisting of: the logical description of the action to be performed, the characteristics of the possible object (4), of the possible external element (5), and of the environment (6), in particular the ground, and the obstacles, and also the mechanical and functional characteristics of the robot (3), and finally one, or more, possible safety factor making it possible to overcome the uncertainties of measurement or calculation, of the data (333).

Selon une dixième caractéristique, le, ou les, logiciel de commande (300) mettant en oeuvre une unique librairie de configurations (301), constituée le, ou les, logiciel de commande (300) mettant en oeuvre une unique librairie de configurations (301), constituée :

  1. uniquement de configurations dites possibles, à savoir qui respectent les limitations mécaniques et motrices, en statique et dynamique, intrinsèques du robot (3),
  2. initiallement d’une collection quasi-exhaustive des configurations dites pertinentes, à savoir qui utilisent les capacités motrices et manipulatoires du robot (3) à leur maximum,
  3. de configurations possibles issues des configurations précitées, élaborées par le logiciel de commande (300) en vue de l’exécution de l’action assignée.
According to a tenth characteristic, the control software(s) (300) implementing a single configuration library (301), consisting of the control software(s) (300) implementing a single configuration library (301 ), consisting of:
  1. only so-called possible configurations, i.e. which respect the mechanical and motor limitations, in static and dynamic, intrinsic to the robot (3),
  2. initially of a quasi-exhaustive collection of so-called relevant configurations, namely which use the motor and manipulative capacities of the robot (3) to their maximum,
  3. of possible configurations resulting from the aforementioned configurations, elaborated by the control software (300) with a view to the execution of the assigned action.

Ces configurations étant fournies lors de la fabrication, l’installation et / ou l’exploitation du robot (3), et / ou générées par le logiciel de commande (300),These configurations being provided during the manufacture, installation and/or operation of the robot (3), and/or generated by the control software (300),

Selon une onzième caractéristique Dispositif selon au moins une des revendications précédentes caractérisé en ce que le logiciel de commande (300) inclut et met en œuvre 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 ; 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, les calculs de (i) à (iv) sont exécutés en parallèle, puis (v) et enfin (vi) sont exécutés séquentiellement ou en parallèle :According to an eleventh characteristic Device according to at least one of the preceding claims, characterized in that the control software (300) includes and implements algorithms (320), which operate in parallel, and which use iteratively as incoming data, between other results generated by the algorithms (320) during the present or previous iterations; the algorithms (320) provide the control software (300) with a set of information necessary and sufficient for the optimal execution of the assigned action; the aforementioned set of information is obtained by performing all or part of the following calculations, for each of the targets of the assigned action, the calculations from (i) to (iv) are executed in parallel, then (v) and finally ( vi) are executed sequentially or in parallel:

synthétiser un ensemble sensiblement exhaustif des contraintes relatives à l’exécution de chaque ciblesynthesize a substantially comprehensive set of constraints relating to the execution of each target

élaborer de nouvelles configurations possibles à partir des configurations précédemment évaluées, et les adapter à l’ensemble des contraintes d’exécution citées en (i),develop new possible configurations from the previously evaluated configurations, and adapt them to all the execution constraints mentioned in (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,possibly generate one or more sub-objectives to be integrated into the assigned action, in order to be able to execute it, or in order to optimize its execution,

identifier éventuellement dans l’environnement (6) le, ou les, élément sur lequel le robot (3) peut exercer un effort,possibly identify in the environment (6) the element or elements on which the robot (3) can exert an effort,

é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 représentative de ce niveau de satisfaction,evaluate the capacity of the robot (3) in each configuration considered, taken from the library (301), to satisfy all the constraints mentioned in (i), and calculate a score representative of this level of satisfaction,

comparer et classer les configurations satisfaisant l’ensemble des contraintes d’exécution citées en (i), pour chaque cible de l’action assignée, pour définir, si elle existe, la séquence de configurations optimales permettant d’exécuter l’action assignée complète, puis valider cette séquence.compare and classify the configurations satisfying all the execution constraints mentioned in (i), for each target of the assigned action, to define, if it exists, the sequence of optimal configurations allowing to execute the complete assigned action , then validate this sequence.

Selon une douzième caractéristique, parmi les algorithmes (320) se trouve un algorithme (322) qui, pour chaque cible individuellement, évalue puis sélectionne les configurations de la librairie (301), qui satisfont les conditions ci-dessous (une variante d’algorithme (322) étant celle où l’une, ou plusieurs, de ces conditions est considérée comme validée a priori, dispensant alors de la vérifier) ; les conditions sont les suivantes :According to a twelfth characteristic, among the algorithms (320) there is an algorithm (322) which, for each target individually, evaluates then selects the configurations of the library (301), which satisfy the conditions below (an algorithm variant (322) being that where one, or more, of these conditions is considered to be validated a priori, thus dispensing with checking it); the conditions are as follows:

si le robot (3) est en mesure d’atteindre la cible en respectant toutes les contraintes des données (333) alors la configuration est dite plausible,if the robot (3) is able to reach the target respecting all the constraints of the data (333) then the configuration is said to be plausible,

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,if the sum of the forces external to the robot (3), namely the forces and the moments in the 3 dimensions, in static or quasi-static, resulting from the execution of the assigned action, is almost zero, or alternatively if the resulting acceleration remains under the control of the robot (3), i.e. can be canceled without falling or overturning, then the configuration is said to be balanced,

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,if the robot (3) is able to generate efforts greater than the efforts necessary to perform the assigned action, then the configuration is said to be efficient,

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 (n-1) si elle existe, vers la configuration de la cible (n) actuellement considérée , et secondement 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,if the robot (3) is able to generate forces greater than the forces required for the two transitions below, namely firstly from a rest configuration, or from the configuration of the previous target (n-1) if it exists, to the configuration of the target (n) currently considered, and secondly from the configuration of the target (n) to the rest configuration, or to that of the next target (n+1) if it exists; then the configuration is said to be compatible,

L’ensemble de ces 4 conditions définit les « contraintes synthétiques » pour la cible considérée. Les contraintes synthétiques sont enregistrées dans les données (333). Les configurations remplissant toutes les conditions sont dites satisfaisantes.All of these 4 conditions define the “synthetic constraints” for the target considered. The synthetic constraints are stored in the data (333). Configurations fulfilling all the conditions are said to be satisfactory.

Selon une treizième caractéristique, le, ou les, dispositif électronique a la capacité de comparer les différentes configurations satisfaisantes, en leur attribuant un note. Cette note est établie selon une méthode de calcul fourni par l’humain et/ou le système de supervision, ou fourni par le dispositif électronique selon une métarègle prédéfinie, permettant de générer la fonction comparative la plus pertinente en fonction des données à disposition du dispositif électronique. La méthode de calcul répond à une problématique d’optimisation basée sur un certain nombre de critères, et un retraitement mathématique des données issues de la simulation permettant de classer les configurations selon leur niveau de performance, et donc de désigner la plus adaptée pour chaque cible individuellement.According to a thirteenth feature, the electronic device(s) has the ability to compare the different satisfactory configurations, by assigning them a score. This score is established according to a calculation method provided by the human and/or the supervision system, or provided by the electronic device according to a predefined meta-rule, making it possible to generate the most relevant comparative function according to the data available to the device. electronic. The calculation method responds to an optimization problem based on a certain number of criteria, and a mathematical reprocessing of the data resulting from the simulation making it possible to classify the configurations according to their level of performance, and therefore to designate the most suitable for each target. individually.

Selon une quatorzième caractéristique, le, ou les, dispositif électronique stocke en mémoire l’ensemble des configurations possibles, ainsi que toutes les données nécessaires au fonctionnement du robot et à l’exécution de l’action assignée.According to a fourteenth characteristic, the electronic device(s) stores in memory all the possible configurations, as well as all the data necessary for the operation of the robot and the execution of the assigned action.

Selon une quinzième caractéristique, 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) utilisant au moins une des cinq méthodes d’amélioration de configuration suivantes :According to a fifteenth characteristic, among the algorithms (320) there is an algorithm (324) generating for each target, from configurations (j) not necessarily satisfying the synthetic constraints, of the library (301) potentially improved variants (j '); these configurations (j') are stored in the library (301); the algorithm(s) (324) using at least one of the following five configuration improvement methods:

rapprocher la base (2) de la cible, tout en restant au delà du minimum possible, définit par « D_environ_min », qui est la distance minimale possible autorisée par l’environnement (6) entre l’articulation (280) et la cible; ce déplacement permet de relaxer les conditions d’équilibre, et de diminuer les moments exercés sur les composants du robot (3) ;bringing the base (2) closer to the target, while remaining beyond the minimum possible, defined by “D_environ_min”, which is the minimum possible distance authorized by the environment (6) between the joint (280) and the target; this displacement makes it possible to relax the equilibrium conditions, and to reduce the moments exerted on the components of the robot (3);

bloquer une, ou plusieurs, articulation en utilisant le frein intégré au moteur (150) (250), et / ou avec le mécanisme dédié (190), de sorte à pouvoir exercer sur la, ou les, articulation concernée, l’effort nécessaire à l’exécution de l’action, cet effort pouvant être supérieur à celui que le moteur fournirait s’il était en fonctionnementblock one or more joints by using the brake integrated into the motor (150) (250), and/or with the dedicated mechanism (190), so as to be able to exert on the joint(s) concerned, the necessary force during the execution of the action, this force possibly being greater than that which the motor would provide if it were in operation

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 ; typiquement un appui sur le sol permet d’améliorer la stabilité, ou une traction avec le bras (1) sur un élément fixe de l’environnement (6) contribue à rapprocher la base (2) de cet élément fixe, ou enfin un obstacle peut être écarter par le bras (1) ou glisser le long de celui-ci afin qu’il ne gêne pas le déplacement du robot,using at least one arm (1) to bring it into contact with an element of the environment (6) and to exert a force on said element; typically support on the ground improves stability, or traction with the arm (1) on a fixed element of the environment (6) contributes to bring the base (2) closer to this fixed element, or finally an obstacle can be pushed aside by the arm (1) or slide along it so that it does not interfere with the movement of the robot,

maintenir pour chaque moteur, le couple nécessaire à l’exécution de l’action assignée inférieur au couple maximal admissible ; 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 peut transformer une configuration (j) non-satisfaisante initialement, en une configuration (j’) efficace
dans le cas particulier 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 (M_i), selon l’équation:
(alpha_j_i) <= (sin-1)(Cmax_i/Cres90_j_i)
cette méthode peut être mise en oeuvre typiquement en adaptant successivement les angles (alpha_j_i) de chaque segment (110_i) en commençant par celui lié à l’articulation (280) ;
Nota Bene : si (Cmax_i/ Cres90_j_i) est supérieur à « 1 », alors le moteur (M_i) peut exécuter l’action sans contrainte angulaire ;
maintain, for each motor, the torque required to perform the rated action lower than the maximum admissible torque; this method is applicable for any articulation (180) (280) of index (i) having a degree of freedom in rotation, driven by a motor (150) (250) called (M_i); this method can transform an initially unsatisfactory configuration (j) into an efficient configuration (j')
in the very frequent special case, where the forces of gravity are preponderant compared to the other external forces, this method consists in limiting the angle "alpha_j_i" below the motor's angular traction threshold (M_i), according to the equation:
(alpha_j_i) <= (sin-1)(Cmax_i/Cres90_j_i)
this method can be implemented typically by successively adapting the angles (alpha_j_i) of each segment (110_i) starting with that linked to the joint (280);
Please note: if (Cmax_i/ Cres90_j_i) is greater than "1", then the motor (M_i) can perform the action without angular constraint;

lisser ou égaliser certains paramètres de certains composants du robot (3) en adaptant les angles (alpha_j_i), ces paramètres étant typiquement la consommation ou les couples des moteurs (M_i),ou les contraintes mécaniques subies par les articulations (180) (280) ; quand ces paramètres sont des critères à optimiser, alors cette méthode permet d’optimiser la configuration (j)smooth or equalize certain parameters of certain components of the robot (3) by adapting the angles (alpha_j_i), these parameters typically being the consumption or the torques of the motors (M_i), or the mechanical stresses undergone by the joints (180) (280) ; when these parameters are criteria to be optimized, then this method makes it possible to optimize the configuration (j)

Selon une seizième caractéristique, parmi les algorithmes (320) se trouve un algorithme (325) permettant d’ajouter au moins une nouvelle cible (n’), dite intermédiaire, après l’exécution de la cible (n) et avant la cible (n+1) ; cet ajout a lieu dans deux cas de figures:According to a sixteenth characteristic, among the algorithms (320) there is an algorithm (325) making it possible to add at least one new target (n'), called intermediate, after the execution of the target (n) and before the target ( n+1); this addition takes place in two cases:

quand l’algorithme (322) a identifié pour chaque cible, au moins une configuration vérifiant toutes les conditions à l’exception de la « compatibilité », alors l’ajout d’une cible (n’) intermédiaire dédiée permet la transition de la configuration incompatible de la cible (n) vers la configuration nécessaire à la cible suivante (n+1) ; cette cible intermédiaire (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)when the algorithm (322) has identified for each target, at least one configuration satisfying all the conditions except "compatibility", then the addition of a dedicated intermediate target (n') allows the transition of the incompatible configuration of the target (n) towards the configuration necessary for the next target (n+1); this intermediate target (n') typically being the placing of the object (4) on an element of the environment (6), for example the ground, a table, or a suitable location for the robot (3), typically its platform, to then transport it, and/or re-enter the object (4) according to a configuration compatible with that of the target (n+1)

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.when among the algorithms (320) there is an algorithm (326), indicating that the transition from the target (n) to the next one (n+1) induces a significant modification of the synthetic constraints compared to those of each of these successive targets , then the addition of a target (n') allows an adaptation of the configuration to these different constraints during the transition; it may in particular be a relaxation of stresses allowing the arm (1) to deposit the object (4), or a hazard such as the presence of a fixed or mobile obstacle, or even a hardening equilibrium conditions such as sloping or slippery ground.

Selon une dix-septième caractéristique, parmi les algorithmes (320) se trouve un algorithme (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 ; 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 (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 (de 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...
According to a seventeenth feature, among the algorithms (320) is an algorithm (323) which firstly notes individually, for each target, all the configurations studied by the algorithm(s) (322), and on the other hand assigns an overall mark for each possible succession of satisfactory configurations making it possible to carry out the complete action; the notes are stored in memory (311). Ratings are based on one or more criteria to be optimized, weighted and/or statistically restated; this, or these, criterion, and statistical weighting or reprocessing rule being supplied to the robot (3) and/or generated by the control software (300).
Then the algorithm (323) compares the scores on the present cycle (or iteration) of calculation of the algorithms (320) with those obtained previously and stored in memory (311). For each target, the configuration with the best score (of all the configurations of the present cycle, and of all the cycles) is the so-called optimal configuration for said target; and for the complete action the succession having the best score (of all the successions of the present cycle, and of all the cycles) is the so-called optimal succession.
And finally before launching the optimal succession allowing the execution of the action, the algorithm (323) will have to confirm the validity of said optimal succession by using one or more validation criteria, for example: a minimum threshold of iterations of the algorithms (320), for example 200 cycles, and/or a threshold value above or below which the overall score, or alternatively the scores for each configuration of the succession, must be found to be validated...

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.According to an eighteenth characteristic, the configuration library (301) contains in particular a quasi-exhaustive collection of so-called relevant configurations, namely which use the motor and manipulative capacities of the robot (3) to their maximum.

Selon une dix-neuvième caractéristique, le, ou les, logiciel de commande (300) met en œuvre 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.According to a nineteenth characteristic, the control software(s) (300) implements the set of algorithms (320) once when assigning the action, in order to determine an embodiment according to the data (333) known at the start, and also regularly and closely over time, throughout the action, in order to enable its actual execution and to optimize its progress.

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’accroitre la réactivité du robot (3).According to a twentieth feature, where the algorithms (320), part of the control software(s) (300), the configuration library (301) and part of the data (333) are remote, namely on a fixed PC or equivalent, typically a high-powered server, and which communicates via the local computer network with the robot (3), making it possible to reduce the electronic device (310) on board the robot (3) to what is strictly necessary, and therefore reducing the cost of the robot (3), while maintaining high computing power making it possible to maintain or even increase the responsiveness of the robot (3).

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.According to a twenty-first characteristic: among the algorithms (320) there is an algorithm (321) verifying that there exists for each target at least one satisfactory configuration, thus allowing by at least a succession of satisfactory configurations to carry out the complete assigned action; and as long as there does not exist for each target at least one satisfactory configuration, then the algorithms (320) reiterate their calculation loop (or cycle or iteration) from a completed configuration library (301), and d a possibly larger target set.

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).According to a twenty-second characteristic: among the algorithms (320) there is an algorithm (327), which studies the configuration of the robot (3) being calculated for each target, and is activated in the event that at least one arm (1) is available to exert a force on an element of the environment (6); then said algorithm (327) identifies in the environment (6) the element(s) on which the arm (1) can exert an effort, in order to increase the performance and/or the stability of the robot (3). For each new element available in the environment (6) at least one new configuration will be generated by the algorithm (324), with a view to an evaluation of the new configuration(s) by the algorithm (323).

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) ...According to a twenty-third characteristic: among the algorithms (320) is the algorithm (324) which preferentially generates, for each target individually, at least one configuration (j'), from one, or more, configuration (j) from the library (301) selected according to one or more criteria relating to the score assigned by the algorithm (323) during a previous iteration of the algorithms (320), the criterion relating to the score possibly typically be: the configuration (j) having obtained the best score, or the configurations (j) having obtained a score above a certain threshold, or else the "X" best configurations (j) (for example: X=5). ..

Selon un mode de réalisation préférentiel, 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ù:According to a preferred embodiment, the mobile base has a substantially rectangular shape, is equipped with 3 or 4 wheels, and where one, or two, arms are fixed relatively close to one side of the rectangle, and where:

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), ce 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),
a platform (7) is arranged on the base (2), characterized in that it:
  • is substantially horizontal
  • makes it possible to carry a transport container (710), the arm (1) being able to deposit at least one object (4) on said platform, or on said transport container (710), which makes it possible to move one, or more, object in a stable way and without mechanically stressing the arm, thus minimizing its wear and its energy consumption (cf rest configuration)
  • has a shape adapted to the transport container (710), typically a logistics transport pallet of European or US standard format, the shape of the platform (7) then being typically a fork of dimensions identical to those of a usual pallet truck
  • is optionally movable along a vertical axis, thus making it possible in particular to lift from the ground, respectively deposit, a transport container (710),

le, ou les, bras étant constitué de 2 à 5 segments (110) et d’au moins un préhenseur (120)the arm(s) consisting of 2 to 5 segments (110) and at least one gripper (120)

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 moteurat least one of the robot's motors (3) is equipped with an internal brake, integrated into the motor or arranged a posteriori, and/or at least one dedicated mechanism (190) for blocking the degree of freedom authorized by said motor

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).a counterweight (290), removable or fixed, is possibly present, and is typically fixed on the side of the base (2) opposite the arm (1).

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 ;According to another preferred embodiment, the mobile base is a motorized vehicle with 1 or 2 wheels, which has a substantially humanoid shape, namely equipped with a lower part (articulated leg or rigid member) linked to the, or both , wheel, and an upper part (torso) linked to the lower part by a so-called hip joint; at the top of the upper part (torso) is the shoulder joint, where the arm, or both, is fixed, itself consisting of 2 to 5 segments (110) and at least one gripper (120 ); at least one of the motors of the robot (3) is equipped either with an internal brake, integrated into the motor or arranged a posteriori, or with a dedicated mechanism (190) for blocking the degree of freedom authorized by said motor;

Les dessins annexés illustrent l’invention :The accompanying drawings illustrate the invention:

représente une vue générale du robot, selon le dispositif de l’invention. represents a general view of the robot, according to the device of the invention.

représente une réalisation préférentielle du dispositif correspondant à un robot manipulateur par exemple pour la logistique. represents a preferred embodiment of the device corresponding to a manipulator robot for example for logistics.

représente une réalisation préférentielle du dispositif correspondant à un robot manipulateur par exemple pour la logistique, à deux bras (1) complémentaires. represents a preferred embodiment of the device corresponding to a manipulator robot, for example for logistics, with two complementary arms (1).

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. represents a preferred embodiment of the device corresponding to a robot of the humanoid type on wheel(s). According to a non-illustrated embodiment, this robot can have one or more articulated legs as its lower part, or simply crutches.

représente un diagramme logique des flux d’informations et les principales phases de traitement. represents a logical diagram of information flows and the main processing phases.

La illustre le diagramme simplifié de fonctionnement des algorithmes (320), qui sont au cœur de l’organisation du logiciel de commande (300).There illustrates the simplified diagram of the operation of the algorithms (320), which are at the heart of the organization of the control software (300).

La est un synoptique détaillé, mais non exhaustif, de l’organisation générale et logique des algorithmes (320).There is a detailed, but not exhaustive, overview of the general and logical organization of the algorithms (320).

La 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 d’usage est très importante). Ce sont les algorithmes (320) gèrent entre autres, cet angle (alpha_j_i).There represents the robot (3) equipped with an arm (1) and a mobile base (2). The articulation (280) is composed of a motor (250), positioned vertically and which can be integrated into the base, controlling the rotation along the vertical axis (Oz) of the arm (1). If necessary for more clarity in the management of the indices, it will be possible to give the motor (250) the index (i=1), because it is the first motor to control the arm (1). The orientation of the first segment (110_1) is therefore controlled by the motor (250_1); this first segment (110_1) being made up of a short horizontal segment encompassing the motor (150_2) which controls the inclination of the segment (110_2). The angle formed between the vertical and the segment (110_2) in the configuration (j) is named (alpha_j_2). The mobility of the arm (1) once the object (4) is carried, also depends on the segment (110_3) controlled by the motor (150_3), which forms an angle (alpha_j_3) with the vertical. Motors (150_2) and (150_3) retain their driving capacity if the torque required for them to rotate is less than their maximum torque (or nominal if the frequency of use is very high). It is the algorithms (320) that manage, among other things, this angle (alpha_j_i).

Dans la figure les articulations (180_4) et (180_5) du bras sont bloquées, typiquement 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).In the figure the joints (180_4) and (180_5) of the arm are locked, typically by a dedicated locking mechanism (190). In this way, the arm has a large working area, while being able to handle heavy loads via the motors (150_2) and (150_3).

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...In addition, the environment (6) presents an obstacle, which forces the arm to grasp the object (4) horizontally; this obstacle is typically the door of an automatic machine: CNC or injection machine. Finally, the mobility of the robot (3) is controlled by the motors (250) of the wheels of the base (2), i.e. even without movement of the arm (1), the robot is able to move the object (4) door. Alternatively, the algorithms (320) can generate an intermediate target, and place the object (4), once past the environmental obstacle (6) (namely the aforementioned door) on a nearby table, or on the platform (7) dedicated to the robot (3). The robot (3) can then seize the object (4) in a new configuration either suitable for transport, or to reach the next target...

La représente le robot (3) doté d’un bras (1) et d’une base (2) mobile, il s’agit 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.There represents the robot (3) provided with an arm (1) and a mobile base (2), this is a preferential mode of the device for parts transport uses, known as logistics. In this variant, the base is rectangular in shape, with a raised part, which supports the arm (1), and a lower part, called a platform (7) which is characterized by a fork shape, capable of moving according to the vertical axis. The transport container (710) is represented by a pallet in European format, and is supported by the fork. Opposite the arm (1) is located on the base (2) a counterweight, which balances the masses, in the case where the object (4) carried would be heavy.

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).The arm (1) consists of 4 long segments (110) each driven by a motor (150), a short segment (110) driven by the motor (250), and a gripper (120), in the form two opposable half-clamps, each moving a motor (150).

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.The electronic device (310) is shown as being integrated into the base (2). In general, the control software (300) and the electronic device (310) are partially embedded, and partially located on a remote fixed computer, forming part of the local computer network.

La 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.There represents the robot (3) provided with two arms (1) and a movable base (2), this is a preferred mode of the device for interior transport uses of heavy or bulky parts. In this illustration, quite similar to [Fig.2], the presence of two arms (1) makes it possible to stabilize the robot (3) during the rotation of the first arm (1), carrying the heavy object (4) , with the second arm (1) resting on the ground. Said rotation of the object (4) is typically a target generated by the algorithms (320) corresponding to a transition between the picking up of an object (4) and its transport on the platform of the robot (3). The transition phase generates forces which could overturn the robot (3) in the absence of an appropriate configuration of the second arm. Alternatively, the robot can grab heavy or bulky objects with its two arms.

La 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é.There represents a preferred embodiment of the device corresponding to a robot of the humanoid type whose contact with the ground is made by two laterally opposite wheels on the base. A single arm is illustrated, however an equally preferred embodiment would include a second arm, thus making it possible to take objects from either side, or allowing the support of an arm on the ground, or any other element of the environment, in order to stabilize the robot and/or increase its handling or mobility performance.

La 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.There illustrates the information flows, and the different phases of information processing leading, as far as possible, to the execution of the assigned action.

La 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) lors de la présente itération, et des précédentes.There illustrates the simplified diagram of the operation of the algorithms (320), the tasks carried out, as well as the logical tests carried out. The data (333) is the collection of all the information from all the sources available to the robot (3), including the reprocessed, merged information, and the results of the algorithms (320) during the present iteration, and previous ones.

Pour conserver un bon niveau de compréhension de la , 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.To maintain a good level of understanding of the , the logic gates and the conditions for transmitting information from one algorithm (320) to another are not shown. These elements are described in the claims. The result of the calculations of the algorithms (320) is either the repetition of a calculation loop by the algorithms (320), or the validation of the result obtained for execution of the action assigned by the control software (300). The possible failure of the feasibility phase is not shown in the illustration.

La 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.There illustrates the general and logical organization of the algorithms (320), including the transition logic gates between algorithms, resulting either in the execution of the assigned action in an optimal manner, or in the conclusion (according to a certain probability in relation especially with the validation threshold values used) that the robot is not able to perform the assigned action.

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 .Insofar as the algorithm (327) is dependent on the configuration studied. Its functioning is underlying and permanent, and its action is conditional. And considering the difficulty of illustrating the logical relations in a clear and unambiguous way, it seemed simpler that the said algorithm (327) does not appear on this .

Claims (15)

Dispositif composé d’un robot (3) et d’au moins un logiciel de commande (300) mis en œuvre 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 :
  1. le robot (3) est constitué d’au moins un bras (1) et d’une base (2) mobile,
  2. le, ou les, logiciel de commande (300) évalue la faisabilité de l’action assignée, et définit la succession de configurations du robot (3) permettant d’exécuter de manière optimale l’action assignée,
  3. le, ou les, logiciel de commande (300) met en oeuvre une unique librairie de configurations (301), constituée :
    1. uniquement de configurations dites possibles, à savoir qui respectent les limitations mécaniques et motrices, en statique et dynamique, intrinsèques du robot (3),
    2. initiallement d’une collection quasi-exhaustive des configurations dites pertinentes, à savoir qui utilisent les capacités motrices et manipulatoires du robot (3) à leur maximum,
    3. 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.
Device composed of a robot (3) and at least one control software (300) implemented by at least one electronic device (310), allowing said robot (3) to perform at least one action, assigned typically by a human operator or by supervision software; characterized in that:
  1. the robot (3) consists of at least one arm (1) and a mobile base (2),
  2. the control software(s) (300) evaluates the feasibility of the assigned action, and defines the succession of configurations of the robot (3) allowing the assigned action to be executed in an optimal manner,
  3. the control software(s) (300) implements a single configuration library (301), consisting of:
    1. only so-called possible configurations, i.e. which respect the mechanical and motor limitations, in static and dynamic, intrinsic to the robot (3),
    2. initially of a quasi-exhaustive collection of so-called relevant configurations, namely which use the motor and manipulative capacities of the robot (3) to their maximum,
    3. of possible configurations resulting from the aforementioned configurations, and elaborated by the control software (300) with a view to the execution of the assigned action.
Dispositif selon la [Revendication 1] caractérisé en ce que:
  1. 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) ;
  2. 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 moins un organe de contact (220) avec le sol, typiquement : roue, chenille, jambe articulée, béquille ou une combinaison de ces éléments ;
  3. 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é;
  4. 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).
Device according to [Claim 1] characterized in that:
  1. the arm (1) consisting of at least one mobile segment (110), each segment (110) being moved by at least one motor (150); the segments (110) being interconnected by a hinge (180); the arm (1) being provided with at least one sensor (140); the arm (1) being fixed by one of its ends to the base (2) by a hinge (280); the arm (1) being able to integrate at the other end at least one gripper (120) being able to be equipped with at least one motor (150);
  2. the base (2) being provided with at least one sensor (240) and at least one motor (250); the base (2) being mobile and provided with at least one contact member (220) with the ground, typically: wheel, caterpillar, articulated leg, crutch or a combination of these elements;
  3. at least one articulation (180) (280) being equipped with a brake integrated into the motor (150) (250), or with a dedicated mechanism (190) for blocking the degree of freedom authorized by the said motor of the said articulation , this dedicated mechanism (190) including at least one motor (150) or (250) fixed locally or remotely;
  4. the electronic device(s) (310) controlling, directly or indirectly, all of the motors (150) and (250) of the robot (3) in a coordinated manner; the electronic device(s) (310) being equipped with at least one memory (311) for storing information, and with at least one means of communication (312) with one or more local computer networks, and at least one piece of equipment for local interaction with human operators, called the man-machine interface (313).
Dispositif selon au moins une des revendications précédentes caractérisé en ce que le logiciel de commande (300) inclut et met en œuvre 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 :
  1. synthétiser un ensemble sensiblement exhaustif des contraintes relatives à l’exécution de chaque cible
  2. é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),
  3. 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,
  4. identifier éventuellement dans l’environnement (6) le, ou les, élément sur lequel le robot (3) peut exercer un effort,
  5. é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,
  6. 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.
Device according to at least one of the preceding claims, characterized in that the control software (300) includes and implements algorithms (320), which operate in parallel, and which iteratively use as input data, among other results generated by the algorithms (320) during the present iteration or previous iterations; the algorithms (320) provide the control software (300) with a set of information necessary and sufficient for the optimal execution of the assigned action; the aforementioned set of information is obtained by performing all or part of the following calculations, for each of the targets of the assigned action:
  1. synthesize a substantially comprehensive set of constraints relating to the execution of each target
  2. develop new possible configurations from the previously evaluated configurations, and adapt them to the set of execution constraints obtained in (i),
  3. possibly generate one or more sub-objectives to be integrated into the assigned action, in order to be able to execute it, or in order to optimize its execution,
  4. possibly identify in the environment (6) the element or elements on which the robot (3) can exert a force,
  5. evaluate the capacity of the robot (3) in each configuration considered, taken from the library (301), to satisfy all the constraints mentioned in (i), and calculate a score representative of this level of satisfaction,
  6. compare and classify the configurations satisfying all the execution constraints obtained in (i), for each target, then define, if it exists, the sequence of optimal configurations allowing to execute the complete assigned action, and finally validate, or not, this sequence.
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ù:
  1. une plateforme (7) est aménagée sur la base (2), caractérisée en ce qu’elle :
    1. est sensiblement horizontale
    2. 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),
    3. a une forme adaptée au contenant de transport (710), à savoir typiquement une fourche sensiblement identique à celle d’un chariot transpalette usuel,
    4. est éventuellement mobile selon un axe vertical, permettant ainsi notamment de soulever du sol, respectivement déposer, ledit contenant de transport (710),
  2. le, ou les, bras étant constitué de 2 à 5 segments (110) et d’au moins un préhenseur (120),
  3. 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).
Device according to at least one of the preceding claims, in a preferred embodiment, characterized in that the mobile base has a substantially rectangular shape, is equipped with 3 or 4 wheels, and where one, or two, arms are fixed relatively close on one side of the rectangle, and where:
  1. a platform (7) is arranged on the base (2), characterized in that it:
    1. is substantially horizontal
    2. makes it possible to carry a transport container (710), the arm (1) being able to deposit at least one object (4) on said platform, or on said transport container (710),
    3. has a shape adapted to the transport container (710), namely typically a fork substantially identical to that of a conventional pallet truck,
    4. is optionally movable along a vertical axis, thus making it possible in particular to lift from the ground, respectively deposit, said transport container (710),
  2. the arm(s) consisting of 2 to 5 segments (110) and at least one gripper (120),
  3. a counterweight (290), removable or fixed, is possibly present, and is typically fixed on the side of the base (2) opposite the arm (1).
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.Device according to at least one of claims [1], [2] or [3], in a preferred embodiment, characterized in that the mobile base is a motorized vehicle with 1 or 2 wheels, which has a substantially humanoid shape, namely provided with a lower part connected to the wheel, or both, and with an upper part connected to the lower part by a so-called hip joint; at the top of the upper part is the shoulder joint, where the arm, or both, is fixed, itself consisting of 2 to 5 segments (110) and at least one gripper (120); at least one of the motors of the robot (3) is equipped with an internal brake, integrated into the motor or arranged a posteriori, or with a dedicated mechanism (190) for blocking the degree of freedom authorized by said motor. 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 :
  1. 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,
  2. 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,
  3. 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,
  4. 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 (n-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,
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.
Device according to at least one of the preceding claims, characterized in that among the algorithms (320) there is an algorithm (322) which, for each target individually, evaluates all the configurations of the library (301), then selects those which satisfy the conditions below:
  1. if the robot (3) is able to reach the target respecting all the constraints described in the data (333) associated with said target, then the configuration is said to be plausible,
  2. if the sum of the forces external to the robot (3), namely the forces and the moments in the 3 dimensions, in static or quasi-static, resulting from the execution of the assigned action, is almost zero, or alternatively if the resulting acceleration remains under the control of the robot (3), i.e. can be canceled without falling or overturning, then the configuration is said to be balanced,
  3. if the robot (3) is able to generate efforts greater than the efforts necessary to perform the assigned action, then the configuration is said to be efficient,
  4. if the robot (3) is able to generate forces greater than the forces required for the two transitions below, namely firstly from a rest configuration, or from the configuration of the previous target (n-1) if it exists, to the configuration of the target (n) currently considered, and secondly from the configuration of the target (n) to the rest configuration, or to that of the next target (n+1) if it exists; then the configuration is said to be compatible,
the expression in mathematical form of all of these conditions constitutes the “synthetic constraints” of the robot (3) for the target considered; and the synthetic constraints are stored in the data (333); the configurations satisfying all the synthetic constraints are said to be satisfactory.
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.Device according to [Claim 6], characterized in that a variant of the aforementioned algorithm (322) considers that one or more of the aforementioned conditions is validated a priori, then exempting the control software (300) from check it. 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.
Device according to at least one of the preceding claims, characterized in that among the algorithms (320) there is one or more algorithms (323) which on the one hand notes individually, for each target, all the configurations evaluated by the or the algorithm (322), and on the other hand assigns an overall score for each possible succession of satisfactory configurations allowing the complete action to be carried out; the notes are stored in memory (311);
the ratings are based on one or more criteria to be optimized, weighted and/or statistically restated; this, or these, criterion, and statistical weighting or reprocessing rule being supplied to the robot (3) and/or generated by the control software (300);
then the algorithm (323) compares the scores on the present calculation cycle of the algorithms (320) with those obtained previously and stored in memory (311), then for each target the configuration having the best score of all the cycles is the configuration said to be optimal for said target, and for the complete action the succession having the best score of all the cycles is the so-called optimal succession,
and finally before launching the optimal succession allowing the execution of the action, the algorithm (323) will have to confirm the validity of the optimal succession by using one or more validation criteria.
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 au moins une des cinq méthodes d’amélioration de configuration suivantes :
  1. rapprocher la base (2) de la cible,
  2. 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,
  3. 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 ;
  4. 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 ;
    1. 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 (M_i), selon l’équation: (alpha_j_i) <= (sin-1)(Cmax_i/Cres90_j_i)
      cette méthode peut être mise en oeuvre typiquement en adaptant successivement les angles (alpha_j_i) de chaque segment (110_i) en commençant par celui lié à l’articulation (280) ;
  5. lisser ou égaliser le, ou les, critère à optimiser pour chaque composant du robot (3) en adaptant la configuration du robot (3).
Device according to at least one of the preceding claims, characterized in that among the algorithms (320) there is an algorithm (324) generating for each target, from configurations (j), not necessarily satisfying the synthetic constraints, of the library (301) potentially improved variants (j'); these configurations (j') are stored in the library (301); the algorithm(s) (324) uses at least one of the following five configuration improvement methods:
  1. bring the base (2) closer to the target,
  2. block one or more articulation using either the brake integrated into the motor (150) (250), or the dedicated mechanism (190), or both,
  3. using at least one arm (1) to bring it into contact with an element of the environment (6) and to exert a force on said element;
  4. maintain for each motor, the torque necessary for the execution of the assigned action lower than the maximum torque admissible by said motor; this method is applicable for any articulation (180) (280) of index (i) having a degree of freedom in rotation, driven by a motor (150) (250) called (M_i); this method which consists in limiting the lever arm exerted by the resultant of the external forces on the axis of the engine by controlling the angle of the segment (110_i), can to a certain extent transform a configuration (j) not initially satisfactory, into an efficient configuration (j');
    1. in the particular case, which is nevertheless very frequent, where the forces of gravity are preponderant in relation to the other external forces, this method consists in limiting the angle "alpha_j_i" below the motor's angular traction threshold (M_i), according to the equation: (alpha_j_i) <= (sin-1)(Cmax_i/Cres90_j_i)
      this method can be implemented typically by successively adapting the angles (alpha_j_i) of each segment (110_i) starting with that linked to the joint (280);
  5. smoothing or equalizing the criterion or criteria to be optimized for each component of the robot (3) by adapting the configuration of the robot (3).
Dispositif selon au moins une des revendications précédentes, caractérisé en ce que parmi les algorithmes (320) se trouve un algorithme (327), qui étudie chaque 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 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), cette, ou ces, nouvelle configuration (j’) sera stockée dans la librairie (301) .
Device according to at least one of the preceding claims, characterized in that among the algorithms (320) there is an algorithm (327), which studies each configuration of the robot (3) being calculated for each target, and is activated in the case where at least one arm (1) is available to exert a force on an element of the environment (6);
then said algorithm (327) identifies in the environment (6) the element or elements on which the arm (1) can exert a force, in view of increasing the performance or the stability of the robot (3); for each new element available in the environment (6) at least one new configuration will be generated by the algorithm (324), this or these new configuration (j') will be stored in the library (301).
Dispositif selon au moins une des revendications précédentes, caractérisé en ce que l’algorithme (324) 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).Device according to at least one of the preceding claims, characterized in that the algorithm (324) preferentially generates, for each target individually, at least one configuration (j'), from one or more configurations (j ) from the library (301) selected according to one or more criteria relating to the score assigned by the algorithm (323) during a previous iteration of the algorithms (320). Dispositif selon au moins une des revendications précédentes, caractérisé en ce que parmi les algorithmes (320) se trouve un algorithme (325) permettant d’ajouter au moins une nouvelle cible (n’), dite intermédiaire, après l’exécution de la cible (n) et avant la cible (n+1), cet ajout a lieu dans les cas de figures suivant:
  1. quand l’algorithme (322) a identifié pour chaque cible, au moins une configuration vérifiant toutes les conditions à l’exception de la « compatibilité », alors l’ajout d’une cible (n’) intermédiaire dédiée permet la transition de la configuration (j) de la cible (n), incompatible à la cible suivante (n+1), vers une configuration intermédiaire (j’) pour la cible (n’), compatible avec la configuration nécessaire à la cible suivante (n+1),
  2. 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 la cible précédente (n) et successive (n+1), alors l’ajout d’une cible (n’) permet une adaptation de la configuration à ces contraintes différentes lors de la transition.
Device according to at least one of the preceding claims, characterized in that among the algorithms (320) there is an algorithm (325) making it possible to add at least one new target (n'), called intermediate, after the execution of the target (n) and before the target (n+1), this addition takes place in the following cases:
  1. when the algorithm (322) has identified for each target, at least one configuration satisfying all the conditions except "compatibility", then the addition of a dedicated intermediate target (n') allows the transition of the configuration (j) of the target (n), incompatible with the following target (n+1), towards an intermediate configuration (j') for the target (n'), compatible with the configuration necessary for the following target (n+ 1),
  2. when among the algorithms (320) there is an algorithm (326), indicating that the transition from the target (n) to the next one (n+1) induces a significant modification of the synthetic constraints compared to those of the previous target (n ) and successive (n+1), then the addition of a target (n') allows an adaptation of the configuration to these different constraints during the transition.
Dispositif selon au moins une des revendications précédentes, caractérisé en ce que 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 à partir d’une librairie de configuration (301) complétée, et d’un ensemble de cible éventuellement plus grand ;
l’algorithme (321) mettra également en œuvre un compteur du nombre d’itération effectuée par les algorithmes (320) : si ce nombre d’itération atteint un seuil maximal d’itération, fourni typiquement par un opérateur humain, alors la faisabilité de l’action assignée sera considéré comme négative.
Device according to at least one of the preceding claims, characterized in that among the algorithms (320) there is an algorithm (321) verifying that there exists for each target at least one satisfactory configuration, thus allowing by at least a succession of satisfactory configurations perform the complete assigned action;
and as long as there does not exist for each target at least one satisfactory configuration, then the algorithms (320) reiterate their calculation loop from a configuration library (301) completed, and from a set of targets possibly bigger ;
the algorithm (321) will also implement a counter of the number of iterations performed by the algorithms (320): if this number of iterations reaches a maximum iteration threshold, typically provided by a human operator, then the feasibility of the assigned action will be considered negative.
Dispositif selon au moins une des revendications précédentes, caractérisé en ce que le, ou les, logiciel de commande (300) met en œuvre l’ensemble des algorithmes (320) premièrement dès l’assignation de l’action, afin d’en déterminer un mode de réalisation optimal selon les données (333) connues au départ, et secondement de manière permanente, pendant de l’exécution de l’action, afin d’adapter son exécution aux variations inhérentes au robot (3) et à son environnement, de manière à en assurer l’exécution, et à en optimiser l’exécution.Device according to at least one of the preceding claims, characterized in that the control software(s) (300) implements the set of algorithms (320) firstly as soon as the action is assigned, in order to determine an optimal embodiment according to the data (333) known at the start, and secondarily permanently, during the execution of the action, in order to adapt its execution to the variations inherent to the robot (3) and to its environment, so as to ensure its execution, and to optimize its execution. Dispositif selon au moins une des revendications précédentes, caractérisé en ce que tout ou partie des algorithmes (320), du, ou des, logiciel de commande (300), de la librairie de configurations (301) et des données (333) sont déportés, à savoir embarqués sur un ordinateur fixe et distant, typiquement un serveur de forte puissance, et qui communique via le réseau informatique local avec le robot (3).Device according to at least one of the preceding claims, characterized in that all or part of the algorithms (320), of the control software(s) (300), of the configuration library (301) and of the data (333) are remote , namely embedded on a fixed and remote computer, typically a high-powered server, and which communicates via the local computer network with the robot (3).
FR1906269A 2019-06-12 2019-06-12 Electronic control device optimized for specific mobile robot Pending FR3097149A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1906269A FR3097149A1 (en) 2019-06-12 2019-06-12 Electronic control device optimized for specific mobile robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1906269 2019-06-12
FR1906269A FR3097149A1 (en) 2019-06-12 2019-06-12 Electronic control device optimized for specific mobile robot

Publications (1)

Publication Number Publication Date
FR3097149A1 true FR3097149A1 (en) 2020-12-18

Family

ID=68138410

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1906269A Pending FR3097149A1 (en) 2019-06-12 2019-06-12 Electronic control device optimized for specific mobile robot

Country Status (1)

Country Link
FR (1) FR3097149A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010045807A1 (en) 2000-03-10 2001-11-29 Mcconnell Kenneth G. System and method for using joint torque feedback to prevent oscillation in a flexible robotic manipulator
WO2009143377A2 (en) 2008-05-21 2009-11-26 Georgia Tech Research Corporation Force balancing mobile robotic system
US20120059515A1 (en) * 2010-09-03 2012-03-08 The U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration Workspace safe operation of a force- or impedance-controlled robot
US9393693B1 (en) 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices
US20160229057A1 (en) 2015-02-09 2016-08-11 Harris Corporation Unmanned ground vehicle stability control
US9499219B1 (en) 2014-08-25 2016-11-22 Google Inc. Touch-down sensing for robotic devices
WO2017087986A1 (en) * 2015-11-20 2017-05-26 The Regents On The University Of California Non-anthropomorphic bipedal robotic system
AU2018102036A4 (en) * 2018-12-09 2019-01-17 Fang, Yide Mr A search-and-rescue hexapod robot with a tele-operable mechanical arm

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010045807A1 (en) 2000-03-10 2001-11-29 Mcconnell Kenneth G. System and method for using joint torque feedback to prevent oscillation in a flexible robotic manipulator
WO2009143377A2 (en) 2008-05-21 2009-11-26 Georgia Tech Research Corporation Force balancing mobile robotic system
US20120059515A1 (en) * 2010-09-03 2012-03-08 The U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration Workspace safe operation of a force- or impedance-controlled robot
US9393693B1 (en) 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices
US9499219B1 (en) 2014-08-25 2016-11-22 Google Inc. Touch-down sensing for robotic devices
US20160229057A1 (en) 2015-02-09 2016-08-11 Harris Corporation Unmanned ground vehicle stability control
WO2017087986A1 (en) * 2015-11-20 2017-05-26 The Regents On The University Of California Non-anthropomorphic bipedal robotic system
AU2018102036A4 (en) * 2018-12-09 2019-01-17 Fang, Yide Mr A search-and-rescue hexapod robot with a tele-operable mechanical arm

Similar Documents

Publication Publication Date Title
Jaller et al. Automation, electrification, and shared mobility in urban freight: opportunities and challenges
Krug et al. The next step in robot commissioning: Autonomous picking and palletizing
EP3568266B1 (en) Method for moving an exoskeleton
WO2015121306A1 (en) Method and device for driving parcel sorters for installations facilities having considerable changes in levels
EP2858764B1 (en) Process for preparing orders of individual items
Haberland et al. The effect of swing leg retraction on running energy efficiency
Reza Larimi et al. A new stabilization algorithm for a two-wheeled mobile robot aided by reaction wheel
Goher et al. Control of a two-wheeled machine with two-directions handling mechanism using PID and PD-FLC algorithms
EP4034344B1 (en) Methods for learning parameters of a neural network, for generating a trajectory of an exoskeleton and for setting the exoskeleton in motion
Caccavale et al. A flexible robotic depalletizing system for supermarket logistics
FR3097149A1 (en) Electronic control device optimized for specific mobile robot
Zhou et al. Learning ball-balancing robot through deep reinforcement learning
WO2019115930A1 (en) Method for the centralized palletization of objects leaving production lines
Kausar et al. Nonlinear control design using Lyapunov function for two-wheeled mobile robots
Alasty et al. Equations of motion of a single-wheel robot in a rough terrain
Le et al. Integrating both routing and scheduling into motion planner for multivehicle system
Majid et al. Anticipating the entry of industry 5.0 in transportation sector
US20230229125A1 (en) Automation of self-lifting forklift
Mims As E-commerce booms, robots pick up human slack
Zermane et al. Planning Impact-Driven Logistic Tasks
US11092946B2 (en) Identifying and managing equipment within an operational environment
Khan Design and control of a robotic system based on mobile robots and manipulator arms for picking in logistics warehouses
Nikpour et al. Stability control of mobile inverted pendulum through an added movable mechanism
Silva et al. A rough terrain traction control technique for all-wheel-drive mobile robots
Liu et al. The usage of kinematic singularities to produce periodic high-powered locomotion

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20201218

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 6