Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

स्पष्ट रूप से दिखाई देने वाला SLAM मैप पोज़ त्रुटि या विलंबता को प्रकट नहीं करता है। सिस्टम की तुलना करने से पहले संदर्भ, संरेखण स्वतंत्रता और विफलताओं के उपचार को परिभाषित करें। यहां दिए गए आंकड़े कृत्रिम प्रक्षेप पथों से लिए गए हैं, न कि किसी विशेष SLAM एल्गोरिदम के बेंचमार्क से।

ATE और RPE क्या मापते हैं

मान लीजिए Q_i संदर्भ पोज़ है, P_i अनुमान है और S एक निश्चित संरेखण है। निरपेक्ष त्रुटि को E_i=Q_i^{-1}SP_i के रूप में लिखा जा सकता है। इसके अनुवाद मानदंड का वर्गमूल माध्य एक सामान्य ATE माप है; evo इसे व्यापक निरपेक्ष-पोज़ मीट्रिक APE कहता है।

सापेक्ष त्रुटि i\rightarrow j : F_{ij}=(Q_i^{-1}Q_j)^{-1}(P_i^{-1}P_j) अंतराल पर गति की तुलना करती है। परिणाम इस बात पर निर्भर करते हैं कि अंतराल एक सेकंड, एक मीटर या एक फ्रेम का है। आधिकारिक evo Metrics दस्तावेज़ देखें।

एक छोटी गणना से अंतर की जाँच करें

slam_metric_lab.py को एक खाली डायरेक्टरी में सेव करें और python3 slam_metric_lab.py चलाएँ। इसकी जाँच Python 3.12.3 के साथ की गई है और यह केवल मानक लाइब्रेरी का उपयोग करता है। संदर्भ x=t मीटर है, जिसे 0 से 10 सेकंड तक 0.1 सेकंड के अंतराल पर 101 बिंदुओं पर सैंपल किया गया है, जिसमें समान रोटेशन हैं।

सिंथेटिक त्रुटि असंरेखित अनुवाद APE RMSE एक-सेकंड, सभी-जोड़ी अनुवाद RPE RMSE
स्थिर +0.1 मीटर ऑफ़सेट 0.100000 मीटर 0.000000 मीटर

प्रत्येक सेकंड में 0.01 मीटर की वृद्धि के साथ बहाव | 0.057879 मीटर | 0.010000 मीटर |

स्थितिगत अंतरों में एक स्थिर स्थानांतरण दिखाई देता है, लेकिन गतिगत अंतरों से यह रद्द हो जाता है। दोनों में बहाव बना रहता है। इस उदाहरण में न तो संरेखण और न ही समय प्रक्षेपण लागू होता है। संदर्भ और बहाव अनुमान डाउनलोड करें।

मूल्यांकन से पहले वास्तविक डेटा से मिलान करें

Diagram 1 · Use the button to switch views
समय और फ़्रेमों का मिलान करें, संरेखण ठीक करें, APE और RPE की गणना करें, फिर विफलताओं और विलंबता की रिपोर्ट करें

मीटर और सेकंड का उपयोग करें, और सेंसर और बॉडी संदर्भ फ़्रेमों को आपस में न मिलाएं। घड़ी की त्रुटियों से अलग-अलग रिकॉर्डिंग प्रारंभ समयों को पहचानें। TUM प्रारूप timestamp x y z q_x q_y q_z q_w है; आधिकारिक प्रारूप दस्तावेज़ के अनुसार चतुर्भुज क्रम की पुष्टि करें।

SE(3) संरेखण घूर्णन और स्थानांतरण को ठीक करता है; Sim(3) भी पैमाने को ठीक करता है। एकल-नेत्र प्रक्षेपवक्र आकृति की तुलना करने के लिए स्केल सुधार उपयुक्त हो सकता है, लेकिन यदि प्रयोग का उद्देश्य स्केल त्रुटि को मापना है तो यह उसे दूर कर देता है। रैंकिंग में इन मूल्यांकन सेटिंग्स को चुपचाप न मिलाएं।

इवोल्यूशन वातावरण रिकॉर्ड करें

एक समर्पित इवोल्यूशन वातावरण में, evo_ape --version और evo_rpe tum --help फ़ाइलें सहेजें। ये कमांड आधिकारिक CLI संरचना का अनुसरण करते हैं; ये एक प्रक्रिया हैं, इस लेख के लिए वास्तविक प्रक्षेपवक्रों पर निष्पादित परिणाम नहीं।

evo_ape tum reference.tum estimate.tum --align --save_results ape.zip
evo_rpe tum reference.tum estimate.tum --delta 1 --delta_unit s --all_pairs --save_results rpe.zip

फ़ाइल नामों को एक ही रन के प्रक्षेपवक्रों से बदलें। स्थापित संस्करण की सहायता का उपयोग करके टाइमस्टैम्प-एसोसिएशन टॉलरेंस को ठीक करें और मिलान किए गए नमूना गणनाओं की रिपोर्ट करें। ऊपर दी गई सिंथेटिक तालिका संरेखित नहीं है, इसलिए --align जोड़ने से इसकी व्याख्या और परिणाम बदल जाते हैं।

सटीकता से अधिक रिपोर्ट करें

मात्रा आवश्यक संदर्भ
APE / RPE संरेखण, अंतराल, मीटर या डिग्री, मिलान की गई स्थितियाँ

विफलताएँ | कुल रन, ट्रैकिंग हानियाँ और रिकवरी सेकंड |

विलंबता | अधिग्रहण-से-उपलब्ध अनुमान p50/p95 और घड़ी तुल्यकालन |

संसाधन | CPU/GPU, थ्रेड्स, मेमोरी, इनपुट दर और सॉफ़्टवेयर संस्करण |

प्रति-फ़्रेम प्रसंस्करण समय, कतारबद्धता सहित विलंबता से भिन्न होता है। ग्राउंड ट्रुथ के बिना, ATE की रिपोर्ट न करें। इसके बजाय आप दोहराव या स्थिरता को माप सकते हैं, यह बताते हुए कि ये सीधे स्थितिगत सटीकता स्थापित नहीं करते हैं।

कठिन अंतरालों को बनाए रखें

केवल कठिन अनुभागों को हटाने से सफल ट्रैकिंग के लिए सटीकता स्कोर प्राप्त होता है। मूल्यांकन योग्य अंतरालों पर त्रुटि से अलग समग्र सफलता दर की रिपोर्ट करें। एल्गोरिदम तुलना में एकीकरण त्रुटियों को शामिल करने से बचने के लिए पहले सेंसर समय और फ़्रेम की जाँच करें।

Related reading

Check timing and frames before evaluationसेंसर फ्यूजन विफल क्यों होता है — समय, फ्रेम और बाह्य अंशांकनExplore another aspect of this fieldICP की विफलता के कारण: आरंभीकरण, आउटलायर्स और सममित ज्यामितिExplore another aspect of this fieldROS 2 में मैपिंग से लेकर नेविगेशन तक — जैज़ी और Nav2 की एक संक्षिप्त प्रक्रिया