一种用于控制浅水观察级迷你水下机器人的方法转让专利

申请号 : CN201310355767.1

文献号 : CN103425070B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 牛阿丽

申请人 : 青岛远创机器人自动化有限公司

摘要 :

本发明公开了一种用于控制浅水观察级迷你水下机器人的方法,包括控制建构、通信架构,控制实现了下位机主控制板控制三个水下推进器转动、控制摄像头切换、控制水下LED灯的开关及其亮度调节、水下各种自动功能的实现(自动定海、自动上浮下潜、自动前进);通信实现了甲板单元与水下机器人之间的双向通信、水下机器人主控芯片与协处理器ATmega8之间的通信,制定了之间通信相关的通信协议,水下机器人可以完成甲板单元控制指令的接收,甲板单元可以实现对水下机器人发送的状态信息的接收。此外,本发明并且讨论了基于增量式PID算法实现自动定深的可行性,通过实验验证机数据分析证明了其自动定深功能的准确性。

权利要求 :

1.一种用于控制浅水观察级迷你水下机器人的方法,其特征在于,该用于控制浅水观察级迷你水下机器人的方法包括以下步骤:步骤一,程序初始化,485通信模块接收打开;

步骤二,判断控制信息的接收完成标志是否置位,若置位,转步骤三;若未置位,则转步骤二;

步骤三,判断是否执行自动功能,若执行自动功能,转步骤四;若不执行自动功能,转步骤十四;

步骤四,判断是否执行自动定向程序,若执行自动定向程序,转步骤五;若不执行自动定向程序,转步骤六;

步骤五,执行自动定向程序,执行完毕后转到步骤六;

步骤六,判断是否执行自动定深程序,若执行自动定深程序,转步骤七;若不执行自动定深程序,转步骤八;

步骤七,执行自动定深程序,执行完毕后转到步骤八;

步骤八,判断是否执行自动上浮程序,若执行自动上浮程序,转步骤九;若不执行自动上浮程序,转步骤十;

步骤九,执行自动上浮程序,执行完毕后转到步骤十;

步骤十,判断是否执行自动下潜程序,若执行自动下潜程序,转步骤十一;若不执行自动下潜程序,转步骤十二;

步骤十一,执行自动下潜程序,执行完毕后转到步骤十二;

步骤十二,判断是否执行自动航速程序,若执行自动航速程序,转步骤十三;若不执行自动航速程序,转步骤十四;

步骤十三,执行自动航速程序,执行完毕后转到步骤十四;

步骤十四,执行控制3个电机转速子程序;

步骤十五,执行控制舵机角度子程序;

步骤十六,执行控制摄像头切换、LED亮度子程序;

步骤十七,控制485模块发送打开,采集并发送10字节。

2.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的通信系统流程步骤如下:步骤2_1,串口接收中断;

步骤2_2,判断是否收到帧头,若收到帧头,转步骤2_3;若未收到帧头,则转步骤2_2;

步骤2_3,判断是否接收完11字节,若接收完11字节,转步骤2_4;若未接收完11字节,转步骤2_8;

步骤2_4,判断CRC8校验是否正确,若正确,转步骤2_5;若不正确,转步骤2_7;

步骤2_5,数据存到控制信息缓存;

步骤2_6,控制信息接收完成标志置位;

步骤2_7,清发送缓冲及标志;

步骤2_8,返回。

3.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的多功能按键控制流程步骤具体内容如下:步骤3_1,初始化按键次数;

步骤3_2,判断是否检测到按键,若检测到按键,转步骤3_3;若未检测到按键,则转步骤

3_1;

步骤3_3,按键次数加1;

步骤3_4,根据次数判断是否短按,若是短按,转步骤3_6;若不是短按,转步骤3_5;

步骤3_5,根据次数判断是否长按,若是长按,转步骤3_7;若不是长按,转步骤3_2;

步骤3_6,短按操作;

步骤3_7,长按操作,执行完毕转步骤3_8;

步骤3_8,结束。

4.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的开关LED灯按键处理流程步骤具体内容如下:步骤4_1:判断是否开LED灯,若开LED灯,转步骤4_2;若不开LED灯,则返回主程序;

步骤4_2:判断按键计数,若是短按,转步骤4_3;若是长按,则转步骤4_4;

步骤4_3:执行开灯程序;

步骤4_4:执行关灯程序,执行完毕后返回主程序;

步骤4_5:判断是否执行LED亮度等级程序,若执行LED灯亮度等级程序,转步骤4_6;若不执行LED灯等级程序,则返回主程序;

步骤4_6:执行亮度等级程序,执行完毕后返回主程序。

5.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的摄像头切换按键处理流程步骤具体内容如下:步骤5_1:判断是否执行摄像头切换,若执行摄像头切换,转步骤5_2;若不执行摄像头切换,则返回主程序;

步骤5_2:判断按键计数,若是短按,转步骤5_3;若是长按,则转步骤5_3;

步骤5_3:执行前后摄像头切换程序;

步骤5_4:执行前后灯切换程序,执行完毕后返回主程序。

6.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的自动下潜指令按键处理流程步骤具体内容如下:步骤6_1:判断是否执行自动下潜功能,若执行自动下潜功能,转步骤6_2;若不执行自动下潜功能,则返回主程序;

步骤6_2:执行记忆下潜速度;

步骤6_3:判断按键计数,若是短按,转步骤6_5;若是长按,则转步骤6_4;

步骤6_4:取消自动下潜程序,执行完毕后返回主程序;

步骤6_5:执行自动下潜程序,执行完毕后返回主程序。

7.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的自动上浮指令按键处理流程步骤具体内容如下:步骤7_1:判断是否执行自动上浮功能,若执行自动上浮功能,转步骤7_2;若不执行自动上浮功能,则返回主程序;

步骤7_2:执行记忆上浮速度;

步骤7_3:判断按键计数,若是短按,转步骤7_5;若是长按,则转步骤7_4;

步骤7_4:取消自动上浮程序,执行完毕后返回主程序;

步骤7_5:执行自动上浮程序,执行完毕后返回主程序。

8.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的自动航速指令按键处理流程步骤具体内容如下:步骤8_1:判断是否执行自动航速功能,若执行自动航速功能,转步骤8_2;若不执行自动航速功能,则返回主程序;

步骤8_2:执行记忆航向、航速子程序;

步骤8_3:判断按键计数,若是短按,转步骤8_5;若是长按,则转步骤8_4;

步骤8_4:取消自动航速程序,执行完毕后返回主程序;

步骤8_5:执行自动航速程序,执行完毕返后回主程序。

9.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的自动定向指令按键处理流程步骤具体内容如下:步骤9_1:判断是否执行自动定向功能,若执行自动定向功能,转步骤9_2;若不执行自动定向功能,则返回主程序;

步骤9_2:执行记忆方向子程序;

步骤9_3:判断按键计数,若是短按,转步骤9_5;若是长按,则转步骤9_4;

步骤9_4:取消自动定向程序,执行完毕后返回主程序;

步骤9_5:执行自动定向程序,执行完毕后返回主程序;

用于控制浅水观察级迷你水下机器人的方法的自动定深指令按键处理流程步骤具体内容如下:步骤10_1:判断是否执行自动定深功能,若执行自动定深功能,转步骤10_2;若不执行自动定深功能,则返回主程序;

步骤10_2:执行记忆深度子程序;

步骤10_3:判断按键计数,若是短按,转步骤10_5;若是长按,则转步骤10_4;

步骤10_4:取消自动定深程序,执行完毕后返回主程序;

步骤10_5:执行自动定深程序,执行完毕后返回主程序。

10.如权利要求1所述的用于控制浅水观察级迷你水下机器人的方法,其特征在于,用于控制浅水观察级迷你水下机器人的方法的自动定深系统包括PID控制器、H桥电机驱动器、垂直水下推进器、深度计;

给定深度函数hr(t)经过负反馈节点,依次与PID控制器、H桥电机驱动器、垂直水下推进器相连接,垂直水下推进器与深度计相连接,并输出函数hc(t);深度计将信号反馈到负反馈节点,与PID控制器相连接。

说明书 :

一种用于控制浅水观察级迷你水下机器人的方法

技术领域

[0001] 本发明属于自动化控制技术领域,尤其涉及一种用于控制浅水观察级迷你水下机器人的方法。

背景技术

[0002] 随着人们对海洋了解的不断深入,人类身体条件的限制已经不能满足水下工作时间、工作效率以及工作强度的要求,水下机器人的出现,作为人类开发、探索、利用海洋的助手,在水产养殖、水下观察、海底作业等方面发挥着越来越重要的作用,如何利用水下机器人有效地开发利用海洋生物能源、水资源、金属资源成为摆在人们面前的一个重要问题。
[0003] 目前,国外已经有了一系列商业化的水下机器人产品,经过50多年的发展,已经成为一个重要的产业链,加拿大、英国、美国、法国、德国等在其技术研究和开发方面一直处于领先地位,世界上水下机器人的产品种类超过270种,全世界超过270家企业及公司提供水下机器人进出口、设计及售后服务,现有产品按照使用方式可以分为:载人水下机器人、有缆水下机器人(AUV)、无缆水下机器人(水下机器人);按照重量级尺寸又分为:大型水下机器人、中型水下机器人、小型水下机器人、超小型水下机器人,然而,大中小型水下机器人由于其体积巨大、操作复杂、成本较高,往往需要数人协同作业且需要船只大功率发电机等配合使用,其应用受到限制,而大部分水下工作,如水工结构检查、渔类行为观察、海水养殖网箱检查、水产养殖、渔业、海上石油平台、核电站、潮汐电站、海上风力发电厂、商业潜水水下作业支援、有毒液体、浅水场地检查、犯罪现场搜索、水下搜救科研教育、科学研究、水下考古、水下生物观察等这些活动基本都发生在100米以下的水深,因此应用于浅水的水下机器人前景非常的广阔。
[0004] mini-水下机器人作为浅水级探测机器人中的一员,由于其控制灵活、操作携带方便,受到各行各业的欢迎,得到了迅猛的发展,其中不乏各种商业的mini-水下机器人出现,荷兰SEASCAPE公司水下机器人Builder Mini-150、水下机器人Builder Mini-300、水下机器人Builder Mini-600系列,耐压分别为70米、120米、200米,其中水下机器人Builder Mini-150长400mm,宽250mm,高200mm,在空气中重4.5kg,有两个水平推进器,一个垂直推进器,时速达1m/s,配置了540线带云台彩色摄像机,2个10w的LED,配置8mm正浮力缆,使用PAL信号格式6MHZ带宽的复合视频信号,使用220-240VAC 50Hz交流电供电,总功率可达300W,可以搭载水下声纳、USBL超短基线等设备,是一款mini观察级的水下机器人。
[0005] 加拿大Inuktun公司的VideoRay Pro 3E水下机器人System,长305mm,宽225mm,高21mm,在空气中3.8kg,水下耐压150米,有两个水平推进器,一个垂直推进器,前后装有两个摄像机,前置570线彩色摄像机,后置430线黑白摄像机,有两个20w的卤素灯,系统使用100-
240V交流电供电,总功率为800W,使用直径8mm的零浮力缆传输数据,使用PAL信号格式6MHZ带宽的复合视频信号。
[0006] 美国JW Fishers公司的Sealine2水下机器人,长430mm,宽350mm,高300mm,在空气中重约12kg,能下潜最大深度200m,有2个垂直推进器1个水平推进器和1个侧向推进器,前置带云台570线彩色摄像机,两个前置100w卤素灯,可携带机械手,scan-650扫描声纳等水下设备。
[0007] 美国SEABOTIEX公司的LBV150-4水下机器人,长530mm,宽245mm,高254mm,在空气中重约11kg,水下耐压150米,配置两个水平推进器,一个垂直推进器,一个侧推推进器,前置520线带云台摄像机,能够自动聚焦及放大,摄像机周围分布LED灯阵列,使用PAL信号格式6MHZ带宽的复合视频信号,系统使用110~130/210~240交流电供电,总功率可达1000W,电缆使用直径8mm的零浮力缆。
[0008] 综上所见,mini-水下机器人由于其携带方便、成本低、布放安装较为简单、控制灵活、在水中特别是狭小的水域中能灵活的运动,能广泛使用于浅海、湖泊、水库等水域,这些优点将使其成为未来水下机器人产品中的新宠,在水下世界发挥着日益重要的作用。
[0009] 从水下机器人产品的控制算法及软件系统的角度来看,水下机器人与陆地上的机器人有明显的不同,陆地机器人的控制一般是线性的,可以建立较为成熟的控制模型,但是水下机器人由于其复杂的水下环境,加上本身机器人形状的不规则性,往往很难建立准确的数学模型,加上水流等因素的影响,水下机器人的控制算法需要较好的鲁棒性及适应性,控制算法的通用性也收到机器人形状及类型的限制,就目前发展情况而言,水下机器人的控制算法有:神经网络控制、模糊控制、自适应控制、PID控制等,这是为了适应复杂的水下环境,需要相对来说比较复杂的控制算法,但如何将这些控制算法移植到水下机器人的控制系统中,仍是一个有待考究的严峻考验。

发明内容

[0010] 本发明实施例的目的在于提供一种用于控制浅水观察级迷你水下机器人的方法,旨在解决水下机器人的控制算法与控制系统结合的问题。
[0011] 本发明实施例是这样实现的,一种用于控制浅水观察级迷你水下机器人的方法,该用于控制浅水观察级迷你水下机器人的方法包括以下步骤:
[0012] 步骤一,程序初始化,485通信模块接收打开;
[0013] 步骤二,判断控制信息的接收完成标志是否置位,若置位,转步骤三;若未置位,则转步骤二;
[0014] 步骤三,判断是否执行自动功能,若执行自动功能,转步骤四;若不执行自动功能,转步骤十四;
[0015] 步骤四,判断是否执行自动定向程序,若执行自动定向程序,转步骤五;若不执行自动定向程序,转步骤六;
[0016] 步骤五,执行自动定向程序,执行完毕后转到步骤六;
[0017] 步骤六,判断是否执行自动定深程序,若执行自动定深程序,转步骤步骤七;若不执行自动定深程序,转步骤八;
[0018] 步骤七,执行自动定深程序,执行完毕后转到步骤八;
[0019] 步骤八,判断是否执行自动上浮程序,若执行自动上浮程序,转步骤九;若不执行自动上浮程序,转步骤十;
[0020] 步骤九,执行自动上浮程序,执行完毕后转到步骤十;
[0021] 步骤十,判断是否执行自动下潜程序,若执行自动下潜程序,转步骤十一;若不执行自动下潜程序,转步骤十二;
[0022] 步骤十一,执行自动下潜程序,执行完毕后转到步骤十二;
[0023] 步骤十二,判断是否执行自动航速程序,若执行自动航速程序,转步骤十三;若不执行自动航速程序,转步骤十四;
[0024] 步骤十三,执行自动航速程序,执行完毕后转到步骤十四;
[0025] 步骤十四,执行控制3个电机转速子程序;
[0026] 步骤十五,执行控制舵机角度子程序;
[0027] 步骤十六,执行控制摄像头切换、LED亮度子程序;
[0028] 步骤十七,控制485模块发送打开,采集发送10字节。
[0029] 进一步,用于控制浅水观察级迷你水下机器人的方法的通信系统流程步骤如下:
[0030] 步骤2_1,串口接收中断;
[0031] 步骤2_2,判断是否收到帧头,若收到帧头,转步骤2_3;若未收到帧头,则转步骤2_2;
[0032] 步骤2_3,判断是否接收完11字节,若接收完11字节,转步骤2_4;若未接收完11字节,转步骤2_8;
[0033] 步骤2_4,判断CRC8校验是否正确,若正确,转步骤2_5;若不正确,转步骤2_7;
[0034] 步骤2_5,数据存到控制信息缓存;
[0035] 步骤2_6,控制信息接收完成标志置位;
[0036] 步骤2_7,清发送缓冲及标志;
[0037] 步骤2_8,返回。
[0038] 进一步,用于控制浅水观察级迷你水下机器人的方法的多功能按键控制流程步骤具体内容如下:
[0039] 步骤3_1,初始化按键次数;
[0040] 步骤3_2,判断是否检测到按键,若检测到按键,转步骤3_3;若未检测到按键,则转步骤3_1;
[0041] 步骤3_3,按键次数加1;
[0042] 步骤3_4,根据次数判断是否短按,若是短按,转步骤3_6;若不是短按,转步骤3_5;
[0043] 步骤3_5,根据次数判断是否长按,若是长按,转步骤3_7;若不是长按,转步骤3_2;
[0044] 步骤3_6,短按操作;
[0045] 步骤3_7,长按操作,执行完毕转步骤3_8;
[0046] 步骤3_8,结束。
[0047] 进一步,用于控制浅水观察级迷你水下机器人的方法的开关LED灯按键处理流程步骤具体内容如下:
[0048] 步骤4_1:判断是否开LED灯,若开LED灯,转步骤4_2;若不开LED灯,则返回;
[0049] 步骤4_2:判断按键计数,若是短按,转步骤4_3;若是长按,则转步骤4_4;
[0050] 步骤4_3:执行开灯程序;
[0051] 步骤4_4:执行关灯程序,执行完毕后返回;
[0052] 步骤4_5:判断是否执行LED亮度等级程序,若执行LED灯亮度等级程序,转步骤4_6;若不执行LED灯等级程序,则返回;
[0053] 步骤4_6:执行亮度等级程序,执行完毕后返回。
[0054] 进一步,用于控制浅水观察级迷你水下机器人的方法的摄像头切换按键处理流程步骤具体内容如下:
[0055] 步骤5_1:判断是否执行摄像头切换,若执行摄像头切换,转步骤5_2;若不执行摄像头切换,则返回;
[0056] 步骤5_2:判断按键计数,若是短按,转步骤5_3;若是长按,则转步骤5_3;
[0057] 步骤5_3:执行前后摄像头切换程序;
[0058] 步骤5_4:执行前后灯切换程序,执行完毕后返回。
[0059] 进一步,用于控制浅水观察级迷你水下机器人的方法的自动下潜指令按键处理流程步骤具体内容如下:
[0060] 步骤6_1:判断是否执行自动下潜功能,若执行自动下潜功能,转步骤6_2;若不执行自动下潜功能,则返回;
[0061] 步骤6_2:执行记忆下潜速度;
[0062] 步骤6_3:判断按键计数,若是短按,转步骤6_5;若是长按,则转步骤6_4;
[0063] 步骤6_4:取消自动下潜程序,执行完毕后返回;
[0064] 步骤6_5:执行自动下潜程序,执行完毕后返回。
[0065] 进一步,用于控制浅水观察级迷你水下机器人的方法的自动上浮指令按键处理流程步骤具体内容如下:
[0066] 步骤7_1:判断是否执行自动上浮功能,若执行自动上浮功能,转步骤7_2;若不执行自动上浮功能,则返回;
[0067] 步骤7_2:执行记忆上浮速度;
[0068] 步骤7_3:判断按键计数,若是短按,转步骤7_5;若是长按,则转步骤7_4;
[0069] 步骤7_4:取消自动上浮程序,执行完毕后返回;
[0070] 步骤7_5:执行自动上浮程序,执行完毕后返回。
[0071] 进一步,用于控制浅水观察级迷你水下机器人的方法的自动航速指令按键处理流程步骤具体内容如下:
[0072] 步骤8_1:判断是否执行自动航速功能,若执行自动航速功能,转步骤8_2;若不执行自动航速功能,则返回;
[0073] 步骤8_2:执行记忆航向、航速子程序;
[0074] 步骤8_3:判断按键计数,若是短按,转步骤8_5;若是长按,则转步骤8_4;
[0075] 步骤8_4:取消自动航速程序,执行完毕后返回;
[0076] 步骤8_5:执行自动航速程序,执行完毕返后回。
[0077] 进一步,用于控制浅水观察级迷你水下机器人的方法的自动定向指令按键处理流程步骤具体内容如下:
[0078] 步骤9_1:判断是否执行自动定向功能,若执行自动定向功能,转步骤9_2;若不执行自动定向功能,则返回;
[0079] 步骤9_2:执行记忆方向子程序;
[0080] 步骤9_3:判断按键计数,若是短按,转步骤9_5;若是长按,则转步骤9_4;
[0081] 步骤9_4:取消自动定向程序,执行完毕后返回;
[0082] 步骤9_5:执行自动定向程序,执行完毕后返回。
[0083] 用于控制浅水观察级迷你水下机器人的方法的自动定深指令按键处理流程步骤具体内容如下:
[0084] 步骤10_1:判断是否执行自动定深功能,若执行自动定深功能,转步骤10_2;若不执行自动定深功能,则返回;
[0085] 步骤10_2:执行记忆深度子程序;
[0086] 步骤10_3:判断按键计数,若是短按,转步骤10_5;若是长按,则转步骤10_4;
[0087] 步骤10_4:取消自动定深程序,执行完毕后返回;
[0088] 步骤10_5:执行自动定深程序,执行完毕后返回。
[0089] 进一步,用于控制浅水观察级迷你水下机器人的方法的自动定深系统包括PID控制器、H桥电机驱动器、垂直水下推进器、深度计;
[0090] 给定深度函数hr(t)经过负反馈节点,依次与PID控制器、H桥电机驱动器、垂直水下推进器相连接,垂直水下推进器与深度计相连接,并输出函数hc(t);深度计将信号反馈到负反馈节点,与PID控制器相连接。
[0091] 本发明提供的用于控制浅水观察级迷你水下机器人的方法,包括控制建构、通信架构,实现了下位机主控制板控制三个水下推进器转动、控制摄像头切换、控制水下LED灯的开关及其亮度调节、水下各种自动功能的实现(自动定海、自动上浮下潜、自动前进);通信实现了甲板单元与水下机器人之间的双向通信、水下机器人主控芯片与协处理器ATmega8之间的通信,制定了之间通信相关的通信协议,水下机器人可以完成甲板单元控制指令的接收,甲板单元可以实现对水下机器人发送的状态信息的接收。本发明并且讨论了基于增量式PID算法实现自动定深的可行性,通过实验验证机数据分析证明了其自动定深功能的准确性。

附图说明

[0092] 图1是本发明实施例提供的用于控制浅水观察级迷你水下机器人的方法的流程图;
[0093] 图2是本发明实施例提供的通信系统的流程图;
[0094] 图3是本发明实施例提供的多功能按键控制的流程图;
[0095] 图4是本发明实施例提供的开关LED灯按键处理流程图;
[0096] 图5是本发明实施例提供的摄像头切换按键处理流程图;
[0097] 图6是本发明实施例提供的自动下潜指令按键处理流程图;
[0098] 图7是本发明实施例提供的自动上浮指令按键处理流程图;
[0099] 图8是本发明实施例提供的自动航速指令按键处理流程图;
[0100] 图9是本发明实施例提供的自动定向指令按键处理流程图;
[0101] 图10是本发明实施例提供的自动定深指令按键处理流程图;
[0102] 图11是本发明实施例提供的自动定深系统框图;
[0103] 图中:1、PID控制器;2、H桥电机驱动器;3、垂直水下推进器;4、深度计。

具体实施方式

[0104] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0105] 图1示出了本发明提供的用于控制浅水观察级迷你水下机器人的方法的流程。为了便于说明,仅仅示出了与本发明相关的部分。
[0106] 本发明的用于控制浅水观察级迷你水下机器人的方法,该用于控制浅水观察级迷你水下机器人的方法包括以下步骤:
[0107] 步骤一,程序初始化,485通信模块接收打开;
[0108] 步骤二,判断控制信息的接收完成标志是否置位,若置位,转步骤三;若未置位,则转步骤二;
[0109] 步骤三,判断是否执行自动功能,若执行自动功能,转步骤四;若不执行自动功能,转步骤十四;
[0110] 步骤四,判断是否执行自动定向程序,若执行自动定向程序,转步骤五;若不执行自动定向程序,转步骤六;
[0111] 步骤五,执行自动定向程序,执行完毕后转到步骤六;
[0112] 步骤六,判断是否执行自动定深程序,若执行自动定深程序,转步骤步骤七;若不执行自动定深程序,转步骤八;
[0113] 步骤七,执行自动定深程序,执行完毕后转到步骤八;
[0114] 步骤八,判断是否执行自动上浮程序,若执行自动上浮程序,转步骤九;若不执行自动上浮程序,转步骤十;
[0115] 步骤九,执行自动上浮程序,执行完毕后转到步骤十;
[0116] 步骤十,判断是否执行自动下潜程序,若执行自动下潜程序,转步骤十一;若不执行自动下潜程序,转步骤十二;
[0117] 步骤十一,执行自动下潜程序,执行完毕后转到步骤十二;
[0118] 步骤十二,判断是否执行自动航速程序,若执行自动航速程序,转步骤十三;若不执行自动航速程序,转步骤十四;
[0119] 步骤十三,执行自动航速程序,执行完毕后转到步骤十四;
[0120] 步骤十四,执行控制3个电机转速子程序;
[0121] 步骤十五,执行控制舵机角度子程序;
[0122] 步骤十六,执行控制摄像头切换、LED亮度子程序;
[0123] 步骤十七,控制485模块发送打开,采集发送10字节。
[0124] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的通信系统流程步骤如下:
[0125] 步骤2_1,串口接收中断;
[0126] 步骤2_2,判断是否收到帧头,若收到帧头,转步骤2_3;若未收到帧头,则转步骤2_2;
[0127] 步骤2_3,判断是否接收完11字节,若接收完11字节,转步骤2_4;若未接收完11字节,转步骤2_8;
[0128] 步骤2_4,判断CRC8校验是否正确,若正确,转步骤2_5;若不正确,转步骤2_7;
[0129] 步骤2_5,数据存到控制信息缓存;
[0130] 步骤2_6,控制信息接收完成标志置位;
[0131] 步骤2_7,清发送缓冲及标志;
[0132] 步骤2_8,返回。
[0133] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的多功能按键控制流程步骤具体内容如下:
[0134] 步骤3_1,初始化按键次数;
[0135] 步骤3_2,判断是否检测到按键,若检测到按键,转步骤3_3;若未检测到按键,则转步骤3_1;
[0136] 步骤3_3,按键次数加1;
[0137] 步骤3_4,根据次数判断是否短按,若是短按,转步骤3_6;若不是短按,转步骤3_5;
[0138] 步骤3_5,根据次数判断是否长按,若是长按,转步骤3_7;若不是长按,转步骤3_2;
[0139] 步骤3_6,短按操作;
[0140] 步骤3_7,长按操作,执行完毕转步骤3_8;
[0141] 步骤3_8,结束。
[0142] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的开关LED灯按键处理流程步骤具体内容如下:
[0143] 步骤4_1:判断是否开LED灯,若开LED灯,转步骤4_2;若不开LED灯,则返回;
[0144] 步骤4_2:判断按键计数,若是短按,转步骤4_3;若是长按,则转步骤4_4;
[0145] 步骤4_3:执行开灯程序;
[0146] 步骤4_4:执行关灯程序,执行完毕后返回;
[0147] 步骤4_5:判断是否执行LED亮度等级程序,若执行LED灯亮度等级程序,转步骤4_6;若不执行LED灯等级程序,则返回;
[0148] 步骤4_6:执行亮度等级程序,执行完毕后返回。
[0149] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的摄像头切换按键处理流程步骤具体内容如下:
[0150] 步骤5_1:判断是否执行摄像头切换,若执行摄像头切换,转步骤5_2;若不执行摄像头切换,则返回;
[0151] 步骤5_2:判断按键计数,若是短按,转步骤5_3;若是长按,则转步骤5_3;
[0152] 步骤5_3:执行前后摄像头切换程序;
[0153] 步骤5_4:执行前后灯切换程序,执行完毕后返回。
[0154] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的自动下潜指令按键处理流程步骤具体内容如下:
[0155] 步骤6_1:判断是否执行自动下潜功能,若执行自动下潜功能,转步骤6_2;若不执行自动下潜功能,则返回;
[0156] 步骤6_2:执行记忆下潜速度;
[0157] 步骤6_3:判断按键计数,若是短按,转步骤6_5;若是长按,则转步骤6_4;
[0158] 步骤6_4:取消自动下潜程序,执行完毕后返回;
[0159] 步骤6_5:执行自动下潜程序,执行完毕后返回。
[0160] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的自动上浮指令按键处理流程步骤具体内容如下:
[0161] 步骤7_1:判断是否执行自动上浮功能,若执行自动上浮功能,转步骤7_2;若不执行自动上浮功能,则返回;
[0162] 步骤7_2:执行记忆上浮速度;
[0163] 步骤7_3:判断按键计数,若是短按,转步骤7_5;若是长按,则转步骤7_4;
[0164] 步骤7_4:取消自动上浮程序,执行完毕后返回;
[0165] 步骤7_5:执行自动上浮程序,执行完毕后返回。
[0166] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的自动航速指令按键处理流程步骤具体内容如下:
[0167] 步骤8_1:判断是否执行自动航速功能,若执行自动航速功能,转步骤8_2;若不执行自动航速功能,则返回;
[0168] 步骤8_2:执行记忆航向、航速子程序;
[0169] 步骤8_3:判断按键计数,若是短按,转步骤8_5;若是长按,则转步骤8_4;
[0170] 步骤8_4:取消自动航速程序,执行完毕后返回;
[0171] 步骤8_5:执行自动航速程序,执行完毕返后回。
[0172] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的自动定向指令按键处理流程步骤具体内容如下:
[0173] 步骤9_1:判断是否执行自动定向功能,若执行自动定向功能,转步骤9_2;若不执行自动定向功能,则返回;
[0174] 步骤9_2:执行记忆方向子程序;
[0175] 步骤9_3:判断按键计数,若是短按,转步骤9_5;若是长按,则转步骤9_4;
[0176] 步骤9_4:取消自动定向程序,执行完毕后返回;
[0177] 步骤9_5:执行自动定向程序,执行完毕后返回。
[0178] 用于控制浅水观察级迷你水下机器人的方法的自动定深指令按键处理流程步骤具体内容如下:
[0179] 步骤10_1:判断是否执行自动定深功能,若执行自动定深功能,转步骤10_2;若不执行自动定深功能,则返回;
[0180] 步骤10_2:执行记忆深度子程序;
[0181] 步骤10_3:判断按键计数,若是短按,转步骤10_5;若是长按,则转步骤10_4;
[0182] 步骤10_4:取消自动定深程序,执行完毕后返回;
[0183] 步骤10_5:执行自动定深程序,执行完毕后返回。
[0184] 作为本发明实施例的一优化方案,用于控制浅水观察级迷你水下机器人的方法的自动定深系统包括PID控制器、H桥电机驱动器、垂直水下推进器、深度计;
[0185] 给定深度函数hr(t)经过负反馈节点,依次与PID控制器、H桥电机驱动器、垂直水下推进器相连接,垂直水下推进器与深度计相连接,并输出函数hc(t);深度计将信号反馈到负反馈节点,与PID控制器相连接。
[0186] 下面结合附图及具体实施例对本发明的应用原理作进一步描述。
[0187] 本发明的用于控制浅水观察级迷你水下机器人的方法,通过甲板单元上的按键、摇杆及相应控制算法的配合可以实现对浅水观察级迷你-水下机器人在水中完成各种自动功能的控制,从而完成其耐压100米,自带电池,利用水下摄像机在水下进行观察的活动。
[0188] 用于控制浅水观察级迷你水下机器人的方法主要由七大控制模块组成:迷你-水下机器人运动控制主程序、通信系统控制程序、多功能按键控制程序、开关灯控制、摄像头切换控制、迷你-水下机器人自动定深控制、迷你-水下机器人自动定向控制、摄像头云台控制。
[0189] 图1是本发明提供的用于控制浅水观察级迷你水下机器人的方法的流程图包括17个步骤,各步骤具体内容如下:
[0190] S101:程序初始化,485通信模块接收打开;
[0191] S102:判断控制信息的接收完成标志是否置位,若完成置位,转下一步S103;若未置位,则转S102;
[0192] S103:判断是否执行自动功能,若执行自动功能,转S104;若不执行自动功能,转S114;
[0193] S104:判断是否执行自动定向程序,若执行自动定向程序,转S105;若不执行自动定向程序,转S106;
[0194] S105:执行自动定向程序,执行完毕后转到S106;
[0195] S106:判断是否执行自动定深程序,若执行自动定深程序,转S107;若不执行自动定深程序,转S108;
[0196] S107:执行自动定深程序,执行完毕后转到S108;
[0197] S108:判断是否执行自动上浮程序,若执行自动上浮程序,转S109;若不执行自动上浮程序,转S110;
[0198] S109:执行自动上浮程序,执行完毕后转到S110;
[0199] S110:判断是否执行自动下潜程序,若执行自动下潜程序,转S111;若不执行自动下潜程序,转S112;
[0200] S111:执行自动下潜程序,执行完毕后转到S112;
[0201] S112:判断是否执行自动航速程序,若执行自动航速程序,转S113;若不执行自动航速程序,转S114;
[0202] S113:执行自动航速程序,执行完毕后转到S114;
[0203] S114:执行控制3个电机转速子程序;
[0204] S115:执行控制舵机角度子程序;
[0205] S116:执行控制摄像头切换、LED亮度子程序;
[0206] S117:控制485模块发送打开,采集发送10字节。
[0207] 图2是本发明提供的通信系统设计程序流程图。共包含8个步骤,各步骤具体内容如下:
[0208] S201:串口接收中断;
[0209] S202:判断是否收到帧头,若收到帧头,转下一步S203;若未收到,则转S202;
[0210] S203:判断是否接收完11字节,若接收完11字节,转S204;若未接收完11字节,转S208;
[0211] S204:判断CRC8校验是否正确,若正确,转S205;若不正确,转S207;
[0212] S205:数据存到控制信息缓存;
[0213] S206:控制信息接收完成标志置位;
[0214] S207:清发送缓冲及标志;
[0215] S208:返回。
[0216] 图3是本发明提供的多功能按键控制程序流程图。共包含8个步骤,各步骤具体内容如下:
[0217] S301:初始化按键次数;
[0218] S302:判断是否检测到按键,若检测到按键,转下一步S303;若未检测到按键,则转S301;
[0219] S303:按键次数加1;
[0220] S304:根据次数判断是否短按,若是短按,转S306;若不是短按,转S305;
[0221] S305:根据次数判断是否长按,若长按,转S307;若不是长按,转S302;
[0222] S306:短按操作;
[0223] S307:长按操作,执行完毕转S308;
[0224] S308:结束。
[0225] 图4是本发明提供的开关LED灯按键处理流程图。共包含6个步骤,各步骤具体内容如下:
[0226] S401:判断是否开LED灯,若开LED灯,转S402;若不开LED灯,则返回主程序;
[0227] S402:判断按键计数,若是短按,转下一步S403;若是长按,则转S404;
[0228] S403:执行开灯程序;
[0229] S404:执行关灯程序,执行完毕后返回主程序;
[0230] S405:判断是否执行LED亮度等级程序,若执行LED灯亮度等级程序,转S406;若不执行LED灯亮度等级程序,则返回主程序;
[0231] S406:执行亮度等级程序,执行完毕后返回主程序。
[0232] 图5是本发明提供的摄像头切换按键处理流程图。共包含4个步骤,各步骤具体内容如下:
[0233] S501:判断是否执行摄像头切换,若执行摄像头切换,转S502;若不执行摄像头切换,则返回主程序;
[0234] S502:判断按键计数,若是短按,转下一步S503;若是长按,则转S503;
[0235] S503:执行前后摄像头切换程序;
[0236] S504:执行前后灯切换程序,执行完毕后返回主程序。
[0237] 图6是本发明提供的自动下潜指令按键处理流程图。共包含5个步骤,各步骤具体内容如下:
[0238] S601:判断是否执行自动下潜功能,若执行自动下潜功能,转S602;若不执行自动下潜功能,则返回主程序;
[0239] S602:执行记忆下潜速度;
[0240] S603:判断按键计数,若是短按,转下一步S605;若是长按,则转S604;
[0241] S604:取消自动下潜程序,执行完毕后返回主程序;
[0242] S605:执行自动下潜程序,执行完毕后返回主程序。
[0243] 图7是本发明提供的自动上浮指令按键处理流程图。共包含5个步骤,各步骤具体内容如下:
[0244] S701:判断是否执行自动上浮功能,若指向自动上浮功能,转S702;若不执行自动上浮功能,则返回主程序;
[0245] S702:执行记忆上浮速度;
[0246] S703:判断按键计数,若是短按,转下一步S705;若是长按,则转S704;
[0247] S704:取消自动上浮程序,执行完毕后返回主程序;
[0248] S705:执行自动上浮程序,执行完毕后返回主程序。
[0249] 图8是本发明提供的自动航速指令按键处理流程图。共包含5个步骤,各步骤具体内容如下:
[0250] S801:判断是否执行自动航速功能,若执行自动航速功能,转S802;若不执行自动航速功能,则返回主程序;
[0251] S802:执行记忆航向、航速子程序;
[0252] S803:判断按键计数,若是短按,转下一步S805;若是长按,则转S804;
[0253] S804:取消自动航速程序,执行完毕后返回主程序;
[0254] S805:执行自动航速程序,执行完毕后返回主程序。
[0255] 图9是本发明提供的自动定向指令按键处理流程图。共包含5个步骤,各步骤具体内容如下:
[0256] S901:判断是否执行自动定向功能,若执行自动定向功能,转S902;若不执行自动定向功能,则返回主程序;
[0257] S902:执行记忆方向子程序;
[0258] S903:判断按键计数,若是短按,转下一步S905;若是长按,则转S904;
[0259] S904:取消自动定向程序,执行完毕后返回主程序;
[0260] S905:执行自动定向程序,执行完毕后返回主程序。
[0261] 图10是本发明提供的自动定深指令按键处理流程图。共包含5个步骤,各步骤具体内容如下:
[0262] S1001:判断是否执行自动定深功能,若执行自动定深功能,转S1002;若不执行自动定深功能,则返回主程序;
[0263] S1002:执行记忆深度子程序;
[0264] S1003:判断按键计数,若是短按,转下一步S1005;若是长按,则转S1004;
[0265] S1004:取消自动定深程序,执行完毕后返回主程序;
[0266] S1005:执行自动定深程序,执行完毕后返回主程序。
[0267] 图11是本发明提供的自动定深系统框图。共包含4个模块,分别是PID控制器1、H桥电机驱动器2、垂直水下推进器3、深度计4。各部分的连接关系为:给定深度函数hr(t)经过负反馈节点,依次与PID控制器1、H桥电机驱动器2、垂直水下推进器3相连接,垂直水下推进器3与深度计4相连接,并输出函数hc(t);深度计将信号反馈到负反馈节点,与PID控制器1相连接。
[0268] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。