ความสัมพันธ์ระหว่างแผนที่จุดเมฆและแผนที่กราฟ


9

ฉันคุ้นเคยกับแผนที่ SLAM ที่เป็นรูปแบบจุดเมฆโดยทั่วไปจะอยู่ในรูปแบบของเวกเตอร์เช่น}> ฉันเข้าใจวิธีสร้างแผนที่เช่นนี้โดยใช้ EKF<x,Y,θ,1x,1Y,...,nx,nY>

วันนี้ฉันเจอรูปแบบไฟล์. กราฟิคซึ่งตามที่คุณคาดหวังประกอบด้วยจุดยอดและขอบในรูปแบบ:

VERTEX2 id x y orientation

EDGE2 observed_vertex_id observing_vertex_id forward sideward rotate inf_ff inf_fs inf_ss inf_rr inf_fr inf_sr

ฉันรู้ว่ามีการเชื่อมต่อระหว่างเมทริกซ์และกราฟ (ตัวอย่างเช่น adjacency matrix) แต่มันก็ไม่ชัดเจนสำหรับฉันว่ารูปแบบกราฟของแผนที่นี้เทียบเท่ากับแผนที่คลาวด์แบบจุดที่ฉันคุ้นเคย

ความสัมพันธ์คืออะไร? จุดยอดทั้งโพสท่าและสถานที่สำคัญ? พวกเขาอยู่ในกรอบอ้างอิงระดับโลกหรือไม่ สิ่งนี้ถูกสร้างขึ้นจากข้อมูลความเร็วพูดและเซ็นเซอร์ช่วง / แบริ่งได้อย่างไร? มีการแปลงระหว่างแผนที่กราฟและจุดเมฆหรือไม่?

คำตอบ:


4

ดังที่ได้กล่าวไว้ในคำอธิบายของรูปแบบไฟล์มันใช้สำหรับวิธี SLAM บนกราฟ ทำงานเพื่อลดข้อผิดพลาดของเครือข่ายแบบ จำกัด คุณสามารถคิดแบบนี้: มีเฟรมอ้างอิงจำนวนหนึ่ง (จุดยอดของคุณ) จากนั้นคุณมีความรู้เกี่ยวกับการแปลงระหว่างเฟรมเหล่านี้ การเปลี่ยนแปลงเหล่านี้เกี่ยวข้องกับความไม่แน่นอน วางกรอบการเพิ่มประสิทธิภาพกราฟเช่นTORO , HogMan , G2Oและอื่น ๆ จากนั้นจะให้โอกาสสูงสุดสำหรับตำแหน่งจุดสุดยอดของคุณตามข้อ จำกัด

ในแง่ของหุ่นยนต์ภาคปฏิบัติมักหมายถึง:

  • หุ่นยนต์แต่ละตัววางณ เวลาที่มีกรอบอ้างอิงของตัวเองและจุดสุดยอดพีkk
  • คุณยังสามารถเพิ่มจุดสังเกตเป็นจุดยอดทั้งนี้ขึ้นอยู่กับวิธีของคุณ อย่างไรก็ตามคุณไม่จำเป็นต้องทำ
  • เมื่อใดก็ตามที่คุณได้รับข้อมูลใหม่เกี่ยวกับความสัมพันธ์ระหว่างสองท่าคุณเพิ่มเข้าไปในกราฟข้อ จำกัด เช่น odometry ของคุณจะให้การแปลงระหว่างและ1}พีkพีk+1
  • หากวิธีการของคุณทำงานตามจุดสังเกตคุณเพิ่มการเปลี่ยนแปลงลงในจุดสังเกตของคุณ หากคุณรู้ตำแหน่งของแลนด์มาร์คของคุณเท่านั้นคุณจะมีความไม่แน่นอนสูงเกี่ยวกับข้อมูลการหมุนของการเปลี่ยนแปลงของคุณ
  • หากวิธีการของคุณไม่ทราบเกี่ยวกับจุดสังเกตเช่นคุณมีประเด็นใหญ่ที่คุณจับคู่กับ ICP คุณสามารถเพิ่มผลลัพธ์ ICP ลงในกราฟข้อ จำกัด ของคุณ

ข้อ จำกัด ของการโพสต์นั้นมักถูกจัดเก็บไว้เป็นเมทริกซ์แบบเบาบางขนาดโดยที่คือจำนวนของจุดยอด (อีกครั้งที่หุ่นยนต์วางตัวและจุดสังเกต) ในกราฟของคุณn×nn

รูปแบบไฟล์นั้นให้การเดาเริ่มต้นสำหรับตำแหน่งของจุดยอดด้วยVERTEX2(สำหรับแบบจำลอง 2D) และVERTEX3(สำหรับแบบจำลอง 3 มิติ) คุณไม่สามารถผสมทั้งสอง ข้อ จำกัด ที่มีการเพิ่มเพื่อให้คุณระบุการแปลงระหว่างเฟรมอ้างอิง (จุด) ที่กำหนดโดยและfrom_id to_idการแปลงจะได้รับจากทั้งสองEDGE2และEDGE3การแปลและการหมุนในมุมที่ออยเลอร์เช่นเดียวกับข้อมูลเมทริกซ์ของความไม่แน่นอน ในกรณีนี้ข้อมูลเมทริกซ์คือผกผันของเมทริกซ์ความแปรปรวนสำหรับการแปลงเวกเตอร์{หันเห}][xYZม้วนขว้างหันเห]

ขึ้นอยู่กับเฟรมเวิร์กของคุณโดยปกติหนึ่งในจุดยอดจะถูกต่อสายในกรอบอ้างอิงส่วนกลาง

การเพิ่มประสิทธิภาพกราฟแบบโพสต์กราฟนั้นถือว่าเป็นแบ็กเอนด์ SLAM วิธีที่คุณสร้างข้อ จำกัด เช่นจากช่วงข้อมูลของคุณเป็นปัญหาส่วนหน้า มีภาพรวมที่มีความสุขในสิ่งเหล่านี้เป็นเอกสารประกอบการบรรยาย


1

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

จากสิ่งที่ฉันสามารถบอกได้ว่ารูปแบบแผนที่นี้รวมเฉพาะข้อมูลที่โพสต์เองและไม่ใช่จุดสังเกตดังนั้นจะไม่มีการแปลงโดยตรงจากแผนที่คลาวด์แบบจุด


1
โปรดอธิบายความแตกต่างระหว่างข้อมูลโพสต์และจุดสังเกต โดยทั่วไปสถานที่สำคัญจะถูกประเมินโดยโพสท่า
Josh Vander Hook

1
ในระหว่างการโลคัลไลเซชั่นและการแมปพร้อม ๆ กันเรามักจะรักษาตำแหน่งและการวางแนวของตัวเองขณะที่เคลื่อนผ่านสภาพแวดล้อมเช่นเดียวกับจุดที่สามารถระบุตัวตนได้หลายอย่างในสภาพแวดล้อมที่มักจะสันนิษฐานได้ว่านิ่ง การประมาณท่าที่แม่นยำสำหรับสถานที่สำคัญช่วยลดความไม่แน่นอนในท่าของตัวเองและในทางกลับกัน สิ่งที่ฉันอ้างถึงว่าเป็นข้อมูลก่อให้เกิดข้อ จำกัด ในการทำตัวเองแม้ว่าพวกเขาจะได้มาจากการคำนวณที่เกี่ยวข้องกับสถานที่สำคัญ
surtur
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.