บันทึกการปฎิบัติงานประจำวัน โครงการ 2B-KMUTT รุ่นที่ 18 โดย พนธกร เข็มหนู

สวัสดีครับ ผม พนธกร เข็มหนู มาจากโครงการ 2B-KMUTT รุ่นที่ 18 อยู่ในกลุ่มที่ 2 หุ่นยนต์ ระบบอัติโนมัติ และเครื่องจักรกลผมและเพื่อนในกลุ่มอีก 6 คนได้จัดทำ TELE Robotic Operation with Virtual Reality หรือ ระบบควบคุมหุ่นยนต์จากระยะไกลด้วยเทคโนโลยีภาพเสมือนจริง ซึ่งจะเป็นการใช้ VR ในการควบคุมหุ่นยนต์จากระยะไกลได้ โดย Blog นี้จะเป็นการบันทึกการปฎิบัติงานประจำวันในการทำโครงงานวิจัยตลอดระยะเวลา 2 สัปดาห์ ระหว่างวันที่ 25 มีนาคม – 5 เมษายน 2567

Day 1: 25 มีนาคม 2567


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

ในช่วงเย็นหลังจากที่กลับมาจากแลป พวกเราทั้ง 7 คน ได้ช่วยกันคิดไอเดียต่างๆเกี่ยวกับ Project ที่จะทำกันในค่าย

Day 2: 26 มีนาคม 2567

Flowchart Draft 2

Robot Prototype

รูปรวม

ในวันที่ 2 พวกเราทั้ง 7 คน ได้รับโจทย์จากอาจารย์และพี่ๆนักวิจัย โดยการต้องใช้ VR ควบคุมการเคลื่อนที่และมุมกล้อง Robot ในช่วงเช้าพวกเราได้ทำการออกไอเดียในการพัฒนา จัดทำร่าง Flow Chart หาอุปกรณ์ และเริ่มพัฒนาต้นแบบ โดยเรานั้นจะใช้ Board Raspberry Pi ในการรับข้อมูลผ่านทาง MQTT และ ส่งข้อมูลออกไปหา Oculus Quest ผ่านทาง WebRTC และมีความเห็นที่ตรงกันว่าจะเชื่อมต่อกันผ่าน Wi-Fi

Day 3: 27 มีนาคม 2567

โดยงานในทีมของเรานั้นจะแบ่งออกเป็น 3 ส่วน คือการ Tracking การขยับของร่างกายโดยใช้ HTC VIVE, ส่งทิศทางในการมองและรับข้อมูลภาพผ่าน Oculus Quest และ หุ่นยนต์ที่ติดตั้ง Webcam และสามารถเคลื่อนที่ได้ โดยผมนั้นรับหน้าที่ ออกแบบโมเดล 3D ที่ต้องใช้กับหุ่นยนต์ และดูแลการ Streaming Video ถ่ายโดย Webcam โดยใช้ WebRTC ในวันนี้ผมได้ลิสของที่ต้องใช้สำหรับ Hardware ของหุ่นยนต์ ออกแบบโมเดล 3D ที่จะเป็นตัวต่อระหว่าง Servo และ Webcam และออกแบบโครงสร้างของหุ่นยนต์ในกรณีที่จะนำไปพัฒนาต่อเป็น หุ่นยนต์จ่ายยาสำหรับผู้ที่เป็นโรคติดต่อ และคิด Function ในการจ่ายยา หลังจากที่ทำแลปเสร็จ พวกเราทั้ง 7 คนนั้นก็ได้มาประชุมรวมกัน และมีความเห็นว่าจะใช้ Board 2 ตัวคือ Arduino Mega และ Raspberry Pi แทน

Day 4: 28 มีนาคม 2567

วันนี้ผมเก็บรายละเอียดงานของโมเดล 3D ที่จะเป็นตัวต่อระหว่าง Servo และ Webcam และทำการ 3D Print สรุปรายชื่อของที่จะต้องสั่งซื้อ และเริ่มโหลด UV4L ใน Raspberry Pi

Day 5: 29 มีนาคม 2567

หลังจากใช้วิธี WebRTC และได้พบว่า version ของ arm และ lsssid นั้นไม่สามารถใช้ด้วยกันได้สำหรับ Raspberry Pi 4 ที่ใช้อยู่ จึงการทำโหลด Library FastAPI, Open-CV และ uvicorn โดย Fast-API เปรียบเสมือนตัวแปลงภาษาจาก Python ไป HTML, Open-CV เปรียบเสมือน module ในการใช้งานเปิดกล้อง และ uvicorn นั้นเปรียบเสมือนตัวเปิด Web Server ใน Raspberry Pi และหา Code ใน Internet เพื่อนำมาศึกษาเบื้องต้น

Day 6: 1 เมษายน 2567

ผมได้ศึกษาเรียนรู้เกี่ยวกับ Fast API และ uvicorn Fast API นั้นคือ Framework ในการสร้าง Application Programming Interface (API) ที่จะเป็นสื่อกลางในการสื่อสารระหว่าง Python และ HTML โดยใช้ uvicorn ในการเปิด Web Server จาก IP Address ของแลป วันนี้ผมได้ทดลองใช้ Fast API และ uvicorn ในการเปิด Server และ Return “Hello World” ใน Web Server และสามารถเข้าจาก Device อื่นได้ และเริ่มทำ Powerpoint สำหรับการนำเสนอในวันที่ 5 ในวันนี้ยังได้การทดลองโหลด OBS สำหรับทางเลือกสำรองในกรณีที่ใช้ Open-CV ไม่ได้ตามที่ต้องการ

และเนื่องจากวันนี้มีการจัดงาน FIBO CAREER DAY 2024 ซึ่งเป็นการจัดแสดงผลงานของรุ่นพี่ปี 4 ผมจึงได้เข้าร่วม รับแรงบัลดาลใจและปรึกษาพี่ๆสำหรับการทำ Project นี้ และมองถึงแนวทางในการพัฒนาต่อยอดต่างๆของ Project นี้

Day 7: 2 เมษายน 2567

ในช่วงเช้าผมได้ทำการเชื่อม Web Server กับ Templates HTML ทดลองการทำงานของ Open-CV ให้สามาถดึงภาพจากกล้องมาแสดงผลได้ และทำการ Streaming ภาพจาก Webcam ลงใน Web Server แต่ว่า Webcam นั้นสามารถเปิดได้แค่ทีละ Device อาจะเป็นเพราะ Code ที่เขียนนั้นยังไม่เสร็จสมบูรณ์ และพบว่าภาพนั้นมี Delay ที่สูง

ในช่วงบ่ายจึงได้ทำการตั้งค่าให้เมื่อเปิด Raspberry Pi มาแล้วนั้น จะทำการเปิด Web Server ให้เองได้อย่างอัตโนมัติ และทำการหา Delay โดยการเปิดนาฬิกาในโทรศัพท์ ใช้กล้องถ่ายนาฬิกา และเทียบเวลาจากจอโทรศัพท์และจอที่เปิด Web Server และพบว่าการส่งภาพกล้องไปที่ Web Server นั้น Delay 2 วินาที

Day 8: 3 เมษายน 2567

วันนี้ผมสามารถเปิดได้แก้ให้ ตัวแปรที่เป็นตัวรับภาพจากกล้องเป็น Global ทำให้สามารถเปิดกล้องพร้อมกัน และเนื่องจากวันที่ 5 นี้ต้อง Present ทำให้ผมทำ Presentation ต่อ เนื่องจากการทำงานเบื้องต้นนั้นสมบูรณ์แล้ว และในการพัฒนาการงาน เพื่อลด Delay สำหรับอนาคต อาจทำการลด Resolution ในการส่งภาพ เพื่อทำให้ข้อมูลที่ส่งไปมีขนาดน้อยลง และส่งได้เร็วขึ้น

Day 9: 4 เมษายน 2567

วันนี้เป็นวันที่จะได้เข้าแลปวันสุดท้าย พวกเราได้นำสิ่งที่ทุกคนทำมารวมกันให้งานนี้สมบูรณ์ ในส่วนของผม ผมได้ให้เพื่อนนำ Webcam และ Raspberry Pi ไปประกอบรวมกันในหุ่นยนต์ และได้เปิด Web Server ที่ผมทำใน Unity

นอกจากนี้พวกเราจึงได้ทำการสรุปผลและเรียบเรียบข้อมูลต่างๆทั้งหมดอีกครั้งเพื่อนำมาสรุปใน Presentation และทำการแบ่งหน้าที่ต่างๆในการอธิบาย ซึ่งในการทำ Presentation นั้น สิ่งที่สำคัญที่สุดคือการสื่อสารงานของเราให้ผู้ฟังได้เข้าใจ การทำ Project นี้นั้นมีจุดประงสงค์อะไรบ้าง ใช้ Hardware Software อะไรบ้าง และสามารถทำให้ผู้ฟังทั่วไปเข้าใจในการทำงานเบื้องต้นได้ นอกจากนี้พวกเรายังได้ทำการถ่ายรูปภาพและคลิปต่างๆ เพื่อแสดงถึงหลักฐานการทำงานว่า หุ่นยนต์และระบบ ที่เราสร้างขึ้นมานั้นสามารถใช้ได้จริง

นี่คือภาพบางส่วนของ Presentation ประกอบไปด้วย System Overview และ System Dataflow ในส่วนของ Video Streaming ที่ผมรับผิดชอบ

Day 10: 5 เมษายน 2567

วันนี้เป็นวันสุดท้ายของค่ายและเป็นวันที่จะต้องนำเสนอ Project ของพวกเรา ซึ่งการนำเสนอ Project นั้นสามารถผ่านไปได้ด้วยดี ทุกคนสามารถอธิบายในสิ่งที่ตัวเองได้รับมอบหมายมาได้ และได้รับข้อคิดเห็นและสิ่งที่ต้องปรับปรุงจากอาจารย์มากมาย เช่น การนำเสนอนั้นสิ่งที่ต้องทำนั้นต้องสอดคล้องกับวัตถุประสงค์ ต้องแสดงปัญหาที่พบให้เด่น และอธิบายว่าสิ่งประดิษฐ์ของเรานั้นแก้ไขปัญหาได้อย่างไร การแสดงหน้าที่ในการทำงานของแต่ละคน และการใช้ Technical Term ในเวลาที่เหมาะสม

พวกเราได้รับรางวัล Outstanding Award

Conclusion

การที่ผมได้มาทำวิจัยที่ HCI-Lab ที่ FIBO นั้นทำให้ผมได้ทดลองและเรียนรู้สิ่งต่างๆมากมาย ไม่ว่าจะเป็นการใช้ Raspberry Pi, 3D Printing และ VR การได้ลองสร้างหุ่นยนต์ การได้ทำงานเป็นกลุ่ม และ การทำงานและเรียนรู้สิ่งใหม่ในระยะเวลาที่จำกัด ในช่วง 1-2 วันแรกผมคิดว่างานนี้เป็นงานที่ใหญ่มาก เพราะเป็นโจทย์ที่ใหม่ อุปกรณ์ใหม่ และกลัวว่าจะทำไม่สำเร็จภายในระยะเวลา 10 วัน แต่ความพยายาม ความุ่งมั่นและความตั้งใจของพวกเราทั้ง 7 คนนั้นก็สามารถทำงานนี้ให้สำเร็จได้ ซึ่งจากการทำงานนี้ทำให้ผมได้รับทั้ง Soft Skill และ Hard Skill มากมาย ได้ทำงาน ได้เล่นกับเพื่อนใหม่ๆ และได้เปิดโลกอีกของ VR ที่ผมไม่เคยสัมผัส