Բովանդակություն:

Ինչպես գրել պարզ շարժիչ `FRC (Java) համար. 12 քայլ (նկարներով)
Ինչպես գրել պարզ շարժիչ `FRC (Java) համար. 12 քայլ (նկարներով)

Video: Ինչպես գրել պարզ շարժիչ `FRC (Java) համար. 12 քայլ (նկարներով)

Video: Ինչպես գրել պարզ շարժիչ `FRC (Java) համար. 12 քայլ (նկարներով)
Video: Ինչպես պարզել, որ ձեր դիմաց ՉԱՐ մարդ է․ Այս նշանները կօգնեն հասկանալ դա 2024, Հուլիսի
Anonim
Ինչպես գրել պարզ շարժիչ `FRC (Java) - ի համար
Ինչպես գրել պարզ շարժիչ `FRC (Java) - ի համար

Սա ձեռնարկ է, թե ինչպես պատրաստել պարզ շարժիչ ՝ FRC ռոբոտի համար: Այս ձեռնարկը ենթադրում է, որ դուք գիտեք, որ java- ի, խավարման և արդեն տեղադրված wpilib- ի հիմունքները, ինչպես նաև CTRE գրադարանները:

Քայլ 1:

Պատկեր
Պատկեր

Բացեք Eclipse- ը

Քայլ 2. Ստեղծեք նոր ռոբոտային նախագիծ

Ստեղծեք նոր ռոբոտային նախագիծ
Ստեղծեք նոր ռոբոտային նախագիծ
Ստեղծեք նոր ռոբոտային նախագիծ
Ստեղծեք նոր ռոբոտային նախագիծ
Ստեղծեք նոր ռոբոտային նախագիծ
Ստեղծեք նոր ռոբոտային նախագիծ
Ստեղծեք նոր ռոբոտային նախագիծ
Ստեղծեք նոր ռոբոտային նախագիծ
  1. Աջ սեղմեք փաթեթի հետազոտողի վրա, կտտացրեք նոր, ապա ՝ այլ:
  2. Ոլորեք ներքև մինչև չտեսնեք WPILib Robot Java Development- ը (եթե դա չեք տեսնում, ապա wpilib ռեսուրսները տեղադրված չեն):
  3. Կտտացրեք Robot Java Project- ին
  4. Այնուհետև լրացրեք ծրագրի անունը և կտտացրեք հրամանի վրա հիմնված ռոբոտի նախագծի տեսակին: (Փաթեթը պետք է արդեն լրացված լինի և նույնը լինի սիմուլյացիոն աշխարհի հետ):

Քայլ 3: Ստեղծեք/լրացրեք RobotMap- ը

Ստեղծել/լրացնել RobotMap
Ստեղծել/լրացնել RobotMap
Ստեղծել/լրացնել RobotMap
Ստեղծել/լրացնել RobotMap

Ստեղծեք վերջնական փոփոխականներ, որոնք պարունակում են տարբեր talon նավահանգիստների քանակ:

Քայլ 4. Leteնջել օրինակ հրամանը և օրինակ ենթահամակարգը

Exampleնջել օրինակ հրամանը և օրինակ ենթահամակարգը
Exampleնջել օրինակ հրամանը և օրինակ ենթահամակարգը
Exampleնջել օրինակ հրամանը և օրինակ ենթահամակարգը
Exampleնջել օրինակ հրամանը և օրինակ ենթահամակարգը

Քայլ 5: Ստեղծեք DriveTrainSubSystem

Ստեղծեք DriveTrainSubSystem
Ստեղծեք DriveTrainSubSystem
Ստեղծեք DriveTrainSubSystem
Ստեղծեք DriveTrainSubSystem
Ստեղծեք DriveTrainSubSystem
Ստեղծեք DriveTrainSubSystem
  1. Ստեղծեք նոր կոնստրուկտոր նոր ստեղծված drivetrain ենթահամակարգում: Այնուհետև ստեղծեք CANTalon առարկաներ, որոնք համապատասխանում են շարժիչով շարժիչի վրա:
  2. Ստեղծեք RobotDrive, որը կոչվում է Drive
  3. Նշեք այս օբյեկտները կոնստրուկտորում (համոզվեք, որ օգտագործեք ռոբոտների քարտեզում մեր ստեղծած թալանների արժեքները): Robot Drive- ի համար մենք կօգտագործենք 4 շարժիչ վերահսկիչ օգտագործող կոնստրուկտորը (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Այնուհետև ստեղծեք arcadeDrive () մեթոդը երկու մուտքային փոփոխականներով, որտեղ x- ն առաջ է և հետընթաց, իսկ y- ն ՝ աջ և ձախ: Ներսում դուք կկոչեք drive.arcade ՝ առաջ և պտտվող արժեքներով
  5. Այնուհետև փոխեք initDefaultCommand () - ը ՝ պարունակելու համար setDefaultCommand տողը (նոր DriveTrainCommand ());.
  6. Մի անհանգստացեք դեռ բոլոր սխալների համար:

Քայլ 6. Ստեղծեք DriveTrainCommand

Ստեղծեք DriveTrainCommand- ը
Ստեղծեք DriveTrainCommand- ը
Ստեղծեք DriveTrainCommand- ը
Ստեղծեք DriveTrainCommand- ը
Ստեղծեք DriveTrainCommand- ը
Ստեղծեք DriveTrainCommand- ը
Ստեղծեք DriveTrainCommand- ը
Ստեղծեք DriveTrainCommand- ը
  1. Նախ սկսեք գնալ այն ընտրացանկից, որը մենք օգտագործել ենք ենթահամակարգը ստեղծելու համար, և ռոբոտը ինքն է նախագծում (սա վերջին անգամն է, որ ապագա քայլերում այս փաստացի քայլը ցույց կտամ, կասեմ ՝ պարզապես հրաման տալու կամ կատարելու համար ենթահամակարգը և ենթադրեք, որ այն գտնվում է այս ընտրացանկում:) Կտտացրեք հրամանին և դասի անունը լրացրեք DriveTrainCommand- ով (եթե փոխեք այս ֆայլի անունները, չեք կարող դրանք նույնը լինել):
  2. Նոր DriveTrainCommand- ում կտեսնեք, որ կա 6 եղանակ, որոնցից մեկը կառուցապատողն է, իսկ մյուս 5 -ը ՝ կոդի մասեր, որոնք ռոբոտը կզանգահարի հրամանի գործարկման ժամանակ: Մենք գիտենք, թե ինչ է անում կոնստրուկտորը, ինչը թույլ է տալիս բացատրել Initialize, execute, isFinished, ավարտ և ընդհատում: Initialize- ը կոչվում է ամեն անգամ, երբ հրամանը կանչվում է, կատարման մեթոդը շարունակաբար կանչվում է մինչև հրամանի ավարտը, ինչը պայմանավորված է the is finish- ով isFinished մեթոդը true- ի վերադարձնելու դեպքում հրամանը կդադարի գործել, իսկ end մեթոդը կոչվում է isFinished- ից հետո մեկ անգամ մեթոդը կանչվում է, իսկ ընդհատվածը `երբ հրամանների ռեսուրսները օգտագործվում են մեկ այլ հրամանով և հրամանը կավարտվի (առանց վերջի մեթոդի կանչման):
  3. Սկզբում DriveTrainCommand- ում կոնստրուկտորում անհրաժեշտ է ավելացնել պահանջվող տողը (պահանջում է (Robot. DriveTrainSub)) նկատել, որ DriveTrainSub- ը նույնը չէ, ինչ ենթահամակարգի անունը, և դա դիտմամբ է:

Քայլ 7: Անցեք ռոբոտին

Անցնել Robot- ին
Անցնել Robot- ին
Անցնել Robot- ին
Անցնել Robot- ին
Անցնել Robot- ին
Անցնել Robot- ին
Անցնել Robot- ին
Անցնել Robot- ին
  1. Հաջորդը մենք պատրաստվում ենք անցնել Ռոբոտների դասարան
  2. ապա մենք պատրաստվում ենք փոխել տողը (հանրային ստատիկ վերջնական Օրինակ Example ենթահամակարգ օրինակ Սուբսիստեմ = նոր օրինակ Սուբսիստեմ ();) դեպի (հանրային ստատիկ վերջնական DriveTrainSubsystem DriveTrainSub = նոր DriveTrainSubsystem ();) նկատի ունենալ, որ վերջնական անունից առաջին անունը նույնն է, ինչ ենթահամակարգի անվանումը և անունը նորից հետո նաև նկատեք, որ DriveTrainSub- ը նույնն է, ինչ մենք տեղադրել ենք մեր վերջին քայլին, և որ այն նույնը չէ, ինչ ենթահամակարգի անունը (Դուք ՊԵՏՔ է ունենաք օբյեկտի անուն (DriveTrainSub), որը նույնը չէ, ինչ ենթահամակարգը Անուն).
  3. Այնուհետեւ ներմուծեք մեր DriveTrainSubSystem- ը:
  4. Հաջորդը մենք կհեռացնենք տողը (chooser.addDefault ("Default Auto", new ExampleCommand ());)
  5. Այնուհետեւ հեռացրեք չօգտագործված ներմուծումները:
  6. Հետո խնայել:

Քայլ 8: Վերադառնալ DriveTrainCommand

Վերադառնալ DriveTrainCommand
Վերադառնալ DriveTrainCommand
  1. ներմուծող ռոբոտ (երկրորդը ՝ նկարում)
  2. Հետո Պահել

Քայլ 9. Գնացեք DriveTrainSub

Գնացեք DriveTrainSub
Գնացեք DriveTrainSub
  1. Ներմուծեք DriveTrainCommand
  2. Հետո խնայել:

Քայլ 10: Հաջորդը մենք կստեղծենք OI ծածկագիրը:

Հաջորդը Մենք կստեղծենք OI ծածկագիրը
Հաջորդը Մենք կստեղծենք OI ծածկագիրը
  1. Գնացեք OI:
  2. Ստեղծեք նոր հանրային ջոյսթիք օբյեկտ `0 պորտով:
  3. Եվ հեռացրեք չօգտագործված ներմուծումները:
  4. Պահել:

Քայլ 11. Գնացեք DriveTrainCommand

Գնացեք DriveTrainCommand
Գնացեք DriveTrainCommand
  1. Գնացեք DriveTrainCommand:
  2. Այժմ մենք կանենք այն հատվածը, որը վերցնում է ջոյստիկները և կիրառում դրանք ռոբոտը տեղափոխելու համար: Կատարման ներսում (քանի որ այն անընդհատ աշխատում է) ավելացրեք այն տողը (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));), որտեղ մենք arcadeDrive- ն անվանում ենք մեր Robot.io. Driver.getRawAxis (1) արժեքներով ենթահամակարգ, որը վերադարձնում է ջոյսթիկի արժեքը, և որտեղ 1 -ը ձախ y առանցքի առանցքն է, և նույնը երկրորդ արժեքի համար, բացառությամբ 4 -ի, աջ x առանցքն է: այնպես որ սա կնշանակի, որ ձախ ձողը կգնա առաջ և հետ, իսկ աջը ՝ աջ և ձախ: (եթե ցանկանաք, կարող եք վերադառնալ RobotMap և ստեղծել նոր արժեքներ ջոյսթիկի առանցքի համար, ապա զանգահարեք դրանք RobotMap- ով: (առանցքի անվանումը) և մի մոռացեք դրանք վերջնական դարձնել, եթե այդպես վարվեք):
  3. Հաջորդը հեռացրեք չօգտագործված ներմուծումները ամբողջ նախագծից:

Քայլ 12: Վերջապես կազմեք և վերբեռնեք ծածկագիրը ռոբոտին

Խորհուրդ ենք տալիս: