รู้จักอุปกรณ์
ทำความรู้จักภาพรวมของระบบ myCobot 280 Jetson Nano + AIKit 3D Vision ส่วนประกอบทั้งหมด คุณสมบัติทางเทคนิค และความสามารถหลักของระบบ
1.1 ภาพรวมของระบบ
ชุด myCobot 280 Jetson Nano + AIKit 3D Vision เป็นชุดอุปกรณ์การเรียนรู้และวิจัย ด้านหุ่นยนต์แขนกลร่วมกับระบบการมองเห็นแบบสามมิติ (3D Vision) ที่บูรณาการความสามารถของ Computer Vision และการควบคุมแขนกล 6 แกนเข้าไว้ด้วยกัน
ระบบทั้งหมดขับเคลื่อนด้วยคอมพิวเตอร์ฝังตัว NVIDIA Jetson Nano ซึ่งติดตั้งอยู่ที่ฐานของแขนกล ทำให้สามารถทำงานแบบ Standalone ได้ โดยไม่ต้องเชื่อมต่อกับคอมพิวเตอร์ภายนอกตลอดเวลา
ระบบนี้ออกแบบมาเพื่อใช้สำหรับ:
- การเรียนการสอน วิชาหุ่นยนต์ ระบบอัตโนมัติ และ AI
- การทดลองและสร้างต้นแบบ (Prototype) ของระบบหยิบจับและจัดเรียงวัตถุอัตโนมัติ (Pick & Place)
- การพัฒนาโปรเจกต์ด้วยภาษา Python, ชุดเครื่องมือกราฟิก myBlockly หรือเชื่อมต่อกับ ROS
หุ่นทำงานยังไง? (ภาพรวมระบบ)
ก่อนเข้าสเปก ดูภาพรวมว่าระบบทั้งหมดต่อกันยังไง มีตัวละคร 4 ตัวทำงานกันเป็นทีม:
มี GPU สำหรับ Vision/Deep Learning
ขับ LED + IO + Gripper
หมุนไปมุมที่บอกได้แม่นยำ
คนสั่ง "หยิบแก้ว" สมอง วางแผน เส้นประสาท ส่งสัญญาณ กล้ามเนื้อ ขยับ แขน เคลื่อน
หุ่น: Python script Jetson วางแผน Serial cable ส่งสัญญาณ Atom + Servo ขับ แขน เคลื่อน
📖 อยากเข้าใจคำศัพท์มากกว่านี้ ไปดู 👶 คู่มือมือใหม่
ทำไมต้องเป็นรุ่น JN? เปรียบเทียบกับรุ่นอื่น
myCobot 280 มีหลายรุ่นย่อยที่ต่างกันที่ "สมอง" เลือกตามงาน:
| รุ่น | 280 M5 | 280 PI | 280 JN ⬅ ตัวที่เรามี |
|---|---|---|---|
| สมอง | ESP32 Microcontroller | Raspberry Pi 4 (4GB RAM) | NVIDIA Jetson Nano (4GB) + GPU |
| OS | ไม่มี (ต้องคุยจาก PC) | Ubuntu Mate 20.04 | Ubuntu Mate 20.04 (focal) |
| มี GPU? | ❌ | ❌ (CPU only) | ✅ 128-core Maxwell GPU |
| CUDA / TensorRT | ❌ | ❌ | ✅ รัน YOLOv8/PyTorch ได้ |
| เหมาะกับ | การควบคุมพื้นฐาน, การเรียน | เขียนโค้ด Standalone, ROS | AI/Computer Vision, Deep Learning |
| กินไฟ | ต่ำ (USB powered) | กลาง (~5W) | สูง (10W MaxN mode) |
| Standalone? | ❌ ต้องต่อ PC | ✅ | ✅ |
ถ้าทำงาน เฉพาะการเคลื่อนไหวพื้นฐาน (Pick & Place ด้วยพิกัดตายตัว) รุ่น M5 ก็พอ
ถ้าต้องการ การมองเห็น (Vision) + AI ตรวจจับวัตถุ ต้องเป็น JN เพราะมี GPU + CUDA สำหรับรัน YOLOv8/PyTorch อันเป็นจุดเด่นที่รุ่นอื่นทำไม่ได้
รุ่น PI เหมาะกับงานวิจัย ROS ที่ไม่จำเป็นต้องใช้ Deep Learning
1.2 ส่วนประกอบของ myCobot 280 JN
แขนกล myCobot 280 Jetson Nano เป็นแขนกลแบบ 6 องศาอิสระ (6-DOF) ที่ออกแบบมาสำหรับงานวิจัยและการศึกษา มีลักษณะเด่นคือฝัง NVIDIA Jetson Nano ไว้ในฐานทำให้ทำงานแบบ Standalone ได้ พร้อมตัวควบคุมเสริม ESP32 สำหรับ I/O และ Wi-Fi/Bluetooth ข้อมูลทางเทคนิคแบ่งเป็นหมวดดังนี้:
DoF (Degrees of Freedom) = "ระดับความอิสระ" ของแขน มี 6 DoF หมายความว่าขยับได้ 6 ทิศทางอิสระ (เหมือนแขนมนุษย์มี ไหล่ ศอก ข้อมือ)
Joint (ข้อต่อ) = จุดที่แขนพับได้ มี 6 จุด เรียก J1 (ฐาน) ถึง J6 (ปลายแขน)
Reach / Working Radius = ระยะที่ปลายแขนเอื้อมถึง 280 mm = ~ความยาวมือถึงข้อศอก
Payload = น้ำหนักของที่หยิบได้สูงสุด (รวม Gripper) เกินกว่านี้มอเตอร์อาจเสียหาย
Repeatability = "ความนิ่ง" ของแขน ส่งไปจุดเดิมกี่ครั้งก็มาห่างกันไม่เกิน 0.5 mm
End-Effector = "เครื่องมือ" ที่ติดปลายแขน เช่น Gripper (มือจับ), Pump (ปั๊มดูด)
1.2.1 ข้อมูลเชิงกล (Mechanical)
| รายการ | รายละเอียด |
|---|---|
| จำนวนแกน (Degrees of Freedom) | 6 แกน |
| ระยะการเอื้อม (Working Radius) | 280 มิลลิเมตร |
| น้ำหนักบรรทุก (Payload) | 250 กรัม |
| น้ำหนักตัว (Weight) | 1,030 กรัม |
| ความแม่นยำในการทำซ้ำ (Repeat Positioning Accuracy) | ± 0.5 มิลลิเมตร |
| ความเร็วสูงสุดของข้อต่อ | 160°/s (ตามสเปกของ Elephant) |
| อายุการใช้งานต่อเนื่อง (Working Lifespan) | 500 ชั่วโมง ใช้งานต่อเนื่อง |
| อุณหภูมิใช้งาน (Operating Temperature) | −5°C ถึง 45°C (สเปกผู้ผลิต) |
| วัสดุ / สี | พลาสติก ABS / ขาว-ดำ |
| การยึดติด | รู LEGO Technology + รูสกรู M4 |
| หัวต่อปลายแขน (End Flange) | รู LEGO + รูสกรู + ขั้วเซอร์โวสำหรับ Adaptive Gripper |
1.2.2 ช่วงการเคลื่อนที่ของข้อต่อ (Joint Range)
ข้อต่อทั้ง 6 มีช่วงมุมการหมุนดังนี้ (อ้างอิงสเปกทางการของ Elephant ใช้ตรวจสอบก่อนสั่งคำสั่ง send_angles):
| ข้อต่อ | ตำแหน่งทางกายภาพ | ช่วงมุม (องศา) |
|---|---|---|
| J1 | ฐาน (Base) | −165° ถึง +165° |
| J2 | ไหล่ (Shoulder) | −165° ถึง +165° |
| J3 | ศอก (Elbow) | −165° ถึง +165° |
| J4 | ข้อมือ 1 (Wrist Pitch) | −165° ถึง +165° |
| J5 | ข้อมือ 2 (Wrist Roll) | −165° ถึง +165° |
| J6 | หน้าจาน (Flange) | −175° ถึง +175° (กว้างกว่าตัวอื่น) |
การตรวจสอบขีดจำกัด Joint แบบอัตโนมัติทำได้บน Atom firmware ≥ 7.3 และ pymycobot ≥ 4.0.2 เท่านั้น ดูรายละเอียดทั้งหมดในเชิงเทคนิคใน บทที่ 7.2
1.2.3 หน่วยประมวลผล (Compute Platform)
ระบบมีหน่วยประมวลผล 2 ตัว ทำงานร่วมกัน:
1.2.3.1 Main Controller NVIDIA Jetson Nano
| รายการ | รายละเอียด |
|---|---|
| CPU | Quad-core ARM Cortex-A57 @ 1.43 GHz |
| GPU | 128-core NVIDIA Maxwell™ (รองรับ CUDA) |
| RAM | 4 GB LPDDR4 64-bit (Bandwidth 25.6 GB/s) |
| Storage | microSD (TF Card) ติดตั้ง Image จากผู้ผลิต |
| ระบบปฏิบัติการ | Ubuntu Mate 20.04 LTS (focal) |
| Wireless | Wi-Fi 802.11ac (2.4G/5G) + Bluetooth |
1.2.3.2 Auxiliary Controller ESP32
ตัวควบคุมเสริมสำหรับ I/O ของฐานและการสื่อสารกับ Servo motor ของแขน:
| รายการ | รายละเอียด |
|---|---|
| Processor | Dual-core 240 MHz (600 DMIPS) |
| SRAM | 520 KB |
| Flash | 4 MB |
| GPIO Pins (ที่ใช้งานได้) | G19, G21, G22, G23, G25, G33 |
| Wireless | Wi-Fi dual mode + Bluetooth |
1.2.4 พอร์ตเชื่อมต่อ (I/O Interfaces)
| พอร์ต | จำนวน / ชนิด | การใช้งานทั่วไป |
|---|---|---|
| USB 3.0 | × 2 | กล้อง 3D Vision, อุปกรณ์ความเร็วสูง |
| USB 2.0 | × 2 | คีย์บอร์ด, เมาส์, Flash Drive |
| USB Type-C | × 1 | Debug / Firmware update ของ Jetson |
| Micro USB | × 1 | Auxiliary (Android standard 2.0) |
| HDMI Type-A | × 1 | จอแสดงผล สูงสุด 1080p |
| Ethernet (RJ-45) | × 1 Gigabit | เครือข่ายแบบสาย |
| Wi-Fi (built-in) | 802.11ac dual-band 2.4/5 GHz | เชื่อมเครือข่ายไร้สาย ใช้ VNC/SSH ได้ทันที |
| Bluetooth | Dual-mode 2.4/5 GHz | เชื่อม sensor/peripheral ไร้สาย |
| 3.5mm Audio | × 1 | เสียงออก/ไมโครโฟน |
| GPIO 2.54mm Header (40-pin) | 20 input + 20 output | เชื่อม Pump, Sensor 3.3V/5V output, ~40 mA / พิน |
| Grove Connector | มาตรฐาน Grove | Sensor module แบบ plug-and-play |
| I/O ที่ Atom (ปลายแขน) | 6 pins: G19, G21, G22, G23, G25, G33 | ขับ LED, sensor, สวิตช์ที่ End-Effector (ใช้ผ่าน set_basic_output()) |
1.2.4.1 โปรโตคอลการสื่อสาร (Communication Protocols)
myCobot 280 JN รองรับการสื่อสารหลายโปรโตคอลเพื่อความยืดหยุ่นในการพัฒนา:
| Protocol | การใช้งาน |
|---|---|
| USB / Type-C | หลัก pymycobot คุยผ่าน /dev/ttyTHS1 ที่ 1 Mbps |
| Serial (UART) | คุยกับ ATOM board ภายใน + sensor RS-232 |
| MODBUS | เชื่อมกับ PLC ของโรงงาน หรือ HMI ที่รองรับ MODBUS |
| TCP/IP | ควบคุมผ่านเครือข่าย ใช้ MyCobotSocket() แทน MyCobot280() |
from pymycobot.mycobot_socket import MyCobotSocket
mc = MyCobotSocket('192.168.1.42', 9000) # IP ของ Jetson + port
mc.send_angles([0, 0, 0, 0, 0, 0], 50)
ใช้ได้กับ PC ภายนอกที่ต่อ Wi-Fi เดียวกันกับ Jetson
1.2.5 ไฟเลี้ยงและสภาพแวดล้อม (Power & Environment)
| รายการ | รายละเอียด |
|---|---|
| แรงดันไฟฟ้า (Input) | DC 8-12 V (เสริมรองรับ 8.4-14 V) |
| Adapter ที่มากับชุด | DC 12V / 5A |
| หัวต่อ DC | OD 6.5 mm × ID 2.0 mm |
| อุณหภูมิทำงาน (Operating Temp) | −5 °C ถึง +45 °C |
| อุณหภูมิจัดเก็บ (Storage) | 15-30 °C (แนะนำ) |
| ความชื้นสัมพัทธ์ | ≤ 70 % (ไม่มีการควบแน่น) |
1.2.6 ซอฟต์แวร์ที่รองรับ
pymycobot มี 90+ control interfaces ให้ใช้ผ่านภาษาโปรแกรมที่หลากหลาย:
ภาษาที่ Elephant รองรับอย่างเป็นทางการ
| ภาษา | Library | เหมาะกับ |
|---|---|---|
| Python ⭐ แนะนำ | pymycobot (≥ 4.0.2) | ตัวอย่างเยอะที่สุด + AI/Vision (ดู บท 8) |
| C++ | mycobotcpp | งาน performance สูง / embedded |
| C# | SDK ของ Elephant | Windows / .NET apps |
| JavaScript | ผ่าน WebSocket | Web dashboard / browser-based |
| Arduino | library Atom serial | microcontroller projects |
Frameworks & Tools
- myBlockly visual block programming สำหรับมือใหม่ ดู บทที่ 9
- ROS1 (Noetic) + ROS2 Robot Operating System พร้อม
mycobot_ros+ MoveIt ดู บทที่ 10 - myStudio burn firmware + tutorials (ดู บท 12.8)
- OpenCV + PyTorch + YOLOv8 pre-installed สำหรับ Computer Vision
- Serial Communication Protocol โปรโตคอลระดับต่ำสำหรับเขียน driver ภาษาอื่น
OS ที่รองรับการเชื่อมต่อ (ฝั่ง PC ภายนอก)
เชื่อม Jetson จาก PC ภายนอกได้ทุก OS Windows, macOS, Linux, Android (ผ่าน VNC/SSH/TCP)
ส่วนสำคัญที่ผู้ใช้งานควรจดจำคือ พอร์ต J41 GPIO 40-pin ที่ฐานแขนกล ใช้สำหรับเชื่อมต่อ Vacuum Pump V2.0 ที่จะกล่าวถึงใน บทที่ 3.4.1 และตัวอย่างใช้งานในบทที่ 4 และ 13 รายละเอียด Pinout ฉบับเต็มอยู่ใน บทที่ 7.4
สำหรับผู้พัฒนาที่ต้องการคำนวณ Forward/Inverse Kinematics ของตนเอง Elephant Robotics จัดเตรียม DH Parameter Table และ Workspace Diagram (2D) ไว้ในเอกสาร Product Parameters
1.3 ส่วนประกอบของ AIKit 3D Vision
ชุดอุปกรณ์เสริม AIKit 3D Vision ประกอบด้วยอุปกรณ์ทั้งหมด 14 รายการ ซึ่งผู้ใช้งานควรตรวจนับให้ครบถ้วนก่อนเริ่มประกอบ:
| # | รายการอุปกรณ์ | จำนวน |
|---|---|---|
| 1 | Cylindrical Building Blocks (บล็อกทรงกระบอก) | 1 ชุด (16 ชิ้น) |
| 2 | Rectangular Building Blocks (บล็อกทรงสี่เหลี่ยม) | 1 ชุด (16 ชิ้น) |
| 3 | myCobot Vertical Vacuum Pump V2.0 (ปั๊มสุญญากาศ) | 1 ชุด |
| 4 | myCobot Adaptive Gripper (กริปเปอร์) | 1 ชุด |
| 5 | YOLOv8 Stickers (สติกเกอร์ YOLOv8) | 3 ชุด |
| 6 | LEGO Plugin (ปลั๊กอิน LEGO) | 3 ชุด |
| 7 | Vacuum Pump Connection Cable (สายต่อปั๊มสุญญากาศ) | 1 เส้น |
| 8 | Parts Kit (ชุดอะไหล่) | 1 ชุด |
| 9 | Acrylic Base Plate (แผ่นพื้นอะคริลิก) | 1 แผ่น |
| 10 | Camera Profile (โปรไฟล์กล้อง) | 1 ชิ้น |
| 11 | Robotic Arm Base (ฐานแขนหุ่นยนต์) | 1 ชิ้น |
| 12 | 3D Camera (กล้องสามมิติ) | 1 ตัว |
| 13 | Type-C Data Cable (สาย Type-C) | 1 เส้น |
| 14 | Black and White Magic Stickers (สติกเกอร์ขาวดำ) | 1 ชุด |
กรุณาตรวจนับอุปกรณ์ในกล่องให้ครบถ้วนภายใน 7 วัน หลังจากได้รับสินค้า หากพบว่ามีอุปกรณ์ขาดหายหรือชำรุดจากการขนส่ง ให้รีบติดต่อผู้จัดจำหน่ายโดยทันที
End-Effectors ที่มาในชุด
ระบบรองรับเครื่องมือปลายแขน (End-Effector) หลัก 2 ประเภท:
Vacuum Pump V2.0
ปั๊มสุญญากาศพร้อมหัวดูดขนาด 20 มม. รับน้ำหนักได้ 150 กรัม เหมาะกับวัตถุที่มีพื้นผิวเรียบ เช่น ลูกบาศก์พลาสติก แผ่นโลหะบาง
Adaptive Gripper
กริปเปอร์แบบปรับตัวได้สำหรับการหยิบวัตถุที่มีรูปทรงไม่สม่ำเสมอ หรือวัตถุที่ปั๊มสุญญากาศไม่สามารถจับได้
1.4 ความสามารถหลัก
ระบบรองรับอัลกอริทึมการตรวจจับวัตถุ (Object Detection Algorithm) จำนวน 4 รูปแบบ และตัวอย่างแอปพลิเคชันสำเร็จรูปอีก 2 รูปแบบ:
1.4.1 อัลกอริทึมการตรวจจับ 4 รูปแบบ
Color Detection
การตรวจจับวัตถุด้วยสี เช่น แดง เขียว น้ำเงิน เหลือง เหมาะสำหรับงานคัดแยกบล็อกสี
Shape Detection
การตรวจจับด้วยรูปทรง เช่น วงกลม สี่เหลี่ยม สามเหลี่ยม ใช้ Contour Detection ใน OpenCV
Unpack & Stack Detection
การตรวจจับเฉพาะสำหรับงานแยกชั้นและจัดเรียงบล็อก ใช้ข้อมูลความลึก (Depth Map) ร่วมกับ Contour
YOLOv8 Detection
การตรวจจับด้วยโมเดล Deep Learning ระดับสูง รองรับวัตถุที่ได้รับการฝึกฝนมาแล้ว 15 รายการ
1.4.2 แอปพลิเคชันสำเร็จรูป 2 รูปแบบ
- Pick & Place หยิบวัตถุจากตำแหน่งที่ตรวจจับได้ แล้วนำไปวางในตำแหน่งปลายทางที่กำหนด เหมาะสำหรับงานคัดแยกชิ้นงาน
- Stacking หยิบวัตถุแล้วจัดวางเป็นชั้นซ้อนกัน เหมาะสำหรับงานบรรจุภัณฑ์และการจัดเรียงคลังสินค้าจำลอง
1.4.3 Use Cases ทางการของ Elephant myCobot 280 JN เหมาะกับ
Elephant Robotics ระบุ 9 กลุ่ม use case ที่หุ่นรุ่นนี้เหมาะสม:
การเรียนการสอน
วิชา Robotics ในห้องเรียน มีคู่มือ + myBlockly เหมาะกับมือใหม่
ห้องปฏิบัติการวิจัย
Lab ในมหาวิทยาลัย ทำงานวิจัยด้าน AI/Robotics
AI Vision Development
มี Jetson + GPU + กล้องในตัว เริ่ม Computer Vision project ได้ทันที
Algorithm Development
ทดลอง Motion Planning, IK/FK, Trajectory control แบบ open-source
ROS Simulation
เรียนรู้ ROS1/ROS2 + MoveIt + rviz บน hardware จริง
Smart Home Prototype
ต้นแบบหุ่นยนต์ในบ้าน เสิร์ฟกาแฟ จัดของบนโต๊ะ
Commercial Exploration
Startup ทดสอบ proof-of-concept ก่อนลงทุนหุ่นอุตสาหกรรมจริง
Secondary Development
เพิ่ม sensor / camera / module เพื่อทำ custom solution
NVIDIA Cooperative Robot
"Official NVIDIA partner" ใช้ในการแข่งขัน NVIDIA AI Challenge ได้
ผู้ใช้งานสามารถปรับแต่งและเพิ่มเติมอัลกอริทึมการตรวจจับได้ด้วยตนเอง โดยการฝึกฝนโมเดล YOLOv8 ใหม่ตามชุดข้อมูลของผู้ใช้งานเอง ซึ่งจะกล่าวถึงในบทที่ 5 และเอกสารระดับสูงในลำดับถัดไป