基于语义指令的机器人编队操控方法
未命名
08-15
阅读:76
评论:0
1.本发明涉及机器人编队控制技术领域,尤其涉及一种基于语义指令的机器人编队操控方法。
背景技术:
2.语义指令理解即让机器人理解操作人员的指令意图,当前是最友好的指令形式。机器人控制中心将操作人员的控制意图转化成文字指令,并对文字指令进行文本分类,实现理解操作人员意图的目的。在语义指令理解技术出现之前,市面上大多利用操控手柄、命令行输入等传统的人-机器人指令下发形式,并不能让操作人员有良好的交互体验。操控手柄和命令行输入等方式对操作人员的技能和经验要求比较高,需要操作人员具有良好的训练,而且这些交互方式不够自然直观,限制了操作人员的灵活性,无形中增加了操作的成本。
3.机器人编队路径规划就是一种在已知环境中规划处一条最优的无碰撞路径。当前机器人路径规划技术无论是算法还是系统,都是针对一般场景下的单一机器人,专门针对机器人编队进行复杂环境下的路径规划技术还很少。为了未来机器人编队在复杂环境、复杂背景下完成任务,需要提出一种改进型机器人编队路径规划算法。
4.机器人编队研究的核心算法之一就是形成预定编队之后要实现队形变换和队形保持,但是传统是机器人编队队形控制算法在复杂环境下、在编队规模增大后编队会由于累计误差导致出现队形涣散的情况,因此需要提出一种增加误差反馈的机器人编队队形控制算法。
技术实现要素:
5.本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于语义指令的机器人编队操控方法,基于文本分类技术,实现机器人编队对语音指令意图的识别,基于路径规划算法实现机器人编队在运动时的完整路径探寻,通过机器人编队队形控制技术保证机器人编队在运动过程中实现队形的形成、保持、变换。
6.为解决上述技术问题,本发明所采取的技术方案是:
7.一种基于语义指令的机器人编队操控方法,包括以下步骤:
8.步骤1:调用语音识别包实现语音识别,完成麦克风的语音模拟信号预处理、实现语音转文字。语义分析文字指令,实现文字指令到单个机器人或者机器人编队控制指令的转换。
9.步骤2:通过语音指令进行机器人编队定位,处理激光雷达信息,通过和地图信息的匹配,完成定位。根据机器人编队语音控制指令建立导航点,实现机器人的全局路径规划和局部路径规划,实现机器人编队的导航和针对动态障碍物的自动规避。
10.步骤3:采用加入线性控制反馈的机器人编队队形控制技术,实现机器人编队整体运动。
11.采用上述技术方案所产生的有益效果在于:本发明提供的基于语义指令的机器人编队操控方法,在ros系统下设计并实现了机器人编队与操作人员之间的指令交互以及编队控制技术,通过对机器人编队路径规划算法和机器人编队队形控制算法的研究,合理的制定了相关算法策略,基于a-star路径规划算法提出了适用于本发明的a*-choose算法,建立了机器人编队路径规划的框架。本发明在领航跟随法的基础上,设计了对机器人编队形成、保持的实验。本发明基于语音识别的基础上提出了语义理解算法,实现了对操作员语音指令的获取、识别、语义理解。为机器人编队选取了合适的硬件设备,包括底盘、激光雷达等,为其配置合适的软件系统ros,并利用此软件和硬件平台对基于语义指令的机器人编队控制技术的相关算法进行了gazebo环境验证和实物验证完成了本发明要求。实验结果表明本发明设计的基于语义理解的机器人编队控制技术可以得到良好的实现即指令下发、路径规划、队形控制等功能都得到很大提升。
附图说明
12.图1为本发明具体实施方式提供的语音识别包语音指令识别流程图;
13.图2为本发明具体实施方式提供的a*-choose算法中双向交替搜索流程图;
14.图3为本发明具体实施方式提供的基于文本分类的语义理解流程图;
15.图4为本发明具体实施方式提供的floyd算法原理图;
16.图5为本发明具体实施方式提供的机器人编队线性反馈结构图。
具体实施方式
17.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
18.如图1所示,本实施例的方法如下所述。
19.步骤1:调用语音识别包实现语音识别,完成麦克风的语音模拟信号预处理、实现语音转文字。语义分析文字指令,实现文字指令到单个机器人或者机器人编队控制指令的转换。
20.语音识别部分通过语音包完成麦克风的语音模拟信号预处理将语音指令转化为文本指令信息。在得到文本指令后,对文本指令进行分词处理,再利用支持向量机对分词处理后的文本指令进行文本分类,在文本分类过程中,分类词语的频率采用tf-idf词频逆文档频率算法进行词语权重的计算。传统的支持向量机只能进行二分类,而本实施例设定了多种指令类型,因此是多分类问题,所以本实施例采用一对一的方式进行多分类器的构造,新构造的多分类器提高了文本分类的准确性。
21.本实施例结合科大讯飞语音识别引擎(iat)开发了一套新的适应本实施例机器人编队控制的语音识别接口,语音识别接口的操作步骤如图1所示,具体如下:
22.语音识别包先进行身份鉴权,完成身份鉴权之后将常规关键词作为词库上传到云端服务器,能提高针对关键词的识别准确率。从控制中心的麦克风接收语音指令之后交由云端服务器处理,得到识别结果的字符串,在交给语义理解模块后,与指令库中的控制指令相匹配,将匹配后的控制指令经由ros topic publisher发布到ros通信网络中。
23.本实施例采用的分词工具是"jieba"组件,这一组件采用前缀字典对文本指令进
行划分处理,再将划分出的所有词构造成有向无环图(dag)。通过动态规划算法,在dag上找到最优解。在进行文本分类之前,本实施例先进行文本表示,将文本指令转换成支持向量机可以处理的结构化的数据形式。如图3所示,为基于文本分类的语义理解流程图。
24.本实施例在文本分类过程中对特征词的权重计算问题使用成熟精确的词频-逆文档频率(term frequency-inverse document frequency,tf-idf)方法。当特征词在文本中出现的概率越大,其权重也随之增加;该词在语料库中出现的频率越大,权重也随之下降,计算公式如下:
25.w(t,d)=tf(t,d)*idf(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
26.其中,tf(t,d)表示词频,t表示特征词,d表示所处文本,因此特征词在整个文本中的重要性可以用tf来表示,计算公式如下:
[0027][0028]
其中,nd表示整个文本d中的所有词语数目,n
t,d
表示特征词t在文本d中出现了多少次。
[0029]
逆文档频率idf(t)表示特征词在所处文本中的普遍重要性,采用特征词t在文本d中出现频率的倒数的对数形式表示,计算公式如下:
[0030][0031]
其中,n表示文本集合的文本数量,n
t
表示共有多少个文本出现了特征词t。
[0032]
经过上述的文本分词和文本表示两个预处理过程,文本指令已经转化为了向量形式。接下来就可以用这种向量形式的文本指令进行机器人编队的语义指令理解的训练和测试。在得到准确的语义理解模型后就可以用于机器人编队控制系统中。本实施例采用一对一(one-versus-one)方法构造svm多分类器。对于有n个类别的样本,该方法在任意两类样本之间构造一个svm分类器,因此总共需要n(n-1)/2个svm分类器。在测试时,使用所有的svm分类器分别对测试样本进行分类,并根据分类结果对相应类别投票,最后得票数最多的类别作为该样本的类别。
[0033]
步骤2:在机器人编队获得语义指令后,机器人编队需进行目标点位置搜索。此时需要进行机器人编队路径规划算法设计。
[0034]
通过语音指令进行机器人编队定位,处理激光雷达信息,通过和地图信息的匹配,完成定位。根据机器人编队语音控制指令建立导航点,实现机器人的全局路径规划和局部路径规划,实现机器人编队的导航和针对动态障碍物的自动规避。
[0035]
在传统的a*算法中使用的单向搜索方式,这种方式在复杂环境下并不健壮,因此本实施例基于传统的a*路径规划算法进行改进,设计一种a*-choose算法。首先设计一种双向交替搜索的方式,在初始搜索时,先进行正向搜索,在得到当前最小评价函数节点后,将此最小函数节点作为目标节点立即进行反向搜索,这两种搜索方式不断切换交替进行,当搜索结束后,若能够在正反两个方向上拓展出一条统一的最优节点,且节点满足单独搜索的限制条件,则路径规划结束。a*-choose算法中双向交替搜索的流程如图2所示,open1表和open2表分别存入正反两方向的起始点坐标。
[0036]
虽然通过双向交替搜索的方式可以得到一条完整的路径,但是路径中仍存在冗余点,导致路径不平滑。因此需要对a*-choose算法进行进一步平滑路径处理,本实施例采用
floyd算法对a*-choose算法进行进一步优化。floyd算法是一种采用动态规划思想寻找目标加权图目标点之间最短路径的一种插点式算法。floyd算法原理如图4所示,其中点s为起始点,点g为目标点,s与g之间的阴影方块为障碍物,此时点s与点g的距离记为+∞,y点为起始点s与目标点g之间已规划出的节点。若此时的距离与的距离和小于的距离,则新的路径变为在点y和点g之间插入点x,如果和的距离和小于的距离与的距离和,则新的路径变更为将x点去除,采用一段优化的弧形路径代替s点到g点的路径规划。
[0037]
a*-choose算法的流程步骤如下:
[0038]
步骤2-1:在路径搜索之前,先对栅格地图进行初始化操作,将初始节点信息更新至正向搜索open1表中,同样将全局路径规划的目标节点信息更新至反向搜索的open2表中;
[0039]
步骤2-2:先进行正向搜索,朝着目标点的坐标信息沿垂直或水平方向进行寻路;
[0040]
步骤2-3:根据步骤2-2判断路径中是否存在关键点,若存在关键点,则将该关键点放入open列表中,然后将open列表中f(n)值最小的节点放入到close表中,将该f(n)值最小的节点作为当前路径的初始节点,继续朝目标点进行搜索;
[0041]
步骤2-4:不断循环步骤2-2和步骤2-3,运动到目标节点时停止循环;
[0042]
步骤2-5:在正向搜索的close列表中,从目标节点进行反向搜索,将路径依次连接起来;
[0043]
步骤2-6:a*-choose算法进行反向搜索,该过程与正向搜索原理相同,将正向搜索的最小评价函数节点设为目标点;
[0044]
步骤2-7:删除路径中方向相同的节点;
[0045]
步骤2-8:将步骤2-7操作后余下的节点作为转角,带入floyd算法中计算,从而得到最简洁的路径。
[0046]
由a*-choose的操作步骤可知,首先,在a*算法的搜索过程中,本实施例采用双向交替搜索方式,机器人编队首先进行正向搜索,在得到正向最小代价函数节点后,将正向搜索所得到的最小代价函数设置为反向搜索的目标节点,随后进行反向搜索。正反两方向搜索同时进行,找到拥有代价函数最小值并且满足单独搜索的制约节点。而后再将路径中通过双向搜索得到的节点带入floyd算法中,从而得到一条高效、平滑、安全无碰撞的机器人编队路径。
[0047]
步骤3:采用加入线性控制反馈的机器人编队队形控制技术,实现机器人编队整体运动。
[0048]
本实施例提出的机器人编队队形控制算法,将和l-l两种算法进行混合控制,并加入线性控制器,以保证机器人编队在复杂任务背景下完成编队任务。
[0049]
混合控制模型为:
[0050]
[0051]
其中,变量为跟随者和领航者之间横坐标方向的理想相对距离,变量为跟随者和领航者之间纵坐标方向的理想相对距离,领航者机器人位姿设为(x
l
,y
l
,θ
l
),跟随者机器人位姿为(xf,yf,θf)。其中,x
l
、y
l
、θ
l
分别表示领航者机器人横坐标变量、纵坐标变量和角度变量;xf、yf、θf分别表示跟随者机器人横坐标变量、纵坐标变量和角度变量。j为机器人头部到机器人中心的距离。
[0052]
本实施例中将相邻两个机器人的相对距离误差作为控制反馈,其中,ld表示两台相邻机器人相对距离的理想值,表示两台相邻机器人的相对角度理想值。v
l
和vf分别为领航者和跟随者的速度(m/s),ω
l
和ωf分别为领航者和跟随者的角速度(rad/s),两台机器人跟随行驶的线性反馈控制系统如图5所示。为了使控制器的算法简单化,引入一个中间变量m,在领航者和跟随者行进过程中,m和领航者一直保持固定的角度和距离,跟随者无限的跟随m,此处利用线性反馈控制算法设计跟随者机器人的速度控制器和角速度控制器,具体可抽象为公式(5)。
[0053][0054]
其中,k1、k2表示控制器中两个控制增益,皆为常数;vm和ωm为m的速度(m/s)和角速度(rad/s),可以得知两台相邻机器人的误差公式如式(6)。
[0055][0056]
其中,e1表示两台相邻机器人的纵向实际距离和理想值之差,e2表示两台相邻机器人的横向实际距离和理想值之差,e3表示两台相邻机器人的横摆角度之差。
[0057]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
技术特征:
1.一种基于语义指令的机器人编队操控方法,其特征在于:包括以下步骤:步骤1:调用语音识别包实现语音识别,完成麦克风的语音模拟信号预处理、实现语音转文字;语义分析文字指令,实现文字指令到单个机器人或者机器人编队控制指令的转换;步骤2:通过语音指令进行机器人编队定位,处理激光雷达信息,通过和地图信息的匹配,完成定位;根据机器人编队语音控制指令建立导航点,实现机器人的全局路径规划和局部路径规划,实现机器人编队的导航和针对动态障碍物的自动规避;步骤3:采用加入线性控制反馈的机器人编队队形控制技术,实现机器人编队整体运动。2.根据权利要求1所述的基于语义指令的机器人编队操控方法,其特征在于:所述步骤1中,语音识别部分通过语音包完成麦克风的语音模拟信号预处理将语音指令转化为文本指令信息;在得到文本指令后,对文本指令进行分词处理,再利用支持向量机对分词处理后的文本指令进行文本分类;在文本分类过程中,分类词语的频率采用tf-idf词频逆文档频率算法进行词语权重的计算。3.根据权利要求2所述的基于语义指令的机器人编队操控方法,其特征在于:所述语音识别部分结合科大讯飞语音识别引擎iat开发适应机器人编队控制的语音识别接口,语音识别接口的操作步骤具体如下:语音识别包先进行身份鉴权,完成身份鉴权之后将常规关键词作为词库上传到云端服务器;从控制中心的麦克风接收语音指令之后交由云端服务器处理,得到识别结果的字符串,在交给语义理解模块后,与指令库中的控制指令相匹配,将匹配后的控制指令经由ros topic publisher发布到ros通信网络中。4.根据权利要求2所述的基于语义指令的机器人编队操控方法,其特征在于:所述分词处理中采用的分词工具为"jieba"组件,该组件采用前缀字典对文本指令进行划分处理,再将划分出的所有词构造成有向无环图dag;通过动态规划算法,在dag上找到最优解;在进行文本分类之前,先进行文本表示,将文本指令转换成支持向量机能处理的结构化的数据形式。5.根据权利要求2所述的基于语义指令的机器人编队操控方法,其特征在于:所述支持向量机采用一对一的方式进行多分类器的构造;对于有n个类别的样本,该方法在任意两类样本之间构造一个svm分类器,因此总共需要n(n-1)/2个svm分类器;在测试时,使用所有的svm分类器分别对测试样本进行分类,并根据分类结果对相应类别投票,最后得票数最多的类别作为该样本的类别。6.根据权利要求2所述的基于语义指令的机器人编队操控方法,其特征在于:tf-idf词频逆文档频率算法的计算公式如下:w(t,d)=tf(t,d)*idf(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,tf(t,d)表示词频,t表示特征词,d表示所处文本;特征词在整个文本中的重要性用tf来表示,计算公式如下:其中,n
d
表示整个文本d中的所有词语数目,n
t,d
表示特征词t在文本d中出现了多少次;
逆文档频率idf(t)表示特征词在所处文本中的普遍重要性,采用特征词t在文本d中出现频率的倒数的对数形式表示,计算公式如下:其中,n表示文本集合的文本数量,n
t
表示共有多少个文本出现了特征词t。7.根据权利要求1所述的基于语义指令的机器人编队操控方法,其特征在于:所述步骤2中的路径规划算法是基于传统的a*路径规划算法改进的a*-choose算法,基于a*算法做出的改进包括:采用双向交替搜索的方式,在复杂空间环境下,机器人编队能够搜索到一条健壮的路径;采用floyd算法对机器人编队进行平滑路径处理;所述双向交替搜索的方式为,在初始搜索时,先进行正向搜索,在得到当前最小评价函数节点后,将此最小函数节点作为目标节点立即进行反向搜索;正反两种搜索方式不断切换交替进行;当搜索结束后,若能够在正反两个方向上拓展出一条统一的最优节点,且节点满足单独搜索的限制条件,则路径规划结束。8.根据权利要求7所述的基于语义指令的机器人编队操控方法,其特征在于:改进的a*-choose算法的具体流程步骤如下:步骤2-1:在路径搜索之前,先对栅格地图进行初始化操作,将初始节点信息更新至正向搜索open1表中,同样将全局路径规划的目标节点信息更新至反向搜索的open2表中;步骤2-2:先进行正向搜索,朝着目标点的坐标信息沿垂直或水平方向进行寻路;步骤2-3:根据步骤2-2判断路径中是否存在关键点,若存在关键点,则将该关键点放入open列表中,然后将open列表中f(n)值最小的节点放入到close表中,将该f(n)值最小的节点作为当前路径的初始节点,继续朝目标点进行搜索;步骤2-4:不断循环步骤2-2和步骤2-3,运动到目标节点时停止循环;步骤2-5:在正向搜索的close列表中,从目标节点进行反向搜索,将路径依次连接起来;步骤2-6:a*-choose算法进行反向搜索,该过程与正向搜索原理相同,将正向搜索的最小评价函数节点设为目标点;步骤2-7:删除路径中方向相同的节点;步骤2-8:将步骤2-7操作后余下的节点作为转角,带入floyd算法中计算,从而得到最简洁的路径。9.根据权利要求1所述的基于语义指令的机器人编队操控方法,其特征在于:所述步骤3中,机器人编队队形控制技术在传统领航跟随算法基础上,采用和l-l两种算法进行混合控制,并加入线性控制器,对领航跟随算法进行误差控制反馈;所述混合控制的模型为:其中,变量为跟随者和领航者之间横坐标方向的理想相对距离,变量为跟随者和
领航者之间纵坐标方向的理想相对距离,领航者机器人位姿设为(x
l
,y
l
,θ
l
),跟随者机器人位姿为(x
f
,y
f
,θ
f
);其中,x
l
、y
l
、θ
l
分别表示领航者机器人横坐标变量、纵坐标变量和角度变量;x
f
、y
f
、θ
f
分别表示跟随者机器人横坐标变量、纵坐标变量和角度变量;j为机器人头部到机器人中心的距离;所述误差控制反馈将相邻两个机器人的相对距离误差作为控制反馈,其中,l
d
表示两台相邻机器人相对距离的理想值,表示两台相邻机器人的相对角度理想值,v
l
和v
f
分别为领航者和跟随者的速度(m/s),ω
l
和ω
f
分别为领航者和跟随者的角速度(rad/s),构造两台机器人跟随行驶的线性反馈控制系统;引入一个中间变量m,在领航者和跟随者行进过程中,m和领航者一直保持固定的角度和距离,跟随者无限的跟随m;利用线性反馈控制算法设计跟随者机器人的速度控制器和角速度控制器,具体抽象为公式(5);其中,k1、k2表示控制器中两个控制增益,皆为常数;v
m
和ω
m
为m的速度(m/s)和角速度(rad/s),能够得知两台相邻机器人的误差公式如式(6)所示;其中,e1表示两台相邻机器人的纵向实际距离和理想值之差,e2表示两台相邻机器人的横向实际距离和理想值之差,e3表示两台相邻机器人的横摆角度之差。
技术总结
本发明提供一种基于语义指令的机器人编队操控方法,涉及机器人编队控制技术领域。本发明的方法基于语音识别包的基础上提出了语义理解算法,实现了对操作员语音指令的获取、识别、语义理解;提出了适用于本发明的A*-Choose算法,建立了机器人编队路径规划的框架;在领航跟随法的基础上,设计了对机器人编队形成、保持的实验。实验结果表明本发明提出的基于语义指令的机器人编队操控方法可以得到良好的实现即指令下发、路径规划、队形控制等功能都得到很大提升。等功能都得到很大提升。等功能都得到很大提升。
技术研发人员:郭向坤 刘猛 白江坤
受保护的技术使用者:沈阳理工大学
技术研发日:2023.04.17
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种商用车底盘及商用车的制作方法 下一篇:一种MCP芯片的制作方法
