JSON परिणाम विशिष्टता
Limelight का JSON परिणाम आउटपुट लक्ष्यीकरण परिणामों वाले सरणियों का एक संग्रह है। रेट्रोरिफ्लेक्टिव, फिड्यूशियल, न्यूरल क्लासिफायर और न्यूरल डिटेक्टर परिणामों के लिए अलग-अलग सरणियां मौजूद हैं। JSON मानव-पठनीय है और किसी भी भाषा में किसी भी प्लेटफॉर्म पर पार्स करना आसान है, इसलिए यह अधिकांश उपयोग-मामलों के लिए एकदम सही है।
समान JSON परिणाम आउटपुट REST/HTTP, Websocket और NetworkTables API का उपयोग करके प्र ाप्त किया जा सकता है।
हमारे FRC लाइब्रेरीज के साथ इस JSON आउटपुट को पार्स करना अत्यंत आसान है।
Limelightlib में अंतर्निहित कार्यक्षमता है जो JSON डंप को LimelightResults ऑब्जेक्ट में पार्स करती है।
https://github.com/LimelightVision/limelightlib-wpijava
https://github.com/LimelightVision/limelightlib-wpicpp
प्रत्येक JSON परिणाम में निम्नलिखित प्रविष्टियां होती हैं:
कुंजी नाम | मान विवरण |
---|---|
tl | लक्ष्यीकरण विलंबता (इस फ्रेम में ट्रैकिंग लूप द्वारा खपत किए गए मिलीसेकंड) |
cl | कैप्चर विलंबता (मध्य पंक्ति के एक्सपोज़र के अंत से ट्रैकिंग लूप की शुरुआत तक मिलीसेकंड) |
tx | क्रॉसहेयर से लक्ष्य तक क्षैतिज ऑफसेट (LL1: -27 डिग्री से 27 डिग्री / LL2: -29.8 से 29.8 डिग्री) |
ty | क्रॉसहेयर से लक्ष्य तक ऊर्ध्वाधर ऑफसेट (LL1: -20.5 डिग्री से 20.5 डिग्री / LL2: -24.85 से 24.85 डिग्री) |
txnc | प्रिंसिपल पिक्सेल से लक्ष्य तक क्षैतिज ऑफसेट (डिग्री) |
tync | प्रिंसिपल पिक्सेल से लक्ष्य तक ऊर्ध्वाधर ऑफसेट (डिग्री) |
ta | लक्ष्य का अविकृत, सामान्यीकृत क्षेत्र (0-100) |
PythonOut | पायथन SnapScript पाइपलाइनों से आउटपुट डेटा |
stdev_mt1 | MT1 मानक विचलन [x, y, z, रोल, पिच, यॉ] (मीटर, डिग्री) |
stdev_mt2 | MT2 मानक विचलन [x, y, z, रोल, पिच, यॉ] (मीटर, डिग्री) |
pID | वर्तमान पाइपलाइन इंडेक्स |
pTYPE | वर्तमान पाइपलाइन प्रकार जैसे "pipe_color" |
ts | बूट से मिलीसेकंड में टाइमस्टैम्प |
v | वैधता संकेतक। 1 = वैध लक्ष्य, 0 = कोई वैध लक्ष्य नहीं |
botpose | बॉटपोज़ (MegaTag): x,y,z, रोल, पिच, यॉ (मीटर, डिग्री) |
botpose_wpired | बॉटपोज़ (MegaTag, WPI रेड ड्राइवरस्टेशन): x,y,z, रोल, पिच, यॉ (मीटर, डिग्री) |
botpose_wpiblue | बॉटपोज़ (MegaTag, WPI ब्लू ड्राइवरस्टेशन): x,y,z, रोल, पिच, यॉ (मीटर, डिग्री) |
botpose_orb | बॉटपोज़ (MegaTag2): x,y,z, रोल, पिच, यॉ (मीटर, डिग्री) |
botpose_orb_wpired | बॉटपोज़ (MegaTag2, WPI रेड ड्राइवरस्टेशन): x,y,z, रोल, पिच, यॉ (मीटर, डिग्री) |
botpose_orb_wpiblue | बॉटपोज़ (MegaTag2, WPI ब्लू ड्राइवरस्टेशन): x,y,z, रोल, पिच, यॉ (मीटर, डिग्री) |
botpose_avgarea | बॉटपोज़ की गणना के लिए उपयोग किए गए टैग का औसत क्षेत्र |
botpose_avgdist | बॉटपोज़ की गणना के लिए उपयोग किए गए टैग के बीच अधिकतम दूरी (मीटर) |
botpose_span | बॉटपोज़ की गणना के लिए उपयोग किए गए टैग के बीच अधिकतम दूरी (मीटर) |
botpose_tagcount | बॉटपोज़ की गणना के लिए उपयोग किए गए टैग की संख्या |
Retro | कलर/रेट्रोरिफ्लेक्टिव पाइपलाइन परिणाम सरणी |
Fiducial | AprilTag पाइपलाइन परिणाम सरणी |
Detector | न्यूरल डिटेक्टर पाइपलाइन परिणाम सरणी |
Classifier | क्लासिफायर पाइपलाइन परिणाम सरणी |
Barcode | बारकोड पाइपलाइन परिणाम सरणी |
कलर/रेट्रोरिफ्लेक्टिव परिणाम
"Retro" सरणी में निम्नलिखित संरचना वाली प्रविष्टियां होती हैं:
कुंजी नाम | मान विवरण |
---|---|
t6c_ts | solvepnp द्वारा गणना किए गए लक्ष्य स्थान में कैमरा की स्थिति (x,y,z,rx,ry,rz) |
t6r_fs | solvepnp द्वारा गणना किए गए फील्ड स्थान में रोबोट की स्थिति (x,y,z,rx,ry,rz) |
t6r_ts | solvepnp द्वारा गणना किए गए लक्ष्य स्थान में रोबोट की स्थिति (x,y,z,rx,ry,rz) |
t6t_cs | solvepnp द्वारा गणना किए गए कैमरा स्थान में लक्ष्य की स्थिति (x,y,z,rx,ry,rz) |
t6t_rs | solvepnp द्वारा गणना किए गए रोबोट स्थान में लक्ष्य की स्थिति (x,y,z,rx,ry,rz) |
ta | छवि के प्रतिशत के रूप में लक्ष्य का आकार (0-1) |
tx | क्रॉसहेयर के सापेक्ष डिग्री में लक्ष्य के केंद्र का X-निर्देशांक। सकारात्मक-दाएं, केंद्र-शून्य |
tx_nocross | प्रिंसिपल पिक्सेल के सापेक्ष डिग्री में लक्ष्य के केंद्र का X-निर्देशांक। सकारात्मक-दाएं, केंद्र-शून्य |
txp | क्रॉसहेयर के सापेक्ष पिक्सेल में लक्ष्य के केंद्र का X-निर्देशांक। सकारात्मक-दाएं, केंद्र-शून्य |
ty | क्रॉसहेयर के सापेक्ष डिग्री में लक्ष्य के केंद्र का Y-निर्देशांक। सकारात्मक-नीचे, केंद्र-शून्य |
ty_nocross | प्रिंसिपल पिक्सेल के सापेक्ष डिग्री में लक्ष्य के केंद्र का Y-निर्देशांक। सकारात्मक-दाएं, केंद्र-शून्य |
typ | क्रॉसहेयर के सापेक्ष पिक्सेल में लक्ष्य के केंद्र का Y-निर्देशांक। सकारात्मक-नीचे, केंद्र-शून्य |
pts | कोने सरणी (पिक्सेल) [x0,y0,x1,y1.....]. आउटपुट टैब में सक्षम होना चाहिए |
कलर / रेट्रोरिफ्लेक्टिव पाइपलाइन के लिए उदाहरण JSON
{
"Barcode": [],
"Classifier": [],
"Detector": [],
"Fiducial": [],
"PythonOut": [],
"Retro": [
{
"pts": [],
"t6c_ts": [],
"t6r_fs": [],
"t6r_ts": [],
"t6t_cs": [],
"t6t_rs": [],
"ta": 0.00531171215698123,
"tx": -4.535492777705656,
"tx_nocross": -4.428826910553056,
"txp": 542.53076171875,
"ty": -1.1722867231218714,
"ty_nocross": -0.09285491974145543,
"typ": 504.5538635253906
},
{
"pts": [],
"t6c_ts": [],
"t6r_fs": [],
"t6r_ts": [],
"t6t_cs": [],
"t6t_rs": [],
"ta": 0.005779948551207781,
"tx": 8.465099348209478,
"tx_nocross": 8.571765215362078,
"txp": 822.1087036132812,
"ty": -2.524207730360601,
"ty_nocross": -1.444775926980185,
"typ": 533.6112060546875
},
],
"botpose": [
0,
0,
0,
0,
0,
0
],
"botpose_avgarea": 0,
"botpose_avgdist": 0,
"botpose_orb": [
0,
0,
0,
0,
0,
0
],
"botpose_orb_wpiblue": [
0,
0,
0,
0,
0,
0
],
"botpose_orb_wpired": [
0,
0,
0,
0,
0,
0
],
"botpose_span": 0,
"botpose_tagcount": 0,
"botpose_wpiblue": [
0,
0,
0,
0,
0,
0
],
"botpose_wpired": [
0,
0,
0,
0,
0,
0
],
"cl": 37.619998931884766,
"focus_metric": 0,
"pID": 0,
"pTYPE": "pipe_color",
"stdev_mt1": [
0,
0,
0,
0,
0,
0
],
"stdev_mt2": [
0,
0,
0,
0,
0,
0
],
"t6c_rs": [
0,
0,
0,
0,
0,
0
],
"ta": 0.39156023412942886,
"tl": 22.64053726196289,
"ts": 215248.979204,
"tx": -4.3848327488723555,
"txnc": -4.278166881719756,
"ty": -1.1144596937982527,
"tync": -0.035027890417836716,
"v": 1
}