Բովանդակություն:
- Քայլ 1:
- Քայլ 2. Ստեղծեք նոր ռոբոտային նախագիծ
- Քայլ 3: Ստեղծեք/լրացրեք RobotMap- ը
- Քայլ 4. Leteնջել օրինակ հրամանը և օրինակ ենթահամակարգը
- Քայլ 5: Ստեղծեք DriveTrainSubSystem
- Քայլ 6. Ստեղծեք DriveTrainCommand
- Քայլ 7: Անցեք ռոբոտին
- Քայլ 8: Վերադառնալ DriveTrainCommand
- Քայլ 9. Գնացեք DriveTrainSub
- Քայլ 10: Հաջորդը մենք կստեղծենք OI ծածկագիրը:
- Քայլ 11. Գնացեք DriveTrainCommand
- Քայլ 12: Վերջապես կազմեք և վերբեռնեք ծածկագիրը ռոբոտին
Video: Ինչպես գրել պարզ շարժիչ `FRC (Java) համար. 12 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Սա ձեռնարկ է, թե ինչպես պատրաստել պարզ շարժիչ ՝ FRC ռոբոտի համար: Այս ձեռնարկը ենթադրում է, որ դուք գիտեք, որ java- ի, խավարման և արդեն տեղադրված wpilib- ի հիմունքները, ինչպես նաև CTRE գրադարանները:
Քայլ 1:
Բացեք Eclipse- ը
Քայլ 2. Ստեղծեք նոր ռոբոտային նախագիծ
- Աջ սեղմեք փաթեթի հետազոտողի վրա, կտտացրեք նոր, ապա ՝ այլ:
- Ոլորեք ներքև մինչև չտեսնեք WPILib Robot Java Development- ը (եթե դա չեք տեսնում, ապա wpilib ռեսուրսները տեղադրված չեն):
- Կտտացրեք Robot Java Project- ին
- Այնուհետև լրացրեք ծրագրի անունը և կտտացրեք հրամանի վրա հիմնված ռոբոտի նախագծի տեսակին: (Փաթեթը պետք է արդեն լրացված լինի և նույնը լինի սիմուլյացիոն աշխարհի հետ):
Քայլ 3: Ստեղծեք/լրացրեք RobotMap- ը
Ստեղծեք վերջնական փոփոխականներ, որոնք պարունակում են տարբեր talon նավահանգիստների քանակ:
Քայլ 4. Leteնջել օրինակ հրամանը և օրինակ ենթահամակարգը
Քայլ 5: Ստեղծեք DriveTrainSubSystem
- Ստեղծեք նոր կոնստրուկտոր նոր ստեղծված drivetrain ենթահամակարգում: Այնուհետև ստեղծեք CANTalon առարկաներ, որոնք համապատասխանում են շարժիչով շարժիչի վրա:
- Ստեղծեք RobotDrive, որը կոչվում է Drive
- Նշեք այս օբյեկտները կոնստրուկտորում (համոզվեք, որ օգտագործեք ռոբոտների քարտեզում մեր ստեղծած թալանների արժեքները): Robot Drive- ի համար մենք կօգտագործենք 4 շարժիչ վերահսկիչ օգտագործող կոնստրուկտորը (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
- Այնուհետև ստեղծեք arcadeDrive () մեթոդը երկու մուտքային փոփոխականներով, որտեղ x- ն առաջ է և հետընթաց, իսկ y- ն ՝ աջ և ձախ: Ներսում դուք կկոչեք drive.arcade ՝ առաջ և պտտվող արժեքներով
- Այնուհետև փոխեք initDefaultCommand () - ը ՝ պարունակելու համար setDefaultCommand տողը (նոր DriveTrainCommand ());.
- Մի անհանգստացեք դեռ բոլոր սխալների համար:
Քայլ 6. Ստեղծեք DriveTrainCommand
- Նախ սկսեք գնալ այն ընտրացանկից, որը մենք օգտագործել ենք ենթահամակարգը ստեղծելու համար, և ռոբոտը ինքն է նախագծում (սա վերջին անգամն է, որ ապագա քայլերում այս փաստացի քայլը ցույց կտամ, կասեմ ՝ պարզապես հրաման տալու կամ կատարելու համար ենթահամակարգը և ենթադրեք, որ այն գտնվում է այս ընտրացանկում:) Կտտացրեք հրամանին և դասի անունը լրացրեք DriveTrainCommand- ով (եթե փոխեք այս ֆայլի անունները, չեք կարող դրանք նույնը լինել):
- Նոր DriveTrainCommand- ում կտեսնեք, որ կա 6 եղանակ, որոնցից մեկը կառուցապատողն է, իսկ մյուս 5 -ը ՝ կոդի մասեր, որոնք ռոբոտը կզանգահարի հրամանի գործարկման ժամանակ: Մենք գիտենք, թե ինչ է անում կոնստրուկտորը, ինչը թույլ է տալիս բացատրել Initialize, execute, isFinished, ավարտ և ընդհատում: Initialize- ը կոչվում է ամեն անգամ, երբ հրամանը կանչվում է, կատարման մեթոդը շարունակաբար կանչվում է մինչև հրամանի ավարտը, ինչը պայմանավորված է the is finish- ով isFinished մեթոդը true- ի վերադարձնելու դեպքում հրամանը կդադարի գործել, իսկ end մեթոդը կոչվում է isFinished- ից հետո մեկ անգամ մեթոդը կանչվում է, իսկ ընդհատվածը `երբ հրամանների ռեսուրսները օգտագործվում են մեկ այլ հրամանով և հրամանը կավարտվի (առանց վերջի մեթոդի կանչման):
- Սկզբում DriveTrainCommand- ում կոնստրուկտորում անհրաժեշտ է ավելացնել պահանջվող տողը (պահանջում է (Robot. DriveTrainSub)) նկատել, որ DriveTrainSub- ը նույնը չէ, ինչ ենթահամակարգի անունը, և դա դիտմամբ է:
Քայլ 7: Անցեք ռոբոտին
- Հաջորդը մենք պատրաստվում ենք անցնել Ռոբոտների դասարան
- ապա մենք պատրաստվում ենք փոխել տողը (հանրային ստատիկ վերջնական Օրինակ Example ենթահամակարգ օրինակ Սուբսիստեմ = նոր օրինակ Սուբսիստեմ ();) դեպի (հանրային ստատիկ վերջնական DriveTrainSubsystem DriveTrainSub = նոր DriveTrainSubsystem ();) նկատի ունենալ, որ վերջնական անունից առաջին անունը նույնն է, ինչ ենթահամակարգի անվանումը և անունը նորից հետո նաև նկատեք, որ DriveTrainSub- ը նույնն է, ինչ մենք տեղադրել ենք մեր վերջին քայլին, և որ այն նույնը չէ, ինչ ենթահամակարգի անունը (Դուք ՊԵՏՔ է ունենաք օբյեկտի անուն (DriveTrainSub), որը նույնը չէ, ինչ ենթահամակարգը Անուն).
- Այնուհետեւ ներմուծեք մեր DriveTrainSubSystem- ը:
- Հաջորդը մենք կհեռացնենք տողը (chooser.addDefault ("Default Auto", new ExampleCommand ());)
- Այնուհետեւ հեռացրեք չօգտագործված ներմուծումները:
- Հետո խնայել:
Քայլ 8: Վերադառնալ DriveTrainCommand
- ներմուծող ռոբոտ (երկրորդը ՝ նկարում)
- Հետո Պահել
Քայլ 9. Գնացեք DriveTrainSub
- Ներմուծեք DriveTrainCommand
- Հետո խնայել:
Քայլ 10: Հաջորդը մենք կստեղծենք OI ծածկագիրը:
- Գնացեք OI:
- Ստեղծեք նոր հանրային ջոյսթիք օբյեկտ `0 պորտով:
- Եվ հեռացրեք չօգտագործված ներմուծումները:
- Պահել:
Քայլ 11. Գնացեք DriveTrainCommand
- Գնացեք DriveTrainCommand:
- Այժմ մենք կանենք այն հատվածը, որը վերցնում է ջոյստիկները և կիրառում դրանք ռոբոտը տեղափոխելու համար: Կատարման ներսում (քանի որ այն անընդհատ աշխատում է) ավելացրեք այն տողը (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- ով: (առանցքի անվանումը) և մի մոռացեք դրանք վերջնական դարձնել, եթե այդպես վարվեք):
- Հաջորդը հեռացրեք չօգտագործված ներմուծումները ամբողջ նախագծից:
Քայլ 12: Վերջապես կազմեք և վերբեռնեք ծածկագիրը ռոբոտին
Խորհուրդ ենք տալիս:
Շարժիչ շարժիչ ՝ աչքով հետևելով ՝ 8 քայլ
Շարժիչ շարժիչ ՝ աչքերով հետևելու համար. Ներկայումս աչքի հետևման տվիչները ավելի տարածված են տարբեր ոլորտներում, բայց առևտրային առումով դրանք առավել հայտնի են ինտերակտիվ խաղերով: Այս ձեռնարկը չի հավակնում սենսորների մշակմանը, քանի որ այն շատ բարդ է և ավելի ու ավելի տարածված օգտագործման պատճառով
Ինչպես գրել ձեր առաջին Java ծրագիրը ՝ 5 քայլ
Ինչպես գրել ձեր առաջին Java ծրագիրը. Այս ձեռնարկը ցույց է տալիս, թե ինչպես գրել ձեր առաջին Java ծրագիրը քայլ առ քայլ
«5 րոպե» առանց խոզանակի շարժիչ շարժիչ բզեզ քաշային մարտական ռոբոտների համար ՝ 6 քայլ
«5 րոպե» առանց խոզանակի շարժիչ շարժիչ ՝ բզեզ քաշով մարտական ռոբոտների համար. «5 րոպեանոց անխոզանակ փոխանցման շարժիչի» գաղափարը, կարծես, որոշ ժամանակ պտտվում էր առցանց ֆորումներում/Ֆեյսբուքի խմբերում ՝ որպես բզեզ քաշով բոտերում շարժիչ միջոց: Քանի որ առանց խոզանակի շարժիչները մեծ ուժ են հավաքում իրենց չափի/քաշի համար, սա գրավիչ է
24v DC շարժիչ մինչև բարձր արագությամբ ունիվերսալ շարժիչ (30 վոլտ) ՝ 3 քայլ
24v DC շարժիչ բարձր արագության ունիվերսալ շարժիչին (30 վոլտ). Բարև: Այս նախագծում ես կսովորեցնեմ ձեզ, թե ինչպես կարելի է սովորական 24V DC շարժիչը վերածել 30V ունիվերսալ շարժիչի: Անձամբ ես հավատում եմ, որ տեսանյութի ցուցադրումը լավագույնս նկարագրում է նախագիծը: . Այսպիսով, տղերք, ես խորհուրդ կտայի ձեզ առաջին հերթին դիտել տեսանյութը: Նախագիծ V
Ինչպես գրել կոպիտ ուժ թվերի համար (Visual BASIC 2008 Express) ՝ 5 քայլ
Ինչպես գրել կոպիտ ուժ թվերի համար (Visual BASIC 2008 Express). Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես գրել այսպես կոչված " Brute Force " Visual BASIC 2008 Express- ում, որը կարող եք ներբեռնել այստեղ -> http://www.microsoft.com/eXPress/download/ Ուժային բիրտությունը «ճեղքվածք» է " ծրագիր, որը խափանում է