SendDockCommand
Unary 请求 → Server Stream 响应。START 前请先 GetCapabilities / GetActiveTask;Stream 以末帧 ack.final=true 结束。
11.1 方法签名
rpc SendDockCommand(DockCommandRequest)
returns (stream DockCommandResponse);
11.2 Proto 定义
源文件:autonomy/bridge/proto/external_command_service.proto
enum DockCommand {
DOCK_CMD_UNSPECIFIED = 0;
DOCK_CMD_START = 1;
DOCK_CMD_STOP = 2;
DOCK_CMD_PAUSE = 3;
DOCK_CMD_RESUME = 4;
DOCK_CMD_CANCEL = 5;
DOCK_CMD_UNDOCK = 6;
}
enum DockStatus {
DOCK_STATUS_UNKNOWN = 0;
DOCK_STATUS_IDLE = 1;
DOCK_STATUS_SEARCHING = 2;
DOCK_STATUS_APPROACHING = 3;
DOCK_STATUS_DOCKING = 4;
DOCK_STATUS_CHARGING = 5;
DOCK_STATUS_UNDOCKING = 6;
DOCK_STATUS_SUCCEEDED = 7;
DOCK_STATUS_FAILED = 8;
DOCK_STATUS_CANCELED = 9;
}
message DockCommandRequest {
RequestHeader header = 1;
DockCommand command = 2;
float max_search_radius = 3;
int32 max_retry_count = 4;
oneof dock_target {
string dock_station_id = 5;
commsgs.proto.geometry_msgs.PoseStamped dock_pose = 6;
}
}
message DockCommandResponse {
CommandAck ack = 1;
DockStatus status = 2;
float battery_percent = 3;
string dock_station_id = 4;
}
11.3 字段说明
Request · DockCommandRequest
字段 |
类型 |
必填 |
说明 |
|---|---|---|---|
|
|
✓ |
|
|
|
✓ |
子命令;见下表 |
|
|
START |
搜索充电桩半径 (m) |
|
|
— |
最大重试次数 |
|
|
START |
|
|
|
START |
|
DockCommand 枚举
值 |
常量 |
说明 |
|---|---|---|
1 |
|
开始对接;需 |
2 |
|
停止 → |
3 |
|
暂停 |
4 |
|
从 |
5 |
|
取消任务 |
6 |
|
离桩(通常自 |
Response · DockCommandResponse
字段 |
类型 |
说明 |
|---|---|---|
|
|
流应答;末帧 |
|
|
对接阶段 |
|
|
当前电量 (%) |
|
|
已对接桩 ID |
DockStatus:IDLE(1) · SEARCHING(2) · APPROACHING(3) · DOCKING(4) · CHARGING(5) · UNDOCKING(6) · SUCCEEDED(7) · FAILED(8) · CANCELED(9)
11.4 示例(grpcurl)
环境:01 §1.1 · TC 全集:13 §13.10 · JSON 参考:01 §1.4
每张卡片上方 发送指令(蓝)、下方 收到结果(绿);Stream 响应以末帧 ack.final=true 为准。
11.4.1 示例索引
编号 |
在干什么 |
|
末帧预期 |
TC |
|---|---|---|---|---|
确认可回充、无残留任务 |
— |
可回充 · 无活跃任务 |
— |
|
按站点 ID 自主对接 |
1 |
|
|
|
按位姿自主对接 |
1 |
|
|
|
离桩脱离 |
6 |
|
|
|
取消对接任务 |
5 |
|
— |
STOP(2) /PAUSE(3) /RESUME(4) 请求体字段同对应command枚举;STOP末帧回DOCK_STATUS_IDLE。
11.4.2 DCK-01 · 前置检查
发 START 前确认:Bridge 支持回充,且当前无进行中的任务。
11.4.3 对接
11.4.3.1 DCK-02 · START 按站点
指定 dock_station_id,自主搜索并对接到充电桩。
11.4.3.2 DCK-03 · START 按位姿
指定 dock_pose,自主搜索并对接到地图中的充电桩位姿。
11.4.4 离桩与取消
11.4.4.1 DCK-04 · UNDOCK
前提:已对接(CHARGING 或 SUCCEEDED)。发送离桩指令,脱离充电桩。
11.4.4.2 DCK-05 · CANCEL
取消进行中的对接任务,状态变为 CANCELED。