Class Project: Chatbot for Control Robotics Arm

ที่มาของ Project นี้เริ่มมาจากแนวคิดที่ว่าจะพัฒนา ระบบหุ่นยนต์ที่ช่วยเหลือผู้ป่วยติดเตียงเวลาที่ผู้ป่วยนั้นต้องการความช่วยเหลือและเป็นการแบ่งเบาภาระของพยาบาล โดยระบบหุ่นยนต์จะเป็น Chatbot ที่สามารถโต้ตอบกับผู้ใช้งานและสามารถสั่งงานแขนกลให้ทำหน้าที่ช่วยเหลือในเรื่องของกิจวัตรประจำวันของผู้ป่วยได้ เช่น การหยิบจับวัตถุที่อยู่ใกล้เคียง การพยุงผู้ป่วย การช่วยเหลือผู้ป่วยในการเดิน เป็นต้น โดยใน Class Project นี่ทางผู้พัฒนาจะ Implement Concept เบื้องต้นจากที่กล่าวมา โดยในส่วนของ Chatbot จะเป็นระบบโต้ตอบเบื้องต้นเมื่อมีผู้ใช้งานสั่งงานระบบและในส่วนของการหยิบจับวัตถุวัตถุที่อยู่ใกล้เคียง จะออกแบบระบบที่สามารถทำการหยิบวัตถุภายในระยะที่แขนกลสามารถหยิบได้และอยู่ใน Frame ของกล้องตามที่เราสั่งไปได้ได้ System Scenario System Dataflow Design System Device และ Object ที่ใช้งานทดลอง …

META MOBOT – Software Implementation (Vision Control)

การทำงานในส่วนของ Vision Control ระบบ Vision หรือมุมมองของหุ่นยนต์นั้นมีส่วนสำคัญอย่างยิ่งในการควบคุมหุ่นยนต์จากระยะไกล โดยในหุ่นยนต์ Meta Mobot ได้มีการออกแบบการติดตั้งกล้องไว้ที่ตัวหุ่นยนต์ซึ่งทำให้ได้มุมมองที่เสมือนเราเป็นตัวหุ่นยนต์ เพื่อให้ได้รับประสบการณ์ควบคุมหุ่นยนต์ได้อย่างเต็มที่ ในส่วนของ Vision Control มีการทำงานของโปรแกรม ดังนี้ Limit Workspace ในการเคลื่อนที่ของมุมมองกล้อง

META MOBOT – Software Implementation (Lidar Detection)

ในส่วนของ Lidar นั้นทางทีมผู้จัดทำจะใช้เป็น rplidar A1 จำนวน 2 ตัวติดบริเวณมุมตามแนวทะแยงของตัวหุ่นยนต์ เพื่อให้ lidar สามารถ Detect สิ่งกีดขวางได้อย่างรอบด้าน โดยองศาการของงานของและขอบเขตการทำงานของ rplidar A1 มีดังนี้ การทำงานในส่วนของ Lidar Detection ภาพแสดง พื้นที่ในการตรวจจับของ Lidar ในส่วนของ Lidar จะทำการกำหนด Area สำหรับการแจ้งเตือนสิ่งกีดขวางที่อยู่รอบตัวของหุ่นยนต์ โดยจะคำนวณจากระยะห่างของ Lidar กับสิ่งกีดขวางว่าอยู่ในบริเวณที่อันตราย (Danger Area) หรือไม่โดยถ้าตอนนี้มีวัตถุที่อยู่ใน Zone …

META MOBOT – Software Implementation (Communication MQTT)

ในส่วนนี้จะเป็นการอธิบายการรับส่งข้อมูลทั้งหมดของระบบหุ่นยนต์ META MOBOT ผ่าน MQTT โดย MQTT จะเป็นโปรโตคอลสำหรับใช้ส่งข้อความระหว่างอุปกรณ์ โดยใช้โมเดลเน็ตเวิร์คแบบ publish-subscribe ซึ่งการรับส่งข้อมูลจะเกิดขึ้นได้นั้นจะต้องมีผู้ส่ง (publisher) ส่งข้อมูลไปที่ MQTT Broker โดยใช้ topic ชื่อหนึ่ง และทางผู้รับ (subscriber) จะทำการเชื่อมต่อไปยัง MQTT Broker เพื่อ subscribe ชื่อ topic ที่ทางผู้ส่งได้ทำการส่งข้อมูลมา ในส่วนของ Node Program ของหุ่นยนต์ทั้งหมดจะถูกเขียนลงในหน่วยประมวลผล Jetson Nano โดยในส่วนของ …

META MOBOT – Software Implementation (Mobility)

ในส่วนของ Mobility จะใช้ Motor Dynamixel MX-106 ทั้งหมด 4 ตัว โดยทั้ง 4 ตัวนี้จะทำการสั่งค่าและรับค่าโดยใช้ DYNAMIXEL SDK Package ผ่านการสั่งการด้วยภาษา Python บน Framework ROS 1 . ลำดับการทำงานของ Node โปรแกรม Moblility ในส่วนของ Mobility มีลำดับการทำงานของโปรแกรม ดังนี้ 2. ส่วนของการคำนวณการหมุนของล้อ Mecanum สมการที่ใช้ในการควบคุมการทำงานของมอเตอร์ให้สอดคล้องกับการทำงานของล้อ จากสมการทางด้านซ้ายมือจะทำการให้ตัวแปร …

META MOBOT – Software Implementation (Manipulation)

ในส่วนของ Manipulation จะใช้ Openmanipulator-P ซึ่งเป็นแขนกล 6 DOF และมีการติดตั้ง Gripper ที่ทำขึ้นเอง โดยการสั่งการและรับค่าจากแขนกล Openmanipulator-P นั้น จะทำการรับส่งค่าผ่าน ROS Package ของทาง Openmanipulator-P ด้วยภาษา Python 1 . ลำดับการทำงานของ Node โปรแกรม Manipulation ในส่วนของ Manipualtion มีลำดับการทำงานของโปรแกรม ดังนี้ 2. Limit Workspace ในการเคลื่อนที่ของแขนกล Library …

META MOBOT – User Interface

ในการออกแบบและพัฒนา User Interface ของ META MOBOT ได้ออกแบบโดยมุ่งเน้นให้เกิดการมีปฏิสัมพันธ์ระหว่างคอมพิวเตอร์กับผู้ใช้งานหลายคนพร้อมกัน (Multi-User) โดยจัดทำหน้า User Interface ในการรับค่า (Input) ผ่าน Oculus Quest 2, เมาส์, และคีย์บอร์ด นอกจากนี้ยังมี User Interface สำหรับการรับค่าจาก META MOBOT เพื่อแสดงข้อมูล (Output) ให้แก่ผู้ใช้งาน ซึ่งประกอบไปด้วยรายละเอียด ดังนี้ 1. Theme2. Player Model3. การแสดงผลข้อมูล4. …

META MOBOT – Software Implementation

META MOBOT จะประกอบไปด้วย Node โปรแกรมที่ใช้ควบคุม Actuator 3 ส่วนหลัก ๆ ได้แก่ ส่วนของ Mobility, ส่วนของ Manipulator, ส่วนของ Lidar Detection, และส่วนของ Vision Control โดย node โปรแกรมที่ใช้ในการควบคุม META MOBOT ทั้งหมดจะถูกเขียนอยู่ใน Board ประมวลผล Jetson Nano 2 ตัว ด้วยภาษา Python และมีการใช้ชุด …

META MOBOT – Hardware Implementation

Hardware Implementation META MOBOT ประกอบขึ้นมาจากอุปกรณ์หลายส่วน ไม่ว่าจะเป็นระบบโครงสร้าง ระบบขับเคลื่อน ระบบไฟฟ้า ระบบประมวลผล ๆลๆ เพื่อให้ MOBOT สามารถรับสัญญาณคำสั่งจาก Users เพื่อนำมาประมวลผล และทำงานในสถานที่ต่าง ๆ ได้ตามที่ Users ต้องการ โดยการอธิบายในส่วนของอุปกรณ์ (Hardware) ของ META MOBOT สามารถแบ่งย่อยเป็นส่วนต่าง ๆ ได้ดังนี้ ชุดโครงสร้าง และระบบขับเคลื่อน (Mobility) ชุดโครงสร้างหลักของ META MOBOT ทำจาก …