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 连接并发送指令,警告即消失。