3. ROV遥操作指令体系与分类
ROV(遥控水下机器人)的岸基控制台本质上是一个“指令翻译器”:操作员推动摇杆、点击按钮、拨动开关,控制台把这些动作翻译成一条条结构化的遥操作指令,经脐带缆或光纤链路下传到水下控制单元,再由控制单元分发给推进器、机械手、云台、灯组等执行部件。要真正理解控制台,就必须先理解它发出的指令体系——指令有哪些类型、彼此如何区分、谁先谁后、按什么逻辑执行。本节围绕这一主线展开。
一、五类基本指令:按“作用对象”划分
工程上最实用的分类方式是按指令作用的对象和意图划分,通常分为五类:
- 运动控制指令:直接驱动ROV本体或机械臂运动,如推进器推力百分比、艏向角速度、定深目标值、机械手关节开合。这类指令是连续量,刷新率高,对实时性要求最强。
- 模式切换指令:改变控制系统的运行状态,如从“手动”切到“自动定深”、从“ROV本体控制”切到“机械臂控制”、开启“动力定位”。这类指令是离散事件,一次触发一次状态迁移。
- 设备开关指令:控制辅助设备的通断,如照明灯、摄像机切换、云台、声呐、机械手液压泵。多为布尔量,但部分设备(如灯亮度)可带档位。
- 参数设定指令:写入或修改系统参数,如PID增益、最大推力限幅、定深死区、摄像机曝光值。这类指令不直接产生动作,而是改变后续指令的执行方式,属于“配置层”。
- 应急指令:在异常或危险工况下触发,如紧急停止、紧急上浮、抛载、切断推进器输出。特点是优先级最高、执行路径最短、往往绕过常规逻辑直接作用于执行机构。
这五类指令在数据特征上差异明显:运动控制是高频连续流,模式切换和应急是低频离散事件,设备开关介于两者之间,参数设定则是偶发的配置写入。理解这一点,才能理解后面优先级与执行逻辑的设计依据。
二、优先级划分:谁能让谁“让路”
ROV作业中,多类指令可能同时到达。例如操作员正在用摇杆做定深运动,同时机械手液压泵需要启动,此时若某处触发紧急停止,系统必须立即响应。因此控制台与水下控制单元通常采用分级优先级机制,常见划分为四级(由高到低):
- P0 应急级:急停、紧急上浮、抛载、切断动力。任何时刻到达即抢占,立即生效,并锁定常规输出。
- P1 安全级:超深保护、超温保护、脐带缆张力超限、漏水报警联动。由系统自动触发,优先于人工操作。
- P2 操作级:运动控制、模式切换、设备开关。操作员主动发出的常规指令,按到达顺序或控制权归属执行。
- P3 配置级:参数设定、标定、日志配置。通常在非作业窗口或安全状态下写入,作业中一般被禁止或需二次确认。
优先级不是“谁先发谁赢”,而是“高优先级可打断低优先级”。一个典型例子:P2的运动指令正在驱动推进器,P0急停到达后,控制单元立即将推进器输出置零并进入锁定态,直到操作员显式复位,P2指令才被重新接受。这种“抢占—锁定—复位”的机制,是应急指令区别于普通指令的核心特征。
三、执行逻辑:从控制台到执行部件的链路
一条指令从发出到生效,通常经过“控制台编码—链路传输—控制单元解析—优先级仲裁—执行部件驱动—状态回传”几个环节。下图以本节五类指令为对象,展示它们在链路中的位置、优先级仲裁关系以及回传路径:
图中可以看到,应急指令(红色路径)在链路中走的是最短路径,直接进入优先级仲裁的最高层,并可以越过常规分发直接作用于动力切断等执行部件;而参数设定指令(P3)虽然也进入控制单元,但通常只在仲裁层被缓存,待系统处于安全状态时才被应用。状态回传(虚线)则把执行结果、告警和日志送回控制台,形成闭环。
四、指令字典:把“约定”固化成可查的表
当指令数量增多、多人协作或需要与第三方设备对接时,仅靠口头约定容易出错。工程上会建立指令字典——一张把每条指令的编号、名称、类型、优先级、数据格式、取值范围、默认值和应答方式固定下来的表。它是控制台软件、水下控制单元固件和操作手册之间的“共同语言”。
下面给出一个简化的指令字典示例(参数为教学示例,非实测值):
| 指令编号 | 名称 | 类型 | 优先级 | 数据格式 | 取值范围/示例 | 应答 |
|---|---|---|---|---|---|---|
| CMD-001 | 推进器推力设定 | 运动控制 | P2 | int16 × 6 | -100~100(%) | 周期回传 |
| CMD-002 | 定深目标设定 | 运动控制 | P2 | float32 | 0~300(m) | 到位确认 |
| CMD-010 | 切换自动定深 | 模式切换 | P2 | uint8 | 0=手动,1=自动 | 状态回执 |
| CMD-020 | 照明灯开关 | 设备开关 | P2 | uint8 | 0=关,1=开,2=增亮 | 状态回执 |
| CMD-030 | 定深PID增益写入 | 参数设定 | P3 | float32 × 3 | Kp/Ki/Kd,示例 1.2/0.05/0.3 | 写入确认 |
| CMD-090 | 紧急停止 | 应急 | P0 | 无载荷 | 触发即生效 | 立即回执+锁定 |
| CMD-091 | 紧急上浮 | 应急 | P0 | uint8 | 1=执行 | 立即回执 |
有了这张表,控制台开发时可以直接按编号实现编码与校验,水下控制单元按编号路由,操作手册按编号说明操作,排障时也能通过日志中的指令编号快速定位问题。例如日志中出现“CMD-030 写入被拒绝”,就能判断是作业中禁止配置写入的保护逻辑生效,而不是通信故障。
五、执行逻辑中的两个关键细节
其一,控制权归属。运动控制指令和模式切换指令往往涉及“谁在控制”的问题。当自动定深模式激活时,手动推力指令是否仍被接受?常见做法是模式切换时明确移交控制权:自动模式下,手动推力指令被降级或屏蔽,直到切回手动。这需要在指令字典中写清楚,否则容易出现“操作员以为自己在控制、实际系统在自动控制”的危险状态。
其二,指令的幂等与确认。设备开关类指令应设计为幂等——重复发送“开灯”不会导致状态翻转;而模式切换类指令通常需要状态回执确认,控制台在收到回执前应显示“切换中”,避免操作员误以为已生效而继续操作。应急指令则要求“立即回执+锁定”,回执用于确认指令已到达执行层,锁定用于防止误复位。
综上,ROV遥操作指令体系可以概括为“五类指令、四级优先级、一条仲裁链路、一本指令字典”。运动控制负责“动”,模式切换负责“变”,设备开关负责“通断”,参数设定负责“调”,应急指令负责“保命”。理解它们各自的数据特征与优先级关系,是后续学习控制台操作、链路排障和作业流程设计的基础。