myCobot 280 JN + AIKit 3D Vision
Quick Start

เริ่มใน 5 นาที

ถ้าประกอบเสร็จแล้วและอยากเห็นแขนขยับเลย ทำตามขั้นตอนนี้ ใช้เวลาประมาณ 5 นาที (ยังไม่ได้ประกอบ ดู บทที่ 3 ก่อน)

ขั้นที่ 0 เช็คของให้พร้อม (1 นาที)

เช็คให้ครบก่อน ถ้าขาดข้อใดข้อนึง Quick Start จะตันกลางทาง:

  • หุ่นยนต์ myCobot 280 JN ประกอบเสร็จแล้ว (วางบนโต๊ะมั่นคง)
  • Adapter 12V/5A ของหุ่นยนต์ (สีดำ ที่มากับกล่อง)
  • จอ HDMI ต่อกับหุ่นยนต์ + USB Keyboard + Mouse
    (หรือถ้าจะใช้ Remote ผ่าน VNC ดู บท 4 VNC)
  • ที่ว่างรอบหุ่น ~50 cm ทุกด้าน ไม่มีคน/ของในระยะ
  • รู้ปุ่ม Power ของหุ่นอยู่ตรงไหน (ดูที่ฐานด้านหลัง สวิตช์โยกสีดำ)
🚨
Safety Briefing 30 วินาที สำคัญมาก!
  • รัศมีการเคลื่อนที่ ~280 mm จากฐาน ระวังหน้า/มือเข้าใกล้
  • เกิดเหตุ ปิดสวิตช์ที่ฐาน ทันที (หรือถอด Adapter)
  • ใน Terminal กด Ctrl+C หยุดสคริปต์ Python ทันที
  • ครั้งแรก แนะนำมีคนที่สองช่วยดูใกล้ๆ ปุ่ม Power
  • อย่าจับแขนตอน servo เปิดอยู่ แขนจะฝืนกลับและร้อน
💡
ครบแล้ว? ไปขั้น 1 ได้เลย

ถ้าขาด HDMI/Keyboard ลองดู VNC remote ใน บท 4 เพื่อใช้ผ่าน PC แทน

ขั้นที่ 1 เปิดเครื่อง (30 วินาที)

  1. เสียบ Adapter 12V/5A ของหุ่นยนต์เข้าเต้ารับ
  2. กดสวิตช์ Power ที่ฐานหุ่นยนต์
  3. รอ Jetson Nano บูทประมาณ 30-60 วินาทีจนเห็นหน้า Login Ubuntu

ขั้นที่ 2 Login Ubuntu (15 วินาที)

Usernameer
PasswordElephant
🇹🇭
Tip คนไทย ระวังพิมพ์รหัสผ่าน
  • "E" ใหญ่ ใน "Elephant" เปิด Caps Lock ค้างไว้ที่ตัวแรกแล้วปิด
  • เช็ค Caps Lock ไฟ บน keyboard ก่อนพิมพ์ (ไม่ค้าง = ดี)
  • ถ้ามี keyboard ภาษาไทย กด Alt+Shift เปลี่ยนเป็น EN ก่อน (Ubuntu ไม่มีไอคอนบอก)
  • พิมพ์รหัส จะไม่เห็น ●●● ขึ้นเลย เป็นเรื่องปกติของ Linux

ขั้นที่ 3 เปิด Terminal และตรวจหุ่นยนต์ (30 วินาที)

Terminal คือ? หน้าต่างพิมพ์คำสั่ง (เหมือน Command Prompt ใน Windows) กด Ctrl+Alt+T เพื่อเปิด หรือคลิกไอคอน Terminal ใน Taskbar

หน้าต่าง Terminal ที่เพิ่งเปิด แสดง prompt er@nano:~$
หน้าต่าง Terminal ตอนเพิ่งเปิด ตัวอักษรเขียว er@nano:~$ ด้านซ้าย คือบรรทัด prompt รอรับคำสั่ง

ในหน้าต่าง Terminal พิมพ์คำสั่งนี้แล้วกด Enter:

terminal
ls /dev/ttyTHS*

ควรเห็นบรรทัดนี้ขึ้นมาด้านล่าง:

/dev/ttyTHS1  /dev/ttyTHS2
ผลของคำสั่ง ls /dev/ttyTHS* แสดง /dev/ttyTHS1 และ /dev/ttyTHS2
ผลลัพธ์ที่ควรเห็น มี /dev/ttyTHS1 และ /dev/ttyTHS2
ผ่าน = หุ่นยนต์เชื่อมต่อ Jetson Nano สำเร็จ

เห็น /dev/ttyTHS1 (และ ttyTHS2) = พร้อมไปขั้นต่อไป เราจะใช้ /dev/ttyTHS1 เป็นพอร์ตหลักในการเชื่อมต่อกับ pymycobot

ถ้าไม่เห็น ดู A.1 หรือ หัวข้อ 4.4.2

ℹ️
ttyTHS1 vs ttyTHS2 ต่างกันยังไง?

Jetson Nano มี UART หลายช่อง ttyTHS1 ต่อกับบอร์ดควบคุมหุ่นยนต์ภายใน ส่วน ttyTHS2 เป็นช่อง debug/spare ที่ปกติไม่ใช้ ไม่ต้องสนใจ

ขั้นที่ 4 สั่งหุ่นยนต์ขยับครั้งแรก (2 นาที)

วิธีรัน Python ใน Terminal (สำหรับมือใหม่)

  1. ใน Terminal เดิม พิมพ์ python3 แล้วกด Enter จะเข้า Python REPL (ดูจาก prompt เปลี่ยนเป็น >>>)
  2. คลิกปุ่ม คัดลอก บนกล่องโค้ดด้านล่าง
  3. คลิกขวาใน Terminal Paste (หรือกด Ctrl+Shift+V)
  4. กด Enter หนึ่งครั้งเพื่อรัน
  5. เมื่อจบ ออก REPL ด้วย exit() หรือ Ctrl+D
Python REPL ที่เพิ่งเปิด แสดง version 3.8.10 และ prompt >>>
หลังพิมพ์ python3 + Enter สังเกตบรรทัดล่างสุดเปลี่ยนเป็น >>> แทน er@nano:~$ หมายความว่าตอนนี้อยู่ใน Python REPL พร้อมรับโค้ด
⚠️
ก่อนกด Enter เช็คครั้งสุดท้าย
  • ไม่มีคน/ของในรัศมี ~30 cm รอบหุ่น
  • มือพร้อมที่ปุ่ม Power (กรณีฉุกเฉิน)
  • รู้ว่ากด Ctrl+C หยุดสคริปต์ทันที
python
from pymycobot import MyCobot280
import time

mc = MyCobot280('/dev/ttyTHS1', 1000000)
time.sleep(1)
mc.power_on()
time.sleep(1)

# 1) ขยับไปท่า Home (ตั้งตรง 6 ข้อ = 0 องศา)
mc.send_angles([0, 0, 0, 0, 0, 0], 30)
time.sleep(3)

# 2) โบก J1 ซ้าย-ขวา 3 ครั้ง (โบกที่ฐาน)
for _ in range(3):
    mc.send_angle(1,  50, 30); time.sleep(2)
    mc.send_angle(1, -50, 30); time.sleep(2)

# 3) กลับ Home
mc.send_angles([0, 0, 0, 0, 0, 0], 30)
time.sleep(2)
print("Done — Quick Start สำเร็จ!")
🔬 อยากเข้าใจโค้ดทีละบรรทัด? คลิกที่นี่
from pymycobot import MyCobot280
เปิดกล่องเครื่องมือ pymycobot เอาเฉพาะ MyCobot280 มาใช้
import time
เปิดกล่อง time เพื่อใช้ time.sleep() ทำให้โปรแกรมรอ
mc = MyCobot280('/dev/ttyTHS1', 1000000)
สร้าง ตัวแทนหุ่น ชื่อ mc เชื่อมผ่าน /dev/ttyTHS1 ด้วยความเร็ว 1 Mbps
time.sleep(1)
รอ 1 วินาที ให้ serial port พร้อม ก่อนส่งคำสั่งต่อ
mc.power_on()
บอก mc ให้ เปิดมอเตอร์ หลังจากนี้แขนจะค้างท่าและขยับตามคำสั่งได้
mc.send_angles([0, 0, 0, 0, 0, 0], 30)
สั่งหุ่นไปท่า ตั้งตรง (J1-J6 = 0°) ด้วยความเร็ว 30% ตัวเลข 6 ตัวคือมุม 6 ข้อต่อ
for _ in range(3):
ทำซ้ำ 3 รอบ _ คือตัวแปรที่ไม่ใช้ range(3) = สร้างตัวเลข 0, 1, 2
mc.send_angle(1, 50, 30)
ส่ง เฉพาะข้อ J1 ไปมุม 50° ด้วยความเร็ว 30% (เว้นวรรค = อยู่ใน for loop)
print("Done Quick Start สำเร็จ!")
แสดงข้อความใน Terminal บอกว่าโปรแกรมจบแล้ว

📖 อยากเข้าใจคำศัพท์ทั้งหมด 👶 คู่มือมือใหม่

ผลลัพธ์ที่ควรเห็น

✅ ได้ยินเสียงมอเตอร์ servo (เสียงหึ่งๆ คล้าย stepper motor)
✅ แขนเคลื่อนกลับ ท่าตั้งตรง (J1 J6 ตรงเป็นเส้น)
ฐานหมุนซ้าย-ขวา 3 ครั้ง มุม ~50° แต่ละทิศ
✅ Terminal แสดง Done Quick Start สำเร็จ! ที่บรรทัดสุดท้าย
❌ ถ้า Error สีแดง copy ข้อความผิดพลาด ค้นใน ภาคผนวก A

ผลลัพธ์การรันโค้ด Quick Start บน Terminal แสดง Done สำเร็จที่บรรทัดสุดท้าย
ผลลัพธ์ที่ควรเห็นใน Terminal บรรทัดสุดท้ายขึ้น Done Quick Start สำเร็จ! (สีเขียว) = แขนทำตามคำสั่งครบทั้ง 3 รอบโบกเรียบร้อย
🚀
Pro tip รันโค้ดแบบยาวๆ ด้วย heredoc (ง่ายกว่า REPL)

การ paste โค้ดที่มี for loop หรือ indent ใน Python REPL บางทีจะ Error เรื่อง indentation ทางเลือกที่ง่ายกว่า ใช้ heredoc ที่ Bash:

terminal
python3 << 'EOF'
from pymycobot import MyCobot280
import time
mc = MyCobot280('/dev/ttyTHS1', 1000000)
time.sleep(1)
mc.power_on()
# ... โค้ดทั้งหมด ...
print("Done!")
EOF

พิมพ์ python3 << 'EOF' + Enter paste โค้ดทั้งก้อน พิมพ์ EOF + Enter เพื่อจบ Python จะรันทั้งบล็อกเป็น script เดียว ไม่มีปัญหา indentation

💡
ก่อนไปขั้นต่อไป ปล่อย servo ก่อน

เพื่อให้แขนปล่อยมือเอง (จับและขยับเองได้) และกันเสียร้อน รันคำสั่งนี้:

terminal
python3 -c "from pymycobot import MyCobot280; MyCobot280('/dev/ttyTHS1', 1000000).release_all_servos()"

ขั้นที่ 5 ต่อไปลอง Pick & Place ด้วย AI

⏱️
ขั้นนี้ ไม่ใช่ 5 นาที ใช้เวลา ~20-30 นาทีถ้าทำครั้งแรก

ต้องเตรียม: กล้อง 3D Vision ติดตั้งเสร็จ + End-Effector (Gripper/Vacuum) + ลูกบาศก์สี + Calibrate กล้อง

ถ้าเตรียมพร้อม:

  1. ตรวจว่าติดตั้ง กล้อง 3D Vision + End-Effector เสร็จแล้ว (ดู บทที่ 3)
  2. Calibrate กล้องครั้งแรก (ดู บท 5 Calibration)
  3. ใน Terminal: terminal
    cd ~/AIKit_280_JN
    python3 camera_detect.py
  4. หน้า GUI เปิดมา เลือก Color Detection
  5. วางลูกบาศก์สีแดงในกรอบทำงาน
  6. กดปุ่ม Start หุ่นยนต์จะหยิบและวางอัตโนมัติ

📖 ดูเดโม Pick & Place แบบเต็มในบท 13

เสร็จแล้ว! ขั้นถัดไป

🆘 ทำตามแล้วไม่ได้ผล?