
XLeRobot 树莓派移动底盘搭建指南从刷写系统到远程遥操作【免费下载链接】XLeRobotXLeRobot: Practical Dual-Arm Mobile Home Robot for $660项目地址: https://gitcode.com/GitHub_Trending/xl/XLeRobot本指南完整讲解如何为 XLeRobot 移动底盘版双 SO101 手臂 移动基座 树莓派配置树莓派从 Raspberry Pi Imager 刷写系统、配置 mDNS 主机名、开启 VNC 远程桌面与 SSH到安装 LeRobot 软件并打通「树莓派端 Host PC 端 Client」的 ZMQ 网络遥操作链路同时覆盖单臂 Lekiwi 测试模式与常见串口排查。读完本文你可以独立完成树莓派端环境搭建并让 XLeRobot 移动底盘在局域网内响应 PC 端的键盘/Xbox 遥操作指令。本文以仓库文档 docs/en/source/software/getting_started/raspberry_pi_setup.md 为骨架并结合仓库源码 config_xlerobot.py、xlerobot_host.py 与 xlerobot_client.py 展开说明。前置准备开始之前请确认具备以下硬件与环境树莓派推荐 Pi 4 或更新型号移动底盘的控制与图像回传都在 Pi 上运行性能越高越从容MicroSD 卡建议 32GB 或更大一台带 SD 读卡器的电脑用于刷写系统镜像网络连接WiFi 或以太网均可PC 与树莓派需处于同一局域网从硬件清单看XLeRobot 的移动基座由三个全向轮 电机驱动板构成而树莓派正是承担基座控制与远程通信的核心计算单元若使用 PC 直连模式则无需树莓派但运行移动底盘版含 Lekiwi 模式时树莓派是必需的前置条件。1. 安装操作系统下载 Raspberry Pi OS访问 Raspberry Pi 官网下载 Raspberry Pi Imager 刷写工具当前最新系统镜像也可在 Imager 内直接获取。下载 Raspberry Pi OS 镜像官方推荐带桌面的Raspberry Pi OS with desktop版本——因为后文需要启用 VNC 图形界面进行远程桌面操作。刷写系统到 SD 卡将 microSD 卡插入电脑。打开 Raspberry Pi Imager。选择下载好的系统镜像或由 Imager 在线拉取。选择目标 SD 卡。点击 Write 开始刷写等待完成。首次启动配置将刷写完成的 SD 卡插入树莓派。连接键盘、鼠标与显示器。上电启动树莓派。跟随首次启动向导完成设置国家、语言与时区创建用户账户与密码连接 WiFi 网络更新系统软件包关于 Imager 预配置选项的说明原文档特别强调了 Raspberry Pi Imager 在写入前弹窗中的三个预配置项它们直接影响后续远程访问主机名hostname决定树莓派通过 mDNS 在局域网广播的主机名。连接同一网络后其他设备可用hostname.local或hostname.lan访问该树莓派。XLeRobot 示例中使用的主机名形如XLerobot.local。用户名与密码username / password定义树莓派上管理员账户的凭据VNC/SSH 登录时都要用到。无线局域网wireless LAN允许直接填写 SSID 与密码。若网络不公开广播 SSID应勾选 Hidden SSID 选项。默认情况下 Imager 使用你当前所在国家作为 Wireless LAN country该设置控制树莓派使用的 WiFi 广播频段。如果你计划无头headless运行树莓派务必在此填入无线网络凭据否则上电后将无法联网。提示以上预配置项也可在刷写完成后通过raspi-config或系统设置界面修改但提前在 Imager 中写入可省去接显示器配置的麻烦。2. 配置 VNC 远程桌面启用 VNC 服务端在树莓派上打开终端。运行配置工具sudo raspi-config依次进入 Interface Options → VNC → Enable启用 VNC。重启系统使配置生效。备选命令行直接启用 VNC如果不想进入交互式菜单也可以直接用 systemd 启用并启动 VNC 服务sudo systemctl enable vncserver-x11-serviced sudo systemctl start vncserver-x11-serviced在 PC 上安装 VNC Viewer从 RealVNC 官网下载并安装 VNC Viewer 客户端。启动 VNC Viewer输入hostname.local或hostname.lan进行连接XLeRobot 示例中为XLerobot.local务必保证 PC 与树莓派处于同一网络。使用树莓派的用户名与密码完成身份验证即可看到树莓派桌面。说明mDNS 解析依赖局域网支持若.local解析失败可改用hostname -I查到的 IP 地址直连。3. 系统更新与依赖安装连接网络后先更新系统软件源与已装包保证后续pip/git等工具可用sudo apt update sudo apt upgrade -y安装基础依赖包sudo apt install -y python3-pip git curl wget4. 启用 SSH 访问可选若不需要 VNC 图形界面或想在无显示器环境下远程操作可启用 SSHsudo systemctl enable ssh sudo systemctl start ssh查询树莓派当前 IP 地址hostname -I从 PC 连接ssh piyour-pi-ip-address5. 安装 XLeRobot 软件安装 LeRobot 框架XLeRobot 构建于 Hugging Face LeRobot 之上需要先按 LeRobot 官方安装指南完成环境搭建。仓库配套文档 install.md 给出了关键建议推荐使用pip install -e .以可编辑模式安装便于后续文件传输与调试。若尚未配置电机需要分别完成 SO101 手臂 与移动底盘电机的配置ID、零位等否则上电后电机无法识别或行为异常。移动 XLeRobot 代码文件将仓库中对应的自定义代码复制到 LeRobot 安装目录将 SO101 机器人的解析式 IK 求解器移动到 LeRobot 的model文件夹对应仓库 software/src/model/SO101Robot.py。将 xlerobot 机器人文件夹移动到 LeRobot 的robots文件夹对应仓库 software/src/robots/xlerobot/。将示例代码移动到 LeRobot 的examples文件夹对应仓库 software/examples/ 下的4_xlerobot_teleop_keyboard.py、5_xlerobot_teleop_xbox.py、7_xlerobot_teleop_joycon.py等。树莓派模式的关键一步仓库 software/src/robots/xlerobot/init.py 默认只导出本地模式类其中xlerobot_client与xlerobot_host处于注释状态。文档明确说明如果打算基于树莓派构建移动底盘远程模式需要在__init__.py中取消xlerobot_host和xlerobot_client的注释。取消注释后树莓派端即可作为XLerobotHost运行PC 端以XLerobotClient身份远程连接。移动底盘的网络通信架构源码级解读为什么树莓派版需要 Host/Client 两个类查看源码 xlerobot_host.py 与 xlerobot_client.py 可以确认两者通过ZeroMQZMQ在局域网内交换指令与观测数据树莓派端XLerobotHost创建两个 socketPULL类型命令 socketbind tcp://*:5555接收动作指令PUSH类型观测 socketbind tcp://*:5556回传关节角度、轮速与相机图像主循环运行connection_time_s默认 3600 秒并在收到指令后调用robot.send_action(data)下发到电机。PC 端XLerobotClient通过remote_ip字段连接树莓派命令 socket 使用PUSH发往 5555观测 socket 使用PULL接收 5556观测数据包含 12 个手臂/夹爪关节位置、2 个头部电机位置以及x.vel / y.vel / theta.vel三个底盘速度量见_state_ft相机图像以 base64 编码的 JPEG 形式随 JSON 一起回传并由cv2.imdecode解码。关键网络参数定义在 config_xlerobot.py 的XLerobotHostConfig中参数默认值说明port_zmq_cmd5555ZMQ 命令端口PC → Piport_zmq_observations5556ZMQ 观测端口Pi → PCconnection_time_s3600Host 持续运行时长秒watchdog_timeout_ms500看门狗超过 0.5 秒未收到指令则让机器人停止保证安全max_loop_freq_hz30控制循环最高频率若机器人抖动可降低该值并用top观察 CPU 负载XLerobotClientConfig中则需重点配置remote_ip树莓派 IP其余端口默认与 Host 一致5555/5556另有polling_timeout_ms 15、connect_timeout_s 5用于控制轮询与连接超时。串口与底盘配置树莓派通过串口USB 转串口连接电机控制板与底盘默认配置XLerobotConfig为port1 /dev/ttyACM0连接 SO101 手臂 头部相机的总线port2 /dev/ttyACM1连接移动底盘的电机控制板与 Lekiwi 设置一致底盘与遥操作的行为参数也在该配置类中定义teleop_keys提供键盘映射i/k/j/l前后左右、u/o原地旋转、n/m加速/减速、b退出XLerobot类内部定义了三级速度档xy 0.1/0.2/0.3 m/stheta 30/60/90 °/s初始为慢速档见 xlerobot.py。树莓派版常见问题FAQ配套文档 XLeRobot_teleop.md 中记录了移动底盘模式下最常遇到的串口问题树莓派端同样适用Ubuntu 系统权限问题插入电机控制板后务必执行sudo chmod 666 /dev/ttyACM0与sudo chmod 666 /dev/ttyACM1放开读写权限。端口识别运行 LeRobot 自带的python lerobot/find_port.py检查控制板 ID并据此在配置中对应修改端口名。检测不到电机执行sudo chmod ...后仍报无法检测电机时尝试重新插拔电源线。报错 need 9 motors, but 8 detected说明串口名映射错误手臂与底盘两条总线接反需要交换上图中的端口名。后续步骤与笔记本相同的运行方式树莓派端环境搭建完成后其上的代码运行方式与笔记本端完全一致在 PC 端配置好remote_ip指向树莓派先启动树莓派端的XLerobotHost再运行 PC 端遥操作示例如 4_xlerobot_teleop_keyboard.py 完成整机键盘遥操作或 5_xlerobot_teleop_xbox.py 使用 Xbox 手柄即可实现对双 SO101 手臂、移动基座与头部电机的完整控制。更完整的遥操作说明见 XLeRobot_teleop.md。用 Lekiwi 测试单臂版 XLeRobotLekiwiLeRobot 的轮式移动底座方案是 XLeRobot 移动底盘的技术来源之一。原文档给出了两个重要前提测试单臂版 XLeRobot 时应将不与底盘共用电机控制板的那只 SO101 手臂拆卸下来用夹具固定在桌面上并连接 PC作为遥操作的 leader 手臂。运行移动底盘版 Lekiwi 时需要提前准备一块树莓派。随后按 Lekiwi 的软件流程依次完成为树莓派配置 VNC Viewer即本文第 2 节的 VNC 配置。在树莓派上安装软件并设置 SSH即本文第 3、4 节内容。在 PC 上安装 LeRobot。更新配置将remote_ip等网络参数指向树莓派。校准按照 LeRobot 的机器人设置与校准流程完成手臂与底盘标定。以上步骤完成后就可以像 Lekiwi 一样对基础单臂版 XLeRobot 进行遥操作复现仓库演示视频中的操作效果。总结与注意事项网络前提Host树莓派与 ClientPC必须处于同一局域网hostname.local依赖 mDNS解析失败时改用 IP 直连。安全机制Host 内置 500ms 看门狗指令中断会自动停机底盘默认从慢速档起步可通过n/m键切换速度档位。串口排查顺序chmod 666放权 →find_port.py核对端口 → 插拔电源复位 → 检查端口是否接反need 9 motors 报错。树莓派版必需运行移动底盘版含 Lekiwi 模式前必须完成本文全部步骤并在init.py 中取消xlerobot_host/xlerobot_client的注释。如需进一步了解整机软件安装、遥操作方式或模拟器环境可继续阅读仓库文档 install.md、XLeRobot_teleop.md 以及 simulation 相关章节。【免费下载链接】XLeRobotXLeRobot: Practical Dual-Arm Mobile Home Robot for $660项目地址: https://gitcode.com/GitHub_Trending/xl/XLeRobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考