CN109582028A - 一种基于app终端监控的自主避障帆船机器人*** - Google Patents
一种基于app终端监控的自主避障帆船机器人*** Download PDFInfo
- Publication number
- CN109582028A CN109582028A CN201910060534.6A CN201910060534A CN109582028A CN 109582028 A CN109582028 A CN 109582028A CN 201910060534 A CN201910060534 A CN 201910060534A CN 109582028 A CN109582028 A CN 109582028A
- Authority
- CN
- China
- Prior art keywords
- sailing boat
- control
- transmission module
- sail
- transparent transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 14
- 230000005540 biological transmission Effects 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 18
- 230000004888 barrier function Effects 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000011161 development Methods 0.000 claims description 8
- 238000013459 approach Methods 0.000 claims description 5
- 230000033001 locomotion Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 claims description 3
- 208000010877 cognitive disease Diseases 0.000 claims description 2
- 230000005284 excitation Effects 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims 1
- 238000000465 moulding Methods 0.000 claims 1
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 6
- 230000003993 interaction Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005183 dynamical system Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000283153 Cetacea Species 0.000 description 1
- 206010010356 Congenital anomaly Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- QUSSPXNPULRXKG-UHFFFAOYSA-N galleon Natural products O1C(=CC=2)C(OC)=CC=2CCCCC(=O)CCC2=CC=C(O)C1=C2 QUSSPXNPULRXKG-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/0206—Control of position or course in two dimensions specially adapted to water vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种基于APP终端监控的自主避障帆船机器人***,包括船上设备和岸上设备。所述的船上设备包括船体、帆、桅杆、舵机、收索机、风速传感器、风向传感器、GPS与姿态传感器、双目摄像头、中央处理器、Arduino副控制器和船上无线透传模块。所述的岸上设备包括岸上无线透传模块、蓝牙串口模块、Android移动终端和上位机。本发明通过对Android移动终端的开发,可以实现帆船机器人与Android移动终端之间的双向信息交互。操作人员通过Android移动终端可以实时观看帆船机器人的航行数据并选择帆船机器人的航行模式,必要情况下可以通过手动控制帆船机器人,具有信息化、智能化的优势。
Description
技术领域
本发明涉及帆船机器人自主控制技术以及远程遥控监测技术,特别是一种基于APP终端监控的自主避障帆船机器人***,属于智能机器人技术领域。
背景技术
随着海洋经济的全面发展,在海洋环境监测、极端气象预警、港口安保巡逻等方面无人船舶的应用越来越普遍。传统的依赖螺旋桨推进的无人船舶存在着续航时间短、能量消耗大等先天性不足,并且一旦动力***出现故障,此类无人船舶就无法前进,对动力***的可靠性要求非常高。
与之相比,帆船机器人具有续航时间长、机动性能好、绿色环保无污染、可靠性强、人力成本低等优势。通常,帆船机器人的续航时间达到数周甚至数月,在作业海区能够保持半永久性存在,可以替代系泊浮标实现对定点区域的数据采集。同时,帆船机器人无需考虑动力***的能量消耗,可以有效延长其余子***的工作时长,大大提高***工作效率,在降低部署和应用的成本同时兼具绿色环保无污染的特点。目前,帆船机器人已经在海洋调查和海洋哺乳动物研究上得到了实际应用。其潜在的应用领域还包括:作为补给船,往返于群岛与大陆之间,给岛上的人员运送物资;作为大型帆船的辅助***,船员在长途航行中可以切换到自主航行模式,减少人员的疲劳。作为海上通信基站,为远距离通信提供中继服务。
关于帆船机器人,国内外的研究已经有一定的技术基础,从2008年开始,形成了每年定期举办的帆船机器人WRSC国际比赛和IRSC国际会议,为相关国际交流提供了良好平台。目前,帆船机器人基本的硬件组成包括:中央处理器、风力计、GPS、姿态仪、通信设备、电池等。其中,中央处理器是帆船机器人的核心组件,根据帆船可用空间的大小可分别选用微控器、PDA或者x86计算机(例如ITX主板)。例如Bruder帆船选用的中央处理器是一台PDA,英国南安普顿的帆船机器人队伍则采用Raspberry Pi作为中央处理器。风力计是用来测量风速和风向的传感器,主要有两种:一种是带有活动部件的风向标,另一种是不带活动部件的超声波传感器。对于通信方式的选择,依据帆船机器人航行距离的远近可选用以下三种方式:(1)短距离航行用WiFi通信,存在着通信距离短并且天线安装位置需要尽可能高等问题;(2)中距离航行可用GPRS移动通信模块,虽然通信带宽比较高,但是费用较贵并且通信距离受服务提供商的网络覆盖范围限制;(3)远距离航行则采用卫星通信,虽然能够大大提高通信距离,但是通信延时较大并且传输数据量较低。目前浙江大学的帆船机器人采用的是WiFi通信,而国际上参加跨大西洋挑战的帆船机器人则采用卫星通信。
已有的帆船机器人主要存在着以下几个问题:
1、没有考虑与Android移动终端进行结合,操作人员无法通过移动终端获取帆船机器人实际航行数据,紧急情况下无法通过移动终端来操作帆船机器人。
2、缺乏有效的避障措施,帆船机器人在海面上航行有可能遇到危险状况,例如遇到渔网、进入岛礁区域或者航线上有其它船舶。如果缺乏自主避障功能会导致帆船机器人出现被渔网缠住的情况或者因为触礁、碰撞而致使帆船机器人受损。
3、通信受限。目前大多数帆船机器人采用WiFi通信或者利用GPRS移动通信模块实现船岸之间的通信。WiFi通信距离短,而在海面上航行时,移动服务商的网络又基本覆盖不到,因此这两种通信方式不适合帆船机器人。
发明内容
为了解决现有技术存在的上述问题,本发明需要设计一种通信距离长、结构简单并且易于维护的基于APP终端监控的自主避障帆船机器人***。并且该***能在作业海区可靠地运行。
为了实现上述目的,本发明的技术方案如下:一种基于APP终端监控的自主避障帆船机器人***,包括船上设备和岸上设备。
所述的船上设备包括船体、帆、桅杆、舵机、收索机、风速传感器、风向传感器、GPS与姿态传感器、双目摄像头、中央处理器、Arduino副控制器和船上无线透传模块。所述的风速传感器、风向传感器、GPS与姿态传感器、双目摄像头和船上无线透传模块均与中央处理器连接。所述的Arduino副控制器一端连到中央处理器、另一端分别连接帆伺服机构和舵伺服机构,所述的帆伺服机构控制收索机,舵伺服机构控制舵机。
所述的岸上设备包括岸上无线透传模块、蓝牙串口模块、Android移动终端和上位机。所述的蓝牙串口模块一端连接岸上无线透传模块、另一端通过蓝牙方式与Android移动终端连接。所述的上位机直接连接无线透传模块。
所述的船上无线透传模块与岸上无线透传模块双向连接。
所述的中央处理器组成控制单元,所述的Arduino副控制器、帆伺服机构和舵伺服机构组成执行单元,所述的风速传感器、风向传感器、GPS与姿态传感器和双目摄像头组成探测单元,所述的船上无线透传模块、岸上无线透传模块、蓝牙串口模块、Android移动终端和上位机组成通信单元。
所述的风速传感器和风向传感器负责采集风速和风向信息并返回给中央处理器;所述的GPS与姿态传感器负责采集帆船机器人当前GPS坐标、速度、姿态信息并返回给中央处理器;所述的双目摄像头负责识别障碍物并将障碍物信息返回给中央处理器;所述的船上无线透传模块负责将中央处理器传过来的帆船运动数据发送给岸上无线透传模块,同时接收岸上无线透传模块发送过来的控制命令,并将控制命令传递给中央处理器;所述的岸上无线透传模块负责接收来自船上无线透传模块的帆船运动数据并分别传递给上位机以及通过蓝牙串口模块传递给Android移动终端,同时接收来自Android移动终端通过蓝牙串口模块发送过来的控制命令并将该控制命令发送给船上无线透传模块。
所述的Arduino副控制器采用Arduino UNO R3开发板,负责接收来自中央处理器的控制命令,然后将该控制命令转化成实际的脉冲宽度调制信号即PWM信号,分别控制舵伺服机构与帆伺服机构,通过电位器将舵机与收索机的转轴的位置转换成电信号,然后与输入的脉冲宽度调制信号进行比较产生误差信号。当舵机与收索机的转轴轴没有到达目标位置时,误差信号被放大并作为舵机与收索机的输入,使舵机与收索机继续转动到目标位置;当舵机与收索机的转轴到达目标位置时,误差信号为零,舵机与收索机停止转动并保持在目标位置。
所述的中央处理器使用Raspberry Pi 3B+开发板,负责接收来自风速传感器、风向传感器、GPS与姿态传感器、双目摄像头的数据并运行航行控制算法,将产生的控制命令发送给Arduino副控制器。并将收集到的帆船运动信息通过船上无线透传模块发送出去。中央处理器中安装ROS机器人操作***,分别建立风速与风向传感器节点、GPS与姿态传感器节点、双目摄像头节点、无线透传模块节点、控制与避障算法节点、Arduino副控制器节点。帆船机器人的航行模式有两种,分别是自动航行模式与手动航行模式。在自动航行模式下,控制与避障算法节点运行航行控制算法,订阅来自其它传感器节点的消息、获取各传感器数据并发布含有舵角与帆角控制指令的消息;Arduino副控制器节点通过订阅控制与避障算法节点的消息来获取舵角与帆角的控制命令;无线透传模块节点通过订阅各传感器节点发布的消息获取帆船实际航行数据并发送给上位机以及Android移动终端。在手动航行模式下,Arduino副控制器节点通过订阅无线透传模块节点的消息获取来自Android移动终端的控制命令。
所述的上位机开发基于Qt,利用串口通信接收数据,当检测到串口缓存区有数据时会触发一个信号,激励接收数据的槽函数读取串口缓存区数据并进行解帧、显示。通过上位机,操作人员可以在可视化的界面上察看帆船机器人航行数据以及轨迹。
所述的Android移动终端程序基于Java语言,采用Android Studio开发。利用多线程技术,通过蓝牙方式与蓝牙串口模块建立联系。在接收帆船实际运动信息的同时发送控制命令,实现Android设备终端对帆船机器人的监控和操作。同时通过Android设备终端切换控制模式,实现帆船机器人在自主航行与远程遥控航行模式之间的转换。
所述的控制与避障算法包括舵控制算法、帆控制算法以及避障算法。对于舵机的控制采用基于航向误差的PID控制器,PID控制器输入为期望航向与当前航向的偏差以及转艏角速度,输出为舵角指令,控制目的是使帆船机器人保持在期望航向上。帆的控制采用模糊逻辑控制器,模糊逻辑控制器输入为相对风向角、风速、帆船机器人横摇角,输出角度为帆角指令,控制目的是使帆船获得最大速度。对于帆船的短途路径规划采用人工势场法,构建一个虚拟的势场,帆船机器人在势场中的运动受驱动帆船机器人驶向目标点的引力以及远离障碍物的斥力决定。首先构建目标点势场函数Ug、障碍物势场函数Uo以及风势场函数Uw,然后分别计算帆船机器人在三个势场中受到的作用力,其中,目标点势场函数Ug为:
Ug=Ggdg
式中:Gg是恒定的加权因子,dg是帆船机器人位置与当前路径点位置的距离。障碍物势场函数Uo为:
式中:Go是加权因子,do是帆船机器人当前位置与障碍物位置的距离,dinf是障碍物对帆船机器人开始产生影响的距离。风势场函数Uw为:
式中:Vmax是根据帆速度极坐标图估计出的帆船机器人最大速度,V是帆船机器人当前实际速度,Gv是恒定的加权因子,Pngz是与逆风和顺风禁区相关的常值,Ph是引入的滞后势场防止帆船机器人过于频繁地调整航向。最后将将帆船机器人在三个势场下的作用力进行加和,帆船机器人便朝着合力的方向前进。
与现有技术相比,本发明的优点和有益效果是:
1、本发明通过对Android移动终端的开发,可以实现帆船机器人与Android移动终端之间的双向信息交互。操作人员通过Android移动终端可以实时观看帆船机器人的航行数据并选择帆船机器人的航行模式,必要情况下可以通过手动控制帆船机器人。操作人员可以全程参与到帆船机器人的航行中并及时收到反馈信息,具有信息化、智能化的优势。
2、本发明帆船机器人利用人工势场法完成帆船机器人短途路径规划,帆船机器人在目标点Ug、障碍物Uo以及风Uw的势场作用下规划出短途路径,当帆船机器人越靠近障碍物时,通过构建的障碍物Uo势场函数将会使斥力趋近于无穷大,避免帆船机器人与障碍物发生碰撞。
3、本发明采用无线透传模块作为船岸之间的通信工具,可以有效延长帆船机器人与岸上的通信距离,同时具有实时性高、环境适应性强、可以有效避免干扰等优点。避免出现采用WiFi通信距离不够以及采用GPRS移动通信模块出现移动网络信号覆盖不到的问题。
4、本发明中央处理器采用ROS机器人操作***进行开发,利用其分布式的特点。当帆船机器人某个传感器需要更换时,只需要修改该传感器对应的节点程序而无须对整个***进行大的调整。同时也省去了重新设计电路、编写底层驱动程序等繁琐的步骤,只需将对应接线连接即可,具有结构简单并且易于维护的特点。
附图说明
本发明仅有附图1张,其中:
图1是本发明的组成结构框图。
具体实施方式
下面结合附图对本发明做进一步详细地描述:如图1所示,一种基于APP移动终端监控的自主避障帆船机器人***。具体设计思路如下:
一、控制模块
本发明采用Raspberry Pi 3B+作为中央处理器,其操作***基于Linux,是一款基于ARM的微型电脑主板。与其它处理器相比,Raspberry Pi 3B+最大的优点是体积小,主板只有***片大小,但是却具有电脑的所有功能,运算处理性能优异。与前一代相比,Raspberry Pi 3B+内存高达1G,通用输入输出接口提升到了40个,USB接口也从以前的2个增加到了4个,同时功耗更低。真正做到了以更低的功耗实现更强大的运算处理性能。
在Raspberry Pi 3B+中安装ROS机器人操作***,通过ROS***来开发核心控制程序。ROS***专门为机器人开发所设计,提供类似于操作***的服务,包括底层驱动的管理、进程间消息传递、硬件抽象描述以及程序发行包管理。在ROS中,最小的单元是节点(nodes),节点是每个可执行文件所运行的进程。所有的节点通过Master来管理,如果没有Master,节点将无法找到其他节点导致节点间无法互发消息。节点之间通过messages来传递消息,messages通过发布/订阅的方式传递。每一个节点都可以针对特定的topic发布消息,其它节点通过订阅该topic就可以获得特定类型的数据。ROS***作为专用的机器人操作***,每个可执行文件都可以单独设计,运行时松散耦合。当需要为机器人额外添加设备时只需为该设备单独建立一个节点即可,不用对整个***进行修改。通过这种模块化的设计方式可以极大提高***的可扩展性。
本发明建立了风速传感器节点、风向传感器节点、GPS与姿态传感器节点、双目摄像头节点、无线透传模块节点、控制与避障算法节点、Arduino副控制器节点共计7个节点。其中风速传感器节点与风向传感器节点分别负责接收来自风速传感器与风向传感器的数据并解帧得到风速与风向数据,然后发布含有风速风向数据的消息;GPS与姿态传感器节点负责接收来自GPS与姿态传感器的数据并解帧得到帆船的速度、航向、横摇、GPS坐标等数据,然后发布含有GPS与姿态数据的消息;双目摄像头节点负责接收来自双目摄像头的数据并解帧得到障碍物的距离等信息,然后发布含有障碍物信息的消息;无线透传模块节点负责订阅GPS与姿态传感器节点、风速传感器节点、风向传感器节点、双目摄像头节点的消息,并将这些数据上传给上位机以及Android移动终端,同时接收来自Android移动终端的控制命令并发布含有该控制命令的消息;Arduino副控制器节点负责订阅来自控制与避障算法节点以及无线透传模块节点的消息,获得舵角以及帆角的控制命令;控制与避障算法节点负责订阅所有传感器节点的消息以运行航行控制算法并发布含有舵角以及帆角控制命令的消息。
中央处理器的核心功能是获取所有传感器的数据,运行航行控制算法并将产生的控制命令传递给Arduino副控制器,同时将帆船航行的数据打包通过无线透传模块发给上位机以及Android移动终端。
控制算法开发包括舵的控制算法、帆的控制算法以及采用人工势场法进行局部路径规划以避开障碍物。(1)舵的控制采用基于航向误差的PID控制,航向误差数据通过GPS与姿态传感器经过一定的计算获得。(2)帆的控制利用模糊逻辑控制器,并引入横摇角以及风速,当横摇角或者风速过大的时候适当松帆攻角以保证帆船航行的安全性。(3)引入人工势场法进行局部路径规划以避开障碍物,通过构建一个虚拟的势场,障碍物相对于帆船机器人产生斥力,目标点相对于帆船机器人产生引力,在合力的作用下避开障碍物到达目标点。人工势场法原理简单、规划出来的路径比较平滑而且安全。
二、执行模块
执行模块包括Arduino副控制器以及舵伺服机构和帆伺服机构,其中Arduino副控制器采用Arduino UNO R3开发板。Arduino UNO R3开发板是基于ATmega328P的微控制器板。它有14个数字输入/输出引脚(其中6个可用作PWM输出),6个模拟输入,16MHz晶振时钟,USB接口,电源插孔,ICSP接头和复位按钮。其中数字接口9、10是专用的舵机接口可以直接用来驱动舵机。在本发明中,Arduino副控制器负责接收来自控制模块的控制命令,将其转化成PWM信号后利用舵机接口9、10分别驱动舵机与收索机。
三、探测模块
探测模块主要包括各传感器,本发明用到的传感器包括风速传感器、风向传感器、GPS与姿态传感器、双目摄像头。其中风速传感器与风向传感器采用建大仁科公司生产的模拟量型传感器;GPS与姿态传感器采用mini INS/GPS惯性导航AHRS+ublox-MAX-6Q,内建GPS天线+STM32主控。双目摄像头采用CMOS感光高清双目摄像头。探测模块负责向控制模块发送当前风速与风向、帆船机器人速度、航向、经纬度、横摇角、帆角以及障碍物距离等信息。
四、通信模块
通信模块主要包括无线透传模块、蓝牙串口模块、上位机、Android移动终端。其中无线透传模块包括采用成都亿佰特公司生产的E32系列无线模块,利用无线透传模块可以大大增加船岸之间的通信距离。Android移动终端与无线透传模块之间通过蓝牙串口模块连接。
上位机程序的开发基于Qt5.7,Qt是C++图形用户界面应用程序开发框架,包括多达250个以上的C++类,并引入一种信号与槽的机制。上位机通过串口进行通信,调用QSerialPort类设置串口通信参数,包括打开端口号、设置通信数据位、波特率、校验位以及流控制,然后进行串口数据读取。当串口数据缓存区有数据时,会产生一个readyRead的信号,然后将该信号与接收槽函数连接起来,就可以驱动接收槽函数读取串口缓存区数据,最后解帧并显示。上位机包括两个界面分别是主界面和串口界面,通过串口界面我们可以完成串口通信的参数配置,参数配置完毕之后打开串口然后进入到主界面,主界面与串口界面之间通过信号与槽机制相互传值。
Android移动终端程序开发基于Java语言,利用Android Studio编写移动终端的应用程序。Android移动终端以蓝牙方式连接到蓝牙串口模块,首先获得***默认的蓝牙适配器然后检查Android移动终端蓝牙是否打开,然后设置蓝牙设备可见。接着***调用bluetoothAdapter.startDiscovery()方法搜索可用的蓝牙设备,通过广播的方式接收扫描结果。如果确认搜索到设备之后可以从BluetoothDevice对象中获得设备的名称和地址。完成设备的配对和连接之后就可以进行蓝牙通信。Android Studio移动终端程序的开发采用多线程机制,我们为蓝牙设备的连接以及数据的读取和发送分别建立不同的线程。
下面对本发明的工作方式做一下说明,本发明帆船机器人的工作方式包括两种:一种处于自主航行模式,另一种处于远程遥控模式。设置Raspberry Pi 3B+为开机自启动,启动帆船机器人开关完成***上电,帆船机器人默认进入自主航行模式。处于该模式下,Android移动终端以及上位机只接收来自帆船机器人的航行数据。Raspberry Pi 3B+接收来自各传感器的数据,运行航行控制算法并产生帆角和舵角控制指令,然后Arduino副控制器接收该控制指令并经过运算转化成实际的PWM信号驱动舵机与收索机实现对帆船的自动控制。当通过Android移动终端选择帆船机器人进入远程遥控模式下,Raspberry Pi 3B+不再运行航行控制算法,只接收来自Android移动终端的控制命令,然后将该控制命令发送给Arduino副控制器完成对舵机和收索机的控制。
本发明可以实现以下功能:
1、本发明可以通过Android移动终端实现对帆船机器人的监控和操作,实现帆船机器人航行数据的可视化。通过Android移动终端可以选择帆船机器人的航行模式,用户可以在自主航行模式与远程遥控模式之间进行切换。
2、本发明可以利用双目摄像头对障碍物进行有效的探测和识别,可以应用于目标监测。同时通过引入人工势场法对帆船机器人进行路径规划,可以实现避障功能。当进入到危险区域时自动避开障碍物,以免对帆船机器人造成损害。
3、本发明通过无线透传模块实现船岸之间的通信,可以避免利用WiFi通信以及GPRS移动通信模块通信等方式的不足,大大提高通信距离。当有超远距离通信需求时,帆船机器人也可以作为海上通信基站,提供中继服务。
本发明不局限于本实施例,任何在本发明披露的技术范围内的等同构思或者改变,均列为本发明的保护范围。
Claims (1)
1.一种基于APP终端监控的自主避障帆船机器人***,包括船上设备和岸上设备;
其特征在于:所述的船上设备包括船体、帆、桅杆、舵机、收索机、风速传感器、风向传感器、GPS与姿态传感器、双目摄像头、中央处理器、Arduino副控制器和船上无线透传模块;所述的风速传感器、风向传感器、GPS与姿态传感器、双目摄像头和船上无线透传模块均与中央处理器连接;所述的Arduino副控制器一端连到中央处理器、另一端分别连接帆伺服机构和舵伺服机构,所述的帆伺服机构控制收索机,舵伺服机构控制舵机;
所述的岸上设备包括岸上无线透传模块、蓝牙串口模块、Android移动终端和上位机;所述的蓝牙串口模块一端连接岸上无线透传模块、另一端通过蓝牙方式与Android移动终端连接;所述的上位机直接连接无线透传模块;
所述的船上无线透传模块与岸上无线透传模块双向连接;
所述的中央处理器组成控制单元,所述的Arduino副控制器、帆伺服机构和舵伺服机构组成执行单元,所述的风速传感器、风向传感器、GPS与姿态传感器和双目摄像头组成探测单元,所述的船上无线透传模块、岸上无线透传模块、蓝牙串口模块、Android移动终端和上位机组成通信单元;
所述的风速传感器和风向传感器负责采集风速和风向信息并返回给中央处理器;所述的GPS与姿态传感器负责采集帆船机器人当前GPS坐标、速度、姿态信息并返回给中央处理器;所述的双目摄像头负责识别障碍物并将障碍物信息返回给中央处理器;所述的船上无线透传模块负责将中央处理器传过来的帆船运动数据发送给岸上无线透传模块,同时接收岸上无线透传模块发送过来的控制命令,并将控制命令传递给中央处理器;所述的岸上无线透传模块负责接收来自船上无线透传模块的帆船运动数据并分别传递给上位机以及通过蓝牙串口模块传递给Android移动终端,同时接收来自Android移动终端通过蓝牙串口模块发送过来的控制命令并将该控制命令发送给船上无线透传模块;
所述的Arduino副控制器采用Arduino UNO R3开发板,负责接收来自中央处理器的控制命令,然后将该控制命令转化成实际的脉冲宽度调制信号即PWM信号,分别控制舵伺服机构与帆伺服机构,通过电位器将舵机与收索机的转轴的位置转换成电信号,然后与输入的脉冲宽度调制信号进行比较产生误差信号;当舵机与收索机的转轴轴没有到达目标位置时,误差信号被放大并作为舵机与收索机的输入,使舵机与收索机继续转动到目标位置;当舵机与收索机的转轴到达目标位置时,误差信号为零,舵机与收索机停止转动并保持在目标位置;
所述的中央处理器使用Raspberry Pi 3B+开发板,负责接收来自风速传感器、风向传感器、GPS与姿态传感器、双目摄像头的数据并运行航行控制算法,将产生的控制命令发送给Arduino副控制器;并将收集到的帆船运动信息通过船上无线透传模块发送出去;中央处理器中安装ROS机器人操作***,分别建立风速与风向传感器节点、GPS与姿态传感器节点、双目摄像头节点、无线透传模块节点、控制与避障算法节点、Arduino副控制器节点;帆船机器人的航行模式有两种,分别是自动航行模式与手动航行模式;在自动航行模式下,控制与避障算法节点运行航行控制算法,订阅来自其它传感器节点的消息、获取各传感器数据并发布含有舵角与帆角控制指令的消息;Arduino副控制器节点通过订阅控制与避障算法节点的消息来获取舵角与帆角的控制命令;无线透传模块节点通过订阅各传感器节点发布的消息获取帆船实际航行数据并发送给上位机以及Android移动终端;在手动航行模式下,Arduino副控制器节点通过订阅无线透传模块节点的消息获取来自Android移动终端的控制命令;
所述的上位机开发基于Qt,利用串口通信接收数据,当检测到串口缓存区有数据时会触发一个信号,激励接收数据的槽函数读取串口缓存区数据并进行解帧、显示;通过上位机,操作人员可以在可视化的界面上察看帆船机器人航行数据以及轨迹;
所述的Android移动终端程序基于Java语言,采用Android Studio开发;利用多线程技术,通过蓝牙方式与蓝牙串口模块建立联系;在接收帆船实际运动信息的同时发送控制命令,实现Android设备终端对帆船机器人的监控和操作;同时通过Android设备终端切换控制模式,实现帆船机器人在自主航行与远程遥控航行模式之间的转换;
所述的控制与避障算法包括舵控制算法、帆控制算法以及避障算法;对于舵机的控制采用基于航向误差的PID控制器,PID控制器输入为期望航向与当前航向的偏差以及转艏角速度,输出为舵角指令,控制目的是使帆船机器人保持在期望航向上;帆的控制采用模糊逻辑控制器,模糊逻辑控制器输入为相对风向角、风速、帆船机器人横摇角,输出角度为帆角指令,控制目的是使帆船获得最大速度;对于帆船的短途路径规划采用人工势场法,构建一个虚拟的势场,帆船机器人在势场中的运动受驱动帆船机器人驶向目标点的引力以及远离障碍物的斥力决定;首先构建目标点势场函数Ug、障碍物势场函数Uo以及风势场函数Uw,然后分别计算帆船机器人在三个势场中受到的作用力,其中,目标点势场函数Ug为:
Ug=Ggdg
式中:Gg是恒定的加权因子,dg是帆船机器人位置与当前路径点位置的距离;障碍物势场函数Uo为:
式中:Go是加权因子,do是帆船机器人当前位置与障碍物位置的距离,dinf是障碍物对帆船机器人开始产生影响的距离;风势场函数Uw为:
式中:Vmax是根据帆速度极坐标图估计出的帆船机器人最大速度,V是帆船机器人当前实际速度,Gv是恒定的加权因子,Pngz是与逆风和顺风禁区相关的常值,Ph是引入的滞后势场防止帆船机器人过于频繁地调整航向;最后将将帆船机器人在三个势场下的作用力进行加和,帆船机器人便朝着合力的方向前进。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910060534.6A CN109582028A (zh) | 2019-01-22 | 2019-01-22 | 一种基于app终端监控的自主避障帆船机器人*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910060534.6A CN109582028A (zh) | 2019-01-22 | 2019-01-22 | 一种基于app终端监控的自主避障帆船机器人*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109582028A true CN109582028A (zh) | 2019-04-05 |
Family
ID=65916971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910060534.6A Pending CN109582028A (zh) | 2019-01-22 | 2019-01-22 | 一种基于app终端监控的自主避障帆船机器人*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582028A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471427A (zh) * | 2019-09-06 | 2019-11-19 | 大连海事大学 | 一种基于路径规划与人工势场法的船舶编队智能避碰方法 |
CN110597495A (zh) * | 2019-09-06 | 2019-12-20 | 遵义师范学院 | 一种水面无人船舰操作***及设计方法 |
CN110749473A (zh) * | 2019-10-21 | 2020-02-04 | 南通大学 | 一种无人船的水样自动采集装置 |
CN111277792A (zh) * | 2020-01-08 | 2020-06-12 | 北京航天发射技术研究所 | 一种基于移动终端的小型船艇操控***及方法 |
CN111292558A (zh) * | 2020-02-18 | 2020-06-16 | 大连海事大学 | 一种基于船舶宽带自组网的海上智能终端即时通讯app |
CN111324128A (zh) * | 2020-03-17 | 2020-06-23 | 广东电网有限责任公司 | 一种有助于跨河架空线路避障船只航行方法及*** |
CN111338358A (zh) * | 2020-04-14 | 2020-06-26 | 山东省工业设计研究院有限公司 | 一种无人驾驶游艇 |
US10739141B2 (en) | 2013-09-03 | 2020-08-11 | Fugro Chance, Inc. | Interactive remote guidance system for seaborne vessels |
CN112925222A (zh) * | 2021-02-01 | 2021-06-08 | 武汉理工大学 | 一种基于ros的无人艇运动控制仿真方法及装置 |
CN113313923A (zh) * | 2021-04-30 | 2021-08-27 | 苏州优世达智能科技有限公司 | 一种基于stm32f103的无人船智能遥控器控制*** |
CN115291615A (zh) * | 2022-10-10 | 2022-11-04 | 中国海洋大学 | 一种自适应追涡观测***及其控制方法、装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2276217A1 (fr) * | 1974-06-28 | 1976-01-23 | Oxy Metal Industries Corp | Dispositif pour piloter et diriger une embarcation |
EP2184224B1 (en) * | 2008-11-11 | 2011-10-05 | Harken Italy S.p.A. | Apparatus and method for automatically adjusting the sail surface exposed to the wind |
CN202421899U (zh) * | 2011-12-19 | 2012-09-05 | 大连海事大学 | 一种智能帆船自动控制*** |
CN103558854A (zh) * | 2013-11-05 | 2014-02-05 | 武汉理工大学 | 一种风帆助航船舶航向控制方法及*** |
CN104619051A (zh) * | 2014-12-29 | 2015-05-13 | 北京中体动力数字技术有限公司 | 移动无线基站 |
CN105843042A (zh) * | 2016-04-11 | 2016-08-10 | 大连海事大学 | 一种便携式船舶自动舵检测*** |
-
2019
- 2019-01-22 CN CN201910060534.6A patent/CN109582028A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2276217A1 (fr) * | 1974-06-28 | 1976-01-23 | Oxy Metal Industries Corp | Dispositif pour piloter et diriger une embarcation |
EP2184224B1 (en) * | 2008-11-11 | 2011-10-05 | Harken Italy S.p.A. | Apparatus and method for automatically adjusting the sail surface exposed to the wind |
CN202421899U (zh) * | 2011-12-19 | 2012-09-05 | 大连海事大学 | 一种智能帆船自动控制*** |
CN103558854A (zh) * | 2013-11-05 | 2014-02-05 | 武汉理工大学 | 一种风帆助航船舶航向控制方法及*** |
CN104619051A (zh) * | 2014-12-29 | 2015-05-13 | 北京中体动力数字技术有限公司 | 移动无线基站 |
CN105843042A (zh) * | 2016-04-11 | 2016-08-10 | 大连海事大学 | 一种便携式船舶自动舵检测*** |
Non-Patent Citations (10)
Title |
---|
DAVI SANTOS,ETC.: ""Design and Implementation of a Control System for a Sailboat Robot"", 《IN PROCEEDINGS OF IEEE LATIN AMERICAN ROBOTICS SYMPOSIUM AND COMPETITION》 * |
FRÉDÉRIC PLUMET,ETC.: ""Toward an Autonomous Sailing Boat"", 《IEEE JOURNAL OF OCEANIC ENGINEERING》 * |
HENNING SEEBERG STENERSEN: ""Construction and Control an Autonomous Sail Boat"", 《IFAC-PAPERSONLINE》 * |
ROLAND STELZER,ETC.: ""Fuzzy Logic Control System for Autonomous Sailboats"", 《2007 IEEE INTERNATIONAL FUZZY SYSTEMS CONFERENCE》 * |
周凤,等: ""基于树莓派与ROS***的网络视频监控***研究"", 《绥化学院学报》 * |
徐建云: ""无人帆船自主避障算法"", 《船舶工程》 * |
杨少龙: ""无人操纵帆船设计及运动控制研究"", 《中国优秀硕士学位论文全文数据库 工程科技II辑》 * |
王永才: ""基于GPS/GPRS的帆船数据采集终端的设计研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
罗潇,等: ""高性能无人帆船软硬件设计"", 《计算机工程与应用》 * |
陈勇,等: "《物联网***开发及应用实战》", 31 March 2014 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10739141B2 (en) | 2013-09-03 | 2020-08-11 | Fugro Chance, Inc. | Interactive remote guidance system for seaborne vessels |
US10859381B2 (en) | 2013-09-03 | 2020-12-08 | Fugro Usa Marine, Inc. | Interactive remote guidance system for seaborne vessels |
US10775176B2 (en) | 2013-09-03 | 2020-09-15 | Fugro Chance, Inc. | Interactive remote guidance system for seaborne vessels |
US10746553B2 (en) | 2013-09-03 | 2020-08-18 | Fugro Chance, Inc. | Interactive remote guidance system for seaborne vessels |
CN110597495A (zh) * | 2019-09-06 | 2019-12-20 | 遵义师范学院 | 一种水面无人船舰操作***及设计方法 |
CN110471427A (zh) * | 2019-09-06 | 2019-11-19 | 大连海事大学 | 一种基于路径规划与人工势场法的船舶编队智能避碰方法 |
CN110749473A (zh) * | 2019-10-21 | 2020-02-04 | 南通大学 | 一种无人船的水样自动采集装置 |
CN111277792A (zh) * | 2020-01-08 | 2020-06-12 | 北京航天发射技术研究所 | 一种基于移动终端的小型船艇操控***及方法 |
CN111292558A (zh) * | 2020-02-18 | 2020-06-16 | 大连海事大学 | 一种基于船舶宽带自组网的海上智能终端即时通讯app |
CN111324128A (zh) * | 2020-03-17 | 2020-06-23 | 广东电网有限责任公司 | 一种有助于跨河架空线路避障船只航行方法及*** |
CN111338358A (zh) * | 2020-04-14 | 2020-06-26 | 山东省工业设计研究院有限公司 | 一种无人驾驶游艇 |
CN112925222A (zh) * | 2021-02-01 | 2021-06-08 | 武汉理工大学 | 一种基于ros的无人艇运动控制仿真方法及装置 |
CN113313923A (zh) * | 2021-04-30 | 2021-08-27 | 苏州优世达智能科技有限公司 | 一种基于stm32f103的无人船智能遥控器控制*** |
CN115291615A (zh) * | 2022-10-10 | 2022-11-04 | 中国海洋大学 | 一种自适应追涡观测***及其控制方法、装置 |
CN115291615B (zh) * | 2022-10-10 | 2023-02-28 | 中国海洋大学 | 一种自适应追涡观测***及其控制方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582028A (zh) | 一种基于app终端监控的自主避障帆船机器人*** | |
Zhang et al. | Collision-avoidance navigation systems for Maritime Autonomous Surface Ships: A state of the art survey | |
CN107748561B (zh) | 一种基于多传感参数的无人船局部避障***及方法 | |
US11988513B2 (en) | Imaging for navigation systems and methods | |
CN108549369B (zh) | 一种复杂海况下多无人艇协同编队的***及方法 | |
CN105947142B (zh) | 一种无人驾驶水上航行器 | |
TWI714040B (zh) | 船舶導航系統及其導航方法 | |
US12013243B2 (en) | Passage planning and navigation systems and methods | |
CN107229276A (zh) | 基于ARM Cortex‑M7处理器的智能无人船平台及其控制方法 | |
JP5398730B2 (ja) | エネルギー抽出船舶のナビゲーション用の監視制御およびデータ収集システム | |
CN202582544U (zh) | 水下地形测量船 | |
CN203593143U (zh) | 一种风光互补型无人海洋监测艇 | |
CN109634289A (zh) | 一种无人船自主航行***及其工作方法 | |
CN108181908A (zh) | 一种用于内河环境监测的无人船*** | |
CN102589531A (zh) | 水下地形测量船及制作方法和测量方法 | |
CN106873608A (zh) | 一种半潜式小型无人艇集成控制*** | |
CN106094606A (zh) | 一种水面无人艇导航与控制遥操作平台 | |
CN108919800A (zh) | 一种船舶智能列队航行*** | |
CN113253716A (zh) | 一种无人艇控制*** | |
CN101683894A (zh) | 一种无人驾驶气象探测船 | |
CN103955233A (zh) | 一种用于船舶夜航的危险目标自动灯光跟踪装置与方法 | |
CN111949034B (zh) | 一种无人船自主航行*** | |
Wang et al. | A multi-layered potential field method for waterjet propelled unmanned surface vehicle local path planning with minimum energy consumption | |
Xiao et al. | Research on Multi-mode control system and autonomous cruise method for unmanned surface vehicles | |
Song et al. | Pixhawk-based scalable platform for multi-purpose surface unmanned vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190405 |