Professional Documents
Culture Documents
Prise en main
20 01 - 2003
Frdric PRIEUR
Benot Telle
1 AVERTISSEMENT.........................................................................................................................................3
1.1 SCURIT DES OPRATEURS PROTECTION DES MATRIELS.....................................................................3
2 / PRSENTATION GNRALE..................................................................................................................4
2.1 ARCHITECTURE MATRIELLE....................................................................................................................4
2.1.1 Le Robot............................................................................................................................................4
2.1.2 La baie de commande.......................................................................................................................4
2.1.3 Le KCP (Kuka Control Panel)..........................................................................................................5
2.2 LES MODES DE FONCTIONNEMENT.............................................................................................................6
2.3 GESTION EXCUTION DES PROGRAMMES...............................................................................................7
2.3.1 Environnement de travail logiciel.....................................................................................................7
2.3.2 Systme de fichiers............................................................................................................................7
2.3.3 Variables systmes............................................................................................................................7
2.4 SYSTMES DE COORDONNES - BASES......................................................................................................8
2.4.1 Mesurer une base..............................................................................................................................9
2.4.2 Mesurer un outil................................................................................................................................9
2.4.3 Zone de travail..................................................................................................................................9
3 CRATION DE PROGRAMMES................................................................................................................9
3.1 STRUCTURE DE DONNES........................................................................................................................10
3.1.1 Les types simples.............................................................................................................................10
3.1.2 Les tableaux....................................................................................................................................10
3.1.3 Les numrations............................................................................................................................10
3.1.4 Les structures..................................................................................................................................10
3.2 OUTILS DE PROGRAMMATION..................................................................................................................11
3.2.1 Oprateurs logiques et arithmtiques :...........................................................................................11
3.2.2 Oprateur gomtrique :.................................................................................................................11
3.3 LES SOUS PROGRAMMES ET LES FONCTIONS............................................................................................11
3.3.1 sous programme local.....................................................................................................................11
3.3.2 sous programme externe.................................................................................................................12
3.3.3 fonctions..........................................................................................................................................12
3.4 LES INTERRUPTIONS................................................................................................................................12
3.5 LES ENTRES / SORTIES............................................................................................................................13
3.6 CRATION, DITION ET SLECTION DE PROGRAMMES.............................................................................13
3.6.1 Modification de programme...........................................................................................................13
3.6.2 Folds...............................................................................................................................................14
4 CRATION DE TRAJECTOIRE...............................................................................................................14
4.1 APPRENTISSAGE DE POINTS.....................................................................................................................14
4.2 DPLACEMENTS.......................................................................................................................................14
4.2.1 Mode de dplacement :...................................................................................................................14
4.3 DPLACEMENT POINT POINT PTP.........................................................................................................14
4.3.1 Dplacement continus.....................................................................................................................15
4.3.2 Dplacements relatifs......................................................................................................................15
4.4 CONTRLE DORIENTATION.....................................................................................................................15
4.5 CHANGEMENT DE BASE OU DCALAGE DE BASE ?..................................................................................16
1 Avertissement
1.1 Scurit des oprateurs Protection des matriels
Le robot KUKA KR6 nest en aucun cas une maquette ou un outil de vulgarisation. Cest un
robot industriel puissant et rapide. Son utilisation exige une attention de tous les instants et le
respect strict de procdures de test et mise en scurit tant des matriels que des oprateurs.
Le droit lerreur nexiste pas dans un tel environnement. Le risque de blessure grave et de
casse matrielle majeure est rel.
2.1.1 Le Robot
Les robots de la srie KR sont des bras manipulateurs 6 axes nots A1 A6. KR 6 / 2 dsigne
un robot Kuka Robotic de 2eme gnration capable de travailler avec une masse utile de 6Kg.
La gamme KR3KR15 a une rptabilit infrieure 2/10eme mm.
Remarque :Notez la colinarit des axes A4 et A6 qui sera source de singularit dans la
commande sur certains des systmes de coordonnes.
2.1.2 La baie de commande
La baie KRC1 assure le contrle et lalimentation du robot. Elle est compose des lments
suivants (voir Figure 2) :
- Un PC Cleron 433Mhz, 64Mo de Ram, un disque dur de 15,3Go, Windows 95. Seules 2
partitions de 2Go chacune sont utilises par le systme. Lapplication logicielle Kuka est
gre par un module temps rel VxWin cadenc avec une priode dchantillonnage de 12ms.
- Une carte multifonction MFC qui gre les entres sorties du systme (16 entres, 16 + 4
sorties) et possde une liaison bus CAN.
- Une carte daxes DSEAT base de DSPs contrle les 6 axes moteurs asservis.
- Une carte RDW grant les rsolveurs de position daxes ainsi que les conversions A/N
(contrle des tempratures moteurs). Cette carte RDW est implante dans la base du robot lui-
mme.
La puissance est fournie par le module PM6-600 : Power Module 6axes 600V DC. Ce module
permet lalimentation du PC avec des drivations en 27V.
Baie
Synoptique de de commande
la cellule robotKRC1
:
Figure 2 Synoptique de la cellule robot KR6
Face arrire :
3 touches homme mort et un start program doublant celle de faade lors dune
utilisation avec KCP en main .
2.2 Les modes de fonctionnement
Un commutateur situ en facade du KCP permet de placer le robot dans lun des quatre modes
possibles :
Fig 4 Slecteur
de mode Test1 : Le mode Test1 permet de tester les programmes, la vitesse est
plus
ncessaire
SEUL
LARRT
DURGENCE
permettra
dans ce mode
darrter
lexcution.
Automatique
externe :
dclenchemen
t par
lenvironneme
nt extrieur.
Ce dernier
mode ne sera
pas utilis
dans le cadre
des mini-
projets.
ATTENTION : TOUJOURS tester une programmation sous le mode Test1 avant de passer successivement
en Test2 puis enfin en Automatique. Ne jamais brler une tape mme quand une modification parat
bnigne.
Les fichiers .DAT : ce sont les fichiers de donnes. Ils sont associs aux sources en portant le
mme nom. On y dclare les variables locales et les sous-programmes externes (contenus
dans un autre fichier src)
Les fichiers .SUB : il sagit de la tache de fond. Une application Kuka est compose de 2
taches qui fonctionnent en parallle. La premire excute le contenu des fichiers sources, cest
la tache principale, la seconde excute le contenu du fichier SPS.SUB en tache de fond. Il est
possible dditer ce fichier pour excuter des instructions ou des sous programmes (.SUB),
mais il ne doit pas sagir de mouvements ni de temporisations susceptibles daugmenter le
temps de cycle de la tache SUB (12ms).
$CONFIG.DAT : Il sagit dun fichier de donnes qui a la particularit dtre visible par tous
les programmes. On y dclare les variables et les fonctions globales. NE JAMAIS
INTERVENIR SUR CE FICHIER.
Les fichiers .ERR : Ces fichiers se crent automatiquement lapparition dune erreur. Pour
visualiser le commentaire associ a une erreur : Visualiser variables modifier , dans le
champ : nom de la variable inscrire : &numero_erreur (expl &3027).
Les bases de travail sont les diffrents repres associs au robot. Ils peuvent tre dfinis par
construction ou par lutilisateur lui-mme en fonction de ses besoins pour la gnration de
mouvements du robot.
Il y a trois sortes de base ou systmes de coordonnes:
- Systme de coordonnes articulaires : chaque axe est dplac
individuellement dans le sens positif ou ngatif.
- Les bases lies aux diffrents outils que le robot peut manipuler. Dans une
mme application, le robot peut avoir changer doutil. Mme si ce nest pas
encore notre cas, il y aura toujours au moins un outil donc une base associe.
Elle est facultative mais elle savrera parfois trs utile ou au moins pratique
pour lapprentissage de points.
Intrt
Pour chaque application, on peut associer plusieurs bases pour faciliter la programmation et
mme parfois rduire le nombre dapprentissages de points de passage. Ici, le positionnement
initial du robot par rapport la cellule ne permet pas de se reprer facilement pour faire des
trajectoires dans lespace de travail. Il est donc judicieux dassocier une base (un repre
orthonorm) la cellule. Le choix du repre est totalement arbitraire et laiss au programmeur.
Il est souvent ncessaire de casser le poignet en passant en commande articulaire afin
dviter les singularits introduites par la colinarit des axes A4 et A6.
Lintrt dune base outil est de pouvoir raliser des trajectoires avec un contrle dincidence
de loutil (et donc de sa base) ; dans le cas dun soudage larc, un cordon peut ainsi tre
raliser sur un contour quelconque avec respect de la position et incidence relative entre pice
et outil.
On peut mmoriser jusqu' 16 outils, ils sont accessibles par les variables systmes : $TOOL
pour loutil en cours, $TOOL_DATA[i] pour loutil i.
3 Cration de programmes
Les programmes KUKA sont cods en langage KRL (Kuka Robotic Langage).
Exemple : une variable systme de type numration $MODE_OP indique le mode dans
lequel fonctionne le robot, il peut prendre les valeurs #T1, #T2, #AUT, #EX ou #INVALID
On peut distinguer quelques oprations qui sont plus spcifiques un langage orient
robotique (automatique), ce sont les fonctions associes a des mouvements ou a des donnes
propres au robot.
exemple :les triggers permettent dexcuter un code conditionn par les dplacements du
robot (oprateur TRIGGER)
TRIGGER WHEN DISTANCE=1 DELAY= -5 DO action()
Excute action() 5ms avant datteindre le point suivant.
OUT indique que le paramtre est passer par rfrence (la valeur peut tre modifier).
Le type des paramtres doit tre dfini dans la partie des dclarations des variables du sous-
programme.
exemple:
DEF Main ()
SProg(p1, p2)
...
END
END
3.3.3 Fonctions
Les fonctions sont des sous-programmes capables de retourner une valeur, elles peuvent tre
inclues dans des expressions logiques (y=f(x)+t).
Leur structure est la suivante :
TypeN ParamN
; Corps de la fonction
ENDFCT
Les dclarations des fonctions dans les fichiers de donnes ou dans les en-ttes de
programmes ont les mmes proprits que les sous programmes. La syntaxe est la suivante :
EXTFCT Type NomFonction (TypeParam1 :IN/OUT, , TypeParamN :IN/OUT)
Lvnement est une variables boolenne (ou une expression simple) et linterruption est
dtecte sur un front. On dmarre la surveillance de lvnement par la commande :
INTERRUPT ON priorit
pour activer 1 interruption, ou
INTERRUPT ON
pour activer toutes les interruptions dclare (<17)
NB : le tableaux de boolens $CYCFLAG[32] peut tre utile pour la gestion des interruptions
car il est rafrachit avec une priode 12ms.
Le contrle des entres sorties seffectue par lintermdiaire des variables systme $IN et
$OUT. Ce sont des tableaux de boolens de dimension 1024.
Il est possible de regrouper des parties du tableau pour accder a des plages dentres/sorties.
$IN[i] peut prendre les valeurs TRUE ou FALSE, mais la plage $IN[ii+j] permet de coder
2j valeurs.
Le groupement se fait dans les variables de type SIGNAL :
La dclaration de ces variables suit les mmes rgles que les types classiques.
3.6 Cration, dition et slection de programmes
A la cration dun nouveau fichier, un .SRC ainsi quun .DAT seront automatiquement crs
lun pour le source, lautre pour les donnes spcifiques au programme. Lorsque lditeur est
ferm, le programme est compil et un ventuel fichier .ERR est gnr signalant les erreurs.
On ne pourra slectionner le programme correspondant que dans la mesure ou celui-ci na
plus derreur syntaxique.Lors du chargement du programme avec la touche Slection ,
tous les fichiers ncessaires sont lis par lditeur de liens et un contrle est effectu sur les
types de variables . Si une erreur est dtecte, un fichier .ERR est gnr tout comme lors
de la sortie de lditeur.
Remarque : lors de la cration dun nouveau programme, les lignes DEF nom, END sont
gnres automatiquement (mais elles peuvent tre invisibles selon loption daffichage
choisie), une squence INI ainsi que laccostage la position dorigine en dbut et fin de
programme sont crs.
3.6.2 Folds
Les lignes apparaissant en gras sont des FOLD (dossiers) prdfinis qui ne peuvent tre dits
dans le dtail que dans le seul mode expert . Ces FOLDS rendent la lecture du programme
plus concise en permettant de cacher certains segments de source. On peut ainsi crer des
FOLDS grce aux instructions FOLD et ENDFOLD et masquer des parties de code aux non-
experts.
4 Cration de trajectoire
Les trajectoires sont les dplacements dun outil dans une base. Elles sont stockes dans les
fichiers SRC. La cration de ces fichiers seffectue depuis lexplorateur de programme du
KCP : nouveau programme standard. Selon le mode utilisateur qui est slectionn :
oprateur ou expert (configurationutilisateur), la cration de la trajectoire peut tre plus ou
moins complte. Le mode utilisateur permet dcrire le programme avec un panel
dinstructions simple mais limit : les FOLD. Le mode expert permet dditer ces FOLD et
donne accs a dautres fonctions ou options.
4.1 Apprentissage de points
Lapprentissage de point consiste placer loutil ou le robot dans une configuration et de
mmoriser cet tat. Ces points sont en gnral les points de passage ou de rfrence pour les
trajectoires.
Lapprentissage dun point est effectif lorsque le robot est dans la configuration souhaite et
que lon appui sur la touche ModePos du KCP.
4.2 Dplacements
Pour crer un dplacement: diter un document.SRC ;Instructiondplacement.
P3
Guidage
constant par
rapport
lespace dans le
cas de
mouvement
circulaire
Figure 8- Quatre exemples de conservation ou pas dorientation sur la trajectoire ou dans lespace -
Il vaut mieux dfinir une $BASE et un $TOOL unique pour tout le programme et utiliser
loprateur gomtrique : pour effectuer un changement de coordonnes ponctuellement
au dplacement.
Ex :
;-----Dclarations
DECL FRAME BASE1
;----Initialisations
BAS (#INITMOV,0) ;initialisation des vitesses, acclrations, $Base, $Tool
.
BASE1={FRAME : X 300,Y 630,Z 0,A 90,B 0,C 0}
.
;-----Partie principale
PTP HOME
PTP BASE1 :{POS : X 540,Y 630,Z 1500, A 0,B 90, C 0, S 2, T 35}
PTP HOME
Par Mrs Benallal et El Jalaoui daprs le rapport de projet Apprentissage du geste en vue de la commande dun
systme robotique Projet ISIM-MEA 2002-2003