本发明属于计算机通信及自动化领域,尤其涉及一种基于armcortex-m7处理器的智能无人船平台及其控制方法。
背景技术:
无人船平台在保护海洋环境和开发海洋资源方面有着广泛应用,搭载不同的传感器系统可以完成各种各样的任务,是监测海洋环境、观测海洋水文数据、勘探海洋资源和海洋灾害预警的重要手段之一。在军事方面无人船也扮演着重要的角色,它能够完成的军事任务有:港口安全,扫雷和靶船等。在工业上可用于一些水中设备的远程维护,工业开采等方面。在民用方面,可作为娱乐用途,也可用于钓鱼,还可以用于探索鱼群等。无论在科研方面,还是军事方面,或者工业上以及民用方面,都有着广阔的应用前景。
随着无人船在各个领域应用的逐步扩展,对无人船的要求也越来越高,无论是在导航的精度及准确性,还是避障的及时性,还是无人船控制系统所占体积,亦或是无人船的兼容性和可扩展性,都提出了很严苛的要求。无人船应用在不同的领域,需搭载不同的传感器,这对无人船控制系统的兼容性和可扩展性提出了很高的要求。且随着无人船功能特性的增加,以及所应对的环境越来越复杂,需要处理的数据量也在极速增加,这就需要无人船处理器有更高的数据处理、数据分析以及数据传输能力。
技术实现要素:
本发明所要解决的技术问题是,提供一种基于armcortex-m7处理器的智能无人船平台及其控制方法,具有良好的兼容性和可扩展性,搭载不同的信息采集模块可以完成各种各样的任务,利用armcortex-m7处理器强大的数字信号处理能力,提高处理能力,实现复杂的控制算法;利用gps/北斗定位模块与捷联式惯性导航模块组合导航,提高了导航、定位的精度;提高控制系统的兼容性和可扩展性、以及远程维护和升级能力,利用嵌入式操作系统低能耗的特点,提高无人船的续航能力。
为达到上述目的,本发明采取的技术方案是构建一种基于armcortex-m7处理器的智能无人船平台,实现了无人船的自主航行、自主避障、路径规划及视频传输功能,包括岸端控制系统、船载控制系统及连接岸端控制系统与船载控制系统的通信系统;
岸端控制系统用于自动或/和手动实时控制无人船,并实时显示无人船状态信息及周边环境信息,以及向船载控制系统发送命令,包括岸端上位机、遥控器;
船载控制系统主要用于实现无人船自主航行及自主避障,视频拍摄及传输,以及接收岸端上位机发来的命令并实时传送相关数据给上位机;通信系统是整个平台沟通的桥梁。所述的船载控制系统包括armcortex-m7处理器、信息采集模块、视频传输模块、电池电压检测系统、驱动模块及动力系统;armcortex-m7处理器分别与信息采集模块、视频传输模块、电池电压检测系统、驱动模块相连,动力系统为船载控制系统提供电能;
所述的armcortex-m7处理器包括自主航行单元、自主避障单元、方向及速度控制单元;自主航行单元、自主避障单元的输入与信息采集模块相连,自主航行单元、自主避障单元的输出与方向及速度控制单元相连,速度控制单元的输出与驱动模块相连。
所述通信系统设有:两个无线数传电台,其中一个通过rs232转usb转接板与岸端上位机连接,另一个与armcortex-m7处理器连接,两个无线数传电台采用mavlink协议实现数据传输两个无线图传模块,其中一个与岸端上位机连接,另一个与视频传输模块连接,实现视频传输,以及配置在无线数传电台与无线图传模块上的若干增益天线。
具体地,所述岸端上位机以pc机为载体,无线数传电台有两个,采用全双工无线通信方式,一个通过rs232转usb转接板与pc机连接,一个通过rs232接口与armcortex-m7处理器连接,采用mavlink协议实现数据传输,最远传输距离可达64km。无线图传模块有两个,采用半双工无线通信方式,一个与pc机连接,一个与摄像机连接,实现视频传输,最远传输距离可达23km。无线数传电台与无线图传模块均配置高增益天线。所述无线数传电台为9xtendoemrf低功耗模块,无线图传模块为aomway5.8g无线图传模块。
所述岸端上位机包括通信设置模块、模式选择模块、系统控制模块、pid控制模块、船状态信息显示模块和船控制信息设置模块;所述船控制信息设置模块包括经纬度控制单元、目标船速控制单元、目标航向控制单元、电机pwm控制单元、舵机pwm控制单元以及电机启动和停止控制单元;所述的船状态信息包括无人船平台的经度、纬度及所在半球信息,当前航速、当前航向、加速度、俯仰角、横滚角、航向角、电机pwm、舵机pwm及电池电压信息,当前无人船所行驶的轨迹。
所述信息采集模块包括:gps/北斗定位模块,用于采集无人船的当前位置、当前航向、当前航速;捷联式惯性导航模块,用于采集当前航向、当前航速、姿态信息;激光雷达,用于采集周围环境中障碍物信息;接收机,用于接收岸端控制系统的遥控器的遥控指令。
所述驱动模块包括电调、电机及舵机。
锂电池电压为12v,为armcortex-m7处理器、电调、无线图传模块供电。通过稳压降压模块将12v电源电压降为5v电压输出,供电给舵机、gps/北斗定位模块和激光雷达。
所述智能无人船平台的控制方法具体如下:
岸端控制系统选择无人船平台的控制模式,所述的控制模式包括手动遥控、自主导航及手动遥控和自主导航同时运行三种模式;其中手动遥控是指用遥控器发送指令给船载控制系统的接收机的方式对无人船平台发送控制指令,并用上位机显示无人船状态信息,所述的自主导航是指岸端控制系统通过无线数传电台的方式对无人船平台发送规划航线的位置信息,由主航行单元自主导航,并由自主避障单元进行避障;
岸端控制系统以被选择的控制模式向船载控制系统发送指令实时控制无人船平台,船载控制系统通过无线数传电台和无线图传模块分别向岸端控制系统实时发送无人船状态信息及周边环境信息,
信息采集模块的gps/北斗定位模块采集当前位置、当前航向、当前航速,捷联式惯性导航模块分别同时采集当前航向、当前航速、姿态信息;激光雷达采集周围环境中障碍物信息;
在自主导航模式下,armcortex-m7处理器读取信息采集模块采集的信息,一方面将所述信息通过无线数传电台发送给岸端上位机,一方面根据采集的信息和岸端上位机发送过来的规划航线的位置信息由自主航行单元、自主避障单元输出信号给方向及速度控制单元,方向及速度控制单元再输出控制信号给驱动模块;岸端上位机可向船载控制系统直接发送目标航向、目标航速指令,在该情况下,方向及速度控制单元根据岸端上位机的指令输出控制信号给驱动模块;
其中,自主航行单元根据无人船的当前位置、当前航向与当前航速,与岸端上位机规划好的航线比较,通过航向控制方法及pid控制实时输出给定航向偏差、给定航速给方向及速度控制单元;
自主避障单元根据激光雷达检测到的障碍物信息以及无人船的当前位置、当前航向与当前航速,给定航向差、给定速度给方向及速度控制单元来实时躲避障碍物;当有障碍物时,较自主航行单元,处理器优先响应自主避障单元,直到成功躲避障碍物,没有障碍物时,自主避障单元没有输出。
方向及速度控制单元根据岸端上位机的控制指令,或自主航行单元及自主避障单元输出的给定航向差、给定速度计算舵机pwm值、电机pwm值,并输出给驱动模块;
驱动模块通过电调、电机及舵机调整无人船的航向与航速;
视频传输模块包含摄像机,摄像机摄像获取无人船周边环境实时情况,通过无线图传模块、高增益天线将视频实时传输回岸端控制系统。
优选的,通信设置模块选择串口号、波特率,打开或关闭串口,模式选择模块选择手动遥控、自主导航及手动遥控和自主导航同时运行三种模式,系统控制模块用于开启系统、关闭系统或重启系统;pid控制模块用于航速pid控制、航向pid控制,船状态信息显示模块显示船状态信息,并可以加载地图显示当前无人船所行驶的轨迹,且可在此地图上规划航迹以及设置回航点;
船控制信息设置模块用于设置有效工作参数,其中:
经纬度控制单元输入目标点的经纬度信息,岸端上位机根据目标点与当前无人船平台位置规划航线,并将所规划好的航线的位置信息发送给船载控制系统,
目标航速控制单元用于设置目标船速,方向及速度控制单元根据当前航速与目标航速在来调节电机pwm输出值,以控制无人船达到目标航速;
目标航向控制单元设置有效目标航向,方向及速度控制单元根据当前航向与目标航向来调节舵机pwm输出值,以控制无人船达到目标航向;
电机pwm控制单元输入有效电机pwm值,以控制电机达到相应的转速,所述有效电机pwm值为能使电机正常转动的电机pwm值;
舵机pwm控制单元输入有效舵机pwm值,以控制舵机转过相应的角度,所述有效舵机pwm值为能使舵机正常转过一定角度的舵机pwm值;
电机启动和停止控制单元分别启动电机和使电机停止转动。
优选的,所述电池电压检测系统检测无人船的电池状态,并将电池信息通过无线数传电台传回单端控制系统,在低电量状态时,发出警报。
具体地,所述遥控器通过2.4g无线网络发送信号给接收机,armcortex-m7处理器读取并根据接收机的信号来控制无人船的航向及航速。
具体地,所述armcortex-m7处理器用于接收上位机发送的指令、向上位机发送指令及读取各式传感器的数据并进行处理,其工作频率高达800mhz,取代了绝大多数分立的dsp处理器,它采用分支预测的6级超标量流水线,这样可以同时支持单精度和双精度浮点单元,快速提供计算性能,适合大规模的数字信号处理,具有紧密耦合内存接口,提供快速实时响应。
进一步地,所述gps/北斗定位模块通过串口与armcortex-m7处理器连接,armcortex-m7处理器读取gps的数据信息并提取其中的经度、纬度、所在经纬度半球、航向、航速信息。
进一步地,所述激光雷达内嵌信号处理模块实时解算,通过串口与armcortex-m7处理器连接,直接输出障碍物的距离以及相对方位角度给armcortex-m7处理器,减少了armcortex-m7处理器的运算量。
进一步地,所述捷联式惯性导航模块通过iic接口与armcortex-m7处理器连接,通过航向、姿态解算及导航解算获得无人船的航向、姿态、位置及速度。
更进一步地,所述组合导航为以捷联式惯性导航模块为主,gps/北斗定位模块对捷联式惯性导航模块进行修正。通过kalman滤波技术对组合导航的误差状态进行估计,并采用反馈校正的方法修正捷联式惯性导航模块的导航误差,得到最终的当前位置、当前航速与当前航向。
具体地,动力系统包括锂电池、稳压降压模块。
本发明利用gps/北斗定位模块传与捷联式惯性导航模块组合导航,提高了导航、定位的精度;提高控制系统的兼容性和可扩展性、以及远程维护和升级能力,利用嵌入式操作系统低能耗的特点,提高无人船的续航能力;利用armcortex-m7处理器取代了绝大多数分立的dsp处理器,大幅提升了运算能力,它采用分支预测的6级超标量流水线,这样可以同时支持单精度和双精度浮点单元,快速提供计算性能,适合大规模的数字信号处理,具有紧密耦合内存接口,提供快速实时响应,利用armcortex-m7强大的数字信号处理能力,提高对于控制算法的处理能力,实现复杂的控制算法。极大的缩小了控制系统所占体积,为搭载不同传感器实现无人船不同的使用功能,提供了一个良好的无人船平台。
附图说明
图1为智能无人船平台模型结构图。
图2为智能无人船平台实施例的结构图。
具体实施方式
随着无人机技术的兴起,各种无人设备得到广泛应用,无人船在科研方面,军事方面,工业上以及民用方面,得到越来越多的应用,因此本发明提供一种基于armcortex-m7处理器的智能无人船平台,包括无人船岸端控制系统、船载控制系统以及连接岸端控制系统与船载控制系统的通信系统,有无人船自动、手动或自动与手动同时控制三种模式,实现了无人船的自主航行、自主避障、路径规划及视频传输等基本功能。利用gps/北斗定位模块传与捷联式惯性导航模块组合导航,提高了导航、定位的精度。
下面结合附图及具体实施方式对本发明再作进一步详细说明。
如图1和2所示,本发明采取的技术方案是构建一种基于armcortex-m7处理器的智能无人船平台,实现了无人船的自主航行、自主避障、路径规划及视频传输功能,包括岸端控制系统、船载控制系统及连接岸端控制系统与船载控制系统的通信系统;岸端控制系统用于自动或/和手动实时控制无人船,并实时显示无人船状态信息及周边环境信息,以及向船载控制系统发送命令,包括岸端上位机、遥控器;船载控制系统主要用于实现无人船自主航行及自主避障,视频拍摄及传输,以及接收岸端上位机发来的命令并实时传送相关数据给上位机;通信系统是整个平台沟通的桥梁。所述的船载控制系统包括armcortex-m7处理器、信息采集模块、视频传输模块、电池电压检测系统、驱动模块及动力系统;armcortex-m7处理器分别与信息采集模块、视频传输模块、电池电压检测系统、驱动模块相连,动力系统为船载控制系统提供电能;所述的armcortex-m7处理器包括自主航行单元、自主避障单元、方向及速度控制单元;自主航行单元、自主避障单元的输入与信息采集模块相连,自主航行单元、自主避障单元的输出与方向及速度控制单元相连,速度控制单元的输出与驱动模块相连。
所述通信系统设有:两个无线数传电台,采用全双工无线通信方式,其中一个通过rs232转usb转接板与岸端上位机连接,另一个与armcortex-m7处理器连接,两个无线数传电台采用mavlink协议实现数据传输,最远传输距离可达64km。两个无线图传模块,采用半双工无线通信方式,其中一个与岸端上位机连接,另一个与视频传输模块连接,实现视频传输最远传输距离可达23km。所述无线数传电台为9xtendoemrf低功耗模块,无线图传模块为aomway5.8g无线图传模块。
具体地,所述armcortex-m7处理器用于接收上位机发送的指令、向上位机发送指令及读取各式传感器的数据并进行处理,其工作频率高达800mhz,取代了绝大多数分立的dsp处理器,它采用分支预测的6级超标量流水线,这样可以同时支持单精度和双精度浮点单元,快速提供计算性能,适合大规模的数字信号处理,具有紧密耦合内存接口,提供快速实时响应。拟采用基于armcortex-m7处理器的开发板-stm32f7discovery作为智能无人船的嵌入式开发平台,该开发板216mhz的cpu频率、1024kb闪存、320kbsram。
具体地,所述信息采集模块主要是各式传感器和接收机,包括gps/北斗定位模块、捷联式惯性导航模块、激光雷达,用于采集无人船的当前位置、当前航向、当前航速、姿态信息及周围环境中障碍物信息,一方面将这些信息发送给自主航行系统和自主避障系统,另一方面,通过无线数传模块传回岸端控制系统。利用gps/北斗定位模块与捷联式惯性导航模块组合导航,通过卡尔曼滤波得到当前位置、当前航向及当前航速信息。
所述遥控器通过2.4g无线网络发送信号给接收机,接收机与stm32f7discovery的io口相连,stm32f7discovery通过输入捕获方式读取接收机的占空比信号后来控制电机及舵机,进而实现用遥控器手动遥控操作无人船的航向及航速。
进一步地,所述gps/北斗定位模块通过串口与stm32f7discovery连接,stm32f7discovery读取gps的数据信息并提取其中的经度、纬度、所在经纬度半球、航向、航速信息。gps/北斗定位模块为正点原子gps+北斗双定位模块s1216。
进一步地,所述激光雷达内嵌信号处理模块实时解算,通过串口与stm32f7discovery连接,直接输出障碍物的距离以及相对方位角度给stm32f7discovery,减少了mcu的运算量。激光雷达为eaiflashlidar激光雷达f4,基于三角测距技术原理,可实时获取所在环境的高精度轮廓信息。
进一步地,所述捷联式惯性导航模块通过iic接口与stm32f7discovery连接,通过航向、姿态解算及导航解算获得无人船的航向、姿态、位置及速度。捷联式惯性导航模块为mpu9250九轴传感器。
更进一步地,所述组合导航为以mpu9250九轴传感器为主,正点原子gps+北斗双定位模块s1216对mpu9250九轴传感器进行修正。通过kalman滤波技术对组合导航的误差状态进行估计,并采用反馈校正的方法修正捷联式惯性导航模块的导航误差,得到最终的当前位置、当前航速与当前航向。
具体地,所述自主航行单元根据无人船的当前位置、当前航向与当前航速,与岸端上位机规划好的航线比较,pid控制实时输出给定航向偏差、给定航速给方向及速度控制系统。
具体地,所述自主避障单元根据eaiflashlidar激光雷达f4检测到的障碍物信息,输出给定航向差、给定速度给方向及速度控制系统来实时躲避障碍物。
具体地,所述电池电压检测系统通过电压检测模块来检测无人船的电池电压状态,并将电池电压信息通过无线数传电台传回单端控制系统,在低电压状态时,发出警报便于采取应对措施。电压检测模块将电池电压缩小5倍后作为stm32f7discoverya/d采样io口的输入,stm32f7discovery对此电压进行简单对比后算出实际电源电压,以此判断无人船的续航能力。
具体地,所述视频传输模块主要用于了解无人船周边环境实时情况,摄像机摄像后便通过无线图传模块以及高增益天线将视频实时传输回岸端控制系统。
具体地,所述驱动模块包括电调、电机及舵机,根据方向及速度控制系统给出的舵机pwm值、电机pwm值改变航向及航速。电调为320a有刷电调,电机为550电机,舵机为55g数字舵机。
具体地,动力系统包括锂电池、稳压降压模块。锂电池电压为12v,为stm32f7discovery、电调、无线图传模块供电。通过稳压降压模块将12v电源电压降为5v电压输出,供电给舵机、gps/北斗定位模块和激光雷达。
具体地,所述岸端上位机以lenovo电脑为载体,无线数传电台通过rs232转usb转接板与lenovo电脑连接,采用mavlink协议实现数据传输,最远传输距离可达64km,其中,所述无线数传电台为9xtendoemrf低功耗模块。
具体地,所述岸端上位机以lenovo电脑为载体,无线图传模块与lenovo电脑连接实现视频传输,其中,所述无线图传模块为aomway5.8g无线图传模块。
具体地,所述无线数传模块采用全双工无线通信方式连接。
具体地,所述无线图传模块采用半双工无线通信方式连接。