群体机器人控制与图案生成方法

文档序号:29712358发布日期:2022-04-16 17:59阅读:98来源:国知局
群体机器人控制与图案生成方法

1.本发明涉及群体机器人控制技术领域,具体涉及一种群体机器人控制与图案生成方法。


背景技术:

2.近年来,由于互联网与人工智能的快速发展,机器人行业引起了广泛关注,大多数群体机器人均应用于科研领域、民用领域和战事、无人机集群表演等军用领域,而将机器人应用于教育领域是少之又少。由于教育产业一直受到国家、社会的重视,因此机器人教育成为了教育行业的新兴产业。
3.市面上虽然已出现教育机器人,但目前的教育机器人多为单体机器人,单体机器人的视野范围及其承载能力有限,不具备模拟真实场景集群式教育机器人实机系统,无法模拟完成较为复杂的任务;而且,单体机器人是采用一对一固定设计的,一旦机器人的数量增加,就会增大图案设计难度,尤其是当单个或者部分机器人失灵时,容易使整个机器人集群陷入瘫痪。另外,这些用于群体机器人控制与图案生成方法大多数需要机器人之间相互通信,一旦通信受阻,群体机器人很难受到控制和生成所需图案;而且,教育机器人的运动轨迹都是设计人员事先设置好的,才能使机器人运动达到所需方位和相应的路径。从以上分析可以看出,目前将多个单体机器人用于群体机器人控制的方法,很难应用于学生关于机器人集群控制的启蒙式教育,难以将群体机器人控制的原理与方法演示给学生观看,不仅不方便学生的实际操作,也不方便群体机器人控制,从而降低学生对群体机器人的兴趣,阻碍了学生对群体机器人核心思想的领悟。
4.为了解决上述单体机器人出现的问题,有人设计了群体机器人操作系统。例如,专利号为cn201710455840.0的发明专利公开了一种基于ros机器人操作系统的机器人自动跟随方法,该方法是使用激光雷达采集数据,对数据进行预处理,使用层次聚类算法对数据进行聚类,以行人双腿模型作为行人识别特征,以双腿中间位置代表行人位置,以重采样的方法解决激光雷达特征不明显,识别率低的缺点。然而,这种基于ros机器人操作系统的群体教育机器人,搭载复杂的传感器(如通信模块、视觉模块等),对软件/硬件算法的开发程度要求很高,对传感器精度和性能要求极为苛刻,这导致了对学生的基本要求过高,且购买成本偏高,不方便学生快速使用。
5.也有人采用了群体机器人应用于图案生成的方法。例如,申请号为cn202010660083.2的发明申请公开了一种障碍物环境下多机器人图案构成的迭代优化方法,以多个机器人到达分配目标点的总路径最短为目的,动态求解最优目标图案参数,确保所有机器人无碰撞到达各自目标点,实现优化障碍物环境中的图案构成。虽然这种障碍物环境下多机器人图案构成的迭代优化方法能够用于图案生成的群体机器人控制,但是这种迭代优化方法需要用户设定群体机器人构成图案形状,还需通过大量时间优化算法来优化机器人移动轨迹,才能在无碰撞下使群体机器人构成图案,实时性很差。除此之外,还要求用户需要极强的领域知识和相关技能,而学生很少有具备极强的领域知识和相关技能,不
方便让学生使用。


技术实现要素:

6.本发明所要解决的技术问题是提供一种群体机器人控制与图案生成方法,这种群体机器人控制与图案生成方法演示方便,简单易懂,对软件/硬件算法的开发程度要求较低,实时性强,方便学生使用。
7.为了解决上述技术问题,本发明采用的技术方案如下:一种群体机器人控制与图案生成方法,其特征在于包括下述步骤:(1)通过软件设计出群体机器人生成所需最终排列的图案形状,以及确定组成图案形状所需机器人的个数;(2)预先设定各个机器人的编号,以及各个机器人出发的起点位置与初始运动速度;(3)根据机器人的个数在预设图案形状上均匀采点,确定各个机器人的终点位置;(4)在软件上对各个机器人进行防碰撞预演及调整:(4-1)假设以各个机器人朝最近的终点位置移动的原则,判断是否有多个机器人达到的终点位置会发生重合,如果会发生重合,则重新调整各个机器人的终点位置,直到各个机器人达到的终点位置不会发生重合为止;(4-2)通过机器人防碰撞算法来判断各个机器人之间是否会发生碰撞,如果会发生碰撞,则以机器人与邻域机器人离的较远时相互吸引、机器人与邻域机器人离的较近时相互排斥的原则,调整机器人的移动方向,直到各个机器人之间不会发生碰撞为止;(5)通过机器人到达终点位置算法,来动态调整各个机器人到达终点位置的移动速度与移动方向,让各个机器人在自主向终点位置移动并顺利到达相应的终点位置,使各个机器人按照预设的图案形状进行排列。
8.上述步骤(4-2)中以机器人与邻域机器人离的较远时相互吸引、机器人与邻域机器人离的较近时相互排斥的原则定义为“引斥力原则”。
9.上述步骤(1)至步骤(4)中,各个机器人实际上是没有移动的,是在软件上对各个机器人进行移动预演,模拟各个机器人在实际移动过程中可能出现终点位置重合或者碰撞的情况;如果移动预演的过程中出现了终点位置重合或者碰撞的情况,则重新调整机器人的终点位置或者移动方向;当预演及调整之后,在步骤(5)中才使各个机器人通过机器人到达终点位置算法进行移动。
10.作为本发明的优选方案,所述步骤(1)中最终排列的图案形状是动态变化的,各个机器人通过步骤(5)中的机器人到达终点位置算法动态引导各个机器人移动至终点位置上。
11.作为本发明的优选方案,所述步骤(1)中所需的图案形状是用户自行在软件操作界面画出的。
12.作为本发明的优选方案,所述步骤(2)中各个机器人上设有led点阵屏,通过单片机来控制led点阵屏上面显示各个机器人的编号。上述led点阵屏通过led(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等。上述单片机采用uno-r3开发板单片机。
13.作为本发明的优选方案,所述步骤(3)中通过软件计算出预设图案形状的周长,根
据预设图案形状的周长及机器人的个数来确定在预设图案形状上采点的间距,再在预设图案形状上均匀采点,确定各个机器人的终点位置。
14.作为本发明的优选方案,所述步骤(4-1)中通过编号大的机器人先移动到最近的终点位置上,编号小的机器人再移动到第二近的终点位置上,来重新调整各个机器人的终点位置。
15.作为本发明的优选方案,所述步骤(4-2)中的机器人防碰撞算法是通过设置机器人的个数为n(n=1,2,

,i,

,j),计算出第i个机器人到第j个机器人的移动距离、移动角度与移动速度,进而调整第i个机器人与第j个机器人相邻之间的移动,避免第i个机器人与第j个机器人发生碰撞,计算公式如下:其中,为第i个机器人位置在x轴上的分量;为第i个机器人位置在y轴上的分量;为第i个机器人到第j个机器人距离在x轴上的分量;为第i个机器人到第j个机器人距离在y轴上的分量;为第i个机器人到周围机器人的数量;为第i个机器人周围个机器人在x轴上的偏移量总和;为第i个机器人周围个机器人在y轴上的偏移量总和;
为第i个机器人的移动速度;为第i个机器人到第j个机器人的夹角;为第i个机器人在x轴上的速度分量;为第i个机器人在y轴上的速度分量。
16.以上机器人防碰撞算法的计算公式,可以得出:通过控制各个机器人的移动距离、移动角度与移动速度,调整各个相邻机器人之间的移动方向,避免相邻机器人之间发生碰撞。
17.作为本发明的优选方案,所述步骤(5)中的机器人到达终点位置算法是通过计算出第i个机器人到第i个机器人在图案形状上相应采点的移动距离、移动角度与移动速度,来控制第i个机器人到达终点位置的移动距离、移动角度与移动速度,计算公式如下:其中,为第i个机器人位置在x轴上的分量;为第i个机器人位置在y轴上的分量;为第i个机器人对应图案形状上采点在x轴上的分量;为第i个机器人对应图案形状上采点在y轴上的分量;为第i个机器人到第i个机器人对应图案形状上采点在x轴上的分量;为第i个机器人到第i个机器人对应图案形状上采点在y轴上的分量;为第i个机器人的移动速度;为第i个机器人到第i个机器人对应图案形状上采点的夹角;为第i个机器人移动在x轴上的速度分量;
为第i个机器人移动在y轴上的速度分量。
[0018] 作为本发明的优选方案,所述步骤(5)中的各个机器人上均设有行走模块和测距感应模块,通过单片机控制行走模块与测距感应模块,以使各个机器人进行移动与测量距离。当各个机器人朝最近的终点位置移动时,由于机器人到每个终点位置的距离在时刻变化着,有时会发生多个机器人移动到同一终点位置的最近距离是一样的,为了避免此情况的干扰,需要判断是否有多个机器人达到的终点位置发生重合,如果重合,编号大的机器人先移动到最近的终点位置上,编号小的机器人再移动到第二近的终点位置上。上述各个机器人上只需要设置测距感应模块,就可以在无通信的条件下控制各个机器人与邻域机器人之间的距离,简化对软件/硬件算法的开发程度要求。
[0019]
通常,上述行走模块包括电机、转轴和两个行走轮,电机安装在所述机器人上,两个行走轮安装在转轴的两端,电机的动力输出轴与转轴传动连接。
[0020]
作为本发明进一步的优选方案,所述测距感应模块包括多个距离传感器,各个距离传感器沿机器人的腰身成圈设置,通过各个距离传感器来判断自身与邻域机器人之间的距离。上述距离传感器为激光测距传感器。上述激光测距传感器的型号为vl53l0x。通常,上述各个距离传感器实时与单片机之间通过iic协议进行通讯,目的在于确定该机器人与周围其他机器人之间的距离,当某个距离传感器传输的数据达到一定的数值之后,单片机将会输出相应的信号到该机器人的行走模块,通过行走模块使该机器人移动与转向,从而使得机器人之间具有一定的距离。
[0021]
本发明与现有技术相比,具有如下优点:1、本发明能够根据用户需求(例如:群体机器人数量、生成的图案形状以及图案与图案之间的变化)使群体机器人自动地、自主地按照预设的图案形状进行排列,方便学生对群体机器人的图案生成的二次开发;2、本发明解决了单个或者部分机器人失灵对群体机器人的系统影响,具备一定的抗干扰能力;3、本发明在控制机器人移动时只需要设置机器人的起点位置、运动速与终点位置的信息,通过相关算法进行计算即可达到实时控制机器人移动的需求,避免群体机器人之间相互碰撞和干扰,简化了对软件/硬件算法的开发程度要求;4、本发明演示方便,简单易懂,比较适合低龄人群(例如学生)进行学习,具有较大的教育意义,能够激发学生的想象力和自主创造力,让学生能够更好的了解群体机器人控制与图案生成的基本工作原理。
附图说明
[0022]
图1是本发明优选实施例的流程图;图2是本发明优选实施例中机器人防碰撞的示意图;图3是本发明优选实施例中机器人到图案形状上的移动过程示意图;图4是本发明优选实施例中群体机器人处于起点位置的示意图;图5是本发明优选实施例中群体机器人组成“h”形图案的示意图,其中虚线代表群体机器人移动的轨迹;图6是本发明优选实施例中群体机器人组成“口”形图案的示意图,其中虚线代表
群体机器人移动的轨迹。
具体实施方式
[0023]
下面结合附图和具体实施例对本发明进行具体描述。
[0024]
如图1、图4、图5所示,本实施例中的群体机器人控制与图案生成方法,包括下述步骤:(1)通过软件设计出群体机器人生成所需最终排列的图案形状,使该图案形状为“h”形图案,以及确定组成图案形状所需机器人的个数;(2)预先设定各个机器人的编号,以及各个机器人出发的起点位置与初始运动速度;(3)根据机器人的个数在预设图案形状上均匀采点,确定各个机器人的终点位置;(4)在软件上对各个机器人进行防碰撞预演及调整:(4-1)假设以各个机器人朝最近的终点位置移动的原则,判断是否有多个机器人达到的终点位置会发生重合,如果会发生重合,则重新调整各个机器人的终点位置,直到各个机器人达到的终点位置不会发生重合为止;(4-2)通过机器人防碰撞算法来判断各个机器人之间是否会发生碰撞,如果会发生碰撞,则以机器人与邻域机器人离的较远时相互吸引、机器人与邻域机器人离的较近时相互排斥的原则,调整机器人的移动方向,直到各个机器人之间不会发生碰撞为止;(5)通过机器人到达终点位置算法,来动态调整各个机器人到达终点位置的移动速度与移动方向,让各个机器人在自主向终点位置移动并顺利到达相应的终点位置,使各个机器人按照预设的“h”形图案进行排列。
[0025]
上述步骤(1)至步骤(4)中,各个机器人实际上是没有移动的,是在软件上对各个机器人进行移动预演,模拟各个机器人在实际移动过程中可能出现终点位置重合或者碰撞的情况;如果移动预演的过程中出现了终点位置重合或者碰撞的情况,则重新调整机器人的终点位置或者移动方向;当预演及调整之后,在步骤(5)中才使各个机器人通过机器人到达终点位置算法进行移动。
[0026]
步骤(1)中最终排列的图案形状是动态变化的,各个机器人通过步骤(5)中的机器人到达终点位置算法动态引导各个机器人移动至终点位置上。
[0027]
步骤(1)中所需的图案形状是用户自行在软件操作界面画出的。
[0028]
步骤(2)中各个机器人上设有led点阵屏,通过单片机来控制led点阵屏上面显示各个机器人的编号。上述led点阵屏通过led(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等。上述单片机采用uno-r3开发板单片机。
[0029]
步骤(3)中通过软件计算出预设图案形状的周长,根据预设图案形状的周长及机器人的个数来确定在预设图案形状上采点的间距,再在预设图案形状上均匀采点,确定各个机器人的终点位置。
[0030]
步骤(4-1)中通过编号大的机器人先移动到最近的终点位置上,编号小的机器人再移动到第二近的终点位置上,来重新调整各个机器人的终点位置。
[0031]
如图2所示,步骤(4-2)中的机器人防碰撞算法是通过设置机器人的个数为n(n=1,2,

,i,

,j),计算出第i个机器人到第j个机器人的移动距离、移动角度与移动速度,进而
调整第i个机器人与第j个机器人相邻之间的移动,避免第i个机器人与第j个机器人发生碰撞,计算公式如下:其中,为第i个机器人位置在x轴上的分量;为第i个机器人位置在y轴上的分量;为第i个机器人到第j个机器人距离在x轴上的分量;为第i个机器人到第j个机器人距离在y轴上的分量;为第i个机器人到周围机器人的数量;为第i个机器人周围个机器人在x轴上的偏移量总和;为第i个机器人周围个机器人在y轴上的偏移量总和;为第i个机器人的移动速度;为第i个机器人到第j个机器人的夹角;为第i个机器人在x轴上的速度分量;为第i个机器人在y轴上的速度分量。
[0032]
以上机器人防碰撞算法的计算公式,可以得出:通过控制各个机器人的移动距离、移动角度与移动速度,调整各个相邻机器人之间的移动方向,避免相邻机器人之间发生碰撞。
[0033]
如图3所示,步骤(5)中的机器人到达终点位置算法是通过计算出第i个机器人到第i个机器人在图案形状上相应采点的移动距离、移动角度与移动速度,来控制第i个机器人到达终点位置的移动距离、移动角度与移动速度,计算公式如下:其中,为第i个机器人位置在x轴上的分量;为第i个机器人位置在y轴上的分量;为第i个机器人对应图案形状上采点在x轴上的分量;为第i个机器人对应图案形状上采点在y轴上的分量;为第i个机器人到第i个机器人对应图案形状上采点在x轴上的分量;为第i个机器人到第i个机器人对应图案形状上采点在y轴上的分量;为第i个机器人的移动速度;为第i个机器人到第i个机器人对应图案形状上采点的夹角;为第i个机器人移动在x轴上的速度分量;为第i个机器人移动在y轴上的速度分量。
[0034]
步骤(5)中的各个机器人上均设有行走模块和测距感应模块,通过单片机控制行走模块与测距感应模块,以使各个机器人进行移动与测量距离。当各个机器人朝最近的终点位置移动时,由于机器人到每个终点位置的距离在时刻变化着,有时会发生多个机器人移动到同一终点位置的最近距离是一样的,为了避免此情况的干扰,需要判断是否有多个机器人达到的终点位置发生重合,如果重合,编号大的机器人先移动到最近的终点位置上,编号小的机器人再移动到第二近的终点位置上。上述各个机器人上只需要设置测距感应模块,就可以在无通信的条件下控制各个机器人与邻域机器人之间的距离,简化对软件/硬件算法的开发程度要求。
[0035]
通常,上述行走模块包括电机、转轴和两个行走轮,电机安装在所述机器人上,两
个行走轮安装在转轴的两端,电机的动力输出轴与转轴传动连接。
[0036]
测距感应模块包括多个距离传感器,各个距离传感器沿机器人的腰身成圈设置,通过各个距离传感器来判断自身与邻域机器人之间的距离。上述距离传感器为激光测距传感器。上述激光测距传感器的型号为vl53l0x。通常,上述各个距离传感器实时与单片机之间通过iic协议进行通讯,目的在于确定该机器人与周围其他机器人之间的距离,当某个距离传感器传输的数据达到一定的数值之后,单片机将会输出相应的信号到该机器人的行走模块,通过行走模块使该机器人移动与转向,从而使得机器人之间具有一定的距离。
[0037]
另一个方案中,如图4所示,先确定各个机器人的起点位置,然后让各个机器人按照步骤(1)至步骤(5)的方法进行移动,使各个机器人组成“口”形图案,如图6所示。
[0038]
此外,需要说明的是,本说明书中所描述的具体实施例,其各部分名称等可以不同,凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1