การควบคุมการเคลื่อนที่ของ Unitree Go1 Robot Dog ระยะไกลโดยการตรวจจับท่าทางของมือ หรือการสั่งงานด้วยเสียง โดยใช้ unitree_legged_sdk ในการสื่อสารระหว่าง PC กับบอร์ด Controller ผ่านคำสั่งที่เขียนลงในไฟล์ command.txt
Objective
- เพื่อศึกษาการทำงานและการควบคุม ของ Unitree Go1 Robot Dog
- เพื่อศึกษาวิธีการตรวจจับท่าทางของมือ
- เพื่อศึกษาวิธีการสั่งงานด้วยเสียง
System Performance
- Operating Time 1-2 hr.
- Operating Systems: Motion control – Ubuntu
- Network: WIFI
- Communication Protocol: unitree_legged_sdk
System Scenario
System Overview
การทำระบบ Hand Tracking
แบบ Real-time ด้วย MediaPipe Library ของ Google โดยการใช้งาน MediaPipe Hands สามารถนำวิดีโอหรือภาพนิ่งที่ต้องการตรวจจับมือเข้ามา แล้วใช้ API ที่มีอยู่ใน MediaPipe Hands เพื่อดึงข้อมูลต่างๆ เช่น ตำแหน่งของมือ และรูปแบบการเคลื่อนไหวของมือ โดยแต่ละ Landmark จะเป็นจุดที่ถูกกำหนด ทั้งหมด 21 จุด เพื่อช่วยให้ระบบสามารถระบุตำแหน่งและรูปแบบของมือได้อย่างแม่นยำ
โดยท่าทางที่ใช้ในการควบคุม Unitree Go1 Robot Dog มีดังนี้
- หยุด/ยืน
- นั่ง
- เดินหน้า
- เลี้ยวซ้าย
- เลี้ยวขวา
การทำงานของโค้ด: การตรวจจับมือของท่าทางต่างๆ โดยใช้ Landmark แต่ละจุดเป็นตัวเปรียบ เพื่อใช้ระบุท่าทาง
การทำระบบ Speech Recognition
Speech Recognition เป็นเทคโนโลยีที่ทำให้คอมพิวเตอร์รู้และจำเสียงมนุษย์ เพื่อแปลงเสียงมนุษย์เป็นคำสั่งให้คอมพิวเตอร์ โดยเราจะทำ Speech Recognition ด้วย Google Speech Recognition API (รองรับภาษาไทย)
การทำงานของโค้ด: ใช้ while loop ในการรอรับเสียงจากไมค์ และเมื่อเรากด Spacebar + Enter โปรแกรมจะเริ่มต้นการรับเสียง นำไปแปลงเป็นข้อความด้วย speech_recognition library แล้วตรวจสอบว่ามีคำสั่งไหนตรงกับคำสั่งที่กำหนดไว้หรือไม่ ถ้ามีจะเขียนคำสั่งนั้นลงในไฟล์ command.txt โดยกำหนดค่าเพื่อให้หุ่นยนต์เคลื่อนที่ตามคำสั่งนั้น แต่ถ้าไม่มีคำสั่งที่ตรงกับที่กำหนด โปรแกรมจะไม่เขียนอะไรลงในไฟล์ command.txt โดยคำสั่งที่ใช้ในการควบคุม Unitree Go1 Robot Dog มีดังนี้
- หยุด/ยืน
- นั่ง
- เดินหน้า
- เลี้ยวซ้าย
- เลี้ยวขวา
การทำงานของระบบ
การทำงานจะแบ่งออกเป็น 2 โหมด ได้แก่ 1.) การตรวจจับท่าทางของมือ 2.) การสั่งงานด้วยเสียง
การทดสอบ
การทดสอบจากผู้ใช้งานเป็นแบบ In-person usability testing จะมีการสาธิตวิธีการใช้งานก่อนเบื้องต้น และจะมีการทำภารกิจ
โดยภารกิจที่ต้องทำ คือ การเคลื่อนที่จากจุดเริ่มต้นไปยังเส้นชัย
ความคิดเห็นเพิ่มเติม
- ควรพัฒนาระบบสั่งงานด้วยเสียง User Interface
- การสั่งงานด้วยเสียงควรเพิ่มภาษาอังกฤษ
- การเข้าถึง UnitreecameraSDK
ผู้จัดทำ
น.ส.สุภาวดี จันทร์แสงดี รหัสนักศึกษา 62340500056
GitHub
https://github.com/JMild/unitree_go1
References
https://github.com/unitreerobotics/unitree_legged_sdk
https://google.github.io/mediapipe/solutions/hands