HOME

Learning Task from Demonstration in Virtual Reality for Control Robot Arm

FRA 625 Human-Computer Interface


CHAOWWALIT THAMMATINNO
59340700001 2/2559

Objective

  1. ศึกษาและสำรวจงานที่เกี่ยวกับการปฏิสัมพันธ์ของมนุษย์กับวัตถุเสมือนจริงด้วยเทคโนโลยี Immersive Virtual Reality ด้วย Unity
  2. ศึกษาและสำรวจงานที่เกี่ยวกับการประยุกต์ใช้ Reinforcement Learning ในการควบคุมแขนหุ่นยนต์ (Universal Robot 5)
  3. ศึกษาและสำรวจงานที่เกี่ยวกับการใช้งานแขนหุ่นยนต์ในการหยิบชิ้นงาน
  4. ออกแบบและสร้างระบบที่ 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 มีการแปลงเปลี่ยนดังนี้
    1. แก้ใข User Interface ภายใน Virtual Reality ใหม่โดยเฉพาะตำแหน่งและการแตะปุ่มเพื่อดำเนินคำสั่งต่าง ๆ
    2. แก้ใขการเขียนโปรแกรมที่ผิดพลาดเกี่ยวกับการประยุกต์ใช้ Reinforcement Learning ให้ทำงานได้สมบูรณ์
    3. สามารถส่ง My Script ไปยังคอมพิวเตอร์ที่อยู่ใน LAB 3 ได้
    4. เขียน Blog เพื่อเผยแพร่การดำเนินโครงงานนี้

Reference

  1. HTC Vive : https://www.vive.com
  2. Unity 3D Engine : https://unity3d.com
  3. Universal Robot : https://www.universal-robots.com/products/ur5-robot
  4. Reinforcement Learning : https://en.wikipedia.org/wiki/Q-learning
  5. Socket with Python : https://docs.python.org/3.6/library/socket.html
  6. Socket with C# : https://msdn.microsoft.com/en-us/library/system.net.sockets(v=vs.110).aspx
  7. กลุ่มที่ใช้งานแขนหุ่นยนต์ในวิชา Foundation of Robotics : http://fibo-fra14-urteam.blogspot.com

No comments:

Post a Comment