Curs 08. Bazele Roboticii. Programarea roboților. Gigel Măceșanu

Similar documents
Procesarea Imaginilor

Versionare - GIT ALIN ZAMFIROIU

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Metrici LPR interfatare cu Barix Barionet 50 -

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Mecanismul de decontare a cererilor de plata

USING SERIAL INDUSTRIAL ROBOTS IN CNC MILLING PROCESESS

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

GHID DE TERMENI MEDIA

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Curs 1 17 Februarie Adrian Iftene

Lucrarea Nr.1. Sisteme de operare. Generalitati

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Auditul financiar la IMM-uri: de la limitare la oportunitate

Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-

Update firmware aparat foto

Propuneri pentru teme de licență

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

ISBN-13:

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Prelucrarea numerică a semnalelor

Olimpiad«Estonia, 2003

VIRTUAL INSTRUMENTATION IN THE DRIVE SUBSYSTEM MONITORING OF A MOBIL ROBOT WITH GESTURE COMMANDS

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Class D Power Amplifiers

Reţele Neuronale Artificiale în MATLAB

Software Process and Life Cycle

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

Modalitǎţi de clasificare a datelor cantitative

Metoda de programare BACKTRACKING

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

Capitolul IV Utilizarea bazelor de date în Internet

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Itemi Sisteme de Operare

METODE DE EVALUARE A IMPACTULUI ASUPRA MEDIULUI ŞI IMPLEMENTAREA SISTEMULUI DE MANAGEMENT DE MEDIU

Subiecte Clasa a VI-a

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

3. CLOUD COMPUTING Sisteme de calcul distribuite

EN teava vopsita cu capete canelate tip VICTAULIC

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Multicore Multiprocesoare Cluster-e

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

COMUNICAȚII INFORMATIZARE

INTERPRETOARE DE COMENZI

CERERI SELECT PE O TABELA

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

A Compared Aproach: ASP versus PHP

Studii și cercetări privind controlul proceselor de fabricație

Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE DE LICENŢĂ

Programare Vizuală. Curs. Ingineria Sistemelor. Dr.ing. Loredana STANCIU, PhD

Proiectarea Sistemelor Software Complexe

Metoda BACKTRACKING. prof. Jiduc Gabriel

BAZE DE DATE Crearea, gestionarea şi exploatarea bazelor de date spaţiale

SISTEME DE OPERARE WINDOWS

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

Behavioral design patterns (comportamentale) ALIN ZAMFIROIU

METODE FIZICE DE MĂSURĂ ŞI CONTROL NEDISTRUCTIV. Inspecţia vizuală este, de departe, cea mai utilizată MCN, fiind de obicei primul pas într-o

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

Managementul Proiectelor Software Metode de dezvoltare

ACTA TECHNICA NAPOCENSIS

Documentaţie Tehnică

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Modele de date utilizate în bazele de date pentru prelucrari grafice

R O M Â N I A CURTEA CONSTITUŢIONALĂ

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

The First TST for the JBMO Satu Mare, April 6, 2018

Managementul referinţelor cu

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

MASTER Disciplina: Biomecanică

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

USING MOBILE AGENTS FOR INFORMATION RETRIEVAL IN B2B SYSTEMS

Relational and Object-Oriented Methodology in Data Bases Systems

TIME COMPASS: O APLICAȚIE DE TIME MANAGEMENT PENTRU ANDROID

Aplicaţii SCADA - Conexiuni externe

SAG MITTIGATION TECHNICS USING DSTATCOMS

Universitatea Politehnica București. Facultatea de Electronică, Telecomunicații și Tehnologia Informației

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

ANALIZA FUNCŢIONALĂ, O METODĂ DE MODELARE ÎN PROIECTAREA UTILAJELOR

Universitatea George Bariţiu, Braşov

ARHITECTURA CALCULATOARELOR LABORATOR PROGRAMĂ ANALITICĂ OBIECTIVE CURS. Obiective educaţionale: Profesor Mihai ROMANCA

Sistem de Supraveghere Video in LAN şi WAN (S.V.L.W.)

GESTIUNEA BAZELOR DE DATE

Inginerie Inversă şi Tehnici de Protecţie

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu

Mai bine. Pentru c putem.

TRAJECTORIES GENERATED BY THE R-R-RRT MECHANISM TRAIECTORII GENERATE DE MECANISMUL R-R-RRT

Capete terminale şi adaptoare pentru cabluri de medie tensiune. Fabricaţie Südkabel Germania

Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice

ATEE SIMULAREA CIRCUITELOR ELECTRICE CE CONTIN CONVERTOARE STATICE DE PUTERE CU AJUTORUL PROGRAMELOR DE CALCUL

REAL TIME QUALITY CONTROL OF THE HEATSET OFFSET PRINTING PROCESS

manivelă blocare a oglinzii ajustare înclinare

Transcription:

Universitatea Transilvania din Braşov Laboratorul de Vedere Artificială Robustă şi Control Bazele Roboticii Curs 08 Programarea roboților Gigel Măceșanu 1

Cuprins Introducere Programarea online şi offline Limbaje de programare 2

Programarea robotului Programarea robotului reprezintă transferarea unei succesiuni de mişcări complexe către controller-ul robotului, folosind instrucţiuni simple şi diverse metode de programare, astfel încât să poată fi automatizat un proces de fabricaţie nu există încă un singur limbaj de programare pentru toate tipurile de roboţi fiecare producător mai important poate avea implementat un limbaj de programare specific pentru roboţii pe care îi produce. 3

Metode de programare Metodele de programare disponibile sunt următoarele: Programarea robotului online offline manual teach-in grafic textual altele direct master-slave indirect explicit implicit Pentru programarea unei aplicaţii se pot folosi şi combinaţii dintre mai multe metode de programare Este un lucru obişnuit să se folosească programarea teach-in pentru corecţia poziţiilor planificate într-un program creat prin metoda offline 4

Programarea online Metodele de programare online suportă în general numai comenzi pentru mişcări. De obicei nu suportă comenzi care să ţină cont de senzori externi. Se împarte în: programarea manuală programarea teach-in. Programarea manuală se foloseşte numai pentru dispozitive de alimentare/evacuare 5

Programarea manuală Programarea manuală înseamnă stabilirea de puncte de mişcare prin limitatori statici (opritori), la nivelul axelor Se folosesc coordonatele robot Sistemul de coordonate robot foloseşte valorile poziţiilor articulaţiilor pentru a specifica un punct din spaţiul de lucru Articulaţiile pot fi liniare sau rotaţionale De exemplu, în cazul roboţilor articulaţi cu 6 axe, pentru determinarea unică a unei poziţii se dau toate cela 6 valori dorite pentru poziţia articulaţiilor. 6

Programarea Teach-in Poate fi împărțită în trei categorii: teach-in direct, programare master-slave teach-in indirect Caracteristici comune ale metodelor: Robotul este mișcat în timpul programării. Punctele de poziționare sunt definite de senzorii interni (traductoarele de deplasare atașate axelor). 7

Programarea Teach-in Teach-in direct Programatorul conduce cu mâna end-effector-ul robotului în poziţiile pe care doreşte să le obţină (robotul are inhibat sau dezactivat sistemul de frânare al axelor). Poziţiile robotului sunt înregistrate: direct (la o comandă explicită a programatorului) automat (înregistrează exact toate mişcările pe care operatorul le aplică end-effector-ului). Programarea cu teach-in direct este utilă pentru roboţii folosiţi în aplicaţii de tratare a suprafeţelor (vopsire, polizare, şlefuire etc.). 8

Programarea Teach-in Programarea Master-Slave este comparabilă cu programarea teach-in direct operatorul nu mişcă robotul în mod direct, ci foloseşte un model miniatură (sau simplificat) al robotului robotul principal (slave) va urmării mişcările realizate cu robotul model (master). Teach-in indirect este cea mai utilizată metodă de programare a roboţilor. robotul este mişcat prin acţionarea unor taste funcţionale de pe panoul de operare (Teach Panel) al robotului poziţia dorită a robotului este memorată prin apăsarea unei taste funcţionale de pe panoul de operare al robotului. 9

Programarea offline Programarea offline a unui robot se face, de exemplu, prin generarea de text în programul robotului, respectând o sintaxă dată de un limbaj de programare specific roboţilor. Avantaje: Nu este necesară prezenţa unui robot în timpul programării. Se pot dezvolta programe complexe prin utilizarea unor structuri de programare (if.. then.., for.., while.. do.., etc.). Sunt uşor de tratat semnale de la senzori şi de utilizat comenzi pentru ieşiri digitale. Dezavantaje: Deseori poziţiile nu se pot defini exact, din calcule matematice (este necesară şi utilizarea metodei teach-in). Este dificil de realizat un test complet al programului în modul offline. 10

Programarea offline Programarea offline se poate realiza astfel: Programare offline în mod text Programare offline în mod grafic Programare offline în mod text Utilizează limbaje de programare de nivel înalt Necesită un mediu de programare pentru: Implementarea (scrierea) programelor Verificarea sintactică, semantică şi compilarea programelor Testarea programelor (simulare) Stocarea şi organizarea programelor (în directoare) Interfeţe către alte sisteme de dezvoltare programe Comunicaţie cu utilizatorul Încărcare (recuperare) a programelor în (din) controller-ul robotului (download, upload sau backup) 11

Programarea offline Programarea offline în mod grafic Se folosesc sisteme CAD (Computer-Aided Design) în scopul de a modela geometric obiectele aplicației Utilizatorul introduce diverşi parametrii necesari în definirea caracteristicilor fiecărei traiectorii Sistemul calculează o traiectorie ca o secvenţă de puncte intermediare prin care robotul trebuie să treacă Funcţia de simulare a sistemului poate reprezenta grafic orice mişcare, în vederea testării este folosit din ce în ce mai mult pentru aplicaţii complexe de tratare a suprafeţelor: vopsire, polizare, şlefuire, periere, debavurare, sudare etc. 12

Limbaje de programare pentru roboţi Clasificarea se face după gradul de abstractizare: Nivelul taskurilor Planificarea acțiunilor pe baza descrierii problemei Asamblarea unei mașini de spălat Nivelul obiectelor Comenzi pentru piesele/elementele de prelucrat Cuplează conducta de evacuare Nivelul robot Descrierea traiectoriilor carteziene în frame-uri (cadre), fără detalierea elementelor de prelucrat Move_L1 frame_3 Nivelul articulațiilor Controlul articulațiilor (punct la punt) Articulația 1 30º către stânga Limbajele de la nivelele task layer şi object layer sunt denumite limbaje implicite Limbajele explicite sunt cele care operează la nivelele robot layer şi joint layer 13

Limbaje de programare pentru roboţi Dezvoltarea programelor pentru roboţi industriali Problemă Definirea problemei (caiet de sarcini) Analiză Împărțirea problemei în subprobleme Descrierea soluției Crearea de diagrame bloc orientate pentru probleme și subprobleme Implementare Implementarea soluției într-un limbaj de programare Testarea programului Testarea primară și finală a codului Documentarea programului Documentarea codului și a metodelor utilizate La programele complexe se realizează împărţirea în sub-programe, ce conţin funcţii clare şi diferite 14

Limbaje de programare pentru roboţi Dintre limbajele folosite pentru programarea roboţilor, amintim: MRL Mitsubish Robol Language programare a fost conceput şi folosit de firma Mitsubishi pentru programarea roboţilor săi industriali din primele generaţii încărcate din PC în controller sub formă de fişiere text Controller-ul acţionează ca un interpretor de comenzi, executând instrucţiunile linie după linie, la fel ca la maşinile CNC IRL Industrial Robot Language descrie structura de bază şi modul de realizare a programului de nivel înalt pentru roboţi industriali IRL (Industrial Robot Language) Limbajul permite utilizatorului să programeze mişcările unui robot şi să execute organigrame logice conform unei structuri de program definite de utilizator 15

Limbaje de programare pentru roboţi SLIM Standard Language for Industrial Manipulators construit pe baza modelului limbajului BASIC s-au adăugat instrucţiuni speciale pentru controlul mişcărilor şi pentru tratarea intrărilor/ieşirilor digitale MELFA-BASIC III şi IV Limbaje de programare, de nivel înalt, pentru roboţi industriali este un limbaj de programare pentru roboţi care are la bază limbajul universal BASIC Conține două părţi: o Partea Declarativă: Unde se declară datele utilizatorului (declaraţii de variabile, constante etc.) o Partea de Instrucţiuni: Unde se implementează programul conform cerinţelor aplicaţiei: se controlează mişcările robotului, se realizează comunicaţiile cu echipamentele periferice, cu calculatorul sau cu panoul de control. 16

Limbaje de programare pentru roboţi Python limbaj declarativ care este axat pe programarea pe obiecte Aspectul declarativ se referă la faptul că programele în Python (Py) nu sunt compilate, ele având nevoie de un interpretor: Matlab o Interpretor: este un program utilizat să transforme instrucțiunile Py în cod binar, cel care poate fi rulat pe procesorul calculatorului Conţine librării pentru programarea şi controlul roboţilor Algoritmii disponibili: reprezentarea teatrului de operaţiuni, planificarea mişcării, urmărirea traiectoriei Permite conectarea către ROS (Robot Operating System) Suportă generarea de cod C++, pentru aplicații unde este necesar acest limbaj 17

Contact: Email: gigel.macesanu@unitbv.ro Web: rovis.unitbv.ro 18