मुख्य कंटेंट तक स्किप करें

Limelight 3A त्वरित-प्रारंभ

हार्डवेयर विनिर्देश

  • फुटप्रिंट: 2.839in x 1.894in (72.11mm x 48.11mm)
  • मोटाई: 0.661in (16.80mm)
  • वजन: 0.20 lb
  • माउंटिंग: 4x #10 THRU, 4x M3, 6x M4 थ्रेडेड माउंटिंग होल
  • पावर इनपुट: USB के माध्यम से 4.1V-5.75V
  • अधिकतम बिजली खपत: 4W
  • सेंसर: OV5647 कलर रोलिंग शटर (640x480 @ 90FPS)
  • कोई बिल्ट-इन LED इल्यूमिनेशन नहीं
  • फील्ड ऑफ व्यू: H:54.5° V:42°
  • केवल USB-C कनेक्टिविटी (कोई RJ45 पोर्ट नहीं)
  • स्टेटस लाइट: हरा (टारगेट डिटेक्शन)
  • FTC संगतता के लिए अनुकूलित

सॉफ्टवेयर क्षमताएं (Limelight OS)

  • प्लग-एंड-प्ले उच्च-प्रदर्शन विज़न। कोई अनुभव आवश्यक नहीं।
  • विज़न पाइपलाइन कॉन्फ़िगरेशन के लिए सेल्फ-होस्टेड ब्राउज़र-आधारित UI
  • FTC (डायरेक्ट Java इंटीग्रेशन) और FRC (NetworkTables इंटरफ़ेस) के लिए सपोर्ट
  • कॉन्फ़िगर करने योग्य एक्सपोज़र, सेंसर गेन, रेज़ोल्यूशन, और फ्रेमरेट
  • 10 हॉट-स्वैपेबल विज़न पाइपलाइन कॉन्फ़िगर करें:
    • OpenCV 4.10, numpy, आदि के साथ कस्टम Python पाइपलाइन
    • 2D, 3D AprilTag ट्रैकिंग और रोबोट लोकलाइज़ेशन
      • MegaTag1 के साथ पूर्ण 3D लोकलाइज़ेशन (रोबोट GPS)
      • MegaTag2 के साथ एक्सटर्नल IMU फ्यूज़न के साथ उच्च-सटीकता पूर्ण 3D लोकलाइज़ेशन (रोबोट GPS)
      • 20fps @ 1280x960 (2x डाउनस्केल), 50fps @ 640x480 (2x डाउनस्केल)
      • वेब इंटरफ़ेस में पूर्ण 3D विज़ुअलाइज़र
    • 90FPS कलर ब्लॉब पाइपलाइन
    • न्यूरल ऑब्जेक्ट डिटेक्शन पाइपलाइन (केवल CPU इन्फरेंस)
    • न्यूरल इमेज क्लासिफिकेशन पाइपलाइन (केवल CPU इन्फरेंस)
    • बारकोड ट्रैकिंग पाइपलाइन
  • बिल्ट-इन Charuco इंट्रिंसिक्स कैलिब्रेशन इंटरफ़ेस
  • बिल्ट-इन लो-लेटेंसी MJPEG स्ट्रीमिंग

1. Limelight 3A माउंट करना

थ्रेडेड माउंटिंग (अनुशंसित)

  • थ्रेडेड माउंट होल का उपयोग करके अपने LL3A को Rev या GoBilda चैनल पर माउंट करने के लिए कम से कम 2 M3 या M4 स्क्रू का उपयोग करें
  • आप अपने Limelight को सुरक्षित करने के लिए VHB टेप या ज़िप टाई का भी उपयोग कर सकते हैं

थ्रू-होल माउंटिंग

  • nylock नट के साथ 1 1/4" #10-32 या #10-24 बोल्ट का उपयोग करें
  • वैकल्पिक रूप से, nylock नट के साथ 28mm M4 बोल्ट का उपयोग करें
Limelight 3A Drawing

2. Limelight 3A वायरिंग

जब आप अपने रोबोट पर अपने Limelight का उपयोग करने के लिए तैयार हों:

FTC के लिए

  • अपने Limelight 3A से अपने Control Hub के USB 3.0 पोर्ट तक USBC से USBA केबल चलाएं
  • USB 3.0 पोर्ट (नीला पोर्ट) में प्लग करके अपने Control Hub से कनेक्ट करें

FRC के लिए

  • अपने Limelight 3A को अपने roboRIO USB पोर्ट से कनेक्ट करें
  • USB-C से USB-A केबल का उपयोग करें

Limelight 3A Google Coral को सपोर्ट नहीं करता। आप अभी भी न्यूरल नेटवर्क रनटाइम इंजन को "CPU" पर सेट करके न्यूरल डिटेक्शन और क्लासिफिकेशन पाइपलाइन का उपयोग कर सकते हैं।

3. वेब इंटरफ़ेस एक्सेस करना

USB के माध्यम से अपने Limelight 3A को अपने कंप्यूटर से कनेक्ट करने के बाद:

  1. हरी स्टेटस लाइट के सक्रिय होने की प्रतीक्षा करें (लगभग 15-20 सेकंड)
  2. वेब इंटरफ़ेस एक्सेस करने के लिए इनमें से किसी एक विधि का उपयोग करें:
    • विधि 1: Limelight Hardware Manager एप्लिकेशन खोलें, Limelights के लिए स्कैन करें, और जब आपका Limelight 3A दिखाई दे तो उस पर डबल-क्लिक करें
    • विधि 2: वेब ब्राउज़र खोलें और http://limelight.local:5801 पर नेविगेट करें

एक बार कनेक्ट होने के बाद, आपके पास एक्सेस होगा:

  • Settings टैब - टीम नंबर, होस्टनेम, और अन्य सिस्टम सेटिंग्स कॉन्फ़िगर करें
  • Vision Pipeline टैब - अपनी विज़न प्रोसेसिंग पाइपलाइन सेट अप और ट्यून करें
  • Camera & Crosshair टैब - कैमरा सेटिंग्स और क्रॉसहेयर पैरामीटर एडजस्ट करें
  • 3D Visualization टैब - रियल-टाइम AprilTag डिटेक्शन और लोकलाइज़ेशन देखें

सभी कॉन्फ़िगरेशन इस वेब इंटरफ़ेस के माध्यम से किया जाता है। परिवर्तन स्वचालित रूप से आपके Limelight में सेव हो जाते हैं।

4. LimelightOS अपडेट करना

info

Limelights प्री-इंस्टॉल्ड इमेज के साथ शिप होते हैं। आप शायद अभी के लिए इस स्टेप को स्किप कर सकते हैं।

अपडेट निर्देश (Windows)
warning

LimelightOS अपडेट करने से पहले अपनी पाइपलाइन सेव करें। अपडेट के दौरान वे डिलीट हो जाएंगी।

  • Downloads Page से नवीनतम USB ड्राइवर, Limelight OS इमेज, और Balena Flash टूल डाउनलोड करें
  • ड्राइवर इंस्टॉल करने के बाद अपनी मशीन रीबूट करें
  • अपने Limelight पर नीला config बटन दबाए रखें
  • दबाए रखते हुए, अपने लैपटॉप से अपने limelight तक USB->USB-C केबल चलाएं (आपका Limelight स्वचालित रूप से चालू हो जाएगा)
  • अपने LL को अपने लैपटॉप में प्लग करने के बाद, आप नीला config बटन छोड़ सकते हैं
  • आपका Limelight अब फ्लैश मोड में है, और इसकी LEDs ब्लिंक नहीं करेंगी
  • "Balena Etcher" को एडमिनिस्ट्रेटर के रूप में चलाएं
  • आपकी मशीन को कैमरा पहचानने में 20 सेकंड तक लग सकते हैं
  • अपने downloads फोल्डर में नवीनतम .zip इमेज चुनें
  • "Drives" मेनू में "Compute Module" डिवाइस चुनें
  • "Flash" पर क्लिक करें
  • फ्लैशिंग पूरी होने के बाद, अपने limelight से USB केबल निकालें
अपडेट निर्देश (एडवांस्ड) (macOS & Linux)
warning

LimelightOS अपडेट करने से पहले अपनी पाइपलाइन सेव करें। अपडेट के दौरान वे डिलीट हो जाएंगी।

note

हम macOS और Linux पर अपडेट प्रक्रिया को नाटकीय रूप से सरल बनाने पर काम कर रहे हैं

  • Downloads Page से Limelight OS इमेज और Balena Flash टूल डाउनलोड करें
  • USB Boot ड्राइवर स्वयं बनाएं:
brew install libusb
brew install pkg-config
git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
make
cd mass-storage-gadget64
sudo ../rpiboot -d .
# जब तक rpiboot चल रहा है, आपका कैमरा macOS और Linux पर ठीक से enumerate होगा
# आपको हर बार फ्लैश करने के लिए rpiboot चलाना होगा।
  • अपने Limelight पर नीला config बटन दबाए रखें
  • दबाए रखते हुए, अपने लैपटॉप से अपने limelight तक USB->USB-C केबल चलाएं (आपका Limelight स्वचालित रूप से चालू हो जाएगा)
  • अपने LL को अपने लैपटॉप में प्लग करने के बाद, आप नीला config बटन छोड़ सकते हैं
  • आपका Limelight अब फ्लैश मोड में है, और इसकी LEDs ब्लिंक नहीं करेंगी
  • "Balena Etcher" चलाएं
  • आपकी मशीन को कैमरा पहचानने में 20 सेकंड तक लग सकते हैं
  • अपने downloads फोल्डर में नवीनतम .zip इमेज चुनें
  • "Drives" मेनू में "Compute Module" डिवाइस चुनें
  • "Flash" पर क्लिक करें
  • फ्लैशिंग पूरी होने के बाद, अपने limelight से USB केबल निकालें

5. सेटअप प्रक्रिया

FTC के लिए

  1. USB केबल से अपने Limelight को अपने लैपटॉप से कनेक्ट करें
  2. सेक्शन 3 में बताए अनुसार वेब इंटरफ़ेस एक्सेस करें
  3. Settings टैब पर जाएं और अपना टीम नंबर सेट करें, फिर "Restart Vision Client" पर क्लिक करें
  4. अपनी पाइपलाइन को इच्छानुसार कॉन्फ़िगर करें (AprilTag, Neural Networks, Custom Python, आदि)
  5. प्रतियोगिता के लिए तैयार होने पर, अपने Limelight 3A को अपने Control Hub के USB 3.0 पोर्ट में प्लग करें
  6. FTC DriverStation App में, "Configure Robot" पर क्लिक करें
  7. यदि आपके पास कोई सक्रिय कॉन्फ़िगरेशन नहीं है, तो आपको एक नया बनाना पड़ सकता है
  8. "scan" बटन पर क्लिक करें
  9. आपको एक "Ethernet Device" दिखाई देना चाहिए
  10. स्पष्टता के लिए आप इस डिवाइस का नाम "limelight" में बदल सकते हैं
  11. अब आप hardware map का उपयोग करके अपने कोड में Limelight3A ऑब्जेक्ट इनिशियलाइज़ कर सकते हैं

FRC के लिए

  1. अपने Limelight 3A को अपने लैपटॉप से कनेक्ट करें, स्टेटस लाइट एक्टिविटी की प्रतीक्षा करें
  2. सेक्शन 3 में बताए अनुसार वेब इंटरफ़ेस एक्सेस करें
  3. Settings टैब में, अपना टीम नंबर सेट करें और "Restart Vision Client" पर क्लिक करें
  1. अपनी पाइपलाइन को इच्छानुसार कॉन्फ़िगर करें
  2. तैयार होने पर, अपने Limelight 3A को अपने roboRIO के USB पोर्ट में प्लग करें
  3. यह सुनिश्चित करने के लिए अपना पसंदीदा डैशबोर्ड खोलें कि आपका 3A आपके roboRIO के NetworkTables में डेटा सबमिट कर रहा है
  4. अपने रोबोट के नेटवर्क से कनेक्ट होने पर लाइव पाइपलाइन एडिटिंग सक्षम करने के लिए Port Forwarding जोड़ें:
// (robotIP):5801 अब Limelight3A के (id 0) वेब इंटरफ़ेस स्ट्रीम को पॉइंट करेगा:
// (robotIP):5800 अब Limelight3A के (id 0) वीडियो स्ट्रीम को पॉइंट करेगा:
PortForwarder.getInstance().add(5801, "172.29.0.1", 5801);
PortForwarder.getInstance().add(5802, "172.29.0.1", 5802);
PortForwarder.getInstance().add(5803, "172.29.0.1", 5803);
PortForwarder.getInstance().add(5804, "172.29.0.1", 5804);
PortForwarder.getInstance().add(5805, "172.29.0.1", 5805);
PortForwarder.getInstance().add(5806, "172.29.0.1", 5806);
PortForwarder.getInstance().add(5807, "172.29.0.1", 5807);
PortForwarder.getInstance().add(5808, "172.29.0.1", 5808);
PortForwarder.getInstance().add(5809, "172.29.0.1", 5809);

// (robotIP):5811 अब Limelight3A के (id 1) वेब इंटरफ़ेस स्ट्रीम को पॉइंट करेगा:
// (robotIP):5810 अब Limelight3A के (id 1) वीडियो स्ट्रीम को पॉइंट करेगा:
PortForwarder.getInstance().add(5811, "172.29.1.1", 5801);
PortForwarder.getInstance().add(5812, "172.29.1.1", 5802);
PortForwarder.getInstance().add(5813, "172.29.1.1", 5803);
PortForwarder.getInstance().add(5814, "172.29.1.1", 5804);
PortForwarder.getInstance().add(5815, "172.29.1.1", 5805);
PortForwarder.getInstance().add(5816, "172.29.1.1", 5806);
PortForwarder.getInstance().add(5817, "172.29.1.1", 5807);
PortForwarder.getInstance().add(5818, "172.29.1.1", 5808);
PortForwarder.getInstance().add(5819, "172.29.1.1", 5809);

6. उपलब्ध पाइपलाइन प्रकार

Limelight 3A अन्य Limelight मॉडल के समान विज़न प्रोसेसिंग फीचर्स प्रदान करता है:

  • AprilTag ट्रैकिंग और रोबोट लोकलाइज़ेशन
  • कलर ब्लॉब ट्रैकिंग
  • न्यूरल नेटवर्क ऑब्जेक्ट डिटेक्शन (केवल CPU)
  • न्यूरल नेटवर्क क्लासिफिकेशन
  • बारकोड ट्रैकिंग
  • कस्टम Python पाइपलाइन

प्रत्येक 3A FTC के लिए बिल्ट-इन Into The Deep फील्ड मैप के साथ शिप होता है।

7. FTC प्रोग्रामिंग

बेसिक FTC उदाहरण: FTC Sample

अधिकांश एप्लिकेशन के लिए 10 से कम लाइन कोड की आवश्यकता होती है:

public class Teleop extends LinearOpMode {

private Limelight3A limelight;

@Override
public void runOpMode() throws InterruptedException
{
limelight = hardwareMap.get(Limelight3A.class, "limelight");

telemetry.setMsTransmissionInterval(11);

limelight.pipelineSwitch(0);

/*
* डेटा के लिए पोलिंग शुरू करता है।
*/
limelight.start();

while (opModeIsActive()) {
LLResult result = limelight.getLatestResult();
if (result != null) {
if (result.isValid()) {
Pose3D botpose = result.getBotpose();
telemetry.addData("tx", result.getTx());
telemetry.addData("ty", result.getTy());
telemetry.addData("Botpose", botpose.toString());
}
}
}
}
}

अधिकतम 3D लोकलाइज़ेशन सटीकता के लिए, updateRobotOrientation() कॉल करें और getBotPose_MT2() का उपयोग करें:

while (opModeIsActive()) {
YawPitchRollAngles orientation = imu.getRobotYawPitchRollAngles();
limelight.updateRobotOrientation(orientation.getYaw(AngleUnit.DEGREES));
LLResult result = limelight.getLatestResult();
if (result != null) {
if (result.isValid()) {
Pose3D botpose = result.getBotpose_MT2();
// botpose डेटा का उपयोग करें
}
}
}

अधिक जानकारी के लिए, FTC Programming page देखें

8. समस्या निवारण

स्टेटस लाइट इंडिकेटर

  • हरी लाइट: धीरे ब्लिंक करती है (कोई टारगेट नहीं), तेज़ी से ब्लिंक करती है (टारगेट डिटेक्ट हुए)

FAQ

  • मेरा Limelight इतना गर्म क्यों लगता है? Limelight को जितना संभव हो उतना ठंडा चलाने के लिए, इसे जितना संभव हो उतना गर्म/छूने में सुरक्षित महसूस होना आवश्यक है। इसका एनक्लोज़र एक अत्यधिक प्रवाहकीय हीटसिंक है जो CPU को उचित रूप से ठंडे तापमान पर रखने में मदद करता है।

  • इमेज इतनी ग्रेनी क्यों दिखती है? लेटेंसी को कम करने के लिए, कमर्शियल कैमरों पर सामान्य रूप से मौजूद कई फिल्टर स्किप कर दिए जाते हैं। बिटरेट को कम करने के लिए स्ट्रीम को भी कंप्रेस किया जाता है। 2024.10.1 में, हमने डिफ़ॉल्ट कलर बैलेंस वैल्यू बदल दी ताकि इमेज मानव आंख को अधिक प्राकृतिक और जीवंत दिखें।

  • Control Hub पर OpenCV की तुलना में Limelight क्या ऑफर करता है? रोबोट IMU सेंसर फ्यूज़न, न्यूरल नेटवर्क, और बहुत कुछ के साथ एक आउट-ऑफ-द-बॉक्स, ज़ीरो-कोड, मल्टी-टैग लोकलाइज़ेशन एल्गोरिदम।