载荷控制
载荷设备(自动门等)的控制功能。
自动门控制
- door_control(door_id, cmd, door_timeout=10, retry_times=1, block=True, timeout=300)
Control the payload automatic door.
- Parameters:
door_id (
int) – Target door identifier.cmd (
int) – Command. 0=Close, 1=Open, 2=Query.door_timeout (
int) – Door action timeout in seconds (default: 10).retry_times (
int) – Retry times on failure (default: 1).block (
bool) – Whether to block until completion (default: true).timeout (
int) – Timeout in seconds, only effective when block=false (default: 300).
- Return type:
- Returns:
DoorControlResult with .result (bool, true=success).
Examples:
result = door_control(door_id=1, cmd=1) # open door 1 print(f"DoorControl result: {result.result}")
底层 ROS2 接口
类型: Action
rms_msgs/action/DoorControl名称:
/door/cmd说明: 通过 ROS2 Action 调用,feedback(
uint8 status)通过/sdk/payload/door_control_feedbacktopic 发布参数映射:
封装参数 |
原生字段(Goal) |
|---|---|
|
|
|
``cmd``(0=关,1=开,2=查询) |
|
``timeout``(门动作超时,秒) |
|
|
|
客户端是否阻塞等待(不下发) |
|
客户端等待时长,不下发 |
报警灯控制
- alarm_led_control(type, mode, block=True, timeout=30)
Control the payload alarm LED (strobe light).
- Parameters:
- Return type:
- Returns:
AlarmLedControl_Response with .success (bool) and .message (str).
Examples:
response = alarm_led_control(type=1, mode=1) # strobe light, always on print(f"AlarmLedControl: {response.success}")