Programmation hors ligne : les langages de programmation
Programmation des robots
R7720 v2 Archive

Programmation hors ligne : les langages de programmation
Programmation des robots

Auteur(s) : Étienne DOMBRE

Date de publication : 10 mars 1998

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Sommaire

Présentation

Auteur(s)

  • Étienne DOMBRE : Directeur de Recherche au CNRS - Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM) CNRS-Université Montpellier II

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

Un robot manipulateur est une machine programmable capable d’exécuter diverses tâches répétitives et, en principe, d’adapter son comportement à certains aléas et événements perturbant le fonctionnement nominal prévu. Les tâches peuvent être de type point à point ou de type continu (suivi de courbes, suivi de surfaces). Les premières correspondent aux procédés les plus répandus dans l’industrie manufacturière (soudage par résistance, palettisation, manutention...) par comparaison aux secondes (soudage à l’arc, encollage, découpe, projection/peinture...).

Fonctionnellement, un système robotisé se décompose en trois sous-ensembles (cf. figure) :

  • le bras manipulateur qui agit sur l’environnement. Son état, mesuré par les capteurs proprioceptifs (codeurs ou résolveurs), est modifié par les actionneurs ;

  • le système de commande : il comprend les cartes d’axes qui réalisent l’asservissement des articulations aux positions de consigne. Elles engendrent les consignes de vitesse qui sont converties et envoyées aux variateurs pilotant les actionneurs. Les entrées des cartes d’axes sont calculées par le générateur de mouvement à partir des consignes articulaires (déplacement des axes du robot) ou des consignes opérationnelles (translation et rotation de l’outil). Les systèmes de commande évolués peuvent traiter des données issues de capteurs extéroceptifs encore appelés capteurs d’environnement (systèmes de vision, capteurs d’effort, capteurs tactiles, proximètres) et modifier en ligne le comportement du robot (suivi de joint, par exemple) ;

  • le système de programmation qui réalise l’interface entre les actions spécifiées par l’opérateur et le système de commande du robot et des périphériques de la cellule. Ce sous-ensemble est l’objet de cet article.

Le système de commande et le système de programmation sont inclus dans la baie de commande du robot.

Les fonctions essentielles que doit réaliser un système de programmation de robots manipulateurs sont les suivantes :

  • spécifier des mouvements correspondant à la grande diversité d’opérations que l’on trouve en robotique. Selon la tâche, ces mouvements doivent minimiser les temps de cycle ou satisfaire des contraintes de vitesse imposées par le procédé. Ils peuvent être coordonnés avec les mouvements d’axes externes (positionneurs, convoyeurs ou autres robots) ;

  • synchroniser les mouvements du robot, des dispositifs périrobotiques et des autres équipements de l’atelier ou de la cellule de production ;

  • gérer les actions des outils ;

  • gérer les communications entrées/sorties ;

  • intégrer des informations sensorielles dans les primitives de mouvement : ces informations proviennent le plus souvent de simples capteurs tout ou rien (détection de présence, sécurité...) ; elles peuvent aussi être fournies par des capteurs plus évolués permettant de réaliser des tâches en présence d’incertitudes importantes grâce à des commandes référencées capteur (commande en effort, asservissement en distance) ;

  • contrôler l’exécution des programmes ;

  • communiquer avec l’opérateur via une interface appropriée.

L’évolution qu’ont subie les systèmes de programmation depuis une décennie est liée au gain en puissance considérable des baies de commande des robots. Celles-ci sont à base de processeurs 32 bits − certaines sont multiprocesseurs − souvent sur bus VME (mais ce n’est pas une règle : la nouvelle baie KR C1 de Kuka est équipée d’un processeur PC-Pentium, dispose de 4 emplacements ISA et fonctionne sous VxWorks). Elles peuvent ainsi intégrer un grand nombre de cartes spécialisées disponibles chez un grand nombre de fournisseurs, que ce soit pour la gestion des entrées/sorties, la vision industrielle... Les progrès de l’informatique ont par ailleurs permis de rendre les interfaces homme/machine beaucoup plus conviviales dans des environnements de type Windows (menus déroulants et multifenêtrage). Enfin, le développement des réseaux de terrain (CAN, Interbus-S, Profibus...) permet de faire communiquer beaucoup plus efficacement la baie de commande avec la périrobotique et les autres équipements de l’atelier.

On présente dans cet article les deux familles de méthodes disponibles pour programmer les robots : les méthodes par apprentissage et les méthodes hors ligne qui se caractérisent par des durées moindres d’intervention sur site. On verra qu’à bien des égards ces méthodes sont complémentaires, la justification des coûts et des temps de mise en œuvre conduisant, selon le contexte industriel, à choisir l’une ou l’autre famille de solutions. Pour la clarté de l’exposé, une première partie sera consacrée aux méthodes par apprentissage, les deux parties suivantes traitant des méthodes hors ligne, l’une des langages de programmation, l’autre de la programmation à partir de bases de données CAO-robotique.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v2-r7720

Article inclus dans l'offre

"Automatique et ingénierie système"

(138 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

2. Programmation hors ligne : les langages de programmation

Historiquement, les langages de programmation étaient classés en quatre niveaux indiquant l’abstraction de description de la tâche et, indirectement, caractérisant les capacités de raisonnement et de décision mises en œuvre (l’intelligence du robot).

  • Niveau actionneur

    On y spécifie les déplacements dans l’espace articulaire : les langages de ce niveau reprennent les concepts des langages de programmation des machines outils à commande numérique (MOCN ). Ils sont intrinsèquement limités à des cinématiques simples (robots portiques, robots Scara) puisqu’ils imposent de raisonner dans l’espace articulaire, mais ils ne nécessitent que peu de moyens de calcul. L’instruction de déplacement générique est du type :

    MOVE <numéro articulation> <valeur déplacement relatif ou absolu>

  • Niveau manipulation ou niveau effecteur

    On y spécifie des déplacements dans l’espace cartésien, plus naturel pour l’utilisateur que l’espace articulaire. Les langages de ce niveau s’inspirent des langages de programmation traditionnels.

  • Niveau objet

    On y spécifie des actions constituant une séquence complexe de déplacements et d’opérations sur les objets. Ces actions doivent ensuite être décomposées en instructions de niveau manipulation.

  • Niveau objectif

    Il désigne l’objectif à atteindre. L’objectif est ensuite traduit en actions intermédiaires.

    Les deux derniers niveaux sont parfois regroupés en un seul niveau appelé niveau tâche.

Suivant le niveau, les moyens de calcul, la complexité du traitement des informations fournies par les capteurs extéroceptifs et la complexité des algorithmes de planification sont donc très différents. Cette classification n’est pas très utile aujourd’hui. Déjà, du fait que la puissance de calcul des baies de commande s’est banalisée, les robots manipulateurs ne sont plus programmés au niveau actionneur. Il est ainsi plus pertinent de parler de mode de programmation explicite, qui correspond aux langages de manipulation, par opposition au mode de programmation implicite des langages de niveau tâche, termes qui reflètent mieux l’intelligence du système robotisé.

Nous donnons plus de détails dans ce qui suit sur les langages de programmation explicite, car ils ont une...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Programmation hors ligne : les langages de programmation

Article inclus dans l'offre

"Automatique et ingénierie système"

(138 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - LOZANO-PEREZ (T.), JONES (J.L.), MAZER (E.) et O’DONNELL (P.) -   Task-level planning of pick-and-place robot motions  -  . Computer, mars 1989, p. 21-29.

  • (2) - LAUGIER (C.) -   Planning fine motion strategies by reasonning in the contact space  -  . Proc. IEEE Int. Conf. on Robotics and Automation, Scottsdale, mai 1989, p. 653-659.

  • (3) - MONACELLI (E.) -   Un système de programmation automatique de niveau tâche MAPES/IAda  -  . Thèse de doctorat, université Paris VI, février 1993.

  • (4) - CHEDMAIL (P.), DOMBRE (E.) et WENGER (P.) -   Mécanique et robotique : outils et méthodologies pour la CAO  -  . Éditions Hermès, Paris 1998.

  • (5) - AFRI -   Étalonnage de cellules robotisées et programmation hors ligne  -  . Document de synthèse des travaux de la Commission CAO-robotique 1997.

DANS NOS BASES DOCUMENTAIRES

  • Capteurs d’environnement en robotique. Introduction

  • Intégration robot-vision

  • Simulation et programmation hors ligne en robotique

Revues

* - RobAut. Robotisation et automatisation de production (5/an)

* - Industries et Techniques (11/an)

HAUT DE PAGE

2 Normalisation

HAUT DE PAGE

2.1 Association Française de Normalisation (AFNOR)

NF EN ISO 9946 (ISO 9946) - 8-99 - Robots manipulateurs industriels. Présentation des caractéristiques. - -

NF EN ISO 9787 (ISO 9787) - 8-99 - Robots manipulateurs industriels. Sys-tèmes de coordonnées et nomenclatures de mouvements. - -

HAUT DE PAGE

2.2 International Organization for Standardization (ISO)

ISO 8373 - 1994 - Robots manipulateurs industriels. Vocabulaire. - -

HAUT...
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Automatique et ingénierie système"

(138 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre