Skip to content

连接机器人

本章详细介绍开发前的环境连通确认步骤。包含:物理接入、开发主机网络配置、网络连通性校验(Ping)、REST 接口调用验证、SSH 远程操控验证以及机器人端 ROS 2 环境可用性确认,为后续二次开发奠定稳定的通信基础。

提醒

  • 风险等级:本章提供的所有命令行操作均为只读。修改机器人网络配置、DDS 协议设置、防火墙策略或认证凭据均属于高风险操作,不在本章自动化执行。
  • 适用版本:适用基线机器人;运行 Ubuntu 22.04 / ROS 2 Humble 的开发机;无 ROS 环境推荐通过 SSH 或 REST API 路线接入。
  • 前置条件:机器人已正常上电开机;开发终端需具备物理网口或可靠的网络转接设备,且已安装 pingsshcurl 工具。

连接物理网络

  • Shell 归属:无(物理操作)。
  • 操作步骤:将开发终端连接至机器人内置路由器的 LAN 接口,确保本机获取到 192.168.127.0/24 网段内未被占用的 IP 地址。

    注意

    请勿将 LAN 接入步骤误作互联网 WAN 配置。

  • 成功判据:开发终端网卡处于已连接状态,分配地址属于 192.168.127.0/24 网段,且未与网关、Orin 主控及 S100 从控的已用地址发生冲突。
  • 排障处理:若连接失败,请检查设备供电、网线物理链路及 LAN 接口状态,并在操作系统的网络设置面板中核对 IP 配置。本手册不自动更改系统网卡配置。

定义地址并验证网络通信

  • Shell 归属:本地开发电脑。
  • 风险等级:只读。
bash
export ROBOT_IP=192.168.127.10
ping -c 2 "$ROBOT_IP"
  • 成功判据:仅当 Ping 测试有响应且丢包率为 0% 时,方可判定链路质量合格,允许进入控制或录制流程。任何程度的丢包(哪怕仅少量)均视为链路不稳定,应直接拒绝接入。

  • 排障处理:若失败,请确认以下配置:

    • 网线已连接至设备的 LAN 口;

    • 本机与机器人位于同一网段;

    • 机器人当前的 IP 地址与示例中的 IP 完全一致。

验证 REST 版本接口

  • Shell 归属:本地开发电脑。
  • 风险等级:只读。
bash
curl --connect-timeout 3 --max-time 10 --fail-with-body \
  -X POST "http://${ROBOT_IP}:9091/robot/version" \
  -H 'Content-Type: application/json' \
  -d '{}'
  • 成功判据:HTTP 请求成功,JSON 响应包含 "code":200 以及 "product_version"(基线参考值为 V1.1.1-dl / V1.2.9)。
  • 排障处理
    • 连接超时:请返回定义地址并验证网络通信并排查网络连通性。
    • 返回 404:请确认服务端口号为 9091,且请求路径不包含 /api/v1 前缀。
    • 其他异常响应:请保存完整的 JSON 错误报文,联系技术支持协助定位。

通过 SSH 登录

  • Shell 归属:本地开发电脑(执行 SSH),成功后切换为机器人端 Shell。
  • 风险等级:登录本身为只读;登录后的操作风险取决于实际执行的命令。
bash
ssh "${ROBOT_USER}@${ROBOT_IP}"

提醒

  • 初始登录凭据(用户名与密码)及 SSH 主机指纹通过正式交付渠道提供,不在公开文档中记录。密码只在 SSH 提示中手动输入,严禁明文写入命令行、自动化脚本、日志文件或截图中;首次登录后按安全规范及时更换。
  • 若系统重装或更换主控硬件,必须重新向交付方复核主机指纹,严禁仅凭相同的 IP 地址盲目接受未知指纹。
  • 成功判据:终端提示符显示已成功进入机器人用户的 Shell 环境。首次连接时须核对 SSH 主机指纹无误(指纹通过交付渠道获取)。
  • 排障处理:提示 Permission denied 时,请重新手动输入密码并核对键盘大小写及输入法布局;严禁使用第三方明文密码工具绕过交互式登录。

加载机器人端 ROS2 环境

  • Shell 归属:机器人端(已 SSH 登录)。
  • 风险等级:只读,只影响当前 Shell 环境。
bash
source /opt/ros/humble/setup.bash
source /home/realman/workspace/rm_robot_ws/install/setup.bash
ros2 topic list | wc -l
  • 成功判据:ros2 命令可用,且 Topic 数量大于 0。

    提醒

    Topic 数量会随版本、硬件挂载及运行状态动态变化,故不以固定数值作为通用校验阈值。

  • 排障处理
    • 提示 ros2: command not found:请检查第一行 source 命令。
    • 提示找不到自定义消息类:请检查第二行工作空间 source 命令及其执行顺序。
    • Topic 统计数量为 0:请等待开机自启节点完全加载后重试,本章节不执行服务重启操作。

跨机 ROS2 通信与边界验证

提醒

跨机 ROS2 仅适用于兼容 ROS2 Humble 的 Ubuntu 开发机。两端需同网段、同 ROS_DOMAIN_ID、RMW 兼容,且安装目标自定义消息。基线为未显式设置时的默认 Domain ID 0;现场以两端当前环境为准。

  • 成功判据:开发机能稳定发现并订阅目标 Topic,且消息类型正常解析。
  • 排障处理:核对两端 Domain ID、RMW、自定义消息和 DDS 组播/防火墙;不关闭整机防火墙。Windows/macOS 继续使用 SSH、REST 或离线数据。