Page 39 - MATINF Nr. 4
P. 39
Programarea robot , ilor care folosesc un sistem de rulare Mecanum 39
1 publicclassmecanum{
2 privatedoublevitezaX =0;
3 privatedoublevitezaY =0;
4 privatedoublevitezaZ =0;
5
6 privateDcMotorfront \ l e f t=null ;
7 privateDcMotorfront \ r i g h t=null ;
8 privateDcMotorback\ l e f t=null ;
9 privateDcMotorback\ r i g h t=null ;
10 publicmecanum (DcMotor f l , DcMotor fr , DcMotor bl , DcMotor br ){
11 front \ l e f t=f l ;
12 front \ r i g h t=f r ;
13 back\ l e f t= bl ;
14 back\ r i g h t=br ;
15 }
16
17 privatedoublenormalizeaza (double x){
18 returnMath . min (1 ,Math .max(−1, x ) ) ;
19 }
20
21 publicvoidputereMotoare (){
22 front \ l e f t . setPower (x+y+z ) ;
23 front \ r i g h t . setPower (x−y−z ) ;
24 back\ l e f t . setPower (x−y+z ) ;
25 back\ r i g h t . setPower (x+y−z ) ;
26 }
27
28 publicvoidseteazaCartezian (double x , double y , double z ){
29 vitezaX= x ;
30 vitezaY= y ;
31 vitezaZ= z ;
32 }
33
34 publicvoidseteazaPolar (double deplasare , double unghi , double r o t a t i e ){
35 vitezaX= deplasare ∗Math . cos ( unghi ) ;
36 vitezaY= deplasare ∗Math . sin ( unghi ) ;
37 vitezaZ=normalizeaza ( r o t a t i e ) ;
38 }
39 }
Concluzii
Acest exemplu poate avea nevoie de modific˘ari la semnele axelor de coordonate pentru a
corespunde fiec˘arui robot ˆın parte. Diferent , ele ˆın orientarea motoarelor sau ˆın pozit , iile limit˘a ale
manetelor joystick-urilor pot duce la un tabel de puteri diferit s , i, implicit, la cod us , or schimbat.
De asemenea, acest cod poate fi ˆımbun˘at˘at , it ˆın funct , ie de necesit˘at , ile proiectului, de exemplu
prin ad˘augarea unui giroscop pentru rotat , ii precise ˆın modul autonom.
Avantajul rot , ilor Mecanum fat , ˘a de celelalte tipuri de rot , i const˘a ˆın manevrabilitatea lor,
robotul putˆandu-se deplasa instantaneu ˆın orice direct , ie, f˘ar˘a a roti sau deplasa robotul ˆın
prealabil. Se bucur˘a de o popularitate mare la competit , iile de robotic˘a precum FIRST Tech-
Challenge, FIRST RoboticsCompetition, VEX RoboticsCompetition, mai ales ˆın anii ˆın care
robot , ii nu au nevoie de o putere mare de ˆımpingere.