คลังรวม Error Message แก้ทันทีที่เจอ
รวม error messages เป๊ะๆ ที่ผู้ใช้เห็นใน Terminal/Python/AIKit กด Ctrl+F (หรือ Cmd+F บน Mac) แล้ว paste ข้อความ error ที่เจอ จะข้ามไปยังคำตอบทันที
ถ้าไม่ใช่ข้อความ error แต่เป็นอาการ (เช่น แขนไม่ขยับ กล้องไม่ขึ้นภาพ) ดู การแก้ไขปัญหา แทน
แสดง 24 รายการ
Permission & Serial Errors
❌
PermissionError: [Errno 13] could not open port '/dev/ttyTHS1'สาเหตุ: user ไม่มีสิทธิ์เข้าถึงพอร์ต serial
วิธีแก้ทันที:
terminal
sudo chmod 666 /dev/ttyTHS1
วิธีแก้ถาวร: เพิ่ม user เข้า dialout group
terminalsudo usermod -a -G dialout $USER
# Logout แล้ว login ใหม่
📖 ดูเต็ม: บท 4.4.3
❌
ls: cannot access '/dev/ttyTHS*': No such file or directoryสาเหตุ: Serial driver ไม่พร้อม หรือ Atom ไม่ตอบสนอง
แก้:
- เช็คว่าเปิดเครื่องครบ สวิตช์ที่ฐานเปิดอยู่
- ลอง
ls /dev/tty*หาว่ามีพอร์ตอื่นมั้ย เช่นttyACM0 - รีบูตเครื่อง
sudo reboot - ถ้ายังไม่เจอ ดู A.1
❌
serial.serialutil.SerialException: could not open portสาเหตุ: พอร์ตถูกใช้งานโดยโปรเซสอื่น หรือสายเสีย
แก้:
- เช็คว่ามีโปรแกรมอื่นเปิด port อยู่:
sudo lsof /dev/ttyTHS1 - ปิด myBlockly / myStudio / โปรแกรมอื่นที่อาจใช้พอร์ตอยู่
- ลอง
killproceess ที่ค้าง - ถอด-เสียบสาย USB-C ใหม่
❌
OSError: [Errno 16] Device or resource busyสาเหตุ: port กำลังถูกใช้งานโดย process อื่น
แก้:
terminal
sudo lsof /dev/ttyTHS1
# ถ้าเห็น process — kill มัน
sudo kill -9 [PID]
Python Errors
❌
ModuleNotFoundError: No module named 'pymycobot'สาเหตุ: ไลบรารี pymycobot ยังไม่ติดตั้ง หรืออยู่ใน Python อีกตัว
แก้:
terminal
pip3 install pymycobot --upgrade
# เช็ค version
python3 -c "import pymycobot; print(pymycobot.__version__)"
# ควรเห็น 4.0.4 หรือสูงกว่า
ถ้ายังไม่เจอ เช็คว่าใช้ python3 ไม่ใช่ python (Python 2)
❌
ModuleNotFoundError: No module named 'cv2'สาเหตุ: OpenCV ไม่ได้ติดตั้ง (ปกติ Image มาให้แล้ว!)
แก้:
terminal
pip3 install opencv-python
# หรือ
sudo apt install python3-opencv
❌
IndentationError: unexpected indent (ตอน paste โค้ดใน REPL)สาเหตุ: Python REPL ไม่ชอบโค้ดที่มี indent แบบ paste โดยเฉพาะ for/if
แก้: ใช้ heredoc แทน REPL:
terminal
python3 << 'EOF'
from pymycobot import MyCobot280
import time
mc = MyCobot280('/dev/ttyTHS1', 1000000)
for i in range(3):
mc.send_angle(1, 50, 30)
time.sleep(2)
EOF
❌
mc.get_angles() คืน [] (list ว่าง) หรือ Noneสาเหตุ: Serial ยังไม่พร้อมตอนสร้าง MyCobot280 object
แก้: ใส่
time.sleep(1) หลัง constructor:
python
mc = MyCobot280('/dev/ttyTHS1', 1000000)
time.sleep(1) # ← สำคัญ!
mc.power_on()
time.sleep(0.5)
print(mc.get_angles())
❌
TypeError: send_angle() got unexpected keyword argumentสาเหตุ: ใช้ keyword argument ที่ pymycobot version นั้นไม่รู้จัก (API เปลี่ยน)
แก้: ใช้ positional arguments แทน:
python
# ❌ ผิด
mc.send_angle(joint=1, angle=50, speed=30)
# ✅ ถูก
mc.send_angle(1, 50, 30)
Motion Errors
❌ Joint angle out of range / LED แดงค้าง
สาเหตุ: ส่งมุมเกินขีดจำกัด ±165° (หรือ ±175° สำหรับ J6)
แก้:
python
def safe_angles(angles):
limits = [165, 165, 165, 165, 165, 175]
return [max(-l, min(a, l)) for a, l in zip(angles, limits)]
mc.send_angles(safe_angles(my_angles), 30)
ถ้า LED แดงค้าง mc.release_all_servos() แล้วส่งคำสั่งกลับ Home ใหม่
❌ แขนค้าง ไม่ขยับเลย ส่งคำสั่งแล้วไม่ทำอะไร
สาเหตุที่เป็นไปได้:
- Servo ยังไม่ power on ลอง
mc.power_on()ก่อนส่งคำสั่ง - หรือ servo อยู่ใน released state สั่ง
mc.power_on() - หรือ Atom firmware ค้าง ดู บท 12.8 เพื่อ burn ใหม่
- หรือ baud rate ผิด ต้องเป็น
1000000ไม่ใช่ 115200
❌ แขนเคลื่อนกระตุก/สั่น/ไม่นุ่ม
สาเหตุ: speed สูงเกิน + ไม่มี sleep ระหว่างคำสั่ง
แก้:
python
# ❌ ผิด — กระตุกแน่
for pose in poses:
mc.send_angles(pose, 80)
# ✅ ถูก — ใส่ sleep
for pose in poses:
mc.send_angles(pose, 40)
time.sleep(2) # รอให้เคลื่อนถึง
# ✅ ดีกว่า — ใช้ sync (รอจนถึงจริงๆ)
for pose in poses:
mc.sync_send_angles(pose, 40, timeout=10)
Vacuum / Gripper Errors
❌ ปั๊มทำงานเองตอนเปิดเครื่อง
สาเหตุ: Logic Invert GPIO default = LOW = ปั๊ม ON
แก้: เขียน HIGH ใน script ก่อนเริ่มงานทุกครั้ง
python
import Jetson.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(20, GPIO.OUT)
GPIO.output(20, 1) # ← OFF ก่อน (logic invert)
GPIO.output(21, 1)
📖 ดูเต็ม: Cheatsheet Vacuum
Camera / Vision Errors
❌
cv2.VideoCapture(0) ได้แต่ภาพดำ / ret = Falseสาเหตุ: Camera index ไม่ถูก หรือกล้องไม่เสียบ
แก้:
terminal
# ลิสต์ video devices
ls /dev/video*
v4l2-ctl --list-devices
# ลองทุก index
python3 -c "
import cv2
for i in range(5):
cap = cv2.VideoCapture(i)
print(f'Index {i}: {cap.isOpened()}')
cap.release()
"
กล้อง 3D Vision register เป็น /dev/video0 + /dev/video1 ลองทั้งคู่
❌ Camera เปิดได้แต่ภาพดำหรือ frozen
สาเหตุ: Power / USB bandwidth ไม่พอ
แก้:
- ใช้พอร์ต USB 3.0 ไม่ใช่ USB 2.0
- ลดความละเอียด:
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) - ถ้ามี USB Hub ใช้แบบ powered (มีไฟแยก)
❌ ArUco Marker ไม่ถูกตรวจจับ
สาเหตุที่พบบ่อย:
- ใช้ Dictionary ไม่ตรงกับ marker Elephant ใช้
DICT_6X6_250 - แสงไม่พอ ต้อง ≥ 300 lux
- Marker ขนาดเล็กเกินใน frame ขยับใกล้กล้องขึ้น
- OpenCV version ใหม่: ใช้
aruco.ArucoDetector()แทนdetectMarkers()
System / Linux Errors
❌
No space left on deviceสาเหตุ: TF Card เต็ม (ปกติ 64GB หมดได้เร็วถ้าโหลด YOLO models)
แก้:
terminal
# เช็คพื้นที่
df -h
# ลบ apt cache
sudo apt clean
sudo apt autoremove
# ลบ PyTorch cache
rm -rf ~/.cache/torch
# หาไฟล์ใหญ่ๆ
du -h ~/* | sort -rh | head -10
❌ ระบบบูทไม่ขึ้น / Kernel Panic / หน้าจอดำ
สาเหตุ: TF Card เสีย หรือ filesystem corrupted
แก้: ต้อง Burn Image ใหม่ ดู บท 12 การกู้คืนระบบ เต็ม
⚠️ Jetson ร้อน ลด performance / รีบูตเอง
สาเหตุ: อุณหภูมิ > 70°C thermal throttling
แก้:
- เช็คอุณหภูมิ:
sudo tegrastatsดู columnthermal - ตรวจว่าพัดลม Jetson หมุน (ในฐาน)
- ย้ายไปที่อุณหภูมิห้องเย็น (< 30°C)
- ลดโหมดเป็น 5W:
sudo nvpmodel -m 1
❌ Wi-Fi ไม่เชื่อมต่อ
สาเหตุ: driver / config / สัญญาณ
แก้:
terminal
# เช็ค interface
ip a
# Restart NetworkManager
sudo systemctl restart NetworkManager
# CLI connect
nmcli device wifi list
nmcli device wifi connect "SSID" password "PASSWORD"
ROS Errors
❌
Unable to register with master node [http://localhost:11311]สาเหตุ:
roscore ยังไม่ได้รัน
แก้:
terminal
# Terminal 1: รัน roscore
roscore
# Terminal 2: รัน script ของคุณ
rosrun your_package your_node.py
❌ MoveIt:
No motion plan found in available timeสาเหตุ: target pose อยู่นอก workspace หรือมี collision
แก้:
- เช็ค target อยู่ใน workspace (±281mm รอบฐาน, Z: -70 ถึง +413mm)
- เพิ่ม planning_time:
group.set_planning_time(10.0) - ลองเปลี่ยน planner:
group.set_planner_id("RRTConnect") - ลด pose constraint บางครั้ง orientation แม่นเกินไป
myBlockly Errors
❌ Run แล้วได้ Timeout / ไม่มีอะไรเกิดขึ้น
สาเหตุ: port หรือ baud ผิดใน Init block
แก้: ในบล็อก Init MyCobot 280:
- Port: เปลี่ยนเป็น
/dev/ttyTHS1(default/dev/ttyS0ใช้ไม่ได้!) - Baud: เปลี่ยนเป็น
1000000(default 115200 ใช้ไม่ได้!)
📖 ดู บท 9.2
🆘
ยังหาคำตอบไม่เจอ?
ลองค้นใน:
- ภาคผนวก A Troubleshooting (วิธีแก้แบบเต็ม)
- FAQ (Q1-Q17)
- Cheatsheet Quick Fixes
- ติดต่อ Synergy Technology
หรือถ่ายภาพหน้าจอ error ส่งไปที่ Facebook Group / Line OA ของ Synergy