一种基于ROS的多智能体分布式编队控制系统及方法

文档序号:29497635发布日期:2022-04-06 16:03阅读:606来源:国知局
导航: X技术> 最新专利> 控制;调节装置的制造及其应用技术
一种基于ROS的多智能体分布式编队控制系统及方法
一种基于ros的多智能体分布式编队控制系统及方法
技术领域
1.本发明属于多智能体智能控制技术领域,特别是一种基于ros(robot operating system,机器人操作系统)的多智能体分布式编队控制系统及方法。


背景技术:

2.随着科学技术的进步,机器人的数量快速增长,并逐步进入到人类生活的各个领域。机器人有灵活的特性,因为其有特稿生产力、增加安全性、便于控制和维护的特点广泛地应用于了工业生产环境以及科学研究当中。但是面对日渐复杂的工作环境,单个机器人不能很好的承担工作,难以满足更加复杂的要求。为了适应日益复杂的工作环境,提出了通过个体的行为结合实现整体系统的协作的多机器人系统。多机器人系统的出现弥补了单个机器人能力上的不足,提高了工作效率。
3.单个智能体可视为独立的简单计算机系统,其受限于单机计算瓶颈,可处理的问题有限。然而,将一个复杂的问题拆分并分配给每一个智能体,这些多智能体之间依赖于通信网络建立连接进行信息交互及协调,从而可以实现预期的复杂任务,其能力远超过一般的单一智能体。与传统的集中式一致性优化方法相比,基于网络的分布式多智能体系统由于其拥有很高的可用性、灵活性、强容错性等特点,在各个领域都有广泛的应用。
4.对于分布式多智能体的控制实现主要分如下几个方向:集中式、分布式和分层式。集中式控制的思想是,假设有一个中心节点存在于网络中,其他的所有智能体都于该节点进行通信,该节点中心负责对所有的智能体进行控制的运算能力,这种情况下,网络由中心节点直接控制称为集中式控制。分布式控制则是,节点之间的通信交互不通过集中节点进行,而是节点之间单独交互,根据通信得到信息后单独进行决策。集中式控制的显著优势在于:网络结构简单、子节点通信负担小、控制方法简单。但是对于中心节点的稳定性和运算能力要求很高,不利于降低成本。而分布式相反,在整个网络上不存在严格意义上的中心节点,每个智能体仅需和相邻的节点进行信息交互即可,但是与之优点相对应的是会带来更复杂的结构以及更高难度的控制问题,对于实际运用的落地是一个很大的挑战。而对于分层式结构而言,集中式体系结构和分布式体系结构的优点,分层式结构有一个主控结构,主控结构的作用是与智能体进行交互实现整体的编队运作控制,而不是控制单一的智能体进行运动,智能体除了接收主控单元的信息之外,还与其他智能体成员进行单独的信息交互,单个智能体通过上述两种信息获取进行综合判断做出决策。分层式体系结构具有集中式的编队统一协调性能,同时也兼备分布式的易拓展的特性,但是设计实现比较繁琐。
5.在现有的多智能体编队控制中,如专利cn109032138a公开了一种基于一致性算法的多机器人编队控制系统及方法,该专利采用集中式结构进行多机器人编队实现,具体实施为,上位机作为整个系统的主控中心,全局摄像头进行全局的视觉获取;对于编队算法的实施,通过上位机统一发布指令,各个机器人执行。然而,该专利无法实现对分布式算法的验证,且由于是集中式结构,对于主控单元的要求很高,主控单元因数据量庞大处理数据迟滞,会导致整个系统的混乱。


技术实现要素:

6.本发明的目的在于提供一种准确、高效的基于ros的多智能体分布式编队控制系统及方法。
7.实现本发明目的的技术解决方案为:一种基于ros的多智能体分布式编队控制系统,包括实验环境初始化模块、上位机ros环境模块、通信与处理模块、测量模块、控制算法模块和智能体组,其中:
8.所述实验环境初始化模块,用于在实验环境中标定智能体的初始位置,并且与上位机ros环境模块初始化的智能体位置相对应,发出开始编队指令至上位机ros环境模块;
9.所述上位机ros环境模块,用于初始化ros环境中智能体位置,管理各个智能体节点,发布领航者的位置;
10.所述通信与处理模块,包括主机以及主机内设置的处理模块、通信模块,通过串口通信实现智能体之间的信息交互,以及智能体和上位机ros的信息交互;通过处理模块实现基于目标位置信息的线速度角速度计算,实现智能体的分布式控制;
11.所述测量模块包括惯性测量单元,用于计算任意时刻智能体的实时位置;
12.所述控制算法模块,基于一致性算法完成多个智能体的编队控制;
13.所述智能体组,由多个能够移动的智能体构成,这些智能体按照领航跟随法实现编队算法,一个智能体作为领航者,其余智能体作为跟随者进行跟随,通过这种方式构建领航跟随者模型,每个智能体根据测量模块计算自己的实时位置,通过通信模块获得目标位置,根据这些数据执行一致性算法,完成编队任务。
14.一种基于ros的多智能体分布式编队控制方法,包括以下步骤:
15.实验环境初始化模块进行节点的初始化以及位置的初始化,初始化完成后通过上位机ros环境模块发布开始编队指令;
16.根据编队算法将初始位置最前方的智能体作为领航者,其余智能体作为跟随者,领航者通过自己的通信模块接收信息,通过处理模块发布移动指令,使领航者移动;同时领航者的测量模块记录自身的速度信息,通过时间计算出当前的实时位置信息;位置信息实时记录在树莓派之后,通过通信模块将信息广播给定义的跟随者;
17.跟随者通过通信模块接收到信号,运行一致性算法,通过输出量驱动智能体运动,实现编队控制;同时用跟随者自身的测量模块记录自己的实时位置,记录在跟随者树莓派中,并通过通信模块广播给跟随者子节点,通过分布式通信实现编队;
18.如果收到编队结束指令,所有智能体停止工作。
19.本发明与现有技术相比,其显著优点在于:(1)设计了一种分布式编队系统,利用分布式通讯交互不通过集中的节点进行,而实节点之间单独交互特点,实现了与中心节点的解耦,具有操作简单,低耦合,响应快速的优点;(2)根据分布式通信得到的信息进行单独的决策,单个智能体控制简单,提高了系统的鲁棒性;(3)设计了一种领航跟随编队方法,控制策略简单实用,跟随智能体根据控制器的输出控制量来调整跟随者与领航者智能体的位置,从而保持队形,具有快速高效误差精度小的特点;(4)基于ros进行智能体交互,在处理进程之间的通信时,采用了耦合度低的点对点的方式,并且ros是一个分布式设计的框架,支持多种编程语言和丰富的功能软件包。
附图说明
20.图1是基于ros的多智能体分布式编队控制系统的工作流程图。
21.图2是基于ros的多智能体分布式编队控制系统的结构图。
22.图3是基于ros的多智能体分布式编队控制方法中的智能体控制流程图。
23.图4是基于ros的多智能体分布式编队控制方法中的智能体运动学模型示意图。
24.图5是基于分布式一致性算法的多智能体ros通信图。
具体实施方式
25.本发明一种基于ros的多智能体分布式编队控制系统,包括实验环境初始化模块、上位机ros环境模块、通信与处理模块、测量模块、控制算法模块和智能体组,其中:
26.所述实验环境初始化模块,用于在实验环境中标定智能体的初始位置,并且与上位机ros环境模块初始化的智能体位置相对应,发出开始编队指令至上位机ros环境模块;
27.所述上位机ros环境模块,用于初始化ros环境中智能体位置,管理各个智能体节点,发布领航者的位置;
28.所述通信与处理模块,包括主机以及主机内设置的处理模块、通信模块,通过串口通信实现智能体之间的信息交互,以及智能体和上位机ros的信息交互;通过处理模块实现基于目标位置信息的线速度角速度计算,实现智能体的分布式控制;
29.所述测量模块包括惯性测量单元,用于计算任意时刻智能体的实时位置;
30.所述控制算法模块,基于一致性算法完成多个智能体的编队控制;
31.所述智能体组,由多个能够移动的智能体构成,这些智能体按照领航跟随法实现编队算法,一个智能体作为领航者,其余智能体作为跟随者进行跟随,通过这种方式构建领航跟随者模型,每个智能体根据测量模块计算自己的实时位置,通过通信模块获得目标位置,根据这些数据执行一致性算法,完成编队任务。
32.进一步地,所述实验环境初始化模块,包括智能体的初始位置标定,根据上位机ros环境模块初始化的智能体位置,按照坐标对应关系的比例进行放置;所述上位机ros环境模块下达开始编队指令后,通过无线局域网和领航者进行互连,发送执行指令给领航者,领航者通过通信模块接收上位机ros环境模块发送的执行指令。
33.进一步地,所述测量模块,采用型号为mpu9250的惯性测量单元,由三个加速度计和三个陀螺仪构成,能测得x、y、z三轴方向的角速率以及加速度,根据运行时间进行位置的实时计算,并且将实时的计算位置反馈给主机内的处理模块作记录。
34.进一步地,所述通信与处理模块,采用树莓派4b主机,该主机配备独立运行在智能体上的ros系统,用来接收处理其他智能体发送的信息,并且根据自己的测量模块实时的记录自己的位置;把自己的信息和目标的信息作为输入量,运行一致性算法;利用通信模块将自己的信息广播到其他智能体。
35.进一步地,所述智能体组,包括与主机通信的通信模块,带有霍尔编码器的减速电机ga25-370;单个智能体包括stm32f103rbt6型号的主控模块,实现对智能体的整体控制;智能体组包括为智能体提供动力的供电模块,该模块选用2600mahdd动力锂电池。
36.进一步地,所述领航跟随者模型,领航者接收上位机ros环境模块发出的的启动信号,领航者将自己的信息广播给任意一个跟随者;跟随者通过自己的主机进行配置串口,开
启ssh通信服务;跟随者修改配置文件.bashrc和host文件,通信建立成功后跟随者自身作为父节点,建立ros环境下对应的父节点对应的ip地址连接,进行跟随者之间的ssh通信服务;通过ssh通信服务实现智能体与智能体之间的分布式通信,跟随者不需要从上位机ros环境的主管理节点获取信息,跟随者信息来源对应的智能体作为ros中的父节点,从任意相关联父节点获取信息并进行计算。
37.本发明一种基于ros的多智能体分布式编队控制方法,包括以下步骤:
38.实验环境初始化模块进行节点的初始化以及位置的初始化,初始化完成后通过上位机ros环境模块发布开始编队指令;
39.根据编队算法将初始位置最前方的智能体作为领航者,其余智能体作为跟随者,领航者通过自己的通信模块接收信息,通过处理模块发布移动指令,使领航者移动;同时领航者的测量模块记录自身的速度信息,通过时间计算出当前的实时位置信息;位置信息实时记录在树莓派之后,通过通信模块将信息广播给定义的跟随者;
40.跟随者通过通信模块接收到信号,运行一致性算法,通过输出量驱动智能体运动,实现编队控制;同时用跟随者自身的测量模块记录自己的实时位置,记录在跟随者树莓派中,并通过通信模块广播给跟随者子节点,通过分布式通信实现编队;
41.如果收到编队结束指令,所有智能体停止工作。
42.进一步地,单个智能体的运动模型为:
[0043][0044]
其中,(r
xi
,r
yi
)为智能体i的惯性位置坐标,θi为智能体i的方向,(vi,ωi)为智能体i的线速度和角速度;从1到n代表组成智能体组的智能体个数。
[0045]
本发明基于分层式结构进行设计,分摊了主控单元的压力,并且使得整个系统有了分布式的特征,既可以用主控单元进行全局控制,又可以单个智能体个体做信息处理交互,提高了整个系统的稳定性,且本发明是基于ros系统进行开发,具有可移植性强的特点。
[0046]
以下结合附图及实施例,对本发明进行进一步详细说明。此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0047]
实施例
[0048]
如图1所示,本发明实施例的基于ros的多智能体分布式编队控制系统,包括实验环境初始化模块、上位机ros环境模块、通信与处理模块、测量模块、控制算法模块、智能体组。
[0049]
实验环境初始化模块,包括智能体的初始位置标记,根据ros系统上的坐标对应关系,按照比例进行放置。上位机ros模块下达开始编队的指令,上位机ros通过无线局域网和领航者进行互连,通过发送给领航者。领航者通过通信模块接收ros上位机发送的信号,初始化模块的工作完成。
[0050]
所述测量模块,选用型号为mpu9250的惯性测量单元,它是由三个加速度计和三个陀螺仪构成,能测得三轴方向的角速率以及加速度,根据运行时间进行位置的实时计算。并且将实时的计算位置反馈给主机作记录
[0051]
所述通信与处理模块,包括独立运行在智能体上的ros系统,用来接收处理其他智
能体发送的信息,并且根据自己的测量模块实时的记录自己的位置。把自己的信息和目标的信息作为输入量,运行一致性算法。利用通信模块将自己的信息广播到其他智能体。
[0052]
所述智能体组,包括与主机通信的通信模块,带有霍尔编码器的减速电机ga25-370;包括stm32f103rbt6型号的主控模块,实现对智能体的整体控制;包括为智能体提供动力的供电模块,该模块选用2600mahdd动力锂电池。
[0053]
所述领航跟随者,领航者接收上位机ros的启动信号,将自己的信息广播给任意一个跟随者。跟随者通过自己的主机进行配置串口,开启ssh服务。修改配置文件和host文件,通信建立后设置父节点对应的ip地址,进行跟随者之间的ssh通信服务。通过ssh通信实现了多机分布式通信,跟随者不需要从主节点获取信息,可以从任意父节点获取信息并进行计算。
[0054]
如图2所示,本发明实施例的基于ros的多智能体分布式编队控制方法用于实现本发明实施例的基于ros的多智能体分布式编队控制系统,包括以下步骤:
[0055]
实验环境初始化模块进行节点的初始化以及位置的初始化,初始化完成后通过上位机ros发布开始编队指令。
[0056]
领航者通过自己的信息传输模块接收信息,通过主控模块发布移动指令,使领航者移动。同时领航者的测量模块记录自身的速度信息,通过时间计算出当前的实时位置信息。位置信息实时记录在主机之后,通过通信模块将信息广播给定义好的一个跟随者。
[0057]
跟随者通过通信模块接收到信号,运行一致性算法,通过输出量驱动智能体运动,实现编队控制。同时用自己的测量模块记录自己的实时位置,记录在主机中,并通过通信模块广播给跟随者子节点,通过分布式通信实现编队。
[0058]
如果收到编队结束指令,所有智能体停止工作。
[0059]
单个智能体的运动模型为:
[0060][0061]
其中,(r
xi
,r
yi
)、θi和(vi,ωi)分别代表智能体i的惯性位置、方向、线速度和角速度。从1到n代表组成智能体组的智能体个数。
[0062]
本实施例的工作过程是:
[0063]
第一步,根据上位机ros环境模块中的初始化节点位置进行场地标定。在场地坐标系上按照比例进行放置。放置后通过ssh建立智能体之间的连接,完成编队前的准备工作。
[0064]
第二步,在准备工作完成后,由上位机ros模块开启开始编队指令,领航者开始移动,并且记录自己的位置。领航者的树莓派主机通过串口将计算的位置信息发送到跟随者的通信模块,跟随者接收信息并且在本地树莓派主机进行记录。
[0065]
第三步,跟随者根据第二步得到的领航者位置信息运行一致性协议,输出控制量驱动前进。跟随者同时通过自身所带的编码器采集速度信息,在上位机ros环境中进行显示。其他跟随者根据算法拓扑关系进行分布式获取信息,初步实现了多智能体分布式控制编队。
[0066]
第四步,根据领航跟随的思想,利用数学模型构造出实际的一致性控制协议,每个智能体根据自己在系统拓扑结构的位置,设计出不尽相同的控制协议,最终实现编队控制。
[0067]
本实施例中,控制方法的具体步骤是,通过初始位置的标定,上位机发出开始编队指令,领航者移动,记录位置信息。将位置信息发布给跟随者,跟随者得到自己的位置信息和目标位置信息,将差值引入一致性协议,计算控制量并实际作用在电机,最终形成一定的队形。
[0068]
根据系统模型,提出的一致性协议:
[0069]
假设编队由n+1个智能体构成,一个为领航者,其余1,2,...,n为跟随者。智能体n+1的信息状态为ξ
n+1
=ξr∈rm,其中ξr表示一致基准状态,它满足其中,f(
·
,
·
)关于t有界且分段连续,并且关于ξr局部lipschitz。
[0070]
我们用有向图作为该n+1个智能体通信拓扑的模型,其中v
n+1
={1,2,...,n+1}为节点集,为边集。令矩阵a
n+1
=[a
i+j
]∈r
(n+1)
×
(n+1)
为图g
n+1
的邻接矩阵,其中对于所有i=1,2,...,n+1和j=1,2,...,n+1,如果(j,i)∈ε
n+1
,则a
ij
>0,否则a
ij
=0;而对于所有的j=1,2,...,n+1,有a
(n+1)j
=0。再令矩阵l
n+1
=[l
ij
]∈r
(n+1)
×
(n+1)
为图g
n+1
的非对称拉普拉斯矩阵,其中对于i,j=1,2,...,n+1,当且仅当i≠j时,l
ij
=-a
ij

[0071]
考虑一致基准状态ξr是常量的情况,对于单积分动力系统而言,关于时不变一致基准状态的一致性算法为
[0072][0073]
其中ξi∈rm表示智能体i的信息状态;a
ij
为邻接矩阵a
n+1
∈r
(n+1)
×
(n+1)
的第(i,j)项(i=1,2,...,n,j=1,2,...,n+1)。
[0074]
如图3所示,单个智能体实现的控制步骤如下:
[0075]
第一步,根据测量模块与运行时间记录自己的实时位置。
[0076]
第二步,通过通信模块接收父节点的位置速度信息。
[0077]
第三步,获取父节点后相关信息后,结合自身的数据在ros环境中进行实时的计算。
[0078]
第四步,计算的过程中运行一致性算法。
[0079]
第五步,根据一致性算法获取的输出量转化为所有车轮的转速,实现转向或加减速。
[0080]
第六步,再次记录自己的实时位置,并将自己的实时位置信息广播给子节点。
[0081]
第七步,编队结束。
[0082]
在主机中,实际的控制算法的实现需要将智能体模型和控制协议进行离散化,最终实现编队控制,完成相关任务。
[0083]
如图4所示,单个智能体的运动学模型如下:
[0084]
c(x,y)代表智能体的中心点,v
l
、vr代表左右轮的线速度,v代表前进方向的线速度。l代表智能体的整体宽度,θ代表智能体的转向角度。
[0085]
如图5所示,ros节点之间的通信如下:
[0086]
ros中创建好一个工作空间(workspace),工作空间下又有多个功能包(package),
每个功能包包含多个节点(node),节点是可执行程序的最小单位,节点间通过消息来进行通信。消息主要包括话题、服务、动作。以下是ros的几种主要通信方式:、
[0087]
1、话题是单向的,一般用于连续发送数据的传感器,建立一次联系后,一个发布者可以向多个订阅者发送信息,同样,一个订阅者也可以订阅多个发布者的消息。
[0088]
2、服务是同步双向的通信机制,服务器只有在有请求的时候才响应,客户端在发出请求后才接受响应。当服务的请求和响应完成时,两个连接点自动断开。
[0089]
3、动作的通讯方式与服务有类似的情况,不同的是服务器收到请求后直至完成响应所需时间较长,中途需要反馈给客户端目前完成的情况,报告当前的现状。
[0090]
4、由以上三种通讯方式完成ros节点间的信息交流,但是发布者,订阅者,服务服务器,服务客户端,动作服务器,动作客户端分布在不同的节点中。这些节点需要一个让它们建立联系的主节点构建通信的桥梁。分布在外面的不同节点,向主节点注册自己的信息,以便其它节点访问,同时向主节点获取访问自己节点的信息。获取后节点和节点间就可以通讯,不再需要主节点。
[0091]
综上所述,本发明将分布式一致性协议应用到多智能体编队控制,是在实际的物理系统中进行验证,不局限于理论仿真。本发明中在应用一致性协议的过程中,利用到领航跟随者的思想,避免了单一编队算法的局限性,应用范围更加广泛。系统中使用ros节点通信的方法,减少了智能体对传感器的依赖性,且数据信息的同时发送减小了多个智能体之间的通信延时,提高了系统的实时性。在控制系统中,多个智能体实现了分布式控制,单个智能体控制简单,提高系统的鲁棒性。
[0092]
以上实施方式仅用于说明本发明,而并非对本发明的限制,本领域的普通技术人员应当理解,其依然可以做出修改和变换,而这些修改和变换都应属于本发明所附权利要求的保护范围。
完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 基于模糊观测器的柔性关节机器...
  • 一种具有关键词警示追踪功能的...
  • 一种基于Linux的电踏车控...
  • RRAM阵列求和运算电路及方...
  • 一种双控多档位球阀控制系统及...
  • 一种基于NBIOT网络老人安...
  • 基于温度均匀性的光学系统的热...
  • 一种高速公路边坡养护巡检方法...
  • 一种基于自组网导航的系留无人...
  • 中厚板试样加工信息化集控系统...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

PHP网站源码罗湖外贸网站设计观澜品牌网站设计木棉湾网页制作深圳SEO按效果付费民治网站优化按天收费丹竹头网站排名优化双龙企业网站设计福永网站推广大运网站制作惠州模板制作龙岗营销网站吉祥百度竞价坑梓seo网站优化大鹏外贸网站建设布吉模板推广南澳高端网站设计罗湖网站设计模板木棉湾关键词按天计费民治网站排名优化南澳seo优化布吉网站设计南澳网站建设松岗网络推广大运网络营销丹竹头品牌网站设计大鹏百度爱采购福永SEO按天计费荷坳外贸网站制作龙岗关键词按天扣费松岗网络广告推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化