FTC Java और Blockly प्रोग्रामिंग गाइड
(Blockly स्क्रीनशॉट जल्द ही आ रहे हैं!)
सुनिश्चित करें कि आपने FTC प्रोग्रामिंग क्विक स्टार्ट पढ़ लिया है।
Javadoc: [Javadoc का लिंक जल्द ही आ रहा है]
पूर्ण उदाहरण रेपो: Limelight FTC उदाहरण रेपो
सफलता के लिए सुझाव
- पहले सरल काम करें। FRC में, हमने सीखा है कि सबसे अच्छी सॉफ्टवेयर टीमें अक्सर सबसे सरल दृष्टिकोण का उपयोग करती हैं। उदाहरण के लिए, FRC टीम 2056 ने 2024 में गेम पीस को ट्रैक करने के लिए न्यूरल नेटवर्क के बजाय एक मानक 90FPS कलर पाइपलाइन का उपयोग किया।
यहां एक उदाहरण है कि आप प्रोग्रामिंग शुरू करते समय किस प्रकार का प्रश्न पूछ सकते हैं: टेलीऑप में, क्या आपको अपने रोबोट की फील्ड पर स्थिति जानने की आवश्यकता है, या आपको बस तब तक स्ट्रेफ करने की आवश्यकता है जब तक कि आपका क्रॉसहेयर एक विशिष्ट टैग पर केंद्रित नहीं हो जाता (strafeSpeed = result.getTx()*.03)?
प्रमुख अवधारणाएँ
1. प्रारंभीकरण
हमें अपने रोबोट कोड में अपने Limelight3A को सेट करने की आवश्यकता है।
import com.qualcomm.hardware.limelightvision.LLResult;
import com.qualcomm.hardware.limelightvision.LLResultTypes;
import com.qualcomm.hardware.limelightvision.LLStatus;
import com.qualcomm.hardware.limelightvision.Limelight3A;
Limelight3A limelight;
@Override
public void init() {
limelight = hardwareMap.get(Limelight3A.class, "limelight");
limelight.setPollRateHz(100); // यह सेट करता है कि हम Limelight से कितनी बार डेटा मांगते हैं (प्रति सेकंड 100 बार)
limelight.start(); // यह Limelight को देखना शुरू करने के लिए कहता है!
}
2. पाइपलाइन प्रबंधन
पाइपलाइन छोटे, तुरंत स्वैप करने योग्य प्रोग्राम की तरह होते हैं जो बदलते हैं कि Limelight दुनिया को कैसे देखता है। आप Limelight वेब इंटरफेस में 10 अलग-अलग पाइपलाइन सेट कर सकते हैं, प्रत्येक एक अलग कार्य के लिए। य हां बताया गया है कि आप उनके बीच कैसे स्विच करते हैं:
limelight.pipelineSwitch(0); // पाइपलाइन नंबर 0 पर स्विच करें
यह फायर-एंड-फॉरगेट है। Limelight मिलीसेकंड में अपनी पाइपलाइन बदल देगा, लेकिन आपका कोड जारी रखने से पहले इसका इंतजार नहीं करेगा। यदि आप वर्तमान पाइपलाइन इंडेक्स की जांच करना चाहते हैं, तो कॉल करें
result.getPipelineIndex()
LLResult ऑब्जेक्ट प्राप्त करने के बारे में जानने के लिए अगला खंड देखें।