Capitolul 1. Introducere 2
Capitolul 2. Proiectarea 3
2.1 Sistemul mecanic de susţinere şi al articulaţiilor 5
2.1.1 Software pentru proiectarea sistemului mecanic a 5
brațului robotic
2.2 Schita proiectului 5
2.2.1 Baza fixă a robotului 8
2.2.2 Baza mobilă sau axa 1 de rotatie 9
2.2.3 Segmentul 1 – Axa 2 de rotatie 9
2.2.4 Segmentul 2 – Axa 3 10
2.2.5 Segmentul 3 – Axa 4 11
2.2.6 Efectorul final al brațului robotic 12
2.3 Sistemul de transmisie 13
2.4 Sistemul senzorilor şi al traductoarelor 14
2.5 Sistemul decizional 14
2.6 Scheme electrice 15
Capitolul 3. Programarea 18
Capitolul 4. Funcționarea 27
Capitolul 5. Concluzii 27
1 din 28
Capitolul 1. Introducere
Un robot este un mecanism automat care se poate substitui omului pentru a efectua unele
operatii, fiind capabil să-şi modifice singur ciclul de execuţie (prin detecţie fotoelectrica,
servomotoare, etc).
Un robot este un sistem automat alcătuit din cinci subsisteme de bază:
- sistemul mecanic;
- sistemul de acţionare;
- sistemul de transmisie;
- sistemul senzorilor şi al traductoarelor;
- sistemul de conducere.
Sistemul mecanic stabilește înfățișarea robotului și mișcările posibile pe timp de
funcționare. Sistemul de transmisie are trei funcţii principale:
– produce mişcările robotului;
– transformă mişcările de rotaţie în mişcări de translaţie şi invers;
– reduce mişcările şi amplifică cuplurile.
Sistemul senzorilor și al traductoarelor îi permite “să vadă” mediul care-l înconjoară.
Sistemul de conducere prelucrează informaţia senzorială şi generează comenzi în
conformitate cu sarcina particulară care trebuie îndeplinită.
Conform specialiştilor japonezi robotul este dispozitiv versatil şi flexibil care posedă
funcţii de deplasare similare celor ale membrelor umane sau ale caror funcţii de deplasare sunt
comandate de senzori şi de mijloacele proprii de recunoaştere.
Institutul Francez de Standardizare defineşte robotul ca fiind un manipulator automat
reprogramabil și polivalent, capabil să realizeze poziţionarea şi reorientarea pieselor printr-o
mişcare variabilă și programabilă a braţelor terminale, prin intermediul unor dispozitive;
Institutul American de Robotică consideră robotul ca fiind un operator reprogramabil și
multifuncţional pentru deplasarea obiectelor pe traiectorii stabilite anterior în realizarea unor
sarcini concrete;
În literatura românească de specialitate robotul este definit ca fiind un echipament
automat, adaptabil prin reprogramare la condiţiile de mediu în care acţionează.
* Imagini cu brațul robotic manipulator realizat în anul III Sem 2 – Disciplina Robotica
4 din 28
2.1 Sistemul mecanic de susţinere şi al articulaţiilor
2.1.1 Software pentru proiectarea sistemului mecanic a brațului robotic
Sistemul mecanic de susţinere şi al articulaţiilor (cuplelor de rotaţie şi de translaţie) a fost
proiectat pornind de la formatul propus de catre proiectul open source “ How to Mecatronics “.
Proiectarea si desenarea sistemului mechanic a fost facuta cu ajutorul pachetului CAD –
Autodesk Fusion 360 folosind o licenta gratuita de student și introdus în imprimanta 3D Creality
ENDER 3 Pro cu ajutorul programului ULTIMAKER Cura.
Autodesk Fusion 360 permite lucrul în echipă, ceilalți participanți la proiect fiind înscriși
în același grup de lucru puteau vizualiza în timp real modificările și actualizările. În acest scop
am creat un proiect nou pe care l-am denumit “ proiect scr”.
5 din 28
https://www.orientalmotor.com/motor-sizing/index.html?hsCtaTracking=f24cd0b7-792e-4246-
a809-1f6331235405%7C1a2e428f-08bc-423f-9cb5-36f09902df29
Având în vedere greutatea motoarelor de 55g, respectiv 13.4g s-a decis ca ele să fie
folosite gradual, pe axele inferioare motoarele MG995 iar pe cele superioare cât și pe gripper
motoare SG90.
6 din 28
Servomotor MG995
SPECIFICATII TEHNICE:
Greutate: 55 g
Tensiune de operare: 4.8 - 7.2 V DC
Forta in blocare: 8.5 kgf·cm (4.8 V ), 10 kgf·cm (6 V)
Viteza de operare: 0.2 s/60º (4.8 V), 0.16 s/60º (6 V)
Unghi de rotatie: 120 grade
Roti dintate din metal (aliaj cupru)
Temperatura de functionare: 0 ºC – 55 ºC
Servomotor SG90
Greutate: 13.4g
Tensiune de operare: 4.8V - 6V
Viteza de operare: 0.1 s / 60 grade (la 4.8 V), 0.08 s / 60 grade (la 6V)
Dimensiuni: 22.5 x 12 x 35.5 mm aprox.
Baza fixa a roborului trebuie sa ofere sustinere pentru motorul care v-a roti baza mobile a
sa, impreuna cu celelalte elemente constructive ale bratului robotic.
8 din 28
2.2.2 Baza mobilă sau axa 1 de rotatie
Baza mobilă are același diametru exterior cu cel al bazei fixe și este fixată cu 2 suruburi
de elementul mobil (ax) al motorului montat în baza fixă.
În partea superioară a bazei mobile este montat următorul servomotor care va roti
segmentul 1 al robotului conform schemei din figura 3.
Segmentul 1 al bratului robotic este segment de legătură între baza mobilă și segmentul 2,
nu are atasat direct niciun servomotor, acesta fiind atasat motoarelor de pe baza mobilă respectiv
9 din 28
segmentul 2. La proiectarea acestuia s-a avut in vedere realizarea unui traseu interior prin care
urmeaza a fi pozate cablurile de legatura catre motoarele din partea superioara (axa 3, 4 si
gripper).
10 din 28
In figura 4.1 putem observa schița brațului cu motorul afferent axei 3 model MG995.
Deasemenea în partea stangă a schiței în interiorul segmentului urmeaza a fi montat un
servomotor SG90 care va actiona axa 4.
Segmentul 3 al brațului robotic este cel mai redus în dimensiuni și greutate acesta oferind
un grad de libertate care ajută la poziționarea cât mai precisă a efectorului final cu ajutorul unui
servomotor din gama SG90.
11 din 28
2.2.6 Efectorul final al brațului robotic
Efectorul final (gripperul) reprezinta unealta efectiva de lucru cu care robotul poate apuca
obiectele in functie de sarcina stabilita, are funcţia de a solidariza obiectul manipulat de un
element al dispozitivului de ghidare. Gripper-ul brațului robotic proiectat de echipă este alcatuit
din două roți dințate actionate de un servomotor SG90 și 4 elemente simetrice cîte 2 care asigură
prinderea obiectului de mutat.
12 din 28
- șurubelnița cruce tip PZ1;
- aparat de lipit ;
- patent;
- clește pentru desertizat cabluri electrice;
- șuruburi M3x0.4 pentru fiecare servomotor;
- șuruburi M3x0.6 pentru sustinerea servomotoarelor, filet plastic;
- cabluri electrice;
Detaliile referitoare la asamblarea brațului robotic urmeaza a fi prezentate in capitolul de
asamblare.
Primul sensor are rolul de a “vedea” daca pe locul prestabilit se afla un obiect ce se
doreste a fi manipulat iar cel de-al doilea pentru a detecta daca obiectul a fost plasat in locul
prestabilit, microcontrolerul urmand a afisa utilizatorului un mesaj in acest sens.
14 din 28
Pentru a fi considerat inteligent (sau autonom), un robot are nevoie de un microcontroler
care să proceseze informațiile preluate de senzori să proceseze datele și să ia decizii pe care să le
trimită sub formă de comenzi către elementele de execuție. Partea de programare a regulatorului
a revenit studentului Andrei Lucuță. Microcontrolerul ales pentru acest proiect, după mai multe
dezbateri și discuții în grupul de lucru este Arduino Uno R3.
Initial grupul a ales un microcontroler de tip Arduino Mega 2560, dar pentru a respecta
principiul de costuri scăzute și pentru că numarul de pini PWM pe care Uno R3 îi are este
suficient, decizia a fost schimbată în consecință.
15 din 28
16 din 28
17 din 28
Capitolul 3. Programarea
/*
Proiect S.C.R. - Braț Robot Manipulator
A.I.A. - F.R. grupa 10181
Studenți: Andrei Lucuță
Cristian Nicolescu
Irinel Gogu
*/
#include <Servo.h>
// Alocarea pinilor pentru cele 6 servomotoare
int servopin1=9;
int servopin2=10;
int servopin3=6;
int servopin4=5;
int servopin5=3;
int servopin6=11;
// Alocarea pinului pentru buzzer
int buzzer=4; //4
18 din 28
// Obiectele cu care vom lucra
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
Servo servo6;
initializare();
}
// Funcția pentru mișcarea efectivă a brațului către poziția 1 cu scopul de a îndeplini sarcina
void pozitia1catre2(){
sunet_lucru();
Serial.println("Sarcina detectata, manipulator in miscare! ");
delay(800);
Serial.println(" ... in drum spre pozitia de destinatie 2, pozitia de pick! ");
void pozitia3catre4(){
sunet_lucru();
Serial.println("Sarcina detectata, manipulator in miscare! ");
delay(800);
Serial.println(" ... in drum spre pozitia de destinatie 3, pozitia de place! ");
Serial.print("In mascare: Axa 1 de la " );
Serial.print (pozitie13);
Serial.print( " grade catre ");
Serial.print(pozitie14);
23 din 28
Serial.println(" grade");
for (int i=pozitie13; i>pozitie14; i--) { servo1.write(i);
delay(v);
}
sunet_lucru();
Serial.print("In mascare: Axa 2 de la " );
Serial.print (pozitie23);
Serial.print( " grade catre ");
Serial.print(pozitie24);
Serial.println(" grade");
for (int i=pozitie23; i>pozitie24; i--) { servo2.write(i);
delay(v);
}
sunet_lucru();
Serial.print("In mascare: Axa 3 de la " );
Serial.print (pozitie33);
Serial.print( " grade catre ");
Serial.print(pozitie34);
Serial.println(" grade");
for (int i=pozitie33; i<pozitie34; i++) { servo3.write(i);
delay(v);
}
sunet_lucru();
Serial.print("In mascare: Axa 4 de la " );
Serial.print (pozitie43);
Serial.print( " grade catre ");
Serial.print(pozitie44);
Serial.println(" grade");
for (int i=pozitie43; i<pozitie44; i++) { servo4.write(i);
delay(v);
}
sunet_lucru();
Serial.print("In mascare: Axa 5 de la " );
Serial.print (pozitie53);
Serial.print( " grade catre ");
Serial.print(pozitie54);
Serial.println(" grade");
for (int i=pozitie53; i<pozitie54; i++) { servo5.write(i);
delay(v);
}
sunet_lucru();
Serial.print("In mascare: Axa 6 de la " );
Serial.print (pozitie63);
Serial.print( " grade catre ");
Serial.print(pozitie64);
Serial.println(" grade");
24 din 28
for (int i=pozitie62; i<pozitie64; i++) { servo6.write(i);
delay(v);
}
delay(2000);
}
void miscare(){
Serial.println(" Indepartati-va de raza de actiune a robotului");
pozitia1catre2();
pozitia2catre3();
pozitia3catre4();
pozitia4catre1();
}
void loop() {
}
else{
repaus();
}
Capitolul 4. Funcționarea
Capitolul 5. Concluzii
Această lucrare descrie modul de proiectare execuție și funcționare al unui braț robotic
manipulator, cu o placă Arduino UNO.
Robotul reușește să îndeplinească toate sarcinile pentru care a fost creat, într-un mod
autonom și dispune de un mod de oprire de urgență comandat în caz de avarii.
Întregul ansamblu, reprezintă doar o implementare practică a noțiunilor dobândite în
facultate, aplicațiile sale viitoare putând fi nelimitate. Acesta poate fi folosit în numeroase
aplicații și domenii unde prezența oamenilor este imposibilă sau ostilă, robotul putând fi
comandat de la o distanță sigură.
Principalele limitări actuale ale acestui robot se refera la calitatea, durata de viață a
componentelor și precizia senzorilor.
La nivel software, minusurile dar și domeniul de îmbunătățire pot fi considerate:
dezvoltarea unei aplicații ce foloseste cinematica inversă.
Bibliografie:
Curs Sisteme de conducere a roboților al U.P.G.;
Canalul YouTube „ How to Mechatronics”;
Canalul YouTube „ DroneBot Workshop”;
Canalul YouTube MariusCAD
https://www.robotshop.com/community/tutorials/show/robot-arm-torque-calculator
https://www.orientalmotor.com/motor-sizing/index.html?hsCtaTracking=f24cd0b7-
792e-4246-a809-1f6331235405%7C1a2e428f-08bc-423f-9cb5-36f09902df29
www.arduino.cc
https://github.com/arduino-libraries/Servo.h
Anexe:
27 din 28
Anexa 1. Manual de utilizare al Bratului Manipulator
Anexa 2. Manual de asamblare al Bratului Manipulator
Anexa 3. Lista de cumparaturi
Anexa4. Lista componentelor printate 3D cu fisierele CAD aferente
28 din 28