Class Project: Chatbot for Control Robotics Arm

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

Software Review – EEGLAB Toolbox

What is EEGLAB Toolbox? EEGLAB เป็นเครื่องมือสำหรับการประมวลผลสัญญาณคลื่นสมองจาก EEG หรือสัญญาณกล้ามเนื้อ EMG ที่สามารถวิเคราะห์องค์ประกอบอิสระ (ICA) การวิเคราะห์เวลา/ความถี่ของสัญญาณได้ โดย EEGLAB เป็นที่นิยมอย่างมากในการใช้วิเคราะห์สัญญาณคลื่นสมองเนื่องจากตัว EEGLAB นั้นสามารถวิเคราะห์สัญญาณจากหลายแหล่งได้พร้อมกันและมี GUI interface ใน MATLAB ที่สามารถใช้งานได้ง่าย อีกทั้งตัวของ EEGLAB เองก็ยังมี feature ที่ช่วยในการวิเคราะห์สัญญาณไม่ว่าจะเป็น การทำ ICA, การแสดง Time-Frequency ของสัญญาณและการทำ Spectral analysis ของสัญญาณคลื่นสมอง …

Hardware Review – UNICORN HYBRID BLACK

What is UNICORN HYBRID BLACK เป็นอุปกรณ์ที่ใช้สำหรับการรับข้อมูลสัญญาณคลื่นสมองโดยอาศัยการรับค่าสัญญาณไฟฟ้าจากการทำงานของสมองโดยรับสัญญาณที่บริเวณหนังศีรษะ (EEG) ซึ่ง UNICORN HYBRID BLACK เป็นผลิตภัณฑ์ของทางบริษัท g-tec ที่ออกแบบมาเพื่อให้บุคคลทั่วไปสามารถสวมหมวก EEG Cap และสามารถนำสัญญาณคลื่นสมองมาประมวลผลได้ Hardware Specific Electrode ของ EEG ตัวนี้จะมี 8 channel ที่จะทำรับสัญญาณคลื่นสมองจากบริเวณต่างๆ และจะมี reference channel ที่จะทำการติดบริเวณด้านล่างของติ่งหูทั้งของฝั่งเพื่อเอาไว้เป็นตัว reference กับ channel ที่เหลือ Software …

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 – Software Implementation

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