Alegerea celui mai bun controler de motor pentru dezvoltarea aplicațiilor de robotică

by gabi

Introducere

Roboții, utilizați în principal în fabrici, cum ar fi echipamentele de producție industrială, se răspândesc rapid în spațiile în care trăim și lucrăm, pe fondul lipsei forței de muncă și al creșterii costurilor cu aceasta, iar aplicațiile lor se extind. În special, roboții din domeniul serviciilor sunt prezenți într-o mare varietate de domenii, cum ar fi logistica și construcțiile, îngrijirea medicală, precum sistemele ‘Power assist’ și de suport chirurgical, electrocasnicele, unde roboții pentru curățenie sunt utilizați pe scară largă, dar și birourile pentru îndrumarea în cadrul companiei și suportul pentru gătit. În acest articol, ne vom concentra pe cerințele și tehnologia de bază necesare pentru dezvoltarea roboților pentru servicii, controlul motoarelor și vom prezenta soluții care rezolvă provocările cu care se confruntă inginerii implicați în dezvoltarea de noi roboți pentru servicii.

Robot pentru servicii

Roboții pentru servicii asistă și sprijină acțiunile și sarcinile efectuate de oameni, iar adoptarea lor progresează rapid, în special în locurile de muncă în care riscul de utilizare este scăzut. Se așteaptă ca aplicațiile să se extindă în continuare, iar piața să crească în mod constant. Există diverse tendințe tehnologice în funcție de aplicație, precum și de cerințele privind detectarea obstacolelor în regim de autopropulsie, de utilizare a inteligenței artificiale (AI) pentru cartografierea informațiilor de poziție, de recunoaștere imagini/voce, de operare la distanță, de analiză a datelor, de cooperare cu alți roboți, de performanță în materie de siguranță etc.

Domeniu Aplicații ale robotului Tendință de piață
Construcții, Logistică, Transport, Infrastructură Transportul materialelor de construcție, transportul în interiorul fabricilor, inspecția echipamentelor, conducerea automată a mașinilor agricole Introducerea roboților se accelerează ca mijloc de economisire a forței de muncă și de transport. Roboții fără echipaj joacă un rol activ în munca în locuri periculoase, cum ar fi inspecțiile de infrastructură. Se așteaptă o creștere solidă în viitor.
Asistență/îngrijire medicală ‘Power Assist’, suport chirurgical, suport pentru independență/asistență Scopul este de a rezolva deficitul de forță de muncă și de a reduce povara asupra lucrătorilor. Se așteaptă o creștere stabilă, axată pe roboți de asistență și tractoare electrice pentru transportul încărcăturilor grele, roboți care reduc povara îngrijirii medicale, endoscoape și distribuție de medicamente.
Birou/Magazin Curățenie/securitate, casă de marcat, gătit, ghidare La fel ca și în cazul utilizării domestice, cererea de economisire a forței de muncă pentru treburile casnice determină creșterea pieței roboților pentru servicii de gătit și servire.
Utilizare casnică Curățenie, robot pentru comunicare Pe fondul roboților de curățenie casnică, piața roboților din domeniul serviciilor a fost ridicată, iar cererea este de așteptat să continue să crească, constant, în viitor.

Tabelul 1: Categorii de roboți pentru servicii și tendințe de piață

Cea mai importantă și cea mai comună tehnologie de bază este controlul părților mobile ale robotului. În plus, tehnologia fundamentală este controlul motorului, element indispensabil pentru locomoție și mișcarea articulațiilor. Pornind de la acest control al motorului, se poate spune că roboții sunt aplicații compozite care combină funcții pentru fiecare scop în parte. Există mai multe tipuri de motoare utilizate în roboți, dar dezvoltatorii trebuie să înțeleagă tipurile de motoare și controlul acestora în conformitate cu cerințele roboților pentru servicii.

De exemplu, următoarele trei tipuri de motoare sunt tipice pentru roboții din domeniul serviciilor.

Tipul de motor instalat în partea mobilă a robotului pentru servicii

Motor de curent continuu fără perii

Motoarele de curent continuu fără perii sunt mici și ușoare și se caracterizează printr-o disipare excelentă a căldurii și o durabilitate ridicată. În plus, pentru control sunt necesare circuite dedicate, cum ar fi microcontrolere (MCU) și module de alimentare; controlabilitatea este bună, fiind posibil controlul cuplului și al vitezei de rotație dorite. În plus, are avantajele unei durate de viață lungi, ale unei întrețineri superioare și ale unei silențiozități excelente. Detectarea poziției poate fi selectată în funcție de aplicație, cum ar fi senzori Hall, rezistențe de șunt și codificatoare. Foarte potrivit pentru aplicații cu sarcini și viteze variabile.

Motor pas cu pas

Un motor pas cu pas este un motor a cărui poziție a axei poate fi controlată cu ușurință. Este relativ ieftin și are o gamă largă de utilizări. Se generează un impuls din partea de control, se trimite o comandă către motorul pas cu pas prin intermediul driverului și acționează funcția de control în buclă deschisă. Este, de asemenea, potrivit pentru instalarea în roboții industriali care trebuie să își schimbe frecvent poziționarea. Cu toate acestea, deoarece nu este un control cu reacție, are dezavantaje, cum ar fi zgomotul și lipsa unui control fin al suprimării vibrațiilor. În plus, deoarece cuplul este scăzut la rotații de mare viteză, este dificil de accelerat și este posibil să nu fie posibilă menținerea unei viteze constante. În funcție de tipul de robot, ar putea să nu fie posibilă utilizarea acestuia.

Servomotor

Servomotoarele sunt capabile să controleze poziția și viteza cu o precizie ridicată. Prin urmare, este scump, dar are performanțe ridicate, astfel încât este utilizat în echipamentele de producție din fabrici. Mecanismul prin care comenzile sunt trimise de la partea de control la motor prin intermediul generatorului de impulsuri și al driverului este același cu cel al unui motor pas cu pas, dar diferența constă în faptul că există o reacție de la motor la driver și de la driver la generatorul de impulsuri. Servomotoarele sunt acționate prin control în buclă de reacție cu ajutorul unui driver, cum ar fi utilizarea unui codificator pentru detectarea poziției.

Cuplul ridicat poate fi menținut chiar și în timpul rotirii la viteză mare, iar scăderile și abaterile de viteză sunt puțin probabil să apară.

Configurația sistemului robotului pentru servicii

Configurația hardware a roboților pentru servicii este, în general, structurată în controlul motorului, cum ar fi piesele mobile menționate mai sus, și controlul sistemului, care gestionează întregul robot. Este posibil să se construiască controlul sistemului și controlul motorului într-un singur sistem pe cip (SoC) mare, dar cerințele pentru procesarea din partea motorului, care necesită performanțe în timp real și partea de sistem, care încorporează HMI, recunoașterea imaginii/vorbirii și AI în sistemul gazdă sunt foarte diferite. Prin urmare, dacă este încorporat în același SoC, pot apărea conflicte de bus din cauza comunicației intra-chip și a accesului la memorie, iar performanța în timp real a motorului poate fi mult redusă. În plus, există diverse cerințe de sistem, inclusiv dezvoltarea de loturi mici, combinații complexe, precum și adăugarea de noi funcții, astfel încât nu este realist să se dezvolte un SoC de fiecare dată din cauza riscului ridicat al costurilor de dezvoltare și al orelor de lucru pentru dezvoltare. În general, este avantajos din punct de vedere al eficienței dezvoltării să se separe hardware-ul în două părți: partea de control al sistemului și partea de control al motorului, să se selecteze microcontrolerul sau microprocesorul optim pentru fiecare dintre acestea și să se realizeze comunicația de date utilizând o frecvență intermediară (IF) comună. În ceea ce privește motorul, chiar dacă în aplicațiile pentru roboții de servicii se utilizează diferite tipuri de motoare, nu există o mare diferență în ceea ce privește configurația hardware necesară. Cu alte cuvinte, cea mai mare parte a hardware-ului și a software-ului poate fi reutilizată, iar din perspectiva eficienței dezvoltării și a reducerii costurilor, este benefică crearea unei platforme pentru partea de motor ca tehnologie comună pentru sistemele robotice.

  ‘Power Assist’ Vacuum Robot Robot pentru servicii AGV
Controlul sistemului Detectarea mișcării umane prin senzori. Detectarea prafului și cartografierea informațiilor de localizare prin procesarea senzorilor și a camerelor de luat vederi. Evitarea obstacolelor prin procesarea senzorilor și a camerelor de luat vederi. Recunoaștere vocală. Evitarea obstacolelor prin procesarea senzorilor și a camerelor de luat vederi.
Aplicație a motorului Actuator, Braț robotizat. Perie de curățat, Mișcare. Braț robotizat în mișcare, Mișcare. Control conveior, Braț robotizat, Mișcare.

Tabelul 2: Controlul tipic al sistemului și controlul motorului pentru fiecare robot pentru servicii

Microcontroler pentru controlul motorului

Performanța în timp real este o cerință esențială pentru microcontrolerele destinate roboticii, în special pentru controlul motoarelor. În cazul în care performanța în timp real lipsește, există cazuri în care capacitatea de reacție la valorile indicate se deteriorează, iar performanța de siguranță scade. La un robot elementar, microcontrolerul pentru controlul motorului primește instrucțiuni privind poziția și cuplul motorului de la partea de control a sistemului gazdă, calculează informațiile de poziție și valoarea curentă primite de la motor în același timp, le compară cu valoarea instrucțiunilor și modifică forma de undă PWM. Pentru a îndeplini aceste cerințe, microcontrolerele optimizate pentru controlul motorului, cum ar fi liniile de produse RA-T bazate pe nucleul Arm din familia RA de la Renesas, oferă performanțe specializate pentru controlul motorului și funcțiile periferice, precum funcțiile analogice și timerele PWM. În plus, acestea dispun de periferice de comunicație, de exemplu, interfețe seriale și CAN și de performanțe de procesare paralelă pentru sarcinile de control al motorului.

Memorie flash rapidă

În general, atunci când procesorul accesează o memorie lentă, acesta așteaptă ca accesul să fie finalizat, astfel încât memoria cache este utilizată pentru a reduce această încărcare. Însă, în programele de control al motoarelor, procesarea ramurilor și întreruperile apar frecvent, ceea ce cauzează pierderi de memorie cache și degradarea performanțelor. Prin urmare, memoria flash de mare viteză reduce pierderile chiar și în cazul ratării memoriei cache și obține performanțe în timp real cu fluctuații mici.

Accelerator pentru controlul motoarelor

Figura 1: Efectul acceleratorului hardware. (Sursă imagine Renesas)

Unitățile TFU (Trigonometric Function Unit) și un accelerator IIRFA (IIR Filter Accelerator) destinat calculelor de mare viteză pentru controlul motoarelor sunt, de asemenea, importante. TFU se ocupă de calculul rapid al funcțiilor sinf, cosf, atan2f și hypotf și excelează în transformările de coordonate controlate de vectori. Similar, IIRFA poate fi aplicată la filtrele de tip ‘notch’ pentru a suprima rezonanța mecanică. Coeficienții și datele de întârziere pot fi salvate în memoria locală, astfel încât rezultatele calculelor pot fi obținute prin simpla setare a valorilor de intrare. Deoarece aceste acceleratoare suportă doar elementele de bază ale controlului motorului, ele pot fi aplicate cu ușurință la diverși algoritmi existenți.

Aceste două caracteristici specifice performanțelor în timp real reduc variabilitatea performanțelor și scad foarte mult sarcina CPU. Ca urmare, se asigură suficient timp pentru alte prelucrări decât controlul motorului, iar coexistența cu prelucrări, care nu au loc în timp real, cum ar fi comunicația cu partea de control a sistemului, devine posibilă.

Figura 2: Exemplu de configurare hardware care combină microcontrolere RA6M5/RA6T2 bazate pe micro-ROS. (Sursă imagine Renesas)

Soluția Micro-ROS

Până acum, am explicat din perspectiva controlului motorului, dar în dezvoltarea reală a aplicațiilor robotice, controlul sistemului și controlul motorului sunt combinate într-o manieră complexă, astfel încât, atunci când proiectăm, încercăm cât mai mult posibil. Pentru a reduce riscul de dezvoltare, este preferabilă o arhitectură simplă. ROS (Robot Operating System) este un software ‘open source’ utilizat pentru dezvoltarea roboților. Deoarece ROS suportă mai multe limbaje informatice, cum ar fi C++ și Phyton, este posibil să se dezvolte roboți folosind limbaje familiare și ușor de utilizat. Renesas dezvoltă o soluție micro-ROS, un proiect cu sursă deschisă pentru utilizarea ROS 2, a doua generație a ROS, cu microcontrolere. Prin realizarea nodurilor ROS 2 pe microcontrolere și prin utilizarea unui cadru comun, este posibilă interoperarea cu roboții convenționali și cu senzorii și dispozitivele IoT.

Rezumat

Piața roboticii se extinde rapid din cauza lipsei forței de muncă și a creșterii costurilor cu aceasta. Controlul motorului, indispensabil pentru funcționarea acestor roboți, necesită comunicație pentru cooperarea cu sistemul gazdă, pe lângă controlul motorului, care stă la baza acestuia, astfel încât este de preferat un microcontroler care poate controla mai multe sarcini în timp real sau care nu sunt de timp real (Non-RT). RA6T2 din familia RA de la Renesas răspunde acestei nevoi prin încorporarea unei memorii flash de mare viteză și a unor acceleratoare hardware pentru funcții trigonometrice și filtrare IIR pentru a reduce timpul de procesare pentru controlul motorului și a permite efectuarea altor sarcini. Aceste funcții sunt chei de căutat.

Autor: Naoki Abe
Renesas Electronics Europe  |   https://www.renesas.com

S-ar putea să vă placă și