Learning Task from Demonstration in Virtual Reality for Control Robot Arm
FRA 625 Human-Computer Interface
CHAOWWALIT THAMMATINNO
59340700001 2/2559
Objective
- ศึกษาและสำรวจงานที่เกี่ยวกับการปฏิสัมพันธ์ของมนุษย์กับวัตถุเสมือนจริงด้วยเทคโนโลยี Immersive Virtual Reality ด้วย Unity
- ศึกษาและสำรวจงานที่เกี่ยวกับการประยุกต์ใช้ Reinforcement Learning ในการควบคุมแขนหุ่นยนต์ (Universal Robot 5)
- ศึกษาและสำรวจงานที่เกี่ยวกับการใช้งานแขนหุ่นยนต์ในการหยิบชิ้นงาน
- ออกแบบและสร้างระบบที่ AI สามารถเรียนรู้วิธีการควบคุมแขนหุ่นยนต์ได้จากการสาธิตโดยมนุษย์ใน Virtual Reality
System Overview
ผู้ใช้สามารถปฏิสัมพันธ์กับ AI ผ่าน Virtual Reality เพื่อสาธิตการวางชิ้นงานเพื่อให้ AI เรียนรู้กระบวนการควบคุมแขนหุ่นยนต์เพื่อไปควบคุมแขนหุ่นยนต์ (Universal Robot) เพื่อหยิบชิ้นงานจริงตามที่ผู้ใช้งานสาธิตไว้ดังรูปที่ 1รูปที่ 1 ภาพรวมของระบบ |
VDO
คลิปแสดงการใช้งานระบบทั้งหมด เหตุเกิดขึ้นที่อาคาร FIBO ภายใน LAB 2 และ LAB 3 เวลาย่ำค่ำ !!!
Design
การออกแบบระบบที่สามารถให้ผู้ใช้ปฏิสัมพันธ์กับ AI แล้ว AI สามารถเรียนรู้ระบวนการเพื่อควบคุมแขนหุ่นยนต์ได้ โดยมีรายละเอียดตามลิงค์นี้ Design
Implementation
ระบบที่สร้างขึ้นโดยใช้ HTC Vive เป็นส่วนติดต่อผู้ใช้งานโดยที่ผู้ใช้อยู่ใน LAB 2 อาคาร FIBO และแขนหุ่นยนต์ (Universal Robot) อยู่ใน LAB 3 อาคาร FIBO เช่นเดียวกัน โดยมีรายละเอียดตามลิงค์นี้ Implementation
Discussion
- การออกแบบปุ่มกดหรือวัตถุต่าง ๆ ที่สามารถปฏิสัมพันธ์กับผู้ใช้ใน Virtual Reality ต้องใช้เวลามากพอสมควรในการออกและทดลอง เพื่อให้ใช้งานได้ง่าย
- การสร้างวัตถุใน Virtual Reality ในโครงงานนี้ส่วนใหญ่อ้างอิงลักษณะให้คล้ายกลับของจริงเนื่องจากเป็นงานประยุกต์ใช้กับแขนหุ่นยนต์และชิ้นงานจริง เพื่อทำให้ผู้ใช้รู้สึกเสมือนว่ากำลังปฏิสัมพันธ์กับชิ้นงานจริงอยู่ (ใน Virtual Reality)
- การประยุกต์ใช้ Reinforcement Learning ขั้นตอนการหา Action ในแต่ละ State มีความยากลำบากเนื่องจากการควบคุมแขนของหุ่นยนต์ในการหยิบจับชิ้นงานมีเงื้อนใขที่ค่อนข้างซับซ้อน เช่น การหา Action ที่ทำให้แขนหุ่นยนต์หยิบชิ้นงานแล้วต้องการเคลื่อนที่ไปยังตำแหน่งอื่นต้องไม่เกิดการชนกับชิ้นงานอื่น ๆ ที่วางอยู่ เป็นต้น
- การควบคุมแขนหุ่นยนต์ในบางเหตุการณ์ยังต้องใช้เวลาในการเรียนรู้พอสมควร ในโครงงานนี้จึงได้ใช้ความรู้และคำสั่งจาก "กลุ่มที่ใช้งานแขนหุ่นยนต์ในวิชา Foundation of Robotics" มาดัดแปลงให้เข้ากับระบบที่ได้สร้างขึ้น
- Progress หลังจากวันที่ 9 May 2017 มีการแปลงเปลี่ยนดังนี้
- แก้ใข User Interface ภายใน Virtual Reality ใหม่โดยเฉพาะตำแหน่งและการแตะปุ่มเพื่อดำเนินคำสั่งต่าง ๆ
- แก้ใขการเขียนโปรแกรมที่ผิดพลาดเกี่ยวกับการประยุกต์ใช้ Reinforcement Learning ให้ทำงานได้สมบูรณ์
- สามารถส่ง My Script ไปยังคอมพิวเตอร์ที่อยู่ใน LAB 3 ได้
- เขียน Blog เพื่อเผยแพร่การดำเนินโครงงานนี้
Reference
- HTC Vive : https://www.vive.com
- Unity 3D Engine : https://unity3d.com
- Universal Robot : https://www.universal-robots.com/products/ur5-robot
- Reinforcement Learning : https://en.wikipedia.org/wiki/Q-learning
- Socket with Python : https://docs.python.org/3.6/library/socket.html
- Socket with C# : https://msdn.microsoft.com/en-us/library/system.net.sockets(v=vs.110).aspx
- กลุ่มที่ใช้งานแขนหุ่นยนต์ในวิชา Foundation of Robotics : http://fibo-fra14-urteam.blogspot.com
No comments:
Post a Comment