จะสร้าง "หุ่นยนต์ที่มองไม่เห็นหลังเส้น" ได้อย่างไร?


10

ฉันต้องการสร้างหุ่นยนต์ที่ตามเส้นทางเสมือน (ไม่ใช่เส้นทางที่มองเห็นได้เช่น 'เส้นสีดำบนพื้นผิวสีขาว' ฯลฯ )

ฉันแค่กระตือรือร้นด้วยการดูวิดีโอ sci-fi ซึ่งแสดงหุ่นยนต์ที่บรรทุกสิ่งของและวัสดุในที่แออัด และพวกเขาไม่ได้ตามแนวทางกายภาพ พวกเขารู้สึกถึงอุปสรรคความลึก ฯลฯ

ฉันต้องการสร้างหุ่นยนต์หนึ่งตัวซึ่งติดตามเส้นทาง (เสมือน) เฉพาะจากจุด A ถึง B

ฉันลองทำสองสิ่ง:

  1. การใช้เซ็นเซอร์ "ฮอลล์เอฟเฟ็กต์" แบบแม่เหล็กบนหุ่นยนต์และกระแสไฟฟ้าลวด (ใต้โต๊ะ) ปัญหาที่เกิดขึ้นคือบริเวณใกล้เคียงของเซนเซอร์ Hall Hall นั้นมีขนาดเล็กมาก (<2 ซม.) ซึ่งเป็นเรื่องยากมากที่จะตัดสินว่าหุ่นยนต์อยู่บนเส้นหรือออฟไลน์ แม้แต่การใช้ชุดแม่เหล็กไม่สามารถแก้ปัญหานี้ได้เพราะโต๊ะของฉันหนา 1 นิ้ว ความคิดนี้ล้มเหลว: P

  2. การใช้สีอุลตร้าไวโอเลต (เป็นเส้น) และใช้หลอดไฟ LED UV บนหุ่นยนต์เป็นเซ็นเซอร์ สิ่งนี้จะให้การเคลื่อนที่แบบซิกแซกมากขึ้นสำหรับหุ่นยนต์ และเนื่องจากภัยคุกคามที่อาจเกิดขึ้นจากการใช้แหล่งกำเนิดแสง UV ความคิดนี้ก็ลดลง: P

ในที่สุดฉันก็นึกถึงการมีกล้องอยู่ด้านบนและใช้อัลกอริธึมการประมวลผลภาพเพื่อดูว่าหุ่นยนต์อยู่ในสายหรือแยกจากกัน

มีวิธีแก้ปัญหาที่ดีกว่านี้อีกไหม? กำลังมองหาโซลูชันที่เรียบง่ายและสร้างสรรค์ :)


คุณคุ้นเคยกับเซ็นเซอร์โซนาร์และ SLAM และวิชาที่เกี่ยวข้องหรือไม่ บ่อยครั้งที่หุ่นยนต์ไม่ทำตามเส้นทางที่กำหนดไว้ล่วงหน้าและพวกเขา "รับรู้" สิ่งกีดขวางโดยเซ็นเซอร์เช่นโซนาร์สร้างแผนที่แล้วใช้อัลกอริทึมการวางแผนเส้นทางเพื่อค้นหาเส้นทางของพวกเขา
Shahbaz

ขอบคุณสำหรับการตอบกลับ :) ใช่ฉันคุ้นเคยกับเซ็นเซอร์อัลตราโซนิกและโซนาร์ ... จริง ๆ แล้วฉันต้องการหุ่นยนต์ที่จะย้ายจากจุด A ไปยังจุด B บนเส้นทางที่เฉพาะเจาะจงและบนโต๊ะ (3 ฟุตเหนือ ระดับพื้นดิน) ... และการสร้างแผนที่ในสภาพแวดล้อมนี้เป็นสิ่งที่ซับซ้อนจริงๆ ... ดังนั้นคำแนะนำใด ๆ ??
Nitin

4
ฉันกำลังตอบคำถามนี้อยู่ แต่ฉันสังเกตเห็นว่าคุณกำลังถามสิ่งที่ขัดแย้งกัน 2 อย่าง โดย "เส้นที่มองไม่เห็น" คุณหมายถึง "เส้นที่มองไม่เห็นด้วยตาเปล่าเช่นเส้นที่กำหนดโดยสัญญาณแม่เหล็กหรือ UV " หรือคุณหมายถึง "เส้นที่มีอยู่จริง - ภายในหุ่นยนต์ - ขึ้นอยู่กับ มันต้องการไปที่ไหนและอุปสรรคที่สัมผัสได้ระหว่างทาง "? ในการพูดอีกวิธีหนึ่งคุณวาดเส้นเพื่อให้หุ่นยนต์ติดตามหรือไม่หรือหุ่นยนต์วาดมันได้หรือไม่
Ian

สวัสดี lan, ฉันต้องการหุ่นยนต์อิสระที่ควรไปตามทางของมันเองจากจุดหนึ่งไปยังอีกจุดหนึ่ง หากต้องการทำเช่นนั้นจำเป็นต้องมีบรรทัดอ้างอิงหรือเส้นทาง หุ่นยนต์ผู้ติดตามสายเป็นทางออกที่ง่ายที่สุด แต่ฉันกำลังมองหาโซลูชันขั้นสูงและมีประสิทธิภาพ และนั่นอาจเป็นอะไรก็ได้ที่เหมือนกับเส้นที่มองไม่เห็นด้วยตาเปล่าหรือเส้นเสมือนที่หุ่นยนต์สร้างขึ้น หุ่นยนต์ไม่ได้วาดเส้นมันแค่ติดตาม พูดอีกอย่างคือเส้น (เสมือน) ถูกกำหนดโดยฉัน อย่างน้อย "การประมวลผลภาพ" อาจเป็นวิธีแก้ปัญหาหากสิ่งอื่นไม่ทำงาน แต่ฉันกำลังมองหาโซลูชั่นที่เรียบง่ายบาง :)
Nitin

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

คำตอบ:


3

มีวิธีที่เป็นไปได้หลายวิธีในการแก้ไขปัญหานี้และทุกอย่างขึ้นอยู่กับวัสดุที่มีและความเชี่ยวชาญของผู้สร้างหุ่นยนต์

ในระยะสั้นเกณฑ์คือ:

  1. หุ่นยนต์จะต้องได้รับจากจุด A ถึง B ตามเส้นทางที่กำหนดไว้ล่วงหน้า
  2. เส้นทางที่นำมาต้องไม่เป็นไปตามเส้นที่มองเห็นได้ด้วยตามนุษย์

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

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

ถ้า odometry หรือ odometry + การรับรู้การเลี้ยวไม่ทำงานเราจะต้องมีความคิดสร้างสรรค์ หากคุณต้องการให้หุ่นยนต์เดินตามเส้นทางที่ประกอบด้วยเซ็กเมนต์ตรงส่วนใหญ่คุณสามารถวางIR LEDsที่ "waypoints" ที่กำหนดไว้บนโต๊ะ

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

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

แค่อยากรู้อยากเห็น - ทำไมคุณถึงต้องการให้มองไม่เห็นเส้น? รู้ว่าทำไมสามารถเปิดโอกาสให้มากขึ้น


ขอบคุณมาก @anorton :) :) "Odometry" + "เซ็นเซอร์เช่นไจโรสโคปหรือเข็มทิศ": - บูลส์ - ตา;) ฉันแน่ใจว่านี่จะออกกำลังกายอย่างแน่นอน และเมื่อเทียบกับเทคนิคการประมวลผลภาพแล้วมันค่อนข้างง่าย ใช่ฉันได้รับการแก้ไขแล้วขอบคุณ :) จะอัปเดตคุณด้วยความก้าวหน้าของโครงการและความท้าทายอื่น ๆ ที่ต้องเผชิญ
Nitin

ยังไงก็ตามจุดที่ทำให้มองไม่เห็นทั้งหมดคือ - "เส้นดำบนพื้นผิวและหุ่นยนต์ตามเส้น" ตอนนี้มันเป็นแค่ระดับพื้นฐานการสอนเรื่องหุ่นยนต์ และฉันพบว่าในระดับอุตสาหกรรมก็ไม่ได้ชื่นชม ผู้คนต้องการหุ่นยนต์ที่มีความซับซ้อนสูงและชาญฉลาดในการทำงาน ดังนั้นฉันจึงทำงานในโครงการนี้เพื่อสร้างหุ่นยนต์ที่มีความเสถียรและความทนทานสูงกว่า หุ่นยนต์ที่ไม่สามารถแฮ็คได้ง่าย จะบอกว่ามันอีกวิธีหนึ่งที่คนทั่วไปไม่ควรรู้เทคโนโลยีที่อยู่เบื้องหลังหุ่นยนต์ :)
Nitin

2

Ankiใช้เซ็นเซอร์ออปติคัลในรถของเล่นของพวกเขาในการติดตั้งผู้ติดตามสาย เซ็นเซอร์แสงมีความไวในช่วง IR ความจริงที่ว่าเส้นที่มองไม่เห็นนั้นอธิบายได้ง่าย: เส้นนั้นถูกเคลือบด้วยสีดำซึ่งมีความโปร่งใสในช่วง IR Paliogen black L 86 หรือ Paliogen black S 84 โดยBASFเป็นสีดังกล่าว หากคุณวางบาร์โค้ดตามแนวเส้นคุณสามารถรับข้อมูลตำแหน่งที่แน่นอนได้จากเซ็นเซอร์ออปติคัล


0

ฉันมีคำตอบสั้น ๆ สำหรับคำถามของคุณ นี่เป็นหุ่นยนต์ที่เปิดใช้งาน ROS เท่านั้น มีหลายวิธีในการทำสิ่งนี้ แต่นี่เป็นวิธีที่ฉันทำ ฉันใช้ ROS และ Kuka Youbot มันอาจเป็นหุ่นยนต์ที่ใช้ ROS เป็นประโยชน์อย่างมากหากได้รู้ว่า ROS ถ้าคุณวางแผนที่จะเป็นหุ่นยนต์

ใช้ ROS จากนั้นใช้ GMapping เพื่อทำแผนที่สภาพแวดล้อมของคุณ ตัวอย่างห้องหรือโถงทางเดินแล้วบันทึกแผนที่ จากนั้นใช้ RVIZ ให้ตำแหน่งเป้าหมายในแผนที่


0

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

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