ฉันสามารถใช้อัลกอริทึมใดในการสร้างแผนที่ของพื้นที่สำรวจโดยใช้เซ็นเซอร์อัลตร้าซาวด์จำนวนหนึ่ง


9

เซ็นเซอร์อัลตราซาวด์มีราคาถูกอย่างไม่น่าเชื่อวันนี้ซึ่งทำให้พวกเขาเป็นทางเลือกยอดนิยมสำหรับแอปพลิเคชันหุ่นยนต์มือสมัครเล่นจำนวนมากและฉันต้องการใช้พวกมัน (พูด 10) รอบ ๆ หุ่นยนต์ด้วยอัลกอริทึมเพื่อสร้างแผนที่คร่าวๆ หุ่นยนต์สำรวจมัน) ฉันไม่สนใจที่จะจัดการกับวัตถุที่เคลื่อนไหวในขั้นตอนนี้เพียงแค่ระบุตำแหน่งที่อยู่กับที่และฉันจะใช้ GPS เพื่อระบุตำแหน่ง ฉันรู้ว่าส่วนประกอบอื่น ๆ เช่นเครื่องสแกนเลเซอร์จะให้ผลลัพธ์ที่แม่นยำมากขึ้น แต่อุปกรณ์ดังกล่าวมีราคาแพงกว่าในทางดาราศาสตร์

มีอัลกอริทึมสำหรับวัตถุประสงค์นี้หรือไม่?

คำตอบ:


5

อัลกอริทึมนั้นเหมือนกันโดยไม่คำนึงถึงเซ็นเซอร์ที่คุณใช้

ปัญหาที่แท้จริงที่Chris สัมผัสคือ SLAM นั้นยากแม้จะมีเซ็นเซอร์ที่ดีมาก

ฉันจะพิจารณาจีพีเอส, ระยะทางล้อและ IMU ที่จำเป็นในการลองสแลตด้วยอัลตร้าซาวด์

หากคุณกำลังมองหาการแปลราคาถูกฉันขอแนะนำให้ดูวิชั่นส์ / kinect based slam เช่นกัน ทั้งเว็บแคมและ kinect นั้นราคาถูกมากและภาพสแลมนั้นมาไกล

ไคเนกต์เป็นจอกศักดิ์สิทธิ์ในแง่ของประสิทธิภาพเซ็นเซอร์ / ค่าใช้จ่ายตราบใดที่คุณอยู่ในอาคาร

นี่คือตัวอย่างของ kinect บนหุ่นยนต์พร้อมคณิตศาสตร์มากมาย: http://www.youtube.com/watch?v=9Y4RQVpp-BY


6

มีพื้นที่ทั้งหมดของวรรณกรรมในหัวข้อนี้ แนวคิดที่พบมากที่สุดคือ Simultaneous Localization and Mapping ( SLAM ) ซึ่งหุ่นยนต์จะต้องสร้างแผนที่ในเวลาเดียวกันกับที่ตั้งอยู่ในแผนที่นั้น ขึ้นอยู่กับว่าคุณต้องการให้แผนที่ของคุณแม่นยำแค่ไหนคุณสามารถลองสร้างปัญหาในการสร้างแผนที่กริดการเข้าใช้งานที่ง่ายขึ้นซึ่งจะถือว่าคุณรู้ตำแหน่งของหุ่นยนต์

โดยทั่วไปแล้ว GPS นั้นน่ากลัวมากดังนั้นการสร้างตารางการเข้าพักเพียงใช้ GPS เป็นแหล่งที่ตั้งหลักของคุณจะสร้างแผนที่ที่คลุมเครือ อย่างไรก็ตามมันเป็นไปได้ที่จะรวม GPS กับการเร่งความเร็ว, ไจโรสโคป, เข็มทิศ, กล้อง, เครื่องเข้ารหัสล้อและเซ็นเซอร์อื่น ๆ ให้อยู่ในตำแหน่งที่ดีในโลก มิฉะนั้นคุณจะต้องมองหาระบบ SLAM แบบง่าย ๆ เพื่อจัดการกับปัญหาของคุณ

แพ็คเกจโอเพ่นซอร์สที่ดี g2oสำหรับ GraphSLAM ที่เรียกว่าช่วยให้คุณใส่ข้อ จำกัด เช่น GPS และตำแหน่งสัมพันธ์กับผนัง มันอาจจะไม่ใช่แบบที่แน่นอน แต่มันค่อนข้างทั่วไป


1
ความคิดเพิ่มเติมคือการรวบรวมข้อมูลทั้งหมดโดยใช้พฤติกรรมการหลีกเลี่ยงขั้นพื้นฐานเพื่อให้แน่ใจว่าหุ่นยนต์จะไม่ชนกับสิ่งใดและจากนั้นใช้ SLAM การประมวลผลภายหลัง สิ่งนี้สามารถใช้ประโยชน์จากข้อมูลทั้งหมดที่จับได้ซึ่งตรงข้ามกับข้อมูลก่อนหน้านี้เพียงจุดเดียว คุณอาจต้องการตรวจสอบ: openslam.org/ssa2d.htmlหรือrobots.stanford.edu/papers/thrun.graphslam.html
Barrett Ames

2

ในการทำ SLAM คุณจะต้องมีการประมาณตำแหน่งที่ค่อนข้างดี

หุ่นยนต์ที่ใช้เลเซอร์สแกนเนอร์สามารถทำกับ odometry ได้เนื่องจากข้อมูลมีความถูกต้องและสามารถใช้ข้อมูลสแกนเนอร์เพื่อช่วยแปลในขั้นตอนต่อไป

เซ็นเซอร์อัลตร้าซาวด์มีความคลุมเครือมากโดยทั่วไปมีความคลุมเครือในทิศทางมากกว่า 20 องศาและสิ่งใดก็ตามที่อยู่ในทิศทางทั่วไปจะถูกตรวจจับ

ดังนั้นจึงมีความช่วยเหลือเล็กน้อยในการช่วย จำกัด วง (ยกเว้นในสภาพแวดล้อมที่มีโครงสร้างมาก)

สามารถใช้การรวม GPS / IMU เพื่อให้ได้การโลคัลไลซ์เซชันอย่างสมเหตุสมผล แน่นอนขึ้นอยู่กับขนาดของหุ่นยนต์และหากอยู่ในอาคาร GPS อาจไม่สามารถใช้งานได้จริง

หากคุณสามารถควบคุมการเลื่อนของล้อได้อย่างระมัดระวัง Odometry ของล้อสามารถปรับปรุงการโลคัลไลซ์เซชันในระยะสั้นได้อย่างมีนัยสำคัญ หากไม่มีการอ้างอิงที่แน่นอน (เช่น GPS) แม้จะมีเครื่องสแกนเลเซอร์คุณจะต้องสามารถแก้ปัญหา "การปิดลูป" ได้

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.