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

字段

类型

必填

说明

header

RequestHeader

03 §3.1

command

DockCommand

子命令;见下表

max_search_radius

float

START

搜索充电桩半径 (m)

max_retry_count

int32

最大重试次数

dock_station_id

string

START

oneof dock_target:按 ID

dock_pose

PoseStamped

START

oneof dock_target:按位姿

DockCommand 枚举

常量

说明

1

DOCK_CMD_START

开始对接;需 dock_target 之一

2

DOCK_CMD_STOP

停止 → IDLE

3

DOCK_CMD_PAUSE

暂停

4

DOCK_CMD_RESUME

PAUSED 恢复

5

DOCK_CMD_CANCEL

取消任务

6

DOCK_CMD_UNDOCK

离桩(通常自 CHARGING

Response · DockCommandResponse

字段

类型

说明

ack

CommandAck

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

status

DockStatus

对接阶段

battery_percent

float

当前电量 (%)

dock_station_id

string

已对接桩 ID

DockStatusIDLE(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 示例索引

编号

在干什么

command

末帧预期

TC

DCK-01

确认可回充、无残留任务

可回充 · 无活跃任务

DCK-02

按站点 ID 自主对接

1

SUCCEEDED · 充电中

TC-DCK-001

DCK-03

按位姿自主对接

1

SUCCEEDED

TC-DCK-002

DCK-04

离桩脱离

6

UNDOCKINGSUCCEEDED

TC-DCK-003

DCK-05

取消对接任务

5

CANCELED

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

前提:已对接(CHARGINGSUCCEEDED)。发送离桩指令,脱离充电桩。

11.4.4.2 DCK-05 · CANCEL

取消进行中的对接任务,状态变为 CANCELED