著录项信息
专利名称 | 一种多水下机器人协作控制系统 |
申请号 | CN200810119216.4 | 申请日期 | 2008-08-29 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2009-02-04 | 公开/公告号 | CN101359225 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G05B19/418 | IPC分类号 | G;0;5;B;1;9;/;4;1;8;;;G;0;6;K;9;/;0;0查看分类表>
|
申请人 | 北京大学 | 申请人地址 | 北京市海淀区北京大学工学院
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京大学 | 当前权利人 | 北京大学 |
发明人 | 黎章;王晨;邵金燕;范瑞峰;谢广明;王龙 |
代理机构 | 北京纪凯知识产权代理有限公司 | 代理人 | 徐宁;关畅 |
摘要
本发明涉及一种多水下机器人协作控制系统,其包括:一控制系统、一图像采集设备、多个水下机器人和电源;控制系统包括一主控装置和一无线通信设备,主控装置包括计算机、实时显示设备和操作设备,主控装置通过无线通信设备与各水下机器人保持通讯;计算机中设置有一图像处理模块、一协作控制模块和一用户界面模块;各水下机器人内分别设有一机器人控制模块,每一机器人控制模块接收计算机发出的指令并向相应的水下机器人发送指令,同时向计算机反馈水下机器人的内部状态信息。本发明具有通用性强、可扩展性强、具有图形化的用户界面、对动态过程进行模拟并提供记录和回放的功效。
1.一种多水下机器人协作控制系统,其特征在于包括:一控制系统、一图像采集设备、多个水下机器人和电源;
所述控制系统包括一主控装置和一无线通信设备,所述主控装置包括计算机、实时显示设备和操作设备,所述主控装置通过所述无线通信设备与各所述水下机器人保持通讯;
所述计算机中设置有一图像处理模块、一协作控制模块和一用户界面模块;所述图像处理模块将所述图像采集设备采集的原始图像信息进行预处理和识别,并通过所述用户界面模块在所述实时显示设备上同步显示,同时将处理后的图像信息输送至所述协作控制模块,所述协作控制模块结合所述处理的图像信息和操作者选定的任务进行协调处理,并将处理的结果通过所述无线通信设备向各所述水下机器人模块发出相应的指令;
所述协作控制模块包括:一控制算法和决策库子模块,其根据所述图像处理模块输送的图像信息和操作者设定的协作任务计算出相应决策;一载入算法子模块,用于从所述控制算法和决策库子模块中提取决策;一协作控制子模块,其根据所述载入算法子模块输送的决策计算出指令,然后向各所述机器人控制模块发送指令;
各所述水下机器人内分别设有一机器人控制模块,每一所述机器人控制模块接收所述计算机发出的指令并向相应的所述水下机器人发送指令,同时向所述计算机反馈所述水下机器人的内部状态信息。
2.如权利要求1所述一种多水下机器人协作控制系统,其特征在于:所述图像处理模块包括:
一图像采集子模块,用于控制所述图像采集设备采集原始图像信息;
一图像预处理子模块,其连接所述图像采集子模块,用于依次对所述原始图像信息进行广角失真、叠加衬底、HLS变换、图像分割、图象平滑化的预处理;
一图像识别子模块,其连接所述图像预处理子模块,用于将所述预处理的图像信息识别为所述计算机能够识别的信息的模块。
3.如权利要求1所述一种多水下机器人协作控制系统,其特征在于:所述协作控制子模块包括:
一通信子模块,用于接收所述协作控制子模块的决策并传输至所述协作子模块;
一协作子模块,其根据所述通信子模块输送的决策处理正在执行任务的所述水下机器人和其他水下机器人之间的协作关系;
一规划推理子模块,其接受所述协作子模块输送的处理结果并转化为各所述水下机器人对应的动作;
一动作子模块,用于封装所述规划推理子模块输送的对应各所述机器人的动作指令,并将所述指令通过所述无线通信模块传送给对应的所述机器人控制模块。
4.如权利要求1所述一种多水下机器人协作控制系统,其特征在于:所述用户界面模块包括:
一实时显示子模块,用于控制所述实时显示设备对所述图像信息和仿真结果的实时显示;
一任务选择子模块,以离线编程的方式存放所述协作控制模块控制算法和决策库中所述多机器人协作所用到的控制算法和协调策略;
一参数设置子模块,用于预设置第一幅原始图像信息的颜色阈值、颜色搭配信息、当前环境的亮暗系数、失真系数等参数。
5.如权利要求1或4所述一种多水下机器人协作控制系统,其特征在于:所述用户界面模块在所述实时显示设备上显示的界面包括:
用于控制其他部分界面的显示与否,并进行运行模式和策略模式的选择的主界面;
用于实时显示和记录实验进程的原始图像显示界面;
用于实时显示和监控图像预处理的效果的图像预处理以及结果显示界面;
用于显示包括识别后的信息的图像识别结果显示界面;
用于显示包括美观化处理后的图像信息的图像识别结果优化显示界面;
用于设定所述水下机器人参数信息和环境信息的颜色信息设置界面;
用于设置通信相关的串口和波特率等通信参数的通信参数设置界面;
用于显示选择的数字形式或者保存实验进行中所述每个机器人的模态、方向,速度和状态,用于辅助用户调试算法程序的信息显示以及保存界面;
用于设置仿真相关的参数和实时显示仿真图像的仿真相关的界面。
6.如权利要求1所述一种多水下机器人协作控制系统,其特征在于:所述无线通信设备为双工通讯设备。
7.如权利要求1所述一种多水下机器人协作控制系统,其特征在于:所述协作控制模块采用分层分布协作控制结构,包括作为主线程的全场信息处理智能体,在所述主线程下设置有协作层、规划层、动作层和执行层;所述主线程通过多个线程控制各所述水下机器人,各所述机器人的控制模块和与其对应的所述协作控制子模块构成一个线程;所述协作层包括各线程中的通信子模块和协作子模块,所述规划层包括各所述线程中的规划推理子模块,所述动作层包括各所述线程中的动作子模块,所述执行层包括各所述水下机器人的控制模块;
所述通信子模块将载入算法子模块输出的决策传输至所述协作子模块,所述协作子模块根据决策处理各所述水下机器人之间的协作关系,并将处理的结果输送至所述规划推理子模块,所述规划推理子模块将输入的处理结果具体化为各所述水下机器人对应的动作,并传输至所述动作子模块,所述动作子模块封装各所述水下机器人的动作对应的指令,并通过所述无线通信模块传送给对应的所述机器人控制模块。
8.如权利要求7所述一种多水下机器人协作控制系统,其特征在于:所述协作层中,各所述协作子模块对应协议模型、队友模型,各所述协议模型与对应的所述水下机器人通讯,并在所述协作层中各所述线程的协作子模块之间接收和发送信息;所述队友模型反映队友的状态及队友所处的意识状态。
9.如权利要求7所述一种多水下机器人协作控制系统,其特征在于:所述规划层中,所述规划推理子模块对应自身模型、对手模型;所述自身模型记录对应的所述水下机器人的自身状态并反映所述水下机器人所处的意识状态;所述对手模型反映对手的状态及对手所处的意识状态。
10.如权利要求7所述一种多水下机器人协作控制系统,其特征在于:所述动作层中,所述动作子模块对应动作模型,用于控制对应的所述水下机器人的基本动作。
11.如权利要求7所述一种多水下机器人协作控制系统,其特征在于:所述执行层中,所述机器人控制模块对应对象模型和控制规则;所述对象模型反映电机运动状态的变化,记录电机转速、偏差的参数;所述控制规则控制对应的所述水下机器人的动作。
12.如权利要求1所述一种多水下机器人协作控制系统,其特征在于:所述用户界面模块是采用动态链接库实现仿真平台和控制算法接口的模块。
一种多水下机器人协作控制系统\n技术领域\n[0001] 本发明涉及机器人技术领域,特别是关于一种多水下机器人协作控制系统。\n背景技术\n[0002] 多机器人协作控制是当今机器人领域的一个热点问题。在机器人技术领域,当单个机器人难以独立完成任务时,为了弥补个体能力的不足,人们通常采用多个机器人相互合作来共同完成某项复杂任务。多机器人展现出协调的行为可以极大程度地提高整个系统的效用。相对于单机器人系统,一个相互协调的多机器人系统具有诸多的优越性。首先,多机器人系统在空间、资源、功能上的分布性,使之具有更高的工作效率和更广阔的任务领域;其次,多机器人系统较高的冗余性使之具有更强的容错能力和更高的鲁棒性;另外,相比起设计一个功能强大的独立机器人,建造和应用若干个结构功能简单的机器人更加经济、容易、灵活,并且可以大大地降低成本。\n[0003] 正是由于多机器人系统的诸多优点,多机器人系统的协作问题也日益引起人们的重视,针对各种多机器人协作系统的研究也成为近几年来机器人研究领域的热点,各国的研究者都对多机器人协调控制中的协调和集中、负载分配、运动规划等问题进行了大量的研究。但是目前已取得的成果还主要集中在陆地及空天机器人领域,对于水下多机器人协作的研究,国内外成果寥寥。其中的主要原因在于,水下环境的复杂性和不确定性给系统带来大量的干扰,这些干扰很大程度上降低了控制的效率和准确度。另外,水下环境同时也对单体机器人有着较高的要求,要求机器人本体具有较高的抗压、抗干扰能力和更加准确、鲁棒的感知系统。鉴于以上诸多原因,目前国内外还没有较完善的多水下机器人系统,相关研究也基本处于空白状态。但实际上,随着人类对海洋资源的探索,水下操作任务越来越多,很多水下操作的任务本身就具有较高的复杂性,需要有多个机器人来协作完成。多水下机器人协作系统的研究已经成为一个迫切的任务。\n[0004] 仿生机器鱼是一类典型的水下机器人,它从仿生学的角度,用人造材料模拟生物特征,模拟鱼类的推进方式,使之具有灵活、机动、高效和低噪的特性。但是机器鱼在水中的运动涉及到周围流体环境的动力学和自身的运动学,很难用解析的方法建立一个精准的数学模型,即使有相关模型,也很难用人造材料来实现此类模型。\n发明内容\n[0005] 针对上述问题,本发明的目的是提供一种通用性强、可扩展性强、具有图形化的用户界面、对动态过程进行模拟并提供记录和回放的多水下机器人协作控制系统。\n[0006] 为实现上述目的,本发明采取以下技术方案:一种多水下机器人协作控制系统,其特征在于包括:一控制系统、一图像采集设备、多个水下机器人和电源;所述控制系统包括一主控装置和一无线通信设备,所述主控装置包括计算机、实时显示设备和操作设备,所述主控装置通过所述无线通信设备与各所述水下机器人保持通讯;所述计算机中设置有一图像处理模块、一协作控制模块和一用户界面模块;所述图像处理模块将所述图像采集设备采集的原始图像信息进行预处理和识别,并通过所述用户界面模块在所述实时显示设备上同步显示,同时将处理后的图像信息输送至所述协作控制模块,所述协作控制模块结合所述处理的图像信息和操作者选定的任务进行协调处理,并将处理的结果通过所述无线通信设备向各所述水下机器人模块发出相应的指令;各所述水下机器人内分别设有一机器人控制模块,每一所述机器人控制模块接收所述计算机发出的指令并向相应的所述水下机器人发送指令,同时向所述计算机反馈所述水下机器人的内部状态信息。\n[0007] 所述图像处理模块包括:一图像采集子模块,用于控制所述图像采集设备采集原始图像信息;一图像预处理子模块,其连接所述图像采集子模块,用于依次对所述原始图像信息进行广角失真、叠加衬底、HLS变换、图像分割、图象平滑化的预处理;一图像识别子模块,其连接所述图像预处理子模块,用于将所述预处理的图像信息识别为所述计算机能够识别的信息的模块。\n[0008] 所述协作控制模块包括:一控制算法和决策库子模块,其根据所述图像处理模块输送的图像信息和操作者设定的协作任务计算出相应决策;一载入算法子模块,用于从所述控制算法和决策库子模块中提取决策;一协作控制子模块,其根据所述载入算法子模块输送的决策计算出指令,然后向各所述机器人控制模块发送指令。\n[0009] 所述协作控制子模块包括:一通信子模块,用于接收所述协作控制子模块的决策并传输至所述协作子模块;一协作子模块,其根据所述通信子模块输送的决策处理正在执行任务的所述水下机器人和其他水下机器人之间的协作关系;一规划推理子模块,其接受所述协作子模块输送的处理结果并转化为各所述水下机器人对应的动作;一动作子模块,用于封装所述规划推理子模块输送的对应各所述机器人的动作指令,并将所述指令通过所述无线通信模块传送给对应的所述机器人控制模块。\n[0010] 所述用户界面模块包括:一实时显示子模块,用于控制所述实时显示设备对所述图像信息和仿真结果的实时显示;一任务选择子模块,以离线编程的方式存放所述协作控制模块控制算法和决策库中所述多机器人协作所用到的控制算法和协调策略;一参数设置子模块,用于预设置第一幅原始图像信息的颜色阈值、颜色搭配信息、当前环境的亮暗系数、失真系数等参数。\n[0011] 所述用户界面模块在所述实时显示设备上显示的界面包括:用于控制其他部分界面的显示与否,并进行运行模式和策略模式的选择的主界面;用于实时显示和记录实验进程的原始图像显示界面;用于实时显示和监控图像预处理的效果的图像预处理以及结果显示界面;用于显示包括识别后的信息的图像识别结果显示界面;用于显示包括美观化处理后的图像信息的图像识别结果优化显示界面;用于设定所述水下机器人参数信息和环境信息的颜色信息设置界面;用于设置通信相关的串口和波特率等通信参数的通信参数设置界面;用于显示选择的数字形式或者保存实验进行中所述每个机器人的模态、方向,速度和状态,用于辅助用户调试算法程序的信息显示以及保存界面;用于设置仿真相关的参数和实时显示仿真图像的仿真相关的界面。\n[0012] 所述无线通信设备为双工通讯设备。\n[0013] 所述协作控制模块采用分层分布协作控制结构,包括作为主线程的全场信息处理智能体,在所述主线程下设置有协作层、规划层、动作层和执行层;所述主线程通过多个线程控制各所述水下机器人,各所述机器人的控制模块和与其对应的所述协作控制子模块构成一个线程;所述协作层包括各线程中的通信子模块和协作子模块,所述规划层包括各所述线程中的规划推理子模块,所述动作层包括各所述线程中的动作子模块,所述执行层包括各所述水下机器人的控制模块。\n[0014] 所述协作层中,各所述协作子模块对应协议模型、队友模型,各所述协议模型与对应的所述水下机器人通讯,并在所述协作层中各所述线程的协作子模块之间接收和发送信息;所述队友模型反映队友的状态及队友所处的意识状态。\n[0015] 所述规划层中,所述规划推理子模块对应自身模型、对手模型;所述自身模型记录对应的所述水下机器人的自身状态并反映所述水下机器人所处的意识状态;所述对手模型反映对手的状态及对手所处的意识状态。\n[0016] 所述动作层中,所述动作子模块对应动作模型,用于控制对应的所述水下机器人的基本动作。\n[0017] 所述执行层中,所述机器人控制模块对应对象模型和控制规则;所述对象模型反映电机运动状态的变化,记录电机转速、偏差的参数;所述控制规则控制对应的所述水下机器人的动作。\n[0018] 所述用户界面模块是采用动态链接库实现仿真平台和控制算法接口的模块。\n[0019] 本发明由于采取以上技术方案,其具有以下优点:1、本发明的系统界面提供的策略接口可以自由添加和编辑自己的任务或策略算法,其通用性强,适应于各种算法。2、本发明的用户界面提供了“实际”和“仿真”复选框,可以进行仿真和实际的效果对比,在不需重新编译的情况下可以针对新的算法进行仿真实验。3、本发明提供的具有图形化的用户界面,不仅使算法的效果变得很直观,而且会使算法中的问题更容易被发现,图形化的界面还能够提供可视化的编程环境编辑工具,使实验人员可以方便地构造不同环境来检测算法的有效性和通用性。4、本发明通过用户界面可以对动态环境进行模拟,实现对新算法的验证和应用。5、本发明通过协作控制中心对数据库记录实验中重要参数仿真数据,一方面可用于离线仿真的算法分析,获取重要控制参数;另一方面结合智能控制算法进行在线学习优化和更新决策库。6、本发明图像处理过程中集中采用了二值化算法、扫描线种子填充算法和SIMD技术,因此大大提高了整个图像处理流程的工作效率,满足了本发明实时性的要求。7、本发明计算机内部采用的多线程技术,进一步满足了本发明实时性的要求。8、本发明提供的分层分布式控制结构,实现了整个系统的实时性、动态性、容错性和可扩展性。\n附图说明\n[0020] 图1是本发明的结构示意图\n[0021] 图2是本发明的控制系统中各模块的工作流程图\n[0022] 图3是本发明图像处理模块的工作流程图\n[0023] 图4是本发明协作控制子模块示意图\n[0024] 图5是本发明内部线程通讯关系示意图\n[0025] 图6是本发明分层分布式控制结构示意图\n具体实施方式\n[0026] 下面结合附图和实施例对本发明进行详细的描述。\n[0027] 如图1所示,本发明包括一控制系统10、一图像采集设备20、多个水下机器人30以及电源,用户通过控制系统10对图像采集设备20和水下机器人30进行协作控制。\n[0028] 控制系统10包括一主控装置11和一无线通信设备12。其中,主控装置11包括依序连接的计算机13、实时显示设备14和操作设备15,例如键盘和鼠标。无线通信设备12采用双工通讯设备,以保证主控装置11与各水下机器人30之间的通讯。\n[0029] 操作者通过操作设备15在实时显示设备14的界面中设置参数和选择任务。计算机13对接收到的图像采集设备20发送的原始图像信息进行分析,得到所需要的立体视觉信息,并通过实时显示设备14根据该立体视觉信息显示立体视觉图像,从该立体视觉图像中可提取出所需要的各种信息,例如水下机器人30的运动信息和水池、球等环境信息,使操作者可以根据该信息做出指令。计算机13与无线通信设备12连接,通过无线通信设备\n12向水下机器人30发送指令,并接收水下机器人30反馈的信息。\n[0030] 图像采集设备20,为CCD摄像头或其它图像获取设备,其将实时采集的原始图像信息通过数据线传送到计算机13,由计算机13对原始图像信息进行处理。\n[0031] 水下机器人30执行接收到的计算机13通过无线通信设备12发送的指令,并反馈内部状态信息。水下机器人30内设置有与之对应的机器人控制模块31,机器人控制模块\n31用于接收指令并控制与之对应的水下机器人30的动作,同时还用于反馈水下机器人30的内部状态信息。\n[0032] 为实现控制系统10对图像采集设备20和水下机器人30的有效控制,计算机13中设置有图像处理模块131、协作控制模块132和用户界面模块133(如图2所示)。\n[0033] 如图2所示,图像处理模块131包括图像采集子模块1311、图像预处理子模块\n1312和图像识别子模块1313。图像采集子模块1311控制图像采集设备20的采集工作,将原始图像信息输入图像预处理子模块1312进行预处理。该预处理过程中,操作者根据实时显示设备14显示的图像信息的效果及操作者的工作目的,可以通过操作设备15在所显示的界面中进行参数设置并将其输送给图像预处理子模块1312,图像预处理子模块1312再结合其内部算法对图像信息进行预处理,处理的图像信息都在实时显示设备14上进行同步显示,预处理后的图像信息输送至图像识别子模块1313进行快速识别,即识别出水下机器人30和球、水池等环境的位置、方向等信息,再传送给协作控制模块132。\n[0034] 如图3所示,图像处理模块131中的三子模块的工作过程如下:\n[0035] 首先进行系统初始化;然后由图像采集子模块1311控制图像采集设备20实时采集原始图像信息,并将采集到的图像信息传输给图像预处理子模块1312,由图像预处理子模块1312根据操作者设置的参数和选择的任务利用其内部算法对实时采集到的原始图像信息依次进行以下处理:\n[0036] (1)利用现有技术的软件方法对原始图像信息进行矫正广角失真的处理。\n[0037] (2)利用现有视觉识别技术的自适应衬底的平均化图像方法对图像信息进行叠加衬底的处理,弱化图像信息的光照不均问题。\n[0038] (3)由于图像采集设备20输出的图像信息的参数模式为RGB模式,本实施例采用现有技术对图像信息进行HLS变换(H、L、S分别代表色度、亮度和饱和度的值),将采集的图像颜色信息的色度、亮度和饱和度3种属性进行量化,便于有针对性地对目标颜色进行图像分割。本实施例中,图像颜色信息的色度、亮度和饱和度三个分量的范围均为0~240。\n[0039] (4)采用二值化算法对图像颜色信息进行分割,识别图像信息的颜色数量,其具体步骤如下:\n[0040] 首先,定义三个数组,且数组中的数都定义为无符号字符型:\n[0041] BYTE H[240],L[240],S[240],并将它们初步初始化为0。\n[0042] 然后再进一步初始化:先假设红色的HLS阈值参数设定为H:0~10,L:35~170,S:60~180,再将H[0]到H[10],L[35]到L[170],S[60]到S[180]的数组元素均加上1。\n[0043] 同样地,根据橙、黄、绿、蓝、紫、粉对应阈值参数将相应的数组元素依次加上\n2(10)、4(100)、8(1000)、16(10000)、32(100000)、64(1000000),括号里为对应的二进制值。\n[0044] 完成上面的初始化步骤后,假设现在S[100]等于6,根据上面的初始化步骤可知此值只能由2+4求得,则说明饱和度S为100时属于橙(2)和黄色(4)公共的饱和度阈值范围内。\n[0045] 假设现在某像素点对应的HLS值分别为h,l,s。\n[0046] 计算N=H[h]&L[1]&S[s]。\n[0047] 由上面的分析可知,N只可能为0,1,2,4,8,16,32,64之一,为0则说明该点不属于任何要识别的颜色,即为背景色,为其他值则为该值对应的颜色。\n[0048] (5)采用现有手段进行图像平滑化处理,比如简化的8点领域平均法将图像信息进行平滑化处理。\n[0049] 图像信息经过图像预处理子模块1312处理后,再由图像识别子模块1313对图像信息中的颜色块进行识别,识别的方法采用扫描线种子填充法,该方法步骤如下:\n[0050] 首先从包含种子像素的堆栈中推出区段的种子像素,沿着扫描线,对种子像素的左、右像素进行填充,遇到边界像素为止,区段内最左和最右的像素记为XL和XR。在XL≤X≤XR时,检查与当前扫描线相邻的上、下两条扫描线是否全为边界像素或已填充过,如果这些扫描线既不包含边界像素,也不包含已填充的像素,那么把每一像素段的最右像素取作种子像素,并压入堆栈。初始化时,堆栈压入一个种子像素,并在堆栈为空时结束。\n[0051] 颜色块识别完成后,图像处理模块131即可得到机器鱼在所处环境中的位姿信息,并输入用户界面模块133的实时显示子模块1331中,使操作者可通过实时显示设备14及时看到情况。\n[0052] 上述图像处理模块131的工作流程采用SIMD技术进行并行性优化,大大提高了整个流程的工作效率。\n[0053] 如图2所示,协作控制模块132用于存储操作者设定的协作任务,并根据操作者通过操作设备15在实时显示设备14的界面中选择的任务以及图像处理模块131输送的图像信息计算出各机器人30之间的协作关系,向各机器人30通过无线通信模块121发送对应的动作指令。\n[0054] 如图2所示,协作控制模块132,包括控制算法和决策库子模块1321、载入算法子模块1322和协作控制子模块1323。如图4所示,协作控制子模块1323又包括通信子模块\n1324、协作子模块1325、规划推理子模块1326和动作子模块1327。控制算法和决策库子模块1321中存储了操作者设定的协作任务,并根据给定的任务和图像处理模块131输送的图像信息计算出相应的决策即各机器人下一步所应获取的环境信息。载入算法子模块1322从控制算法和决策库子模块1321中提取出决策,并将决策传输至协作控制子模块1323中的通信子模块1324,通信子模块1324再将决策传输至协作子模块1325,协作子模块1325根据决策处理正在执行任务的水下机器人30和其他水下机器人30之间的协作关系,处理的结果被输送至规划推理子模块1326,以具体化为各水下机器人30对应的动作,并传输至动作子模块1327,动作子模块1327封装各机器人30的动作对应的指令,最后将指令通过无线通信模块121传送给对应的机器人控制模块31。\n[0055] 如图2所示,用户界面模块133,包括实时显示子模块1331、任务选择子模块1332和参数设置子模块1333。其中,实时显示子模块1331控制实时显示设备14对图像信息和仿真结果进行实时显示,以便进行监控。任务选择子模块1332以离线编程的方式存放着控制算法和决策库中多机器人协作所用到的控制算法和协调策略,并通过实时显示设备\n14显示。对于一些智能控制算法,可利用仿真过程记录的控制参数变量,通过在线学习优化控制算法,更新策略库。参数设置子模块1333用于预设置第一幅原始图像信息的一些相关参数,包括颜色阈值、颜色搭配信息、当前环境的亮暗系数、失真系数等,该参数同样通过实时显示设备14显示。本实施例中,用户界面模块133采用动态链接库(Dynamic Link Library,DLL)来实现仿真平台和控制算法的接口。\n[0056] 本发明提供的系统界面都通过实时显示设备14显示,其主要显示以下几部分:\n[0057] 第一部分:主界面,控制其它界面的显示与否,并进行运行模式和策略模式的选择。操作者可以通过主界面上的策略接口按钮自由添加和编辑自己的任务或策略算法,即在主界面的右边,“策略选择”框中,选中需要的策略,然后点击“开始执行”即可。\n[0058] 第二部分:原始图像显示界面,实时显示和记录实验进程。界面的中间部分显示图像采集装置20所采集到的全局图像信息。右边是静态环境设置,可以根据任务的需要,在图中设置通道、障碍物(圆形或方形)。可以通过鼠标点击图像设置,也可以精确输入坐标等参数。\n[0059] 第三部分:图像预处理以及结果显示界面,用于实时显示和监控图像预处理的效果。界面上显示的“预处理流程”按钮,为操作者提供了一个灵活的接口,操作者可以自由选择需要执行的流程,或自己定义更多的图像处理流程。界面上显示的图像是原始采集到的图像经过预处理流程处理过后的图像。\n[0060] 第四部分:图像识别结果显示界面,显示包括识别后的水下机器人30姿态信息,障碍物和目标的信息。界面上显示的识别流程,为用户提供了一个灵活的接口,用户可以自由选择需要执行的流程,或自己定义更多的识别流程。\n[0061] 上述第一~第四部分都具有保存视频、截图、画轨迹等功能。画轨迹就是将水下机器人的运动轨迹实时显示在界面上,便于分析实验结果。\n[0062] 第五部分:图像识别结果优化显示界面,显示包括美观化处理后的图像信息。由于图像识别之后得到的图像会产生晃动等效果,利用该界面上显示的优化方法能使图像具有更好的视觉效果。\n[0063] 第六部分:颜色信息设置界面,用于设定水下机器人30参数信息和环境信息。\n[0064] 第七部分:通信参数设置界面,用于设置通信相关的串口和波特率等通信参数。\n[0065] 第八部分:信息显示以及保存界面,操作者可以通过该界面选择数字的形式显示或者保存在实验进行中每个机器人的模态、方向,速度和状态,用于辅助操作者调试算法程序。\n[0066] 第九部分:仿真相关的界面,与仿真相关的参数设置和仿真图像的实时显示。\n[0067] 本发明为操作者提供了仿真功能,也可以进行仿真和实际的效果对比,具体操作是:在主界面的运行模式选择中,同时选中“实际”和“仿真”复选框,并选择策略,那么实际和仿真会同时开始执行,不仅可以让操作者进行策略的测试,同时也可以为操作者的仿真模型和算法提供了一个验证的系统。\n[0068] 通过上述各显示界面,本发明的工作过程如下:\n[0069] 启动程序后,系统初始化,进入主界面,操作者可以通过主界面显示的图像参数设置、通信参数设置、原始图像、图像预处理、图像识别、图像识别效果、信息显示等进行选择,并进入相应的程序。以选择原始图像为例,当操作者选择了“原始图像”之后,便会进入原始图像显示界面,界面中间部分显示全局CCD摄像头所获的原始图像信息,界面的右边是静态环境设置,操作者可以根据任务的需要,在图像中设置通道、障碍物(圆形或方形),也可以通过鼠标点击图像设置或精确输入坐标等参数。同时,操作者可以在原始图像界面上保存视频、截图、画轨迹等。操作者在主界面上按上面的流程完成了图像处理、识别和参数设置后,结合操作者在主界面上选择的策略,点击“开始执行”即可,图像采集设备20和水下机器人30开始执行相应的任务。\n[0070] 上述实施例中,由于图像处理模块131的运算量大,本发明引入多线程编程技术,该技术既满足系统的实时性要求,并且能实现各模块高效协调性。操作者首先通过用户界面进行参数设置,任务选择等,点击用户界面上的“开始执行”时,启动程序,系统创建主线程、图像采集线程、图像处理线程以及无线通信线程。其中,主线程包括用户界面和协作控制线程。\n[0071] 系统运行时,主线程、图像采集线程、图像处理线程以及无线通信线程同时工作,各自处理与之对应的任务,线程之间采用多线程机制进行通讯。\n[0072] 本发明的线程之间的通讯关系如图5所示,整个系统的通讯流程如下:\n[0073] 用户首先通过用户界面进行参数设置,任务选择等,点击用户界面上的“开始执行”时,启动程序,系统创建主线程。主线程初始化之后,系统创建并负责管理其它线程。图像采集线程按照每40ms采集一帧图像的速度采集一帧图像后,发消息通知图像处理线程,图像处理线程就对图像进行处理和识别,然后发消息通知主线程。\n[0074] 主线程结合用户选择的任务和经处理、识别后的图像信息,输入图像处理模块131进行运算,得出协作控制指令,并通过无线通信线程向机器人控制模块31发送指令,同时无线通信线程接收机器人控制模块31反馈的水下机器人30内部状态的信息,来检测水下机器人30是否执行了任务,然后通知主线程。\n[0075] 以上即为一个控制周期,然后执行下一个周期,下一个周期线程间的工作按上述流程继续循环下去。若无线通信线程检测到水下机器人30未执行任务,则系统主线程再次发送刚才的指令,系统再次完成上述控制周期的任务,直至系统主线程接收到水下机器人\n30已完成任务的信息。\n[0076] 上述实施例中,本发明采用的是分层分布协作控制结构,其主要特点是该系统只存在提供全局信息的机构,但没有全局控制机构,即组织结构上是分层的,但控制上又是完全分布的。分层分布式结构非常适合于集中式图像处理的多机器人系统,以主线程访问共享内存作为协作与协调通讯的主分支,用多线程机制构造多智能体。本发明的分层分布协作控制结构包括全场信息处理智能体和多个水下机器人智能体,全场信息处理智能体相当于主线程,每一水下机器人智能体构成一个线程。如图6所示,系统上层为全场信息处理智能体,接受图像处理模块131的图像信息处理结果并进行角色协调,然后向多水下机器人智能体发送处理后的信息。每一水下机器人智能体由四个层次构成:协作层、规划层、动作层和执行层。其中,协作层包括通信子模块1324和协作子模块1325;规划层包括规划推理子模块1326;动作层包括动作子模块1327;执行层包括机器人控制模块31。一个线程控制一个水下机器人30,各线程在每个控制周期向其对应的水下机器人30发出一次控制命令。\n[0077] 每一水下机器人智能体包括与其对应的协作控制子模块1323和机器人30的控制模块31,即每一水下机器人智能体包括与其对应的通信子模块1324、协作子模块1325、规划推理子模块1326、动作子模块1327及机器人控制模块31。每一水下机器人智能体都采用这种结构,属于同构水下机器人智能体,为智能体将来扩展打下基础。这种结构体系既充分满足每一水下机器人智能体的自主性、反应性和能动性,同时满足每一水下机器人智能体之间的协作性和社会性。在水下机器人30协作过程中,每一同构水下机器人智能体会根据自身状态的不同,选择不同的行为模式体现多样性。\n[0078] 为了提高水下机器人30的协调一致性,使活动更有目的,减少通讯量,需设计各模块对应的模型。协作子模块1325对应协议模型、队友模型,规划推理子模块1326对应自身模型、对手模型,动作子模块1327对应动作模型,机器人控制模块31对应对象模型和控制规则。其中:\n[0079] 协议模型,负责与其对应的水下机器人间的通讯以及在协作层中协作子模块之间接收和发送信息。各水下机器人通常采用共享内存信息和基于网络的数据通讯方式,例如采用共享主线程内容和串口通信方式。\n[0080] 队友模型,反映队友的状态及队友所处的意识状态的一些变量。其内容包括协作水下机器人30的位姿(x,y)、速度v以及水下机器人30正在执行的任务和与本体的协作关系等。\n[0081] 自身模型,对与其对应的水下机器人30自身数据的记录,记录本水下机器人的自身状态及其意识状态的一些变量。记录的内容包括本水下机器人30目前的状态,包括位姿(x,y)、速度v、目前执行的任务、前几个控制周期执行的动作、任务的完成情况及目前参与的协作关系。\n[0082] 对手模型,反映对手的状态及对手意识状态的一些变量。其内容包括对手的位姿(x,y)、速度v、以及水下机器人30正在执行的任务、与本体的对立关系等。\n[0083] 动作模型,与其对应的水下机器人30的基本动作控制模型,根据评估动作模块给出的任务指令,从动作知识库中取出相应动作(包括基本动作、技术动作、战术动作和组合动作等),如踢球、射门、拦截、移动等动作,向本水下机器人30发出遥控指令。\n[0084] 对象模型,反映电机运动状态的变化,记录电机的转速、偏差等参数。这些参数为电机控制、协调控制和用户控制提供了信息来源。\n[0085] 控制规则,指控制与其对应的水下机器人30动作的一些规则,以机器鱼为例,命令机器鱼前游或按一定角度转弯等的限制。\n[0086] 综上所述,本发明提供的多水下机器人协作控制系统是以多线程机制实现的多水下机器人智能体,可以通过选定通讯协议,例如Inform、Request、Modify、Agent、Accept等进行信息交换与协商原语。由此,通过本发明的多水下机器人协作控制系统,可以使多个水下机器人完成水球比赛、协作运输、协作爆破等复杂任务。
法律信息
- 2014-10-22
未缴年费专利权终止
IPC(主分类): G05B 19/418
专利号: ZL 200810119216.4
申请日: 2008.08.29
授权公告日: 2010.10.06
- 2010-10-06
- 2009-04-01
- 2009-02-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-08-22
|
2007-03-08
| | |
2
| |
2006-07-05
|
2004-12-23
| | |
3
| |
2007-07-25
|
2006-01-18
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |