โปรเจ็กต์ Webots

หน้านี้มีรายละเอียดของโปรเจ็กต์การเขียนเชิงเทคนิคที่ได้รับการยอมรับสำหรับ Google Season of Docs

สรุปโปรเจ็กต์

องค์กรโอเพนซอร์ส
Webots
นักเขียนเชิงเทคนิค
Soft illusion Channel
ชื่อโปรเจ็กต์:
ซีรีส์วิดีโอบทแนะนำสำหรับ Webots (การผสานรวมกับ ROS2)
ระยะเวลาของโปรเจ็กต์
ระยะเวลามาตรฐาน (3 เดือน)

คำอธิบายโปรเจ็กต์

สิ่งที่ได้เรียนรู้

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

เป้าหมาย:

เมื่อจบชุดนี้ ผู้ชมจะสามารถสร้างโหนด ROS2 พื้นฐานและโต้ตอบกับ Webots รวมถึงมีความมั่นใจที่จะทำงานในโปรเจ็กต์ขั้นสูงเกี่ยวกับหุ่นยนต์เคลื่อนที่ ซีรีส์วิดีโอนี้จะให้คำอธิบายทางทฤษฎีที่ยอดเยี่ยมเกี่ยวกับแนวคิดสำคัญหลายประการในสาขาหุ่นยนต์ด้วย

รายละเอียดชุดวิดีโอ

  1. การติดตั้ง ROS 2 และการตั้งค่าที่เก็บใน Visual Studio Code ซึ่งรวมถึงการติดตั้ง ROS2 อย่างชาญฉลาดและพื้นฐานการทำงาน ประการที่ 2 จะเป็นการตั้งค่าพื้นที่ทํางาน ROS ใน VS Code และฟังก์ชันของแท็บพื้นฐานใน VS Code

  2. ตัวอย่าง ROS2 และ Webots พื้นฐาน ตัวอย่าง Webots ROS2 จะใช้ในการดึงดูดผู้ชมเพื่อทำความเข้าใจว่าสิ่งมหัศจรรย์อะไรบ้างที่สามารถทำได้หากเราใช้ ROS2 กับ Webots ในการจำลอง นอกจากนี้ยังรวมถึงทฤษฎีการสื่อสารพื้นฐานระหว่าง ROS2 และ Webots ด้วย

  3. การใช้บริการ ROS2 เพื่อโต้ตอบกับ Webots การสอนพื้นฐานเกี่ยวกับบริการ ROS โดยอธิบายความแตกต่างระหว่างบริการใน ROS กับ ROS2 ประการที่ 2 แสดงบทแนะนำแบบทีละขั้นตอนในการเรียกบริการและเปิดใช้หัวข้อเซ็นเซอร์สำหรับการอ่านค่าและตัวกระตุ้นสำหรับการเคลื่อนไหว

  4. ควบคุมหุ่นยนต์ที่กําหนดเองด้วย ROS2 Publisher ดูวิธีเผยแพร่ข้อความโดยใช้ผู้เผยแพร่ ROS2 ไปยัง Webots เราสามารถใช้ตัวอย่างการควบคุมการเคลื่อนไหวของหุ่นยนต์โดยการเผยแพร่เอาต์พุตของแป้นพิมพ์ไปยังหัวข้อ ซึ่งบริการ ROS จะใช้สำหรับการเคลื่อนไหวใน Webots ได้

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

  6. โรบ็อตหลัก(ผู้เผยแพร่) และโรบ็อตรอง(ผู้สมัครรับข้อมูล) ด้วย ROS2 ในวิดีโอนี้ เราจะควบคุมหุ่นยนต์ 1 ตัวด้วยแป้นพิมพ์และทำให้หุ่นยนต์อีกตัวหนีจากหุ่นยนต์ที่ควบคุมด้วยมือ คล้ายกับสถานการณ์โจรและตำรวจ :) [วิดีโอนี้จะต่อเนื่องมาจากวิดีโอ 3,4,5] ซึ่งจะช่วยให้ผู้ชมทดสอบการสื่อสารได้ และจะพบข้อบกพร่องในการจําลองหากมีปัญหาใน ROS

  7. การตั้งค่า Rviz (แสดงเอาต์พุตของเซ็นเซอร์ต่างๆ) ในวิดีโอนี้ เราจะเพิ่มเซ็นเซอร์อื่นๆ อีก 2-3 ตัวและเผยแพร่ข้อมูลใน Rviz เมื่อดูวิดีโอนี้จบ ผู้ชมจะตั้งค่า Rviz ได้ (เช่น เพิ่มเซ็นเซอร์ เช่น Lidar, กล้อง ฯลฯ เพื่อแสดงภาพ) บันทึกการกำหนดค่า และสร้างการกำหนดค่าที่บันทึกไว้ในครั้งถัดไป

  8. การแก้ไขข้อบกพร่องวิดีโอ (Rostopic echo, Rostopic info, RQT_graph) วิดีโอนี้จะอธิบายเกี่ยวกับฟังก์ชันที่ไม่ถูกต้องอย่างตั้งใจในบางหัวข้อเพื่อช่วยให้เข้าใจเทคนิคการแก้ไขข้อบกพร่อง เราจะทำตามขั้นตอนเพื่อดูกราฟ RQT และดูว่าหัวข้อใดทำให้เกิดปัญหา ใช้ rostopic echo เพื่อตรวจสอบว่าหัวข้อเผยแพร่หรือไม่ และตรวจสอบ rostopic info ในตอนท้ายเพื่อดูปัญหา แก้ปัญหาและทํางานได้ตามปกติ

  9. วิดีโอการแก้ไขข้อบกพร่อง(rqt_console, rqt_gui) ในวิดีโอนี้ เราจะใช้ข้อความ Ros(ข้อมูล การแก้ไขข้อบกพร่อง ข้อผิดพลาด ฯลฯ) ในโหนด และสำรวจการใช้ rqt_console วิดีโอนี้จะขยายการใช้งานเพื่อใช้ rqt_gui เพื่อเผยแพร่ข้อความจำลองเพื่อให้ได้ฟังก์ชันการทำงานที่ต้องการด้วย วิธีนี้อาจเป็นแนวทางอื่นในการแก้ไขข้อบกพร่องบางรายการ

  10. วิดีโอหัวข้อขั้นสูง: การผสานรวมคลัง SLAM ในสภาพแวดล้อมที่ไม่รู้จัก (กล่องเครื่องมือ SLAM หรือ LaMa) [ส่วนที่ 1] วิดีโอนี้จะเริ่มต้นด้วยทฤษฎีพื้นฐานของปัญหา SLAM หลังจากนั้นเราจะใช้โครงสร้างพื้นฐานของแนวคิดที่สอนข้างต้นเพื่อทำความเข้าใจปัญหาสำคัญของโครงการ สุดท้าย เราจะสร้างโหนดที่จำเป็นผ่านเทอร์มินัลและดูเอาต์พุตการแมปใน Rviz

  11. วิดีโอหัวข้อขั้นสูง: การผสานรวมไลบรารี SLAM ในสภาพแวดล้อมที่ไม่รู้จัก (กล่องเครื่องมือ SLAM หรือ LaMa) [ส่วนที่ 2] ต่อจากวิดีโอที่ 10 ในวิดีโอนี้ เราจะสอนวิธีสร้างไฟล์เปิดใช้งานเพื่อเปิดใช้งานโหนดทั้งหมดพร้อมกันและตรวจสอบ rqt_graph เพื่อให้เข้าใจแนวคิดในเฟรมเวิร์ก ROS อย่างถูกต้อง สุดท้าย เราจะบันทึกแผนที่ที่แพ็กเกจสร้างขึ้นโดยใช้เซิร์ฟเวอร์แผนที่

  12. วิดีโอหัวข้อขั้นสูง: การผสานรวม OpenCV (การตรวจจับแท็ก AR, แพ็กเกจ Ar_track_alvar) [ส่วนที่ 1] วิดีโอจะเริ่มต้นด้วยข้อมูลเกี่ยวกับแท็ก AR และความสำคัญในการจัดตำแหน่งโดยใช้คอมพิวเตอร์วิทัศน์ จากนั้นเราจะอธิบายวิธีการทำงานของแพ็กเกจ Alvar สำหรับแทร็ก AR ซึ่งจะช่วยให้เห็นภาพรวมของโปรเจ็กต์ สุดท้าย เราจะให้บริการสตรีมเฟรมวิดีโอจาก Webots ไปยังหัวข้อ ROS

  13. วิดีโอหัวข้อขั้นสูง: การผสานรวม OpenCV (การตรวจหาแท็ก AR, แพ็กเกจ Ar_track_alvar) [ส่วนที่ 2] วิดีโอนี้จะต่อจากวิดีโอที่ 12 ซึ่งแพ็กเกจจะใช้สตรีมรูปภาพข้างต้นและจะเผยแพร่หัวข้อการเปลี่ยนรูปแบบระหว่างหุ่นยนต์กับแท็ก AR ซึ่งดูได้ใน Rviz สุดท้าย เมื่อเราเคลื่อนย้ายหุ่นยนต์ไปรอบๆ เราจะเห็นแท็กต่างๆ ปรากฏขึ้นและตำแหน่งของแท็กจะเปลี่ยนไปใน Rviz และในข้อความ rostopic

สรุป

โปรเจ็กต์ GSOD นี้เป็นแพ็กเกจแบบสําเร็จรูปเพื่อให้เข้าใจพื้นฐานของการผสานรวม ROS2 กับ Webots แพ็กเกจนี้ยังรวมถึงการนำแนวคิดใน ROS2 ไปใช้งานจริง เช่น หัวข้อ บริการ โหนด ไฟล์เปิดตัว ผู้เผยแพร่ สมาชิก เครื่องมือแก้ไขข้อบกพร่องต่างๆ และการใช้โค้ด VS ซึ่งจะเกี่ยวข้องกับโปรเจ็กต์หัวข้อขั้นสูง เช่น SLAM และ OpenCV ด้วย ซึ่งจะช่วยให้ผู้ชมเห็นภาพการทำงานแบบครบวงจรโดยใช้ ROS2 และ Webots