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
    • 服务 API (Service API)
    • 转发 ROS 服务 API (Forwarded ROS Services API)
    • 物联网 (IoT) 设备
    • 设备信息 API
    • 机器人参数 (Robot Parameters) API
    • 系统设置 (System Settings)
    • 应用商店 API
    • 主机名 (Hostname) API
    • Lidar 陆标 (Landmarks)
    • WebSocket 参考 (WebSocket Reference)
    • 子图 (Submaps)
  • 其他

    • 弃用说明
    • 更新日志

Bags API (数据包录制)

自 2.7.0 版本起,数据包文件 (bag files) 采用持续录制方式。当总存储大小超过预定义的限制时,最旧的文件将被自动清除。

获取数据包列表

curl http://192.168.25.25:8090/bags/
[
  {
    "filename": "2023-10-31_14-30-00.bag",
    "size": "6.8KB",
    "size_bytes": 6922,
    "end": "31-Oct-2023 14:36:17",
    "download_url": "http://192.168.25.25:8090/bags/2023-10-31_14-30-00.bag/download"
  },
  {
    "filename": "2023-11-01_13-50-00.bag",
    "size": "4.1KB",
    "size_bytes": 4172,
    "end": "01-Nov-2023 13:55:10",
    "download_url": "http://192.168.25.25:8090/bags/2023-11-01_13-50-00.bag/download"
  }
]

数据包播放器 API

数据包播放器 API 允许在线回放 ROS bag 文件。它提供有关数据包的元数据,并支持在特定时间范围内下载消息分块。

端点

GET /bags/<filename>/player

1. 获取数据包元数据

获取关于数据包文件的通用信息,例如消息总数和时间跨度。

请求

GET /bags/<filename>/player

成功响应

  • 状态码: 200 OK
  • 内容:
    {
      "total_messages": 5000,
      "start_time": 1674650000,
      "end_time": 1674653600
    }
    
    • total_messages: 整数,表示数据包中的消息总数。
    • start_time: 整数时间戳 (Unix epoch),第一条消息的时间。
    • end_time: 整数时间戳 (Unix epoch),最后一条消息的时间。

2. 获取消息分块

获取特定时间范围内的消息。前端使用此接口来流式传输或下载数据包的分块。

请求

GET /bags/<filename>/player?start_time=<float>&end_time=<float>

查询参数

参数类型必填描述
start_timefloat是时间范围的起始时间,单位为秒 (Unix epoch)。
end_timefloat是时间范围的结束时间,单位为秒 (Unix epoch)。

成功响应

  • 状态码: 200 OK
  • 内容:
    {
      "total_messages": 5000,
      "start_time": 1674650000,
      "end_time": 1674653600,
      "messages": [
        {
          "topic": "/some_topic",
          "field1": "value1",
          "__stamp": 1674650010.123,
          "__latched": true
        },
        ...
      ]
    }
    
    • messages: JSON 格式化后的 ROS 消息列表。
    • 每条消息包含:
      • __stamp: 消息录制时的高精度时间戳。
      • __latched: 布尔标志,如果消息属于“锁存” (latched) 话题,则设为 true。这包括回填的消息 (先前的状态) 以及在请求时间范围内发生的消息。

特殊行为:锁存话题 (Latched Topics)

当请求一个时间范围时,API 会自动包含在 start_time 之前 发生的“锁存”话题的最新消息。这确保了播放器在分块开始时就拥有静态或缓慢变化话题 (如地图或配置) 的当前状态。

锁存话题包括:

  • /map/info
  • /alerts
  • /map_image
  • /sensor_manager_state
  • /robot_model
  • /nearby_robot_footprints
  • /path
  • /local_path
  • /detected_features/racks_v2
  • /detected_features/pallets
  • /detected_features/chargers
  • /planning_state
  • /jack_state
  • /towing_state

缓存

响应会被缓存,并带有以下响应头: Cache-Control: public, max-age=2592000 (30 天)

错误响应

  • 状态码: 400 BAD REQUEST
  • 内容: {"error": "string explaining the error"} (例如,如果未找到或损坏了该数据包文件)。
Edit this page
最后更新: 2026/6/17 13:24
Contributors: FengZhaolin