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.
   34   35   36   37   38   39   40   41   42   43   44