高性能无人帆船软硬件设计

2019 年 2 月 16 日 无人机

State Key Laboratory of Ocean Engineering,Shanghai Jiao Tong University,Shanghai 200240,China

1 引言

无人帆船具备节能环保、长程续航等特点,因此在情报搜集、海洋勘探、远海测绘、大宗商品货运等领域具有良好的应用前景[1-3]。不同种类的传感器作为“耳目”感知环境,精确的执行器作为“手足”控制船舶运动,同时需要强大的CPU单元作为“大脑”同时执行多任务、处理信息、产生决策、下达指令。然而要实现自动航行,不仅要有较强的环境感知能力、决策能力、自适应能力,同时还要具备冗余的处理能力,对于控制系统提出了较高的要求。

一般的微控制器很难在实现大数据量和复杂算法的同时保证系统的实时性[4-7],而当前国内无人帆船实验平台普遍使用的数据采集及处理的方式为,以船载计算机——使用较为普遍的是ARM微处理器——采集数据,并以无线传输提交给岸基电脑进行处理,处理结果形成指令,再以无线传输形式下达给船载计算机。文献[8]使用这种数据处理方式,采用模糊控制策略对无人帆船循迹航行的控制进行了相关研究,而实际结果并不理想。原因在于,ARM微控制器短缺的处理能力无法完成无人帆船运动控制所需的大数据量采集和算法结算,因此提交给上位机处理,而无线传输方式较大地增加了延迟和数据失真的可能性,无法确保良好的实时性。文献[9]采用基于Samsung S3C6410A处理器的嵌入式平台,处理能力足够,然而使用的2.4 GHz的无线通讯网络设备众多,存在较大干扰,容易导致数据失真和船模失控;运用GPRS模块接入公网实现与PC端通讯的方式,信号覆盖范围受限于基站位置,信号质量无法保证。因此希望设计一套可靠的无人帆船控制系统,以船载计算机同时进行数据采集和处理,避免数据处理的无线传输,确保数据的实时性和精确性,这对处理器的计算能力提出了较高要求,因此选用PC/104单板计算机作为中央处理单元,确保足够的处理能力。PC/104系统作为嵌入式PC的一种,在软件和硬件上与标准的PC体系结构完全兼容。它具有体积小、功能强、可靠性高等特点,模块间采用自堆叠方式安装,便于灵活搭配以适应不同的功能要求[10-16]。同时选用大功率5 GHz路由器建立局域网,覆盖范围广,信道纯净,干扰少,数据保真度高。

本文基于PC/104和ARM设计了一套无人帆船航行控制系统,该系统主要由四个子系统组成:中央处理系统、数据采集系统、底层驱动系统、通讯系统。中央处理系统为PC/104和ARM微处理器,PC/104使用开源的python语言进行软件模块化开发,成本低,开发简单;ARM基于KEIL公司设计的RealView MDK开发环境,以C语言进行底层驱动编写,代码运行效率高。由于风帆船航行过程中需要感知风向和自身状态(包括船舶姿态、帆角)、确定方位,因此传感器系统需包含GPS系统、惯性导航仪、风向标和帆角反馈系统。PC/104外接PCM-3644通讯卡,可提供8路标准RS232串口。传感器均选用标准RS232接口,接插方便,易于更换,可扩展性强。ARM接收PC/104下达的指令后,开启定时器Timer生成脉冲宽度调制信号(PWM)控制舵机及有刷直流电机运转,进行调速或转向;或者生成PWM波,操纵引脚高低电平,驱动步进电机运转,从而改变帆角。该系统经过实验验证,有较高的精确度,在无人帆船自动航行控制中可达到良好的控制效果。

同时,受美国X-2风帆无人艇模块化概念设计启发,可将本套系统实用化为海上超长航程复合任务平台,可用于警戒、搜索、追踪、拦截等。风能为主、电能为辅的复合动力设计保证无人艇超长续航,非紧急状态下使用风帆推进,进入追踪、监视等紧急状态自动切换至电能推进,合理搭配能源使用,高效完成既定目标或应对突发状况。多任务模式对应多样化功能需求,平台需搭载多元功能模块,该设计目标对于平台的可扩展性、可复用性和模块化特点提出了较高要求,本文也以此为原则和创新点之一进行设计,不详述可加载的功能模块,在增加相应的功能单元时,只需将功能模块信号端接入PC/104外接设备,电源线接入供电模块,同时设计相应的处理软件即可。

2 无人帆船控制系统设计

2.1 硬件设计

无人帆船控制系统总体采用基于网络通讯的上、下位机体系,无人帆船控制系统总框图如图1所示。

图1 无人帆船控制系统总框图

无人帆船控制系统主要由以下几部分组成:

(1)核心控制单元

核心控制单元包括上位机和下位机,上位机主要用于监控无人帆船航行状态,选用便携式个人电脑。下位机用于采集并处理数据、发送操纵指令,置于无人帆船内部。下位机的选择综合考虑可扩展性、处理能力及尺寸,最终选取研华公司设计的PCM-3363主板,堆叠PCM-3644通讯卡以及PCM-3910电源板。

PCM-3363主板通过USB转TTL模块连接至ARM控制器的UART引脚,该电平转换模块主要为CH341A芯片,其电气设计原理图如图2所示。VCC默认接受USB的3.3 V电压。输入端J1与PC/104的USB口连接,输出端J2与ARM控制器的UART引脚连接。通过该模块可将PC/104端的电平转换为TTL电平以实现指令下达。

(2)通讯系统

广东地处于珠江下游河网地区,船闸主要分布在上游北江和东江航道上。随着北江航道扩能升级工程的推进,清远枢纽二线船闸、飞来峡枢纽二三线船闸、白石窑枢纽二线船闸等由交通运输部门投资改扩建和新建的多线船闸也将陆续建成投入使用,如何协调与原枢纽船闸业主的关系、解决多线多梯级船闸联合调度的难题也迫在眉睫。为了推动船闸规范管理,2017年,广东省交通运输厅专门组织开展了《广东省船闸通航规范管理体制方案》研究工作,参照广西所采取的“三统一分”的船闸委托代管模式,结合广东实际,研究提出以北江为试点,将北江全线船闸由广东省航道事务中心统一管理,实现北江多线多梯级船闸联合调度。

上位机通过远程桌面与下位机实现通讯,监控无人帆船航行状态。通讯设备的选取综合考虑传输速度、覆盖域及抗干扰能力,最终选用TP-LINK公司生产的WDR7400 1750M型双频无线路由器。该路由器5 GHz频段无线传输率高达1.3 Gb/s,测试传输距离远,且5 GHz频段用户少、不堵塞、信道纯净、干扰较少。上位机和下位机均配备5 GHz无线网卡,通过无线路由器建立的5 GHz局域网进行高速稳定通讯,确保了监控的实时性和超远控制范围。

图2 主控单元电气设计原理图

图3 底层驱动系统电气设计原理图

(3)底层驱动系统

底层驱动系统包括底层驱动器和执行器。底层驱动器选用ARM微处理器,该处理器以Cortex-M3为内核。无人帆船系统的控制包括帆角控制和艏向控制,风帆由步进电机操纵,艏向由舵机操纵,此外加装直流电机驱动螺旋桨推进,为方便实验结束后回收船舶。执行器分别为步进电机、舵机和直流无刷电机。

本文选用57HS76型步进电机,扭矩大、体积小、精度高、利于布置。该步进电机配备TB6560 3A步进电机驱动器,可进行调速、正反转调节、精度调节。采用6N137高速光耦,保证高速不失步;内置东芝TB6560AHQ原装芯片,含低压关断、过热停车以及过流保护电路,保证使用的安全性;并且该驱动器可对1.8°步长进行整步、半步、1/8步、1/16步细分。

步进电机驱动器信号输入端与ARM控制器脉冲信号端连接,输出端与步进电机信号线相连;输入端采用共阳接法,EN端低电平或悬空时为工作状态,高电平时为脱机状态;CLK端输入5 V脉冲,步进电机正转,无输入时自动进入半流状态,锁定电机;CW端低电平时正转,高电平时反转。步进电机与绝对式旋转编码器反馈对帆角形成闭环控制。

新品PT-P710BT外观小巧,不仅节省空间,也便于外出携带使用。融入日式美学的外观设计,简约而不失时尚。

与此类似,ARM控制器控制信号端连接直流无刷电机驱动器,驱动器输出端连接直流电机,可通过调节PWM波的占空比实现调速,同时可驱动电机正反转及刹车。舵机选用Tower Pro公司设计的MG995型大扭力伺服舵机,舵角与输入的50 Hz的PWM波占空比呈正相关。舵机与惯性导航仪的艏向反馈对帆船艏向形成闭环控制。

该套底层驱动系统也适用于其他自航模型实验,可移植性较好。底层驱动系统电气设计原理图如图3所示。

(4)数据采集系统

数据采集系统由多个传感器和通讯卡组成,传感器实时采集无人帆船传感信息,并均通过标准RS232接口以特定频率传送至通讯卡,方便易用,更换简单,可扩展性强。选取的传感器数据列表如表1所示。

DGPS系统所选型号为GNSS RTK,包括基站和移动站,基站为岸基系统,移动站置于无人帆船上,均可通过Ethernet端口连接PC,登录内置Web服务器进行监视和配置,设置输出频率、端口、NEMA-0183协议语句。惯性导航系统所选型号为AHRS5110M,集成三个MEMS陀螺仪、三个MEMS加速度计、三个磁场计,经过A/D转换模块后,接入CPU模块,并且在高性能数据处理芯片中嵌入特有的数据融合滤波算法,使系统即使在冲击振动状态下,也有稳定的姿态数据输出。绝对式旋转编码器测量帆角,单圈12位分辨率,采取IP67/IP68防护等级,连接ARM控制器时需共地。

许沁说东西寄国外了,玉敏有点信。玉敏对雨落说,许沁买钻戒时就说要送人的。雨落说钻戒送人了我信,但送国外了我不信。玉敏说你是说她在说谎么?雨落说我只是在猜测,如果她真的送国外了,一开始就会说出来。她后来才这么说,就有点耐人寻味了。我分析,她用的是策略。玉敏说倒也是,她说寄国外了,我们就不好要她退货了。雨落说不好要也不能不要,这事不能就这么不了了之。过两天再找她,慢慢说服她吧。玉敏说如果她真的寄国外,要不回来了呢?雨落说,那就让她补款。不过难度就大了,谁能捧出三十万不咬牙呀?先别说许沁有没有三十万,就是有,她会愿意捧出三十万么,何况钻戒是送人的呢。

所选传感器具有较大通用性,该套传感器系统可以方便地移植到其他自航模实验。

(5)供电系统

无人帆船的船载设备均通过高性能锂电池供电。由于设备众多,供电电压各异,为减小体积,采用宽输入隔离电源模块进行电压转换和隔离,具有隔离稳压功能和长期短路保护作用,所选的隔离电源模块为WD5-12S3.3VA1和WD12-12S05B1型。控制系统供电电压为直流24 V、12 V、5 V,使用一块24 V、3块12 V高性能锂电池供电,直流电机驱动器需24 V电源,可直接为直流电机供电;PC/104供电电压12 V,其电源板可输出5 V电压为散热器供电;DGPS、惯性导航系统及步进电机驱动器均为12 V供电;风向标、绝对式旋转编码器、ARM及舵机均为5 V供电,所需5 V电源通过12 V-5 V的隔离电源模块降压提供。各设备与电源通过插拔式接线端子连接,采用接口化设计,模块化程度高,使用方便,更换简洁,可移植性强。

表1 传感器型号

传感器差分GPS(DGPS)系统惯性导航系统风向传感器绝对式旋转编码器测量数据方位、船速艏向角环境风向帆角精度0.05 m角度精度<0.5°风向精度<0.2°风向精度<0.2°量程通讯距离30 km角度±180°0°~360°0°~360°通讯频率/Hz 50 100 50 50

2.2 软件设计

按照结构划分,无人帆船软件设计分为PC/104主控计算机软件设计和ARM控制器软件设计。按照本系统的设计目标,PC/104主控单元需采集、存储、显示并处理各传感器数据,向ARM控制器下达指令,因此需设计数据采集软件、监控界面、预留算法模块,数据存储功能包含于数据采集软件,指令生成下达功能包含于预留算法模块;ARM接收动作指令并执行,因此需设计执行器驱动程序。软件结构框架图如图4所示。

图4 无人帆船软件结构框图

整体软件流程图如图5所示。

图5 整体软件流程图

(1)执行器驱动程序设计

执行器驱动程序在PC端编辑,使用C语言开发,编译后经FlyMcu软件烧录进ARM控制器ROM并固化。程序功能为驱动电机、舵机和步进电机运转,主要包括指令接收和动作执行两部分,前者分析指令并解码指令值,后者使能定时器、GPIO,产生PWM信号和脉冲信号,驱动执行器动作。

(2)数据采集软件设计

无人帆船实验需要采集的数据在表1中测量数据栏,使用Python语言进行开发,分别开设四个串口读取传感器数据,将原始数据存于txt文本文件,校验数据并作切片处理,解码分析。采用多线程任务处理模式同步接收传感数据,保证数据的实时性。各传感器均采用标准RS232串口输出数据,因此不同采集模块的流程类似,以姿态传感器为例,其数据采集的实现流程如图6所示。

图6 姿态数据采集软件流程图

(3)算法模块设计

算法模块为预留模块,可根据实验需求设计。算法自数据采集软件获取数据,按照算法逻辑进行处理,得出最佳艏向角和操帆角,生成操控指令并打开特定串口下达给ARM执行程序。操控指令按特定数据协议生成,以十六进制发送。数据协议如图7所示。

图7 操纵指令数据协议

(4)监控界面设计

监控界面使用python自带的GUI设计模块TKinter进行设计,分为监控区域、自动航行控制、非自动航行控制。监控区域显示传感器数据,自动航行控制区域主要用于自动航行控制实验。自动航行实验开始时,推进电机关闭,仅利用风帆推进,数据采集软件开始读取并存储传感数据,算法模块开始计算、生成并下达操控指令。非自动航行控制区域用于非实验时间的船舶控制,有利于船舶的快速回收。监控界面如图8所示。

图8 无人帆船监控界面

3 实验

基于无人帆船最主要的研究工作为算法实验研究,本套系统以此为设计目标之一,但并不限于算法实验研究,同时可实用化为海上超长航程复合任务平台。若系统能够按照算法设计,精确地实现算法功能,那么该套系统便是成功的设计,可用于各种算法实验研究工作,同时也证明了复合任务平台基本航行功能的有效性。选用Roland Stelzer提出的一种简单有效的短途路径规划算法验证无人帆船系统的有效性,算法详见文献[14]。实验地点为上海交通大学致远湖,湖长260 m,宽80 m,湖深5 m,湖面周围无高大建筑物,风情较为稳定。

图9为实验中的无人帆船,船长1 m,宽0.4 m,排水量11 kg,选用的圆弧型帆高0.4 m,宽0.35 m。实验分为横风实验、顺风实验、逆风实验三种风况。对算法进行仿真,所得航迹结果如图10所示。

一是要有钱。自驾游是自掏腰包,非公款支持。有的人编排出某个内容,可能拉点赞助,在旅途中,欣赏美景的同时,顺便为赞助单位加以宣传呐喊,不是没有,数量有限。绝大多数,还是自助自乐。如此说来,要想自驾游,必须有点余款,寅吃卯粮的“月光族”,吃了上顿没下顿,就没有这个资格,即便心里有想法,也是做梦娶媳妇。一般来说,自驾游比跟团游的花费,只多不少。

图9 无人帆船实验现场图

图10 无人帆船三种风况仿真航迹图

图11 横风船舶航迹图

图12 顺风船舶航迹图

实验结果如图11~13所示,图14为实际艏向角对计算艏向角的响应图。由图14可以看出,实际艏向角对计算艏向角响应效果良好,契合程度较高。其中差值来源于实际风向的改变和船舶运动导致的目标向量的改变两方面的原因,差值的消除,均在5 s以内,这是船舶自动操纵对算法结果的实时响应,说明船舶可以通过灵敏的转舵,达到预期艏向值,时间在5 s以内,说明算法的执行效果良好,执行器对算法的响应效果优异。同时对比相同风况下的仿真结果可以看出,两者航迹线形状十分相近。图13中的航迹在最长处出现偏折是由于绝对风向改变。说明无人帆船控制系统可以精确而有效地实现算法功能。

图13 逆风船舶航迹图

图14 艏向角响应效果图

4 结束语

针对无人帆船的实验需求,设计了一套基于PC/104和ARM微处理器的无人帆船控制系统,且硬件、软件均具备良好性能,满足精度要求。同时硬件连接的模块化,丰富的外设接口,使得该套系统具备无可比拟的可扩展性、可移植性和可复用性,不仅可以应用于无人帆船的实验研究,还可以方便地插接其他功能模块和相应传感器,进行各种自航模实验研究,为无人帆船的实验研究节省大量时间。经过实验验证,该套系统可以精确有效地实现算法功能,可作为无人帆船实验研究的平台;同时作为海上超长航程复合任务平台的基本航行功能也得到了有效验证。后续的研究目标为搭载相应的功能模块进行实验,查看该平台对不同任务的执行效果,实验验证相应功能模块的具体可实现性。

参考文献:

[1]Stelzer R.Autonomous sailboat navigation[D].Leicester:De Montfort University,2012.

[2]Campbell S,Naeem W.A review on improving the autonomy of unmanned surface vehicles through intelligent collision avoidance manoeuvres[J].Annual Reviews in Control,2012(2).

[3]Zhang R B,Duan L Q.The evaluation method of autonomous performance for USV based on adjustable autonomy[C]//Proceedings of 2015 International Conference on Automation,Mechanical and Electrical Engineering(AMEE 2015),Phuket,Thailand,2015.

[4]余晓鑫,王孝洪.基于PC104单板微机和FPGA的救援救助机器人运动控制系统设计[J].制造业自动化,2009,31(9):95-98.

[5]Wang Jing.A fully integrated PC-architecture SoC for industrial control[C]//2007 IEEE International Symposium on Integrated Circuits,2007.

[6]李莉,吴星明.基于ARM与FPGA的机器人运动控制器的实现[J].计算机测量与控制,2007,15(9).

[7]Chen W H,Yang G L.Interactive-motion control of modular reconfigurable manipulators[C]//Proceedings of the 2003 IEEE/RSJI lnter Conference on Intelligent Robots and Systems,Las Vegas,Nevada,2003.

[8]郭晓松,于传强.一种通用型武器系统故障诊断与测试平台的研究[J].计算机工程,2007,33(12):234-236.

[9]杨少龙.无人操纵帆船设计及运动控制研究[D].大连:大连海事大学,2013.

[10]He Dongxian,Bai Youlu.A crop field remote monitoring system based on web-server-embedded technology and CDMA service[C]//Proc of SAINT’07,2007.

因为“1oo2”模型多了由危险失效导致的危险状态,因而当模型第一次发生危险失效时先转换到中间状态。中间状态再次发生失效时才能转换到最终结果状态。“1oo2”电路模型马尔科夫状态转换如图4所示,图4中相关物理量见表2所列。

[11]Zhang Tong,Zhou Jiqin.PC/104 embedded computer module design based on SPARC V8 processor[C]//Proceedings of 2015 Joint International Mechanical,Electronic and Information Technology Conference(JIMET 2015),Chongqing,China,2015.

[12]包乃兰,宁立革.一种嵌入式控制系统方案的研究[J].微计算机信息,2005,21(2):62-64.

[13]吕永健,谢文俊.基于PC104总线的飞机综合告警系统自动测试设备[J].空军工程大学学报,2002,3(2):24-26.

[14]Stelzer R,Pröll T.Autonomous sailboat navigation for short course racing[J].Elsevier Journal of Robotics and Autonomous Systems,2007,56(7):604-614.

[15]周小刚,单斌,汪立新,等.基于PC104的嵌入式转台控制系统设计[J].自动化应用,2012,3(1):62-66.

[16]赵蕊,余琨.无人水下航行器分布式运动控制系统设计与仿真验证[J].中国舰船研究,2014,9(6):92-99.

LUO Xiao,LIU Jingyang,WANG Jian,et al.Hardware and software design of high performance autonomous sailboat control system.Computer Engineering andApplications,2018,54(9):265-270.

Abstract:An autonomous sailboat control system is developed based on PC/104 and ARM for motion control precisely.The functions of ARM collect multiple real-time signals from individual sensors simultaneously,delivering the data to PC/104.And the PC/104 process the original data from ARM through algorithm,give order series to ARM at particular periods,and then ARM can produce Pulse Width Modulation and high or low level signal to motivate the actuators.PC/104 is chosen to be the central processing unit because of small size,high reliability and real-time performance.Wireless communication network whose frequency spectrum ranges 5 GHz provides a promising speed as well as less interruption.A control algorithm is programmed and embedded in the control system.Then experiments which differ the environmental parameters are carried out in the lake in Shanghai Jiao Tong University.Results indicate that the effects of control are excellent.Since the control system can be transplanted and extended conveniently,it can be an amazing test bed reference to autonomous sailboat control research,saving a lot of time.It can also be applied to execute different tasks which features a super long cruising distance and compound propulsion at sea with related modules installed correctly and software designed.

Key words:PC/104;ARM;autonomous sailboat;motion control;software design;hardware design

摘 要:设计了一套基于嵌入式系统PC/104和ARM微处理器的无人帆船控制系统,该系统可实时采集无人帆船运动控制所需多路传感器信号,经处理后生成运动控制序列指令,由ARM产生PWM信号或者高低电平信号,驱动执行器动作,完成无人帆船运动的精确控制。采用PC/104作为中央处理器,可有效节省布置空间,保证较高的可靠性和实时性,优于当前普遍使用的无人帆船控制系统。采用5 GHz无线路由器构建局域网,覆盖范围广,信道纯净,干扰较少。结果表明,该控制系统能够达到良好的运动控制效果。且该套系统具备高度可移植性和扩展性,可作为无人帆船控制实验平台的参考,也可实用化为海上超长航程复合任务平台。


往期热文(点击文章标题即可直接阅读)


登录查看更多
0

相关内容

安谋控股公司,又称ARM公司,跨国性半导体设计与软件公司,总部位于英国英格兰剑桥。主要的产品是ARM架构处理器的设计,将其以知识产权的形式向客户进行授权,同时也提供软件开发工具。 维基百科
FPGA加速系统开发工具设计:综述与实践
专知会员服务
63+阅读 · 2020年6月24日
【UCLA】基于深度神经网络的工业大模型预测控制,36页ppt
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
121+阅读 · 2020年5月22日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
28+阅读 · 2020年3月5日
新时期我国信息技术产业的发展
专知会员服务
69+阅读 · 2020年1月18日
阿里巴巴达摩院发布「2020十大科技趋势」
专知会员服务
105+阅读 · 2020年1月2日
2019中国硬科技发展白皮书 193页
专知会员服务
78+阅读 · 2019年12月13日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
133+阅读 · 2019年12月12日
Acta Mater. 基于机器学习设计出新型超高强不锈钢
材料科学与工程
5+阅读 · 2019年9月2日
《常用算法之智能计算 (五) 》:模糊计算
数盟
8+阅读 · 2018年12月24日
面向云端融合的分布式计算技术研究进展与趋势
中国计算机学会
18+阅读 · 2018年11月27日
【大数据】海量数据分析能力形成和大数据关键技术
产业智能官
17+阅读 · 2018年10月29日
鹰眼科技:3D视觉 解决树脂塞孔检测难题
未来产业促进会
5+阅读 · 2018年6月10日
Arxiv
6+阅读 · 2018年3月27日
Arxiv
3+阅读 · 2012年11月20日
VIP会员
相关VIP内容
FPGA加速系统开发工具设计:综述与实践
专知会员服务
63+阅读 · 2020年6月24日
【UCLA】基于深度神经网络的工业大模型预测控制,36页ppt
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
121+阅读 · 2020年5月22日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
28+阅读 · 2020年3月5日
新时期我国信息技术产业的发展
专知会员服务
69+阅读 · 2020年1月18日
阿里巴巴达摩院发布「2020十大科技趋势」
专知会员服务
105+阅读 · 2020年1月2日
2019中国硬科技发展白皮书 193页
专知会员服务
78+阅读 · 2019年12月13日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
133+阅读 · 2019年12月12日
Top
微信扫码咨询专知VIP会员