รู้ได้อย่างไรว่าตำแหน่งที่ได้เชื่อถือได้

อ่าน error, alignment และ tracking loss พร้อมเงื่อนไขที่ทำให้การเปรียบเทียบยุติธรรม

ปรับปรุงล่าสุด:

วิศวกรเปรียบเทียบเส้นทางบนสองหน้าจอข้างชิ้นส่วนโดรน
ภาพประกอบแนวคิดสร้างด้วย AI

กราฟสวยยังไม่พอ

ตรวจเงื่อนไขก่อนเปรียบเทียบเส้นทาง: เวลา หน่วย และ frame ตรงกัน; ระบุ alignment และข้อมูลอ้างอิง; คำนวณ error และอ่านกรณีล้มเหลว

ก่อนเทียบเส้นทางให้ตรวจหน่วย frame เวลา และความหมาย ground truth การขยับกราฟให้ซ้อนกันอาจลด error ที่รายงาน จึงต้องบอกว่าทำ alignment แบบใด และมีการปรับ scale หรือไม่

ตัวชี้วัด ช่วยตอบอะไร
APE ความต่างของ pose กับข้อมูลอ้างอิงตาม association/alignment ที่กำหนด
RPE ความต่างของการเคลื่อนที่สัมพัทธ์ในช่วงที่กำหนด
Tracking loss ช่วงที่ระบบไม่มีผลประมาณที่ใช้ได้
Runtime / latency ภาระและความล่าช้าภายใต้เครื่องและวิธีรันนั้น

APE เทียบจุดต่อจุด เทียบกับ RPE เทียบช่วงเลื่อน: APE เชื่อมตำแหน่งคู่ตรงกันแต่ละจุดด้วยเส้นตั้งฉากสั้น ๆ ส่วน RPE เทียบระยะที่เคลื่อนที่ของทั้งสองเส้นทางภายในหน้าต่างเวลาคงที่

เปรียบเทียบทีละปัจจัย

ใช้ sequence ช่วงเวลา และวิธีประเมินเดียวกัน บันทึกผลทั้งกรณีปกติและช่วงที่ล้มเหลว หากเครื่องมือส่งผลเฉพาะช่วงที่ติดตามสำเร็จ ค่าเฉลี่ยต่ำอาจซ่อนข้อมูลขาดหาย ไม่ตัดช่วงนั้นออกโดยไม่รายงาน

evo รองรับการประเมิน trajectory หลายรูปแบบและมีเอกสาร Windows/Linux อ่าน options ให้ตรงกับรูปแบบข้อมูลก่อนรัน ค่าตัวเลขจากแบบฝึกตำแหน่งอย่างง่ายไม่เท่ากับ full-pose APE/RPE จาก evo

ก่อนส่งเข้า flight controller

จาก VIO/SLAM สู่ Flight Controller: estimator ผ่านจุดตรวจ frame transform, timestamp-delay compensation และ sensor-offset correction ก่อนเข้าสู่ EKF ของ flight controller — SITL ผ่านหนึ่งชุด ไม่เท่ากับพร้อมบินจริง

การเชื่อม external vision ต้องตรวจ frame timestamp delay และ sensor offset ตามเวอร์ชัน flight stack ควรเริ่มตรวจข้อมูลและ SITL ก่อนฮาร์ดแวร์ ผล replay ผ่านเพียงชุดเดียวไม่รับรองความพร้อมบิน

ทดลอง error จากข้อมูลสังเคราะห์ →

แหล่งอ้างอิงและขอบเขต

ตรวจแหล่งข้อมูล 7 กันยายน 2569 เรียบเรียงประกอบองค์ความรู้ที่ DTI เอื้อเฟื้อ

กิตติกรรมประกาศและที่มา

F31: วัด position RMSE พร้อมเปิดเผย alignment

วัด position RMSE พร้อมเปิดเผย alignment; แผนภาพประกอบโมเดลการเรียนรู้

ตัวแปร ความหมายและหน่วยเข้า → ออก ช่วง/แหล่งค่า
p_est,i, p_ref,i ตำแหน่งประมาณ/อ้างอิงที่จับคู่เวลา (เข้า) m finite3แกน, datum/frame ที่ประกาศ
n จำนวนคู่ที่ผ่านกติกา (เข้า) คู่ ≥1; การ fit rotation ต้องมี geometry เพียงพอ
R, t rigid alignment หนึ่งชุด (เข้า/fit) ไร้หน่วย, m RᵀR=I, detR=+1; scale=1
RMSE_pos RMS ของระยะ residual (ออก) m ≥0; รายงาน raw และ aligned แยกกัน
R_ref, R_est rotation body→world ของคู่เวลาเดียวกัน (เข้า) ไร้หน่วย SO(3), frame เดียวกัน; alignment=I ในตัวอย่างมุม
θ, θ_deg principal relative rotation angle (ออก) rad,deg 0–π rad หรือ0–180°; แยกจาก error หน่วยm

ระดับขั้นสูง · แบบจำลองเพื่อการเรียนรู้ · คำถาม: เส้นทางต่างกันเพราะ origin หรือเพราะรูปร่างเส้นทางผิด และการจัดแนวซ่อนอะไรได้บ้าง?

RMSE_pos = √(Σᵢ ||R p_est,i + t − p_ref,i||² / n)

Raw ใช้ R=I,t=0; aligned เลือก rigid R,t ชุดเดียวเพื่อลดผลรวมกำลังสอง ห้าม scale correction โดยไม่ประกาศ เพราะจะซ่อน scale error นี่เป็น position-only RMSE ไม่ใช่ full pose APE/RPE และตัว position RMSE ไม่วัด orientation ความคลาดเคลื่อนมุมต้องมี pose convention กับ metric เพิ่ม ไม่รวมองศากับเมตรเป็น RMS เดียว

ก่อนคำนวณต้องประกาศ clock offset, tolerance ในการจับคู่, interpolation และจำนวนคู่ที่ตัดออก ตัวอย่างนี้มีเวลา0,1,2 s ตรงกันพอดี ใช้คู่1:1 ไม่ interpolate สำหรับข้อมูลอื่นให้เรียงเวลา ตรวจเวลาซ้ำ เลือกคู่ไม่ซ้ำที่ห่างไม่เกิน tolerance ที่กำหนดก่อนดูผล และทิ้งคู่ที่ไม่ผ่าน; ไม่มีคู่ให้ไม่มีค่า ไม่ใช่0 หากใช้ evo ต้องบันทึกรุ่น/arguments และผลจำนวนคู่ ไม่อ้างว่าบทนี้ได้รัน evo

มุมหมุนแยกจากความคลาดตำแหน่ง

สำหรับคู่เวลาเดียวกัน ให้ R_ref และ R_est แปลง body ไป world เดียวกัน โดยตัวอย่างนี้ alignment=I ทั้งคู่ต้องอยู่ใน SO(3) ก่อน: RᵀR=I และ detR=+1 กำหนด R_err=R_refᵀR_est และ θ=acos(clip((trace(R_err)−1)/2,−1,1)) มีช่วง0ถึงπ rad; θ_deg=θ×180/π ตาม principal rotation angle การ clip แก้ roundoff เล็กน้อย ไม่ใช้ซ่อม matrix ที่ไม่ใช่ rotation หากใช้ alignment R_align ที่ไม่ใช่I ต้องใช้ R_align R_est ก่อนเทียบ

ตัวอย่าง R_ref=I, R_est=[[√3/2,−1/2,0],[1/2,√3/2,0],[0,0,1]] จึง trace=1+√3 ได้ θ=π/6=0.523598776 rad หรือ30° ยอมรับ ±0.000001 ในหน่วยที่รายงาน นี่เป็นมุมหนึ่งคู่ แยกจาก position RMSE ไม่ใช่ full pose APE/RPE หรือ trajectory rotational RMSE

กติกาจับคู่ตัวอย่างข้อมูลจริงที่ออกแบบเพื่อฝึก: หลังชดเชย offset ที่ทราบล่วงหน้า ใช้ tolerance0.01 s จับคู่ใกล้สุดแบบ1:1และไม่ interpolate แล้วรายงานจำนวนคู่/คู่ที่ทิ้ง ค่า0.01 s นี้เป็นสมมติฐานการฝึก ไม่ใช่ค่าเหมาะสมสากลหรือ default ของ evo; timestamps ที่ห่าง0.02 s ต้องทิ้งตามกติกานี้

ตัวอย่างแทนค่า

reference=(0,0,0),(1,0,0),(0,1,0) m และ estimated=(1,0,0),(2,0,0),(1,1,0) m ตามเวลาเดียวกัน residual raw ทั้งสาม=(1,0,0) m จึง √((1+1+1)/3)=1 m หลัง R=I,t=(−1,0,0) m ได้0 m การ fit กับชุดที่ประเมินนี้บอก residual หลังจัดแนว ไม่ใช่ผลทดสอบอิสระ และ0ไม่ได้รับรองตำแหน่ง absolute

แบบฝึกเปลี่ยนค่า

เปลี่ยน estimated เป็นสองเท่าของ reference: (0,0,0),(2,0,0),(0,2,0) m ใช้ rigid alignment ที่ scale=1 แล้ว raw/aligned RMSE เท่าใด?

เปิดเฉลย F31

Raw=√(2/3)=0.816496581 m; rigid ที่ดีที่สุดคือ R=I,t=(−1/3,−1/3,0) m ได้ผลรวม squared residual4/3 m² ดังนั้น aligned=√(4/9)=2/3 m ยอมรับ ±0.000001 m ห้ามคูณscale0.5แล้วรายงาน0โดยไม่เปิดเผย

อ้างอิง: evo v1.30.0 PosePath3D.align (P4A04), timestamp association (P4A08); evo v1.30.0 relative_so3/so3_log_angle (P4A10), Modern Robotics v1.1.1 MatrixLog3 (P4A11); ตรวจ26กันยายน2569 ตัวเลขทั้งหมดเป็นโจทย์สังเคราะห์

เชื่อมความรู้กับภารกิจและข้อมูล

รายงานวิธีจัดแนว trajectory กรอบพิกัด หน่วย และช่วงเวลาที่นำมาเทียบ พร้อมสถานะของข้อมูลอ้างอิง เมื่อผลไม่ตรงให้แยกการตั้งเวลา พิกัด และข้อจำกัดเซนเซอร์ก่อนสรุปว่าอัลกอริทึมผิด อ่านแหล่งอ้างอิง: OpenVINS — Documentation

ฝึกตรวจความเข้าใจ: เปรียบเทียบสองผลโดยเก็บเงื่อนไขเดิม แล้วเขียนว่าข้อสรุปครอบคลุมเฉพาะข้อมูลใด ไม่อ้างเป็นผลบินภาคสนาม

อ่านต่อ บทที่ใช้ความรู้นี้ในงานจำลอง · ทบทวนแหล่งข้อมูล 26 กันยายน 2569

ดาวน์โหลดชุดฝึกการนำทางและภารกิจขั้นสูง (CSV/JSON พร้อมเฉลย) · แบบจำลองสังเคราะห์พร้อมสมมติฐานและข้อจำกัด

ใช้ในรายวิชา

วิธีอ้างอิงหน้านี้

สถาบันโดรน มหาวิทยาลัยรังสิต. (2569). รู้ได้อย่างไรว่าตำแหน่งที่ได้เชื่อถือได้. ใน คลังความรู้หลักสูตร ทล.บ. เทคโนโลยีระบบอากาศยานไร้คนขับ. https://rsu-drt.pk-research.work/th/kb/knowledge/visual-inertial/evaluation/

ต้นฉบับจากคลังความรู้โดรน: https://drone.pk-research.work/knowledge/visual-inertial/evaluation/ · © PK-Research