myCobot 280 JN + AIKit 3D Vision
ภาคผนวก D

อภิธานศัพท์ (Glossary)

คำศัพท์เทคนิคที่ใช้ในคู่มือ เรียงตามตัวอักษร อังกฤษก่อน ไทยตาม

A B

Adapter
หม้อแปลงไฟ AC→DC 12V/5A ตัวเดียว ที่มาในชุด จ่ายไฟทั้งระบบ (ทั้งแขนและ Jetson Nano ในฐาน)
Adaptive Gripper
กริปเปอร์แบบเลียนแบบนิ้วมือ ปรับแรงบีบและตำแหน่งได้ตามรูปทรงวัตถุ
ArUco Marker
เครื่องหมายขาว-ดำลายตารางที่ใช้ในการ Calibrate กล้อง มี ID เฉพาะ คอมพ์อ่านตำแหน่งและทิศทางได้แม่นยำ
Atom
บอร์ดควบคุมขนาดเล็กที่ปลายแขน (Joint 6) ใช้ขับ RGB LED และ I/O ของ End-Effector
BCM (Broadcom GPIO numbering)
ระบบเรียกหมายเลขพิน GPIO แบบที่ Raspberry Pi และ Jetson Nano ใช้ (เช่น BCM 20 = Pin 38)
Baudrate
ความเร็วการสื่อสารผ่าน Serial port myCobot 280 JN ใช้ 1000000 (1 Mbps)
Blockly / myBlockly
เครื่องมือเขียนโปรแกรมแบบลากบล็อกสำหรับมือใหม่ ดู บทที่ 9

C D

Cartesian Space
การคิดตำแหน่งในระบบ X/Y/Z + Rx/Ry/Rz มักใช้ใน send_coords() เมื่ออยากให้ปลายแขนไปที่จุดในโลกจริง (vs [[Joint Space]] ที่คิดเป็นมุมข้อต่อ)
Cobot (Collaborative Robot)
หุ่นยนต์ที่ออกแบบให้ทำงานเคียงกับคนได้อย่างปลอดภัย myCobot เป็น cobot ขนาดเล็ก (เหมือนชื่อ "my-cobot")
COCO Dataset
ฐานข้อมูลภาพมาตรฐานสำหรับฝึก AI Object Detection มี 80 classes (รถ, คน, สัตว์, ของใช้) — ส่วนโมเดลของ AIKit ใช้ชุดข้อมูลเฉพาะที่ Elephant เทรนเอง 15 คลาส (ไม่ใช่ subset ของ COCO)
Calibration
การปรับเทียบความสัมพันธ์ระหว่างพิกัดในภาพ (Pixel) กับพิกัดในโลกจริง (World) ของหุ่นยนต์ ต้องทำก่อนใช้งาน Vision
Contour Detection
เทคนิคใน OpenCV หาเส้นขอบของวัตถุในภาพ ใช้ใน Shape Detection
CUDA
แพลตฟอร์มประมวลผลด้วย GPU ของ NVIDIA Jetson Nano รองรับ CUDA 10.2 ทำให้รัน YOLOv8 ได้
Cycle Time
เวลาที่ใช้ใน 1 รอบทำงานเต็ม (ตรวจจับ หยิบ ย้าย วาง) ปกติ 8-12 วินาที
Depth Map
ภาพที่ pixel แต่ละจุดเก็บข้อมูลความลึก (ระยะห่างจากกล้อง) ใช้ในระบบ 3D Vision
DH Parameter
ตารางพารามิเตอร์ Denavit-Hartenberg สำหรับคำนวณ Kinematics ของแขนกล
DoF (Degrees of Freedom)
จำนวน "องศาอิสระ" ของแขนกล myCobot 280 มี 6 DoF = ขยับได้ 6 ทิศทางอิสระ

E F

End-Effector
เครื่องมือที่ติดปลายแขน เช่น Gripper, Vacuum Pump ฯลฯ
ESP32
ไมโครคอนโทรลเลอร์เสริมในฐาน myCobot ทำหน้าที่ I/O และ Wi-Fi/Bluetooth ขนาน Jetson Nano
Fine-tune
การเทรนโมเดล AI ต่อจากของเดิม ด้วยชุดข้อมูลใหม่ของผู้ใช้ ทำให้รู้จักวัตถุเพิ่ม
Firmware
ซอฟต์แวร์ระดับต่ำที่ฝังในฮาร์ดแวร์ Atom firmware ของ myCobot ต้อง ≥ 7.3 จึงจะมี joint limit check
Flange
หน้าจานปลายแขน จุดติด End-Effector (Joint 6)
Free Mode
โหมดที่ปลดล็อก servo ของแขน ทำให้ลากด้วยมือเพื่อสอนตำแหน่งได้

G H

GPIO (General Purpose Input/Output)
พินไฟฟ้าที่โปรแกรมได้ รับ/ส่งสัญญาณ digital หรือ PWM ใช้ต่อเซนเซอร์/อุปกรณ์
Gripper
มือจับที่ปลายแขน มี 3 ประเภท: Adaptive, Parallel, Flexible
HSV (Hue Saturation Value)
ระบบสีที่ใช้ใน Color Detection แทน RGB ทนต่อการเปลี่ยนแปลงแสงได้ดีกว่า
Home Position
ท่าเริ่มต้นของแขน โดยทั่วไปคือ [0, 0, 0, 0, 0, 0] ทุก joint อยู่ที่ 0°

I J

Image (Disk Image)
ไฟล์ภาพดิสก์ (.img) ที่มีระบบ OS ครบ เบิร์นลง TF Card เพื่อกู้คืน Ubuntu ใน Jetson Nano
IMU (Inertial Measurement Unit)
เซนเซอร์วัด acceleration + gyroscope รวมกัน myCobot 280 JN ไม่มี IMU แต่ Jetson Nano เพิ่ม external IMU ได้
Inverse Kinematics (IK)
การคำนวณ "มุมข้อต่อ" จาก "ตำแหน่งปลายแขน" ที่ต้องการ pymycobot มี solve_inv_kinematics() ดู [[Forward Kinematics]] เปรียบเทียบ
Forward Kinematics (FK)
การคำนวณย้อนทาง รู้ "มุมข้อต่อ" คำนวณว่าปลายแขนอยู่พิกัด X/Y/Z ตรงไหน ง่ายกว่า IK เพราะมี solution เดียว (vs IK อาจมี 0-8 solutions)
J41 (Header)
ชื่อ Header GPIO 40-pin ของ Jetson Nano (มาตรฐานเดียวกับ Raspberry Pi)
Jetson Nano
คอมพิวเตอร์ฝังตัวขนาดเล็กของ NVIDIA มี GPU 128 cores รองรับงาน AI/Vision
JOG
โหมดสั่งให้แขนเคลื่อนต่อเนื่องในทิศทางเดียว ใช้สอนตำแหน่ง
Joint
ข้อต่อของแขนกล myCobot 280 มี 6 joints คือ J1 J6
Joint Space
การคิดตำแหน่งในรูปแบบ "มุมของแต่ละข้อต่อ" เช่น [30, 0, -30, 0, 30, 0] (vs [[Cartesian Space]] ที่คิดเป็น X/Y/Z)

K L

Kinematics
วิชาที่ศึกษาการเคลื่อนที่ของแขนกล (Forward = มุม ตำแหน่ง, Inverse = ตำแหน่ง มุม)
LEGO Plugin / LEGO Technic
มาตรฐานเดือยพลาสติกของ LEGO ที่ Elephant Robotics ใช้ยึด End-Effector เสียบเข้ารูได้ง่าย
Live Server
ส่วนขยาย VS Code ที่รัน HTTP server ใน workspace เปิดที่ 127.0.0.1:5500

M N

MoveIt
Framework ใน ROS สำหรับวางแผนเส้นทางการเคลื่อนที่ของแขน หลบสิ่งกีดขวางได้
moveJ / moveL
โหมดเคลื่อนที่: moveJ = เคลื่อนเร็วแบบ joint space, moveL = เคลื่อนเป็นเส้นตรงใน Cartesian space
myBlockly
เครื่องมือเขียนโปรแกรมแบบลากบล็อก ของ Elephant Robotics
myCobot
ตระกูลแขนกลของ Elephant Robotics myCobot 280 = 280 mm reach, myCobot Pro 600 = 600 mm
myStudio
โปรแกรม Desktop ของ Elephant Robotics สำหรับ burn firmware และจัดการเครื่อง

O P

Object Detection
การตรวจจับ + ระบุประเภทของวัตถุในภาพ AIKit ใช้ Color/Shape (แบบ classical) หรือ YOLOv8 (แบบ deep learning)
OpenCV
ไลบรารี Computer Vision ที่ใช้กับ Python ใน AIKit (เวอร์ชัน 4.x)
Path Planning
การวางแผนเส้นทางจากจุด A ไป B โดยเลี่ยงสิ่งกีดขวาง [[MoveIt]] ทำ Path Planning ใน ROS ด้วย algorithms เช่น RRT, PRM
Payload
น้ำหนักสูงสุดที่แขนรับได้ที่ปลาย myCobot 280 = 250 g
PID Control
วิธีควบคุมตำแหน่ง Servo แบบ Proportional + Integral + Derivative ปรับให้แม่นยำขึ้นได้
Pin 38 / Pin 40 (BCM 20 / BCM 21)
พิน GPIO ที่ AIKit ใช้ควบคุม Vacuum Pump (Pin 38 = ดูด, Pin 40 = ปล่อยลม)
pymycobot
ไลบรารี Python หลักสำหรับควบคุม myCobot class ใหม่ MyCobot280
PWM (Pulse Width Modulation)
สัญญาณดิจิทัลที่ปรับความกว้างพัลส์ ใช้ควบคุมความเร็วมอเตอร์ ความสว่าง LED ฯลฯ

Q R

Repeatability
ความสามารถในการกลับมาจุดเดิมได้ใกล้เคียง myCobot 280 = ±0.5 mm
ROS / ROS2 (Robot Operating System)
Framework สำหรับงานหุ่นยนต์ Jetson Nano ที่ส่งมามี ROS Noetic ติดตั้งให้
rviz
เครื่องมือ visualize ของ ROS เห็นโมเดล 3D ของแขนเคลื่อนไหวแบบ real-time

S T

Serial Port
ช่องสื่อสารแบบอนุกรม myCobot 280 JN ใช้ /dev/ttyTHS1
Servo Motor
มอเตอร์ที่มี feedback ตำแหน่งในตัว แต่ละข้อต่อของแขนใช้ servo
SSH (Secure Shell)
โปรโตคอลเชื่อมต่อ Linux จากระยะไกล ใช้ควบคุม Jetson จาก PC อื่นได้
Suction Cup
หัวดูดยางของปั๊มสุญญากาศ ขนาด 20 mm รับน้ำหนัก 150 g
Singularity
จุดที่ IK คำนวณได้หลาย solutions พร้อมกัน แขนอาจเคลื่อนกระตุกหรือหาทางไม่เจอ มักเกิดเมื่อข้อต่อ J5 = 0° (แขนเหยียดตรง)
SLAM (Simultaneous Localization and Mapping)
เทคนิคให้หุ่นยนต์/รถวิ่งสร้างแผนที่ขณะเดียวกับการระบุตำแหน่งตัวเอง myCobot ไม่ทำ SLAM (เป็นแขนกลคงที่)
TCP (Tool Center Point)
"จุดศูนย์กลางของเครื่องมือ" ที่ปลายแขน ระบุพิกัดด้วย [X, Y, Z, Rx, Ry, Rz]
TF Card / microSD
การ์ดความจำของ Jetson Nano เก็บ Ubuntu OS ขนาดแนะนำ 32 GB ขึ้นไป
ToF (Time of Flight)
เซนเซอร์วัดระยะด้วยเวลาที่แสงสะท้อนกลับ pymycobot รองรับผ่าน get_tof_distance()
Trajectory
เส้นทางที่ปลายแขนเคลื่อนผ่าน (สมการตามเวลา) ต่างจาก "Path" ที่เป็นแค่จุดผ่าน [[MoveIt]] คำนวณ trajectory ที่ราบรื่นและเลี่ยงสิ่งกีดขวาง

U V

UART (Universal Async Receiver/Transmitter)
โปรโตคอล Serial Jetson Nano ใน base ใช้ UART ภายในคุยกับ Atom ผ่าน /dev/ttyTHS1
Ubuntu Mate
Linux distro ที่ติดตั้งใน Jetson Nano ของ myCobot เวอร์ชัน 20.04 LTS
Vacuum Pump
ปั๊มสุญญากาศ ใช้ดูดวัตถุพื้นผิวเรียบ
VNC (Virtual Network Computing)
โปรโตคอลควบคุมหน้าจอ Linux จากระยะไกลแบบ Graphical (ไม่ใช่ Terminal เฉย ๆ เหมือน SSH)

W Z

Workspace
พื้นที่ที่ปลายแขนเคลื่อนถึงได้ โดยทั่วไป X/Y: ±281 mm, Z: −70 ถึง +413 mm
YAML (.yaml file)
format ไฟล์ config แบบอ่านง่าย AIKit ใช้ config/settings.yaml เก็บค่า HSV / calibration parameters
YOLOv8
โมเดล Deep Learning ตรวจจับวัตถุของ Ultralytics AIKit ใช้รองรับ 15 คลาส