一种开放式无人航行器航控软件架构实现方法技术

技术编号:36779134 阅读:52 留言:0更新日期:2023-03-08 22:09
本发明专利技术涉及无人机软件架构技术领域,尤其是一种开放式无人航行器航控软件架构实现方法,软件架构包含功能节点群、节点管理器、消息传递管理器、参数服务器、控制算法库。功能节点群是若干个独立功能节点的集群,架构统一了每个节点的外部接口函数形式,并由节点管理器统一管理;消息管理器是一种低开销高实时的消息传递模式,用于节点间的消息交互;软件架构内置一种参数服务器,可实现参数的注册、存储和读取功能;同时还配置一些常用的控制算法库,供各节点使用,本发明专利技术的无人航行器航控软件架构,兼具硬件开销低、实时性较高的特点,可扩展性好,支持多人协同开发,能有效降低软件开发门槛与周期。门槛与周期。门槛与周期。

【技术实现步骤摘要】
一种开放式无人航行器航控软件架构实现方法


[0001]本专利技术涉及无人机系统架构
,具体领域为一种开放式无人航行器航控软件架构实现方法。

技术介绍

[0002]无人系统科技的快速推进,亟需模块化,低耦合的开发框架,使得具备低开发门槛,多人协作开发。如现有ROS(Robot OS机器人操作系统)的开发框架,几乎垄断开源的无人平台控制系统,但ROS开发框架,对硬件系统有一定的要求,在低开销的嵌入式系统较难使用。但无人系统底盘类控制,如小车类的底盘控制,水面船的船控,水下航行器的航行器控制,一般为低开销的实时性嵌入式系统,可保证系统的小型化,简易化,和高可靠性。现有航控系统的控制软件一般无通用软件架构,基于控制器硬件直接对其开发,需要有一定的硬件基础;而基于嵌入式操作系统的开发,消息的交互并不便捷,且系统开销较大。随着功能模块不断增加,软件复杂度逐步提升,如何提升航控软件的开发效率,能较好的多人协同配合,并开发出功能强大、稳定可靠的航控系统,是当前无人控制领域都会关注的问题。

技术实现思路

[0003]针对现有技术存在的不足,本专利技术的目的在于提供一种开放式无人航行器航控软件架构实现方法。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种开放式无人航行器航控软件架构实现方法,其步骤为:步骤1:将航控软件分解为多个功能节点,由所有的功能节点群组合实现航控功能需求;为这些功能节点群能有效联合运作,设计功能节点消息管理器,设计配置参数服务器,设计功能节点管理器,同时为架构设计常用控制算法模块;步骤2:依据步骤1设计程序模块用于实现节点消息管理器,用于节点间的信息交互;步骤3:依据步骤1设计程序模块用于实现配置参数服务器,用于配置参数的集中管理;步骤4:依据步骤1设计程序模块用于实现功能节点管理器,用于节点对外接口的集中管理;步骤5:依据步骤1设计通用航控控制算法模块。
[0005]优选的,所述的节点消息管理器中的消息为采用消息指针和消息名称结合的模式。
[0006]优选的,所述的消息指针包括消息本身和消息内容;注册消息时为已申请的内存空间赋值;获取消息时是发送消息方根据已注册消息的名称,调用对应的消息指针;消息名称检索是采用动态序号的模式,记忆发送消息的序号,以提高消息读取时检索效率,发送时消息检索会遍历所有注册消息的功能块,对所有功能块发送消息,确保注
册消息的功能节点均能读取到消息。
[0007]优选的,所述的配置参数服务器为构建一个共用的参数服务器,进行参数统一管理;设计参数注册,参数设置,参数读取的接口功能,并进行封装,确保参数有统一管理的接口,降低程序的耦合性;在参数设置和读取的功能实现上,采用动态序号的模式,记忆参数设置的序号,提高下次参数设置和该次参数读取的检索效率,使其具备低开销的要求。
[0008]优选的,所述的节点管理器为功能节点对外接口采用序列号进行识别,每种节点统一三种对外接口,对外接口会被节点管理器自动调用;节点接口根据用户使用需求实现;节点可根据用户使用需求进行数量扩充,通过单个功能节点组合为功能节点群。
[0009]优选的,根据步骤5,通用航控控制算法模块设计为算法模块具备派生能力,可根据用户使用需求,派生多个算法模块;算法模块主要针对航行控制一般需求,主要包含用于航行控制的级联PID控制算法模块,其算法模块可满足不同输入需求的PID控制。
[0010]与现有技术相比,本专利技术的有益效果是:通过设计一种开放式无人航行器航控软件架构可有效提升控制系统内部性能:松耦合性:功能独立,可单独测试、升级;支持多人协作开发,有效提高无人航行器航控软件的开发效能;在松耦合前提下,具备高实时性,低开销。
[0011]高实时性:可确保航行器控制的响应速度能满足不同算法需求;低开销:系统资源占用率低,系统自身响应快。
附图说明
[0012]图1为本专利技术的系统框图;图2为本专利技术的消息传递模式的流程图;图3为本专利技术的参数服务器的工作原理示意图;图4为本专利技术的功能节点的接口组成图。
具体实施方式
[0013]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0014]请参阅图1

4,本专利技术提供一种技术方案:一种开放式无人航行器航控软件架构实现方法,包括以下步骤:步骤1:针对低开销的嵌入式硬件平台,旨在将项目所需的功能分解为不同的功能节点,不同的功能节点通过低开销的消息传递模式将其去耦,变为独立的一个节点。即要设计功能节点消息管理器,设计配置参数服务器,设计功能节点管理器,为架构设计常用控制算法模块。
[0015]步骤2:依据步骤1设计程序模块用于实现节点消息管理器。设计功能节点间的消息交互方式,并设计消息交互的接口;对消息交互功能的程序模块进行实现和封装;在消息获取的方式中,考虑消息获取效率,提高消息遍历效率;确保消息交互方式可支持单功能节
点单发送同一消息,多功能节点多发送同一消息;确保消息交互方式可支持单功能节点可获取其他单一节点发送的消息,也可支持多个功能节点可获取其他单一节点发送的消息;且要确保消息发送和获取的实时性要求。
[0016]步骤3:依据步骤1设计程序模块用于实现配置参数服务器。实际应用中会使用大量的配置参数,这些参数需要能便于使用和参数跟踪,故设计一种内置式配置参数服务器,将配置参数存储于参数服务器中,实现配置参数的注册、设置和读取功能接口,并对其进行封装;对参数读取采用优化机制,提高遍历效率。
[0017]步骤4:依据步骤1设计程序模块用于实现功能节点管理器。节点管理器读取已注册的功能节点的接口,并调用这些接口;对接口读取调用模块进行实现和封装;功能节点接口分为节点初始化接口,节点任务执行接口,节点终止接口。
[0018]步骤5:依据步骤4中节点初始化接口1,节点初始化阶段需要明确该功能节点需要获取的消息内容,并调用消息交互接口中的消息获取接口,并对实现消息获取接口函数。
[0019]步骤6:依据步骤4中节点任务执行接口2,该接口为驱动该节点功能执行,接口中会引入定时器时间,用户可引用该时间对功能执行频率进行设置。
[0020]步骤7:依据步骤4中节点终止接口3,该接口节点关闭时,需要执行的内容。
[0021]步骤8:依据步骤1设计通用航控控制算法模块。实现一般常用控制算法,如级联PID控制算法等。
[0022]基于上述方案其具体实施例本专利技术基本方案是将航行控制系统的算法组件化、模块化,采用开放式系统架构,架构由模块化的功能组件组成,各组件之间松耦合,通过标准化数据接口,使系统能够以开放的方式,支持功能组件的即插即用,实现功能扩展和系统进化。
[0023]如图1所示,为本专利技术一个实施例中一种开本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种开放式无人航行器航控软件架构实现方法,其特征在于:其步骤为:步骤1:将航控软件分解为多个功能节点,由所有的功能节点群组合实现航控功能需求;为这些功能节点群能有效联合运作,设计功能节点消息管理器,设计配置参数服务器,设计功能节点管理器,同时为架构设计常用控制算法模块;步骤2:依据步骤1设计程序模块用于实现节点消息管理器,用于节点间的信息交互;步骤3:依据步骤1设计程序模块用于实现配置参数服务器,用于配置参数的集中管理;步骤4:依据步骤1设计程序模块用于实现功能节点管理器,用于节点对外接口的集中管理;步骤5:依据步骤1设计通用航控控制算法模块。2.根据权利要求1所述的一种开放式无人航行器航控软件架构实现方法,其特征在于:所述的节点消息管理器中的消息为采用消息指针和消息名称结合的模式。3.根据权利要求2所述的一种开放式无人航行器航控软件架构实现方法,其特征在于:所述的消息指针包括消息本身和消息内容;注册消息时为已申请的内存空间赋值;获取消息时是发送消息方根据已注册消息的名称,调用对应的消息指针;消息名称检索是采用动态序号的模式,记忆发送消息的序号,以提高消息读取时检索效率,发送时消息检索会遍历所有注册消息的功能块,对所...

【专利技术属性】
技术研发人员:王俊雷林尚飞陈俊马立伟
申请(专利权)人:中国船舶重工集团公司第七一五研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1