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
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
|
✓ |
|
|
|
✓ |
子命令;见下表 |
|
|
|
探索区域; |
|
|
|
保存地图名称 |
ExplorationCommand 枚举
值 |
常量 |
|
|---|---|---|
1 |
|
开始探索 |
2 |
|
停止 → |
3 |
|
暂停 |
4 |
|
从 |
5 |
|
取消任务 |
6 |
|
|
7 |
|
|
Response · ExplorationCommandResponse
字段 |
类型 |
说明 |
|---|---|---|
|
|
流应答;末帧 |
|
|
探索阶段 |
|
|
已探索面积 (m²) |
|
|
进度 [0, 1] |
ExplorationStatus:IDLE(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 示例索引
编号 |
在干什么 |
|
末帧预期 |
TC |
|---|---|---|---|---|
确认可探索、无残留任务 |
— |
可探索 · 无活跃任务 |
— |
|
限定探索 Polygon |
7 |
|
|
|
启动自主探索建图 |
1 |
|
|
|
暂停探索 |
3 |
|
|
|
暂停后恢复 |
4 |
|
|
|
保存探索地图 |
6 |
|
|
|
取消任务 |
5 |
|
— |
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。