跳到主要内容

常见问题

Ubuntu 下 Synria Desk 无法扫描到机械臂

如果 Synria Desk 无法扫描到机械臂,可能是当前用户没有串口访问权限。请按以下步骤设置。

1. 查找机械臂串口

打开终端并执行:

sudo dmesg -w | grep --line-buffered -E 'ttyACM|ttyUSB'

拔出并重新插入机械臂的 USB 线。终端中新出现的设备名就是机械臂串口,例如 ttyACM0,对应的完整路径为 /dev/ttyACM0。找到串口后,按 Ctrl+C 退出监控。

2. 永久授予串口权限

复制并执行以下全部命令:

sudo tee /etc/udev/rules.d/99-robot-arm-serial.rules > /dev/null <<'EOF'
KERNEL=="ttyACM*", MODE="0666"
KERNEL=="ttyUSB*", MODE="0666"
EOF

sudo udevadm control --reload-rules
sudo udevadm trigger --subsystem-match=tty

执行完成后,重新插拔机械臂。该权限配置永久有效,重新插拔机械臂或重启电脑后无需再次设置。

3. 查看权限并测试连接

查看串口权限:

ls -l /dev/ttyACM0

如果权限中显示 rw-rw-rw-,说明权限设置成功。然后测试机械臂串口连接:

python3 -c 'import os; fd=os.open("/dev/ttyACM0", os.O_RDWR | os.O_NOCTTY); print("PASS:机械臂串口连接正常"); os.close(fd)'

显示 PASS:机械臂串口连接正常,说明当前用户可以正常连接机械臂串口。测试通过后,打开 Synria Desk 并重新扫描机械臂。

串口名称

如果第一步查到的串口不是 /dev/ttyACM0,请将上述命令中的 /dev/ttyACM0 替换为实际串口路径。