基于ROS的多机器人分布式协同控制方法和系统

文档序号:31721348发布日期:2022-10-04 23:22阅读:612来源:国知局
基于ROS的多机器人分布式协同控制方法和系统
基于ros的多机器人分布式协同控制方法和系统
技术领域
1.本发明属于多智能体控制的技术领域,具体涉及一种基于ros的多机器人分布式协同控制方法和系统。


背景技术:

2.随着机器人技术的不断成熟,机器人能够实现更多复杂功能,尤其是多机器人的协同控制,能够实现编队控制、集群合作等复杂任务,从而受到了研究者越来越多的关注。针对多机器人的协同任务,对于多机器人不同任务下的协同控制方法还处在研究初期,当前多机器人的控制更多采用的是集中式的控制,即存在一个主控制器来对各个机器人发布控制指令,当其中一个机器人发生故障,尤其是主控制器出现故障时,控制算法将会失效,鲁棒性较差。因此,基于ros平台的话题通讯机制实现分布式协同控制将会明显的提高控制算法的鲁棒性。此外,目前不少多机器人协同控制算法的研究仅通过仿真验证,缺少合适的实物验证平台,因此,本发明中提出了一种多机器人分布式协同控制方法和系统。


技术实现要素:

3.有鉴于此,本发明提供了一种基于ros的多机器人分布式协同控制方法,其特征在于,包括:一种基于ros的多机器人分布式协同控制方法,包括:
4.步骤1:建立一个节点为主节点(ros_master),多个机器人中的每一个将其信息注册到主节点(ros_master);根据各机器人之间的实际通讯网络拓扑设置节点之间话题的发布与订阅,从而实现各机器人之间的ros通讯;
5.步骤2:选择所述多个机器人中的一个机器人作为领航者机器人,由所述领航者机器人获取目标轨迹,将其所述目标轨迹通过话题的形式发布;
6.步骤3:所述多个机器人根据本地信息和邻居信息获取到目标轨迹后,通过分布式协同算法控制器计算得到控制量,根据控制量进行协同跟踪运动。
7.特别地,所述步骤1包括:所述多个机器人通过具有无线网络接口的嵌入式系统硬件实现,将所有机器人连接到同一个无线网络中。
8.特别地,所述步骤2中所述领航者机器人获取目标轨迹包括:通过程序写入或从上位机实时控制的方式获取目标轨迹。
9.特别地,所述步骤2中通过程序写入的方式获取所述目标轨迹包括:选取目标位置、速度等作为状态量,并根据目标轨迹中状态量的变化规律建立状态方程,在程序中写入相应的函数随着时间变化,领航者机器人直接调用相应状态量来作为目标发布控制指令直接控制所述领航者机器人的执行机构,并通过传感器反馈回来的数据形成闭环控制。
10.特别地,所述步骤2中从上位机实时控制的方式获取目标轨迹包括:通过键盘控制执行机构在关节空间或任务空间中的坐标来控制其位置,通过控制目标点之间的移动时间来控制其速度,所述多个机器人的执行机构由多个pid环节形成位置反馈控制。
11.特别地,所述步骤3包括:所述多个机器人通过传感器获得位置、速度、加速度;经
由opencr驱动板传输至算法控制器,并根据各机器人之间的通讯网络拓扑,将其信息进行发布;并且,所述算法控制器还可根据邻居的发布信息计算得到控制量,将控制量传输到opencr驱动板,由opencr驱动板再分别给机器人的各关节发布控制指令。
12.特别地,从opencr驱动板中获得的传感器数据,需要进行单位、坐标系统一转换后以符合算法计算要求;计算得到的控制量也需要进行转换处理后,传输给opencr驱动板进行控制。
13.本发明还提出了一种基于ros的多机器人分布式协同控制系统,该系统包括主节点(ros_master)和多个机器人;该系统中的多个机器人中的每一个将其信息注册到主节点(ros_master);根据各机器人之间的实际通讯网络拓扑设置节点之间话题的发布与订阅,从而实现各机器人之间的ros通讯;选择所述多个机器人中的一个机器人作为领航者机器人,由所述领航者机器人获取目标轨迹;各机器人根据本地信息和邻居信息通过分布式协同算法控制器计算得到控制量,根据控制量进行协同跟踪运动。
14.有益效果:
15.1)、通过本发明的方法可以显著提高控制算法的鲁棒性,避免主控制器出现故障时,控制算法失效的情况发生;
16.2)、通过本发明的多个机器人采用具有无线网络接口的嵌入式系统硬件实现,尤其可使用树莓派实现,具有通用性,并可通过无线网络通信,适用性广;
17.3)、通过本发明的领航者机器人获取目标轨迹的方式多样,可采用程序写入或从上位机实时控制的方式,获取方式灵活多变,适用性强;
18.4)、通过本发明的领航者机器人各机器人之间根据实际通讯网络拓扑设置节点之间话题的发布与订阅,从而实现各机器人之间的ros通讯,该通信方式具有更好的可扩展性,机器人节点之间加入和退出都很自由和方便。
19.5)、通过本发明的机器人中采用opencr驱动板实现传感器通信,基于开源代码的机器人控制系统安全性更高,可维护性更好。
附图说明
20.图1为本发明中ros话题通讯机制示意图;
21.图2为本发明中多机器人通讯网络拓扑示意图;
22.图3为本发明中多机器人协同运动控制流程示意图。
具体实施方式
23.下面结合附图并举实施例,对本发明进行详细描述。
24.本发明提供了一种基于ros的多机器人分布式协同控制方法,包括:
25.步骤1:建立一个节点为主节点(ros_master),多个机器人中的每一个将其信息注册到主节点(ros_master);根据各机器人之间的实际通讯网络拓扑设置节点之间话题的发布与订阅,从而实现各机器人之间的ros通讯,ros话题通讯机制如图1所示。
26.具体过程如下:本发明中所述多个机器人通过具有无线网络接口的嵌入式系统硬件实现,将所有机器人连接到同一个无线网络中;具体本实施例中,各机器人中通过树莓派进行相互之间的通讯,树莓派中装以ubuntu系统,并安装好ros环境,建立一个主节点ros_
master,并为每个机器人建立一个节点。所有树莓派连接到同一个wifi网络下,并分配一个固定ip地址,各树莓派的节点信息均在主节点ros_master中进行注册。
27.树莓派与opencr驱动板通过usb进行连接,opencr驱动板与机器人执行机构通过串口连接,opencr驱动板中烧录好串口与usb通讯的转换程序,执行机构中传感器获得的实时数据传输给树莓派,而树莓派则将各控制量传输给执行机构进行控制。
28.根据各机器人实际的通讯网络拓扑,为每个节点配置好订阅与发布设置,每个树莓派节点都发布其获得的本机器人的位置、速度等传感器信息,而与之相连的邻居机器人则去订阅该话题。首先运行主节点ros_master,再分别运行各树莓派节点,相邻节点之间将自动建立tcp连接,通过在每个节点运行rostopic list指令检查各节点之间是否能够成功通讯。
29.步骤2:选择所述多个机器人中的一个机器人作为领航者机器人,由所述领航者机器人获取目标轨迹,将其所述目标轨迹通过话题的形式发布,该过程如图2所示。其中,领航者机器人获取目标轨迹包括:通过程序写入或从上位机实时控制的方式获取目标轨迹。
30.程序写入与上位机控制各有其优点,当目标轨迹是固定轨迹时,通过程序直接写入将会更加方便,也无需与外界上位机的通讯。而当目标轨迹较为复杂,需要灵活变化时,通过上位机可以进行实时控制。
31.程序写入方法中,选取目标位置、速度等作为状态量,并根据目标轨迹中状态量的变化规律建立状态方程,在程序中写入相应的函数随着时间变化,领航者机器人的树莓派可以直接调用相应状态量来作为目标发布控制指令直接控制领航者机器人的执行机构,并通过传感器反馈回来的数据形成闭环控制。
32.上位机实时控制方法中,上位机可以采用键盘控制来给出目标轨迹,通过键盘控制执行机构在关节空间或任务空间中的坐标来控制其位置,通过控制目标点之间的移动时间来控制其速度,机器人的执行机构由多个pid环节形成位置反馈控制。
33.步骤3:所述多个机器人根据本地信息和邻居信息获取到目标轨迹后,通过分布式协同算法控制器计算得到控制量,根据控制量进行协同跟踪运动,具体过程如下,如图3所示:
34.根据不同的应用场景和目标要求,选择不同的协同控制算法,视控制算法不同,需要对机器人进行动力学分析及模型的建立,并根据控制器需要使用的信息获得本地和邻居的传感器信息。
35.在程序中按照控制算法逻辑进行编写,其中需要对从opencr驱动板中获得的传感器数据进行单位、坐标系等进行统一转换以符合算法计算要求,而计算得到的控制量也与实际的控制指令量存在转换关系需要进行处理才能够传输给opencr驱动板进行控制。程序编写完成后运行各节点,各机器人将自动跟随目标轨迹进行协同运动,手动切断或恢复某个机器人的连接不会影响整个多机器人系统的协同运动。
36.考虑到现有的协同控制研究理论中多数针对连续系统,因此在实际控制中,对于每个采样控制周期,将控制量保持一个周期进行采样控制,以这种方式近似连续系统控制效果。除此之外,实际控制中存在通讯时延、传感器时延和采样时延等,这些时延可以通过程序进行测量,采用考虑时延的协同控制算法效果会更好。
37.本发明还提出了一种基于ros的多机器人分布式协同控制系统,该系统包括主节
点和多个机器人,该系统与方法实施例中的特征一一对应,故不再赘述。
38.综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
39.对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
40.最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1