SendExplorationCommand

Unary 请求 → Server Stream 响应。START 前请先 GetCapabilities / GetActiveTask;Stream 以末帧 ack.final=true 结束。


8.1 方法签名

rpc SendExplorationCommand(ExplorationCommandRequest)
    returns (stream ExplorationCommandResponse);

8.2 Proto 定义

源文件:autonomy/bridge/proto/external_command_service.proto

enum ExplorationCommand {
  EXPLORATION_CMD_UNSPECIFIED = 0;
  EXPLORATION_CMD_START = 1;
  EXPLORATION_CMD_STOP = 2;
  EXPLORATION_CMD_PAUSE = 3;
  EXPLORATION_CMD_RESUME = 4;
  EXPLORATION_CMD_CANCEL = 5;
  EXPLORATION_CMD_SAVE_MAP = 6;
  EXPLORATION_CMD_SET_AREA = 7;
}

enum ExplorationStatus {
  EXPLORATION_STATUS_UNKNOWN = 0;
  EXPLORATION_STATUS_IDLE = 1;
  EXPLORATION_STATUS_EXPLORING = 2;
  EXPLORATION_STATUS_PAUSED = 3;
  EXPLORATION_STATUS_COMPLETED = 4;
  EXPLORATION_STATUS_FAILED = 5;
  EXPLORATION_STATUS_CANCELED = 6;
}

message ExplorationCommandRequest {
  RequestHeader header = 1;
  ExplorationCommand command = 2;
  oneof params {
    commsgs.proto.geometry_msgs.Polygon area = 3;
    string map_name = 4;
  }
}

message ExplorationCommandResponse {
  CommandAck ack = 1;
  ExplorationStatus status = 2;
  float explored_area = 3;
  float exploration_progress = 4;
}

8.3 字段说明

Request · ExplorationCommandRequest

字段

类型

必填

说明

header

RequestHeader

03 §3.1

command

ExplorationCommand

子命令;见下表

area

Polygon

SET_AREA

探索区域;points[] ≥ 3

map_name

string

SAVE_MAP

保存地图名称

ExplorationCommand 枚举

常量

params / 说明

1

EXPLORATION_CMD_START

开始探索

2

EXPLORATION_CMD_STOP

停止 → IDLE

3

EXPLORATION_CMD_PAUSE

暂停

4

EXPLORATION_CMD_RESUME

PAUSED 恢复

5

EXPLORATION_CMD_CANCEL

取消任务

6

EXPLORATION_CMD_SAVE_MAP

map_name

7

EXPLORATION_CMD_SET_AREA

area

Response · ExplorationCommandResponse

字段

类型

说明

ack

CommandAck

流应答;末帧 final=true · 03 §3.2

status

ExplorationStatus

探索阶段

explored_area

float

已探索面积 (m²)

exploration_progress

float

进度 [0, 1]

ExplorationStatusIDLE(1) · EXPLORING(2) · PAUSED(3) · COMPLETED(4) · FAILED(5) · CANCELED(6)


8.4 示例(grpcurl)

环境01 §1.1 · TC 全集13 §13.7 · JSON 参考01 §1.4

每张卡片上方 发送指令(蓝)、下方 收到结果(绿);Stream 响应以末帧 ack.final=true 为准。

8.4.1 示例索引

编号

在干什么

command

末帧预期

TC

EXP-01

确认可探索、无残留任务

可探索 · 无活跃任务

EXP-02

限定探索 Polygon

7

success=true · IDLE

TC-EXP-004

EXP-03

启动自主探索建图

1

EXPLORING · progress 递增

TC-EXP-001

EXP-04

暂停探索

3

PAUSED

TC-EXP-002

EXP-05

暂停后恢复

4

EXPLORING

TC-EXP-002

EXP-06

保存探索地图

6

COMPLETED / IDLE

TC-EXP-003

EXP-07

取消任务

5

CANCELED

STOP(2) 请求体同 NAV-08,末帧 EXPLORATION_STATUS_IDLE


8.4.2 EXP-01 · 前置检查

START 前确认:Bridge 支持探索,且当前无进行中的任务。


8.4.3 启动

8.4.3.1 EXP-02 · SET_AREA

START 前设置探索边界(矩形 Polygon 示例)。

8.4.3.2 EXP-03 · START

启动 SLAM 探索:Stream 推送 explorationProgress / exploredArea,直至完成或中断。


8.4.4 运行控制

8.4.4.1 EXP-04 · PAUSE

暂停探索(机器人停住,任务保持 PAUSED)。

前提EXP-03 已 START 且 Stream 未结束 · 另开终端发送。

8.4.4.2 EXP-05 · RESUME

从暂停恢复探索。

前提:紧接 EXP-04 PAUSE 之后发送。


8.4.5 结束

8.4.5.1 EXP-06 · SAVE_MAP

探索进行中或结束后,将当前地图保存为指定名称。

8.4.5.2 EXP-07 · CANCEL

取消当前探索任务,释放任务槽,状态变为 CANCELED