विषयसूची:

एफआरसी (जावा) के लिए एक साधारण ड्राइवट्रेन कैसे लिखें: 12 कदम (चित्रों के साथ)
एफआरसी (जावा) के लिए एक साधारण ड्राइवट्रेन कैसे लिखें: 12 कदम (चित्रों के साथ)

वीडियो: एफआरसी (जावा) के लिए एक साधारण ड्राइवट्रेन कैसे लिखें: 12 कदम (चित्रों के साथ)

वीडियो: एफआरसी (जावा) के लिए एक साधारण ड्राइवट्रेन कैसे लिखें: 12 कदम (चित्रों के साथ)
वीडियो: FRC Java Tutorial - WPILib 2022 Command Based Programming Ep 2:Drivetrain & Tele-op Joystick Control 2024, जुलाई
Anonim
एफआरसी (जावा) के लिए एक साधारण ड्राइवट्रेन कैसे लिखें
एफआरसी (जावा) के लिए एक साधारण ड्राइवट्रेन कैसे लिखें

यह एक एफआरसी रोबोट के लिए एक साधारण ड्राइवट्रेन बनाने का एक ट्यूटोरियल है। यह ट्यूटोरियल मानता है कि आप जानते हैं कि जावा की मूल बातें, ग्रहण और पहले से ही wpilib स्थापित है, साथ ही CTRE पुस्तकालय भी हैं।

चरण 1:

छवि
छवि

खुला ग्रहण

चरण 2: एक नया रोबोट प्रोजेक्ट बनाएं

एक नया रोबोट प्रोजेक्ट बनाएं
एक नया रोबोट प्रोजेक्ट बनाएं
एक नया रोबोट प्रोजेक्ट बनाएं
एक नया रोबोट प्रोजेक्ट बनाएं
एक नया रोबोट प्रोजेक्ट बनाएं
एक नया रोबोट प्रोजेक्ट बनाएं
एक नया रोबोट प्रोजेक्ट बनाएं
एक नया रोबोट प्रोजेक्ट बनाएं
  1. पैकेज एक्सप्लोरर पर राइट क्लिक करें, नया क्लिक करें, फिर अन्य।
  2. नीचे स्क्रॉल करें जब तक आपको WPIlib रोबोट जावा डेवलपमेंट दिखाई न दे (यदि आप इसे नहीं देखते हैं तो आपके पास wpilib संसाधन स्थापित नहीं हैं।)
  3. रोबोट जावा प्रोजेक्ट पर क्लिक करें
  4. फिर प्रोजेक्ट का नाम भरें और कमांड-आधारित रोबोट प्रोजेक्ट प्रकार पर क्लिक करें। (पैकेज पहले से ही भरा जाना चाहिए और सिमुलेशन वर्ल्ड के साथ भी ऐसा ही होना चाहिए।)

चरण 3: रोबोट मैप बनाएं/भरें

रोबोट मैप बनाएं/भरें
रोबोट मैप बनाएं/भरें
रोबोट मैप बनाएं/भरें
रोबोट मैप बनाएं/भरें

अंतिम चर बनाएं जिसमें विभिन्न टैलोन बंदरगाहों की संख्या हो।

चरण 4: उदाहरण कमांड और उदाहरण सबसिस्टम हटाएं

उदाहरण कमांड और उदाहरण सबसिस्टम हटाएं
उदाहरण कमांड और उदाहरण सबसिस्टम हटाएं
उदाहरण कमांड और उदाहरण सबसिस्टम हटाएं
उदाहरण कमांड और उदाहरण सबसिस्टम हटाएं

चरण 5: ड्राइवट्रेन सबसिस्टम बनाएं

ड्राइवट्रेन सबसिस्टम बनाएं
ड्राइवट्रेन सबसिस्टम बनाएं
ड्राइवट्रेन सबसिस्टम बनाएं
ड्राइवट्रेन सबसिस्टम बनाएं
ड्राइवट्रेन सबसिस्टम बनाएं
ड्राइवट्रेन सबसिस्टम बनाएं
  1. नव निर्मित ड्राइवट्रेन सबसिस्टम में एक नया कंस्ट्रक्टर बनाएं। फिर कैंटलॉन ऑब्जेक्ट बनाएं जो ड्रावेर्रेन पर ताल के अनुरूप हों।
  2. ड्राइव नामक एक रोबोटड्राइव बनाएं
  3. इन ऑब्जेक्ट्स को कंस्ट्रक्टर में इंस्टेंट करें (सुनिश्चित करें कि हमने रोबोट मैप में बनाए गए तालों के मूल्यों का उपयोग किया है)। रोबोट ड्राइव के लिए हम उस कंस्ट्रक्टर का उपयोग करेंगे जो 4 मोटर नियंत्रकों (रोबोटड्राइव (स्पीडकंट्रोलर फ्रंटलेफ्टमोटर, स्पीडकंट्रोलर रियरलेफ्टमोटर, स्पीडकंट्रोलर फ्रंटराइटमोटर, स्पीडकंट्रोलर रियरराइटमोटर) का उपयोग करता है।
  4. फिर दो इनपुट चर के साथ एक आर्केडड्राइव () विधि बनाएं x आगे और पीछे है और y दाएं और बाएं है। अंदर आप ड्राइव को कॉल करेंगे।आर्केड को फॉरवर्ड और रोटेट वैल्यू के साथ
  5. फिर initDefaultCommand() को लाइन setDefaultCommand(new DriveTrainCommand ()); को शामिल करने के लिए बदलें।
  6. अभी तक सभी त्रुटियों के बारे में चिंता न करें।

चरण 6: ड्राइवट्रेन कमांड बनाएं

ड्राइवट्रेन कमांड बनाएं
ड्राइवट्रेन कमांड बनाएं
ड्राइवट्रेन कमांड बनाएं
ड्राइवट्रेन कमांड बनाएं
ड्राइवट्रेन कमांड बनाएं
ड्राइवट्रेन कमांड बनाएं
ड्राइवट्रेन कमांड बनाएं
ड्राइवट्रेन कमांड बनाएं
  1. सबसे पहले उस मेनू पर जाकर शुरू करें जिसका उपयोग हमने सबसिस्टम बनाने के लिए किया है और रोबोट स्वयं प्रोजेक्ट करता है (यह आखिरी बार है जब मैं भविष्य के चरणों में यह वास्तविक कदम दिखाऊंगा, मैं सिर्फ एक कमांड बनाने या एक बनाने के लिए कहूंगा सबसिस्टम और आप मान लेंगे कि यह इस मेनू में है।) कमांड पर क्लिक करें और ड्राइवट्रेन कमांड के साथ क्लास का नाम भरें (यदि आप इन फाइलों के नाम बदलते हैं तो आप उन्हें वही नहीं रख सकते हैं)।
  2. नए DriveTrainCommand में आप देखेंगे कि 6 विधियाँ हैं एक कंस्ट्रक्टर है और अन्य 5 कोड के भाग हैं जिन्हें रोबोट कमांड के चलने पर कॉल करेगा। हम जानते हैं कि कंस्ट्रक्टर ऐसा क्या करता है, यह बताता है कि इनिशियलाइज़, एक्ज़ीक्यूट, isफिनिश्ड, एंड और इंटरप्टेड है। प्रत्येक बार कमांड को कॉल करने के बाद इनिशियलाइज़ को एक बार कॉल किया जाता है, कमांड के समाप्त होने तक एक्ज़ीक्यूट मेथड को लगातार कॉल किया जाता है, जो कि समाप्त होने के कारण होता है जब isFinished मेथड सही हो जाता है, कमांड चलना बंद हो जाएगा, एंड मेथड को isFinished के बाद एक बार कॉल किया जाता है विधि को कहा जाता है, और बाधित को तब कहा जाता है जब कमांड संसाधनों का उपयोग किसी अन्य कमांड द्वारा किया जा रहा हो और कमांड समाप्त हो जाएगा (अंत विधि को कॉल किए बिना)।
  3. सबसे पहले कंस्ट्रक्टर में DriveTrainCommand में आपको आवश्यक लाइन (आवश्यकताएँ (Robot. DriveTrainSub)) जोड़ने की आवश्यकता है, ध्यान दें कि DriveTrainSub सबसिस्टम नाम के समान नहीं है और यह उद्देश्य पर है।

चरण 7: रोबोट पर जाएं

रोबोट पर जाएं
रोबोट पर जाएं
रोबोट पर जाएं
रोबोट पर जाएं
रोबोट पर जाएं
रोबोट पर जाएं
रोबोट पर जाएं
रोबोट पर जाएं
  1. आगे हम रोबोट क्लास में जाने वाले हैं
  2. फिर हम लाइन को बदलने जा रहे हैं (सार्वजनिक स्थिर अंतिम उदाहरण सबसिस्टम उदाहरण सबसिस्टम = नया उदाहरण सबसिस्टम ();) से (सार्वजनिक स्थिर अंतिम ड्राइवट्रेनसबसिस्टम ड्राइवट्रेनसब = नया ड्राइवट्रेनसबसिस्टम ();) ध्यान दें कि फाइनल के बाद पहला नाम सबसिस्टम नाम के समान है और नाम के बाद नया यह भी ध्यान दें कि DriveTrainSub वही नाम है जिसे हमने अपने अंतिम चरण में रखा था और यह सबसिस्टम नाम के समान नहीं है (आपके पास एक ऑब्जेक्ट नाम (DriveTrainSub) होना चाहिए जो सबसिस्टम के समान नहीं है नाम)।
  3. फिर हमारे ड्राइवट्रेनसबसिस्टम को आयात करें।
  4. आगे हम लाइन को हटा देंगे(chooser.addDefault("Default Auto", newexampleCommand());)
  5. फिर अप्रयुक्त आयातों को हटा दें।
  6. फिर सेव करें।

चरण 8: ड्राइवट्रेन कमांड पर वापस जाएं

ड्राइवट्रेन कमांड पर वापस जाएं
ड्राइवट्रेन कमांड पर वापस जाएं
  1. आयात रोबोट (छवि में दूसरा वाला)
  2. फिर सहेजें

चरण 9: ड्राइवट्रेनसुब पर जाएं

ड्राइवट्रेनसुब पर जाएं
ड्राइवट्रेनसुब पर जाएं
  1. ड्राइवट्रेन कमांड आयात करें
  2. फिर सेव करें।

चरण 10: अगला हम OI कोड बनाएंगे।

आगे हम OI कोड बनाएंगे।
आगे हम OI कोड बनाएंगे।
  1. ओआई पर जाएं।
  2. 0 के पोर्ट के साथ एक नया सार्वजनिक जॉयस्टिक ऑब्जेक्ट बनाएं।
  3. और अप्रयुक्त आयात को हटा दें।
  4. सहेजें।

चरण 11: ड्राइवट्रेन कमांड पर जाएं

ड्राइवट्रेन कमांड पर जाएं
ड्राइवट्रेन कमांड पर जाएं
  1. ड्राइवट्रेन कमांड पर जाएं।
  2. अब हम उस भाग को करेंगे जो जॉयस्टिक को ले और उन्हें रोबोट को स्थानांतरित करने के लिए लागू करे। निष्पादन के अंदर (क्योंकि यह लगातार चलता है) लाइन जोड़ें (Robot. DriveTrainSub.arcadeDrive(Robot.oi. Driver.getRawAxis(1), Robot.oi. Driver.getRawAxis(4));) जहां हम अपने में आर्केडड्राइव को कॉल करते हैं Robot.io. Driver.getRawAxis(1) के मानों के साथ सबसिस्टम, जो जॉयस्टिक का मान लौटाता है और जहां 1 बायां y अक्ष का अक्ष है और 4 को छोड़कर दूसरे मान के लिए समान है, दायां x अक्ष है। तो इसका मतलब यह होगा कि बाईं छड़ी आगे और पीछे जाएगी और दाहिनी छड़ी दाएँ और बाएँ जाएगी। (यदि आप चाहते थे कि आप रोबोट मैप पर वापस जा सकें और जॉयस्टिक अक्ष के लिए नए मान बना सकें तो उन्हें रोबोटमैप के साथ कॉल करें। (अक्ष का नाम) और यदि आप इसे इस तरह से करते हैं तो उन्हें अंतिम बनाना न भूलें।)
  3. इसके बाद पूरे प्रोजेक्ट से किसी भी अप्रयुक्त आयात को हटा दें।

चरण 12: अंत में रोबोट को कोड संकलित करें और अपलोड करें

सिफारिश की: