Autoxing REST API Book
  • English
  • zh-CN
GitHub
  • English
  • zh-CN
GitHub
  • 入门指南

    • 入门指南
    • 开始移动
    • WebSocket 入门指南
    • Robot Admin (单机版)
  • 参考手册

    • REST API 设计原则
    • 地图 (Map) API
    • 移动 (Move) API
    • 当前地图与位姿 API
    • 叠加层 (Overlays)
    • 建图 (Mapping) API
    • 物联网 (IoT) 设备
    • 设备信息 API
    • 机器人参数 (Robot Parameters) API
    • 系统设置 (System Settings)
    • 应用商店 API
    • 主机名 (Hostname) API
    • Lidar 陆标 (Landmarks)
    • 子图 (Submaps)
  • 服务

    • 服务 API (Service API)
    • 运动与底盘控制 (Motion & Chassis Control)
    • 定位 (Localization)
    • 建图 (Mapping)
    • 货物搬运 (Cargo Handling)
    • 感知与传感器 (Perception & Sensors)
    • 标定 (Calibration)
    • 网络 (Network)
    • 系统与维护 (System & Maintenance)
  • WebSocket 话题

    • WebSocket 参考 (WebSocket Reference)
    • 定位 (Localization)
    • 建图 (Mapping)
    • 导航与规划 (Navigation & Planning)
    • 底盘与安全 (Chassis & Safety)
    • 货物与设备 (Cargo & Equipment)
    • 感知与摄像头 (Perception & Cameras)
    • 环境与连接 (Environment & Connectivity)
    • 系统与电源 (System & Power)
  • 其他

    • 弃用说明
    • 更新日志

系统与电源 (System & Power)

设备健康与日常状态:电池、传感器电源状态、报警、应用事件和 IO 引脚。

电池状态 (Battery State)

{
  "topic": "/battery_state",
  "secs": 1653299708, // 时间戳。
  "voltage": 26.3, // 电池电压。
  "current": 3.6, // 电池电流。通常充电时为负,运行时为正。
  "percentage": 0.64, // 电池百分比。
  "power_supply_status": "discharging" // charging/discharging/full (充电/放电/充满)。
}

详细电池状态 (Detailed Battery State)

自 2.11.0 起

{
  "topic": "/detailed_battery_state",
  "secs": 1653299708, // 时间戳。
  "voltage": 26.3, // 电池电压。
  "current": 3.6, // 电池电流。通常充电时为负,运行时为正。
  "percentage": 0.64, // 电池百分比。
  "power_supply_status": "discharging", // charging/discharging/full。
  "cell_voltages": [4.141, 4.138, 4.139, 4.133, 4.136, 4.138, 4.138],
  "capacity": 14.0, // Ah
  "design_capacity": 15.0, // Ah
  "state_of_health": 0.93, // 百分比。
  "cycle_count": 80
}

传感器管理状态 (Sensor Manager State)

type PowerState =
  | "awake" // 正常运行
  | "awakening" // 正在从睡眠恢复到唤醒。通常持续 2-3 秒。
  | "sleeping"; // 睡眠时,部分传感器会关闭。
{
  "topic": "/sensor_manager_state",
  "power_state": "awake" // 见 PowerState
}

报警 (Alerts)

此 Topic 包含当前处于激活状态的报警。

应用程序应监控报警并采取适当措施,例如:

  1. 当电量低时返回充电桩 (8501),或在电量极低时关闭机器人 (8003)。
  2. 向用户发出对接错误警告 (10001, 10002, 10003)。
  3. 向用户发出潜在的机器人倾翻警告 (4008)。
  4. 在创建新地图前,向用户发出 IMU 校准错误警告 (4501, 4502)。
  5. 通知我们应用程序崩溃 (1001, 1002, 1003, 1004, 2001, 3001, 4001, 11001 等)。
  6. 通知我们传感器错误 (4009, 5001 等)。

报警的完整列表可在此 URL 找到。

{
  "topic": "/alerts",
  "alerts": [
    {
      "code": 6004,
      "level": "error",
      "msg": "Kernel temperature is higher than 80!"
    }
  ]
}

应用事件 (App Events)

订阅 /app_events 可接收应用事件。此 Topic 不缓存,订阅前发布的事件不会重播。事件使用可靠通道,但该通道不是持久化事件日志。

此 Topic 使用 protobuf 帧格式,其 wrapper 类型为 APP_EVENT (27),负载为 app_event(字段 37):

message AppEvent {
  string node_id = 1;
  uint64 stamp_ns = 2;
  string message = 3;
}

node_id 标识事件所属节点,stamp_ns 是纳秒时间戳,message 是事件文本。请将 stamp_ns 保留为 64 位整数或十进制字符串,以避免精度损失。

设备信息 (Device Info)

适用于已经建立 WebSocket 连接但不希望进行单独 REST API 请求的客户端。

请求:

{ "topic": "/get_device_info_brief" }

响应:

{
  "topic": "/device_info_brief",
  "rosversion": "1.15.11",
  "rosdistro": "noetic",
  "axbot_version": "master-pi64",
  "device": {
    "model": "waiter"
  },
  "baseboard": {
    "firmware_version": "22032218"
  },
  "wheel_control": {
    "device_type": "amps",
    "firmware_version": "amps_20211103"
  },
  "lidar": {
    "model": "ld06"
  },
  "bottom_sensor_pack": {
    "firmware_version": ""
  },
  "depth_camera": {
    "firmware_version": ""
  },
  "remote_params": {
    "tags": [
      "ihawk_crossfire",
      "RGB_external",
      "strongest_lidar_match",
      "mute_baseboard_com_output"
    ]
  }
}

数字输入/输出 (Digital Input/Output)

(讨论中)

IO 板是一个专用硬件组件,通过 USB 端口连接到机器人。它支持 16 个或更多工作在 12V 或 24V 的 IO 引脚。某些 IO 引脚预定义了功能(如刹车灯或转向信号灯),而其他引脚可以由用户控制。

IO 引脚的状态:

{
  "topic": "/io_pins_state",
  "inputs": [
    [0, 0, 1, 1, 1, 0, 0, 0],
    [0, 0, 1, 1, 0, 0, 0, 0]
  ],
  "outputs": [
    [0, 0, 1, 1, 1, 0, 0, 0],
    [0, 0, 1, 1, 0, 0, 0, 0]
  ]
}

完整更新输出引脚:

{
  "topic": "/set_output_pins",
  "outputs": [
    [0, 0, 1, 1, 1, 1, 0, 0, 0],
    [0, 0, 1, 1, 1, 0, 0, 0, 0]
  ]
}

选择性更新输出引脚:

{
  "topic": "/modify_output_pins",
  "enable": [0, 9, 13],
  "disable": [2, 4, 6]
}

裸 IO 板状态 (Raw Io-board State)

IO 板当前输入和输出的原始状态。

rtn = {
    "topic": "/raw_io_board_state",
    "inputs_active": [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1],
    "outputs_active": [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1],
}
Edit this page
最后更新: 2026/10/30 19:15
Contributors: FengZhaolin
Prev
环境与连接 (Environment & Connectivity)