Task 1 o prezentare introductiva despre mediul V -rep [627556]

Task 1 –o prezentare introductiva despre mediul V -rep

Din [1] poti extrage o descriere generala despre arhitectura, tipuri de simulari (senzori,
articulatii, traiectorii, etc.) si despre module software (cinematica, dinamica, detectare
coliziune, planificare traiectorie/miscare). O comparatie cu alte solutii de simulare gasesti în
[2]. Mai poti gasi în [3] alte informatii.

ABSTRACT
Cu trecerea timpului, tehnologia a avansat fulgerator, dezvoltandu -se treptat o multime de
tehnologii inovatoare pentru robotizarea proceselor de fabricatie. Astazi, exista multi
producatori si o multitudine de produse pentru a satisface orice nevoie în robotica, iar
inovatiile continua sa apara. Se pot realiza diferite integrari între produse pentru a cre a
dispozitivul robotizat perfect pentru orice aplicatie prevazuta. Cu toate acestea insa, având în
vedere ca exista multe produse diferite pe piata, ar putea fi destul de dificil sa gasiti potrivirea
perfecta. Pentru aceasta problema, Coppelia Robotics ofe ra o solutie excelenta pentru a
simula o celula robotizata: V -REP, platforma virtuala de experimentare a robotilor.
Aceasta platforma reprezinta un cadru de simulare robot cu scop general, versatil, scalabil,
portabil și flexibil care permite încorporarea directă a diferitelor tehnici de control.Astfel,
simulările și modelele de simulare devin mai accesibile pentru publicul larg, prin reducerea
complexității implementării modelului de simulare, crescand totodata si productivitatea
oferind funcționalități in tegrate și gata de utilizare, precum și o multitudine de abordări de
programare.

1.Introducere
Creșterea exponențială a puterii de procesare a computerelor împreună cu multitudinea de
standarde software și hardware a schimbat drastic peisajul în domeniul simulării roboticii
(3D). Acesta schimbare a permis mai multă complexitate pe desktop si a oferit posibilitatea
de a rula simulări (în timp real) cu hardware în buclă sau de a avea sisteme mobile /
încorporate controlate dintr -un cadru de simulare.
Practi c, un simulator robot cu scop general trebuie să ofere simultan multe instrumente și
funcționalități, eliminând simultan sistemele robotice care stau la baza și complexitatea
acestora, deoarece nu pot fi prevăzute specificități ale sistemului, intrucat se dorește o
abordare flexibilă a controlerului, care poate fi portabilă și ușor codificată, generalizabilă la
diverse modele și scalabilă.
În prezent există mai multe platforme de simulare robot, disponibile, de exemplu Open HRP
[1], Gazebo [2] sau Webots [3 ]. Platforma virtuală de experimentare a robotului [4] – sau pur
și simplu simulatorul V -REP – este rezultatul unui efort încercând să conceapă toate cerințele
într-un cadru de simulare versatil și scalabil. Pe lângă oferirea abordărilor tradiționale găsi te
și în alte simulatoare, V -REP adaugă câteva abordări suplimentare.

In cazul in care se dorește construirea de scenarii de simulare complexe, atunci solutia
inevitabila este un cadru de control distribuit, astfel se simplifică sarcina prin
compartimentar ea controlului entități, accelerează simularea distribuind încărcarea
procesorului pe mai multe nuclee sau mai multe mașini și permite un model de simulare să fie
controlat prin executarea codului autohton. Cu toate acestea, există cerințe de simulare care
nu ar trebui uitate în atingerea acestui obiectiv. Unul dintre aspectele cele mai importante și
deseori neglijate este flexibilitatea, portabilitatea și scalabilitatea modelului de simulare.Alte
cerințe de control de simulare sunt legate de bucla de simul are. Unele elemente necesită
sincronizarea cu bucla de simulare (adică executat în același moment la fiecare trecere de
simulare).

II
In ceea ce priveste tehnicile generale comune oferite de platforma V -REP, putem sublinia
aspecte referitoare laexecuția codului de control al unei simulări sau a unui model de
simulare, unde se utilizeazaurmătoarele trei tehnici: fie este executat pe o altă mașină, fie
este executat pe aceeași mașină, dar într -un alt proces decât bucla de simulare, fie este
executat pe ace eași mașină și în același fir ca și bucla de simulare.Prima tehnica are ca
avantaj principal originalitatea controlerului (codul de control poate fi nativ și rulează pe
hardware -ul original), avand si o complexitate de calcul redusă pe mașina de simulare, dar pe
de altă parte, această abordare impune limitări grave în ceea ce privește sincronizarea cu
bucla de simulare și întârzierea / decalarea comunicării dictată de rețea.Cea de a 2 -a tehnica
ofera o utilizare echilibrată pe nucleele procesorului, dar ace asta vine însoțită de o lipsă de
sincronizare cu bucla de simulare, această tehnică de control fiind adesea implementată prin
executabile externe sau plugin -uri încărcate de simulator.Ultima tehnica are ca principal
avantaj sincronizarea inerentă cu bucla de simulare și absența oricărei execuții, comunicări
sau întârziere sau întârziere de comutare a firului,insa acest lucru suprasolocita nucleul
procesorului de buclă de simulare, această tehnică de control fiind adesea implementată prin
intermediul plug -in-urilor încărcate de simulator.Cele mai frecvente implementări ale acestor
tehnici confera insa o portabilitate slabă și o slabă scalare a modelelor de simulare, iar in ceea
ce priveste flexibilitatea, si aceasta este redusă, deoarece ar trebui să recompi lăm și să
reîncărcăm un plug -in executabil / plug -in pentru fiecare modificare a codului mic.
In ceea ce priveste partea de implementare, platforma V -REP permite utilizatorului să aleagă
între diferite tehnici de programare simultan și chiar simbiotic.
Astfel, avem scripturi încorporate. ce reprezintă cea mai puternică și distnctvă
caracteristcă a V -REP. Bucla principală de simulare este un script simplu Lua ,numit script
principal, parte a unei scene de simulare date, care gestonează funcționalitatea ge nerală .
Scriptul principal este, de asemenea, responsabil de apelarea "scripturilor copil" în mod
cascada Un script copil, spre deosebire de scriptul principal, este atașat la un obiect specifc
din scena de simulare și gestonează o anumită parte a simulă rii. Este o parte integrantă a
obiectului său de scenă și va f duplicat și serializat, împreună cu acesta. Ca atare, reprezintă
un element de control perfect portabil și scalabil: există un singur fșier care conține defniția
modelului împreună cu controlul sau funcționalitatea acestuia, nu există nicio problemă de
compatbilitate pe platorme, nu este nevoie de compilare explicită.

De asemenea, raportandu -ne tot la partea de implementare mai exista plug -in-urile sunt
utilizate în V -REP ca instrument comod de personalizare a simulatorului. Acestea pot
înregistra comenzi personalizate Lua, permițând executarea funcțiilor de apelare rapidă dintr –
un script încorporat, sau Interfața API de la distanță în V -REP permite interacțiunea cu V –
REP sau o simulare, de la o entitate externă prin comunicare prin socket. Este compus de
servicii server la distanță API și clienți API la distanță etc.

III. FUNCȚIONALITATEA DE SIMULARE

V-REP este proiectat în jurul unei arhitecturi versatile. Nu există funcționalitate
principa lă sau centrală în V -REP.Funcționalitatea este legată de obiecte de scenă specifice
sau de module de calcul specifice, ambele sunt descrise în continuare.
A. Obiecte de scenă
O scenă de simulare V -REP, sau model de simulare conține mai multe obiecte de sc enă sau
obiecte elementare care sunt asamblate într -o ierarhie asemănătoare arborelui.Următoarele
obiecte de scenă sunt acceptate în V -REP:

Îmbinări/Joints: îmbinările sunt elemente care leagă două sau mai multe obiecte de scenă
împreună cu unul până la t rei grade de libertate. Ele pot funcționa în diferite moduri (de
exemplu, modul forță / cuplu, modul cinematc invers) etc.

Forme/Shapes: formele sunt ochiuri triunghiulare, utilizate pentru simulare și vizualizare a
corpului rigid. Ele pot fi opti mizate pentru calcularea rapidă a răspunsului la coliziune
dinamică, ca o grupare de forme primitive sau convexe. Alte obiecte de scenă sau module de
calcul se bazează foarte mult pe forme pentru calculele lor (senzori de proximitate, modulul
de dinamică s au modulul de calcul al distanței de plasă -plasă, de exemplu).

Senzori de proximitate : efectuează un calcul exact al distanței minime față de partea unei
forme conținut într -un volum de detectare configurabil, spre deosebire de efectuarea pur și
simplu a detectării bazate pe raze. Aceasta duce la o operare mai continuă și permite, astel, o
simulare mai realistă.

Senzori de viziune: senzorii de vedere permit extragerea informațiilor complexe ale imaginii
dintr -o scenă de simulare (culori, mărimi ale o biectelor, hărți de adâncime etc.). O funcție de
filtrare și procesare a imaginilor încorporată permite compoziția blocurilor de elemente de
filtrare. Senzorii de viziune utilizează accelerația hardware pentru achiziția imaginii brute
(OpenGL).

Senzori de forță: reprezintă legături rigide între forme, care pot înregistra forțele aplicate și
cuplurile, și care se pot despărți condiționat atunci când este depășit un prag dat.

Grafice/Graphs: graficele pot înregistra o mare varietate de fluxuri de date pr edefinite sau
personalizate. Fluxurile de date pot fi apoi afișate direct (graficul de timp al unui tip de date
dat), sau combinate între ele pentru a afișa grafice X / Y sau curbe 3D.

Camere foto: permit vizualizarea scenelor atunci când sunt asociate cu un portofoliu.

Lumini: luminile luminează o scenă sau obiecte individuale ale scenei și infuențează direct
camerele sau senzorii de vedere.

Căi/Paths: permit definiții complexe ale mișcării în spațiu (succesiunea traducerilor, rotirilor
și / sau pauzelor liber combinabile) și sunt utilizate pentru ghidarea lanternei unui robot de
sudare de -a lungul unei traiectorii predefinite sau pentru a permite mișcări ale benzii
transportoare, de exemplu.

Manechine/Dummies: un manechin este un cadru de r eferință, care poate fi utlizat pentru
diferite sarcini și este utilizat în principal împreună cu alte obiecte de scenă și, ca atare, pot fi
vazute ca " ajutoare" ·

Mills: reprezintă volume convexe personalizabile care pot fi utilizate pentru simulați
operațiile de tăiere a suprafeței pe forme (de exemplu, frezare, tăiere cu laser etc.).

A. Module de calcul
Obiectele de scenă sunt rareori utilizate de unul singur, ele funcționează mai degrabă pe (sau
în combinație cu) alte obiecte de scenă (de exemplu , un senzor de proximitate va detecta
forme). În plus, V -REP oferă mai multe module de calcul care pot opera direct pe unul sau
mai multe obiecte de scenă. Următoarele module de calcul sunt:

Modulul cinematic: permite calcule cinematice (înainte / inver s) pentru orice tip de mecanism
(ramificat, închis, redundant etc.). Modulul se bazează pe calcularea pseudoinversei cele mai
mici pătrate amortizate. Suporta rezoluție condiționată, amortizată / nedeteriorată și
ponderată.

Modul dinamic: permite manipul area și interacțiunea rigidă a dinamicii corpului (răspunsul la
coliziune, apucarea etc.) prin intermediul Bullet Physics Library și Open Dynamics Engine .
Simulările bazate pe dinamică sunt încă la inceput de drum și deseori bazate pe aproximări,
importa nt fiind să nu ne bazăm doar pe un singur motor de fizică, pentru a valida rezultatele.

Modulul de detectare a coliziunilor: permite verificarea rapidă a interferențelor între orice
formă sau colecție de forme. Acest modul este complet independent de al goritmul de calcul al
răspunsului la coliziune al modulului dinamic. Utilizează structuri de date bazate pe un arbore
binar de căsuțe de delimitare orientate pentru accelerații. Optimizarea suplimentară este
obținută cu ajutorul unei tehnici de cache a tem porală a coerenței.

Modulul de calcul al distanței cu ochiuri de plasă: permite calcule rapide ale distanței minime
între orice formă (convexă, concavă, deschisă, închisă etc.) sau colecția de forme. Modulul
utilizează aceleași structuri de date ca și modulul de detectare a coliziunilor. O optimizare
suplimentară este, de asemenea, obținută printr -o tehnică de cache a coerenței temporale.

Modul de planificare a căii / mișcării: gestionează sarcini de planificare a traseului holonomic
și sarcini de pl anificare a traseului ne holonomic (pentru vehicule asemănătoare cu o mașină)
printr -o abordare derivată din algoritmul RORT -Explorly Random Tree (RRT) [1 3]. Sunt
susținute și sarcinile de planificare a căilor lanțurilor cinematce.

Pentru versatilitate, modulele de mai sus sunt implementate într -un mod general, fără a face
ipoteze cu privire la scenele sau modelele de simulare de bază. Scopul de a le integra în
VREP, în loc să se bazeze pe bibliotecile externe este oarecum similar cu scopul de a avea
scripturi încorporate.
În schimb,necesită un set bun de instrumente de bază. Dacă acestea sunt integrate în
simulatorul și definițiile sarcinilor lor direct atașate modelelor de simulare, apoi modelele
devin extrem de portabile: distribuția unui model de simu lare la o mașină sau platormă
diferită se face printr -un singur fișier model; nu este necesară distribuirea, recompilarea,
instalarea sau reîncărcarea unui plug -in.
Într-un mod similar, acest lucru face ca modelele să fie foarte scalabile: modelele duplic ate
sunt funcționale automat, fără a fi necesară modificarea unui cod sursă. Procesul de duplicare
poate avea loc chiar și în timpul simulării.
Abordarea tradițională de extindere a funcționalității prin intermediul unui plug -in, pentru a
susține un model de simulare specific, este desigur acceptată și în V -REP.

Similar Posts