4.1 理解 Host/Client 架构

理解 Host/Client 架构

在开始遥操作之前,先理解 XLeRobot 的软件架构。

Host 和 Client 是什么

XLeRobot 的软件分为两个独立的进程:

组件 运行位置 职责
Host(xlerobot_host) 树莓派 5 或 Jetson Orin(机器人主控) 管理 Follower 双臂、全向底盘、手眼相机,监听网络连接
Client(遥操作脚本) 桌面 / 笔记本电脑 发送遥操作指令,记录数据,显示相机画面
┌─────────────────────┐     Wi-Fi/LAN     ┌─────────────────────┐
│  Host (Pi5/Jetson)  │ ◄───────────────► │  Client (桌面电脑)   │
│   管双臂/底盘/相机    │                   │   发指令、记数据      │
└─────────────────────┘                   └─────────────────────┘

为什么分离

  • 硬件接口统一:Host 只管驱动双臂、底盘和相机,Client 只管交互逻辑
  • 网络透明:本地用 127.0.0.1,远程用实际 IP,Client 代码不用改
  • 安全保护:Client 断开后 Host 自动停止底盘(500ms 超时),机器人不会失控
  • 减轻主控负担:数据记录在 Client 端完成,不占用主控存储和 CPU

本地 vs 远程

模式 IP 配置 适用场景
本地 127.0.0.1 开发调试、标定验证
远程 机器人主控实际 IP 实际场地使用、数据采集

操作顺序

必须先启动 Host,再启动 Client。 Host 启动后等待连接,期间打印以下日志属于正常现象:

WARNING:root:No command available
WARNING:root:Command not received for more than 500 ms. Stopping the base.

一旦 Client 连接并发送指令,警告即消失。