智能航行控制系统由终端控制系统与地面站总控软件平台两部分组成,具体内容如如1.1所示。

图1.1 系统组成图
终端控制系统即安装在无人艇上的一套完整的软硬件集成设备,该系统是无人艇的大脑,可实现如下功能:
(1)实时通信:使用远距离无线电台实现5km以内距离实时通信;
(2)导航定位:利用GPS获得的经纬度数据及航向角或者GPS经纬度数据与电子罗盘采集的航向角进行组合导航定位;
(3)运动控制:可实现自动控制,遥控或者手控三种控制模式,他们之间进行随意切换。
自控为无人艇通过一套预先编好的算法来计算实时更新的位置信息和航向信息而独立自主的决策控制推进器的转速,以实现运动方向的控制,通过不停的对比修正,最终可到达预设位置。
手控即利用地面站遥控器或者手柄/键盘通过数传电台实时向无人艇下发控制命令(此过程在远距离时需要地面站监控视频的配合才能实现精确控制),当控制系统接收到命令后,进行处理,然后驱动推进器按对应的转速运动,以实现无人艇的运动控制;
遥控即通过遥控器对无人船进行远程控制。
(4)一键返航:在艇体因故无法正常工作时,可按规定程序自主返航;
(5)巡航:根据预设航线,进行多次沿航线往复运动;
(6)虚拟锚定:根据需求,当无人船运动到最后一个点时,在指定半径范围内进行锚定。
地面站总控平台即安装部署在地面站工作电脑上的一套完整的软件系统,主要实现无人船实时监控、航线预设及指令下发、数据存储、在线状态监控、历史轨迹回放、数据报表、船只属性管理、地图实施操作、运动控制操作(手控、自控)等功能。
智能航行控制系统相关性能参数如表1.1所示。
项目 | 性能参数 |
重量 | <0.5kg |
尺寸大小 | 长*宽*高<150mm*100mm*50mm |
工作电压 | 24V/12V可选 |
功耗 | <10W |
控制方式 | 自控、遥控、手控 |
控制精度 | 通过总控平台软件调节参数,最小可达到1米以内 |
数传电台接口 | TTL/232可选,电压12V |
预设航迹点个数据 | 最多100个 |
适合船型 | 各种类型的船体(动力矢量推进、电子油门带舵、机械油门带舵) |
配套硬件 | 遥控器、电子罗盘、GPS |
终端控制系统主要由如图2.1所示终端主控子系统及图2.2所示动力驱动子系统,同时配套通信模块、导航定位模块,以及预留外设接口。

图2.1 终端主控子系统

图2.2 动力驱动子系统
主控子系统主要由两个部分组成,一为核心的运动控制部分,二为遥控器指令解算部分,两个部分如图2.1所示,集成在一块电路板上。
主控子系统是控制系统的核心,其主要功能有:
1)导航定位:利用串口通信以中断的方式读取GPS定位数据、利用DMA方式获得电子罗盘数据,根据这两种数据利用“平行接近法”或者“视线法”配合PID算法实现无人艇的导航定位。
2)数据通信:微波通信的方式实现无人艇与地面站总控平台之间的通信。地面能够实时向无人艇下发各种指令(如自控指令、自控参数设置、一键返航、通信频率设置、手动控制指令等),同时主控子系统也能够实时传输无人船的相关数据信息到地面站总控平台。
3)运动控制算法实现:期望航向角算法实现、地球距离计算算法实现、异或算法实现、PID调整算法实现、地面两点之间的直线方程算法实现、点到直线距离算法实现、铱星通信数据处理算法实现以及其他各种算法实现。
4)外设控制:通过控制舵机以实现方向舵的控制、推进器的控制,控制模式切换等切换等。
5)数据封装及解算:各种传感器数据、位置信息数据、数据包信息数据、运动控制信息数据等各种数据封装及计算。
无人艇的导航定位系统是由电子罗盘和GPS获得的位置信息同作用来实现导航定位功能。
电子罗盘采集到的数据为欧拉角(航向角、俯仰角、横滚角),在无人艇的导航系统中主要利用航向角,GPS或者北斗二代采集地理位置信息,系统导航定位的实现流程如图2.3所示。
图 2.3 导航定位流程图

运动控制有三种方式:
(1)远程控制,远程控制又分为远程遥控与远程键盘/鼠标借助于总控平台实现控制;
(2)本地自控
利用配套遥控器可实现无人船的本地自控与远程控制之间的切换,控制流程如图2.4所示。

图2.4 运动控制流程图
远程控制主要用于调试过程或者布放回收时的运动控制,在平时作业时不用该种控制方式。
(1)远程遥控
便于短距离可视化操作,设计了遥控装置,先由遥控器接收机接收遥控指令,再由遥控器指令解算部分进行对遥控器的各通道的信号的解算,把解算完成后的数据进行封装,同时利用CAN总线通信方式发送给核心运动控制部分进行控制操作,核心控制器根据接收到的遥控器控制模式,执行相应的动作,如若控制模式为遥控则直接根据遥控器解算部分发送来的数据进行控制操作,若为自控则执行自动控制操作。
(2)远程鼠标/键盘控制
鼠标键盘控制主要是在调试过程中或者系统自检时使用,为了测试控制信号输出方式切换部分电路、驱动器、方向舵、辅助推进器、回收装置是否正常工作。
在使用之前先把把遥控器控制模式切换到自控模式,然后利用总控平台软件进行手动控制操作。利用总控平台上的功能键进行操作测试,总控平台会根据功能键的操作进行相应的处理,形成脉冲信号且利用微波通信下发到终端控制系统。
鼠标键盘控制也可作为一种应急控制,当在回收或者布放过程中,遥控器或者手柄在意外情况下出现故障而不能正常工作(电池没电、设备丢失等),可选用鼠标键盘控制也能达到相同的效果,但是操作起来没有遥控器或者手柄方便直接。
本地自动控制为无人艇自己根据总控平台预设的航迹信息、自身的实时位置信息、自身当前运动的航向角、能源量等数据利用运动控制算法实时更新计算来控制方向舵及推进器进而完成相关作业任务,全程无人为参与。
(1)预设航线
在每一次任务作业之前先在总控平台上预设目标路径的航迹点,然后选择船只编号、船只名称、下发到控制系统。下发是否完成总控平台软件有回复显示,可根据提示进行操作。
使用遥控模式遥控到指定位置,然后利用遥控器切换到遥控模式,此时船只执行自控操作。