一种机器人声音定位方法

文档序号:6178318阅读:304来源:国知局
一种机器人声音定位方法
【专利摘要】本发明公开一种机器人声音定位方法,涉及声音定位及机器人导航,通过至少两个Kinect传感器,获取每个Kinect探测到的声音来源方向,确定每两个Kinect传感器所确定的声源所在偏差扇面区域,共三个区域,由重心法求得每个区域的重心,三个重心的均值即为声源的最优位置。通过该方法,提高了其定位精度,具有很强的实用性、灵活性,可用于声音定位、机器人导航运动控制等多领域。
【专利说明】一种机器人声音定位方法
【技术领域】
[0001]本发明属于机器人领域,涉及一种机器人声音定位方法,可用于机器人运动控制、机器人室内定位与导航等领域。
【背景技术】
[0002]Kinect (啃乃特)是一种三维(3D)体感摄影机,同时它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。在Kinect第一次作为Xbox360的外设发布时,骨骼追踪和语音识别是Kinect SDK最受开发者欢迎的特性,但是相比骨骼追踪,语音识别中麦克风阵列的强大功能被忽视了。一部分原因归于Kinect中令人兴奋的骨骼追踪系统,另一部分原因在于Xbox游戏操控面板以及Kinect体感游戏没有充分发挥Kinect音频处理的优势。
[0003]Kinect的麦克风阵列在Kinect设备的下方。这一阵列由4个独立的水平分布在Kinect下方的麦克风组成。虽然每一个麦克风都捕获相同的音频信号,但是组成阵列可以探测到声音的来源方向。使得能够用来识别从某一个特定方向传来的声音。麦克风阵列捕获的音频数据流经过复杂的音频增强效果算法处理来移除不相关的背景噪音。所有这些复杂操作在Kinect硬件和Kinect SDK之间进行处理,这使得在一个较大空间范围内,即使人距Kinect有一定的距离也能够进行语音命令的识别以及判断声音的来源方向。
[0004]机器人室内定位技术是机器人研究领域的一个热点,也是一个难点,研究者们提出了各种各样的方法。比较典型的是RFID技术,首先,在室内首先构建一个智能空间或称为传感器网络空间,即事先在室内地面上每隔一定的距离铺设一个RFID标签,每个RFID标签内存入了其所在位置的绝对坐标,其次,在移动机器人上装有RFID标签信息读取装置,当机器人移动到RFID标签上时,读取RFID标签内的坐标数据即可知道机器人当前的位置。但是该定位方法对环境有一定的要求,而且RFID标签的铺设间隔不同,机器人的定位精度也不同。其他定位技术的精度也受多方面因素的影响,如推测航行法对传感器的精度和机器人本身的运动系统都有很大的依赖性;WIF1、蓝牙等技术对环境也有一定的要求;声音定位技术在机器人上也有应用,但限于其复杂的处理以及易受环境噪声的影响,所以定位精度并不高,难以推广;室内地图构建定位精度虽高,但地图构建过程复杂,计算量很大,实时性难以满足要求。

【发明内容】
:
[0005]本发明提供了一种机器人声音定位方法,用于解决现有技术中存在的定位精度不高的问题。
[0006]一方面,提供了一种机器人声音定位方法,包括:通过至少两个Kinect作为声音传感器,获取来自机器人的声音的来源方向角;根据所述来源方向角和所述至少两个Kinect的位置,确定每两个Kinect所确定的声源所在偏差扇面区域;确定每两个偏差扇面区域的交叉区域的几何重心;根据所述确定的几何重心,通过几何重心法计算声源最优位置,所述声源最优位置为定位得到的所述机器人的位置。
[0007]优选的,在通过几何重心法计算声源最优位置之后,根据目标位置和所述声源最优位置,确定所述机器人行动的路线;控制所述机器人沿所述路线运动到所述目标位置。
[0008]通过上述方案,能够准确而方便地定位机器人的位置。
【专利附图】

【附图说明】
[0009]图1是Kinect声音定位总体原理图;
[0010]图2是I号和3号Kinect传感器共同确定的声源所在区域原理图;
[0011]图3是不规则四边形重心求法原理图;
[0012]图4是I号和2号Kinect传感器共同确定的声源所在区域原理图;
[0013]图5是2号和3号Kinect传感器共同确定的声源所在区域原理图;
[0014]图6是通过Kinect的声音定位实现机器人导航原理图;
[0015]图7是机器人声音定位导航控制原理框图。
【具体实施方式】
[0016]下面结合附图,对本发明的具体实现过程进行详细说明。
[0017]本发明实施例提供了一种定位机器人的方法,包括:
[0018](I)将3个Kinect传感器以直角坐标系形式排放,声源在该坐标系内某一位置发出持续一定时间的声音,保存三个Kinect传感器获得的声音来源方向角。
[0019](2)由于每个Kinect传感器接收声音信号有一定偏差,用α表不偏差角度,Kinect传感器探测到的声音来源方向偏差范围为[-α,α ],称为偏差扇面,表示两个Kinect传感器确定的声源区域,本方法称为偏差扇面法。然后利用几何方法求得每两个Kinect传感器的偏差扇面区域所形成的交叉区域的重心,称为几何重心法。
[0020](3)利用偏差扇面法和几何重心法求得每两个Kinect传感器确定的声源所在区域的重心,共三个,计算这三个重心坐标的平均值,即为声源的最优位置。
[0021](4)将最优声源位置发送给移动机器人,机器人获得自己的位置信息,调整其运动方向,通过声音定位向目标地点移动,从而实现移动机器人声音定位导航。
[0022]本发明实施例借助Kinect传感器的音频处理能力,探测声音来源方向实现机器人室内定位。
[0023]与现有的技术相比,本发明实施例具有以下优点:
[0024]声音定位方法简单。声音定位系统的实时性要求很高,如果采用比较复杂的算法,将不能满足声音定位系统的实时性要求。本发明采用重心法这种比较通用的方法即可快速确定出声源的位置。
[0025]声音定位精度高。充分利用了 Kinect传感器的麦克风阵列以及Kinect软件驱动程序的背景抑制及回声消除处理,消除虚拟声源及背景噪声的影响,探测真实声源方向,获得声源的最佳位置。
[0026]定位方法通用。由于是利用Kinect探测声音的来源方向,所以即使有障碍物在Kinect和声源之间,Kinect仍能够得到声音的来源方向;另一方面,该定位方法不仅能够用于室内声音定位,同样可应用于室外。[0027]可应用于机器人室内的精确定位及导航运动控制。
[0028]本发明实施例还提供了一种机器人定位和导航方法,包括:
[0029]1、Kinect声音区域重心定位方法
[0030]参照图1,为了使声源的探测均在Kinect传感器的最佳探测角度范围内,三个Kinect传感器的布置如图所示。Kinect传感器获得声音来源方向角是以其中线为参考的,即图中标有声音来源角度参考线的虚线,面对Kinect传感器,虚线左侧的角度为负值,虚线右侧的角度为正值。声源在某一位置以16KHz的频率发出持续50ms的声音。偏差扇面法和区域重心方法结合获取三个Kinect传感器确定的声源交叉区域重心过程如下:
[0031]用β表示I号Kinect传感器探测到的声音来源方向角,Ikl表示I号Kinect传感器探测到的声源所在直线,故真实声源在直线Ikl左右偏转α度的扇形区域内,2号和3号Kinect传感器类似。P:表不2号Kinect传感器探测到的声音来源方向角,Ik2表不2号Kinect传感器探测到的声源所在直线。Y表示3号Kinect传感器探测到的声音来源方向角,Ik3表示3号Kinect传感器探测到的声源所在直线。由上述可知β和炉力负值,Y正值。
[0032](xkl, ykl)表示I号Kinect传感器所在位置坐标,(xk2, yk2)表示2号Kinect传感器所在位置坐标,(xk3, yk3)表示3号Kinect传感器所在位置坐标,实际中很容易测量,所以均为已知参数。
[0033]图1表不了三个Kinect传感器探测到的声音来源方向及两两偏差扇面相互交叉所确定的声源区域,以I号和3号Kinect传感器的偏差扇面相互交叉形成的区域为例,其交叉区域重心求法如下:
[0034]如图2,表示I号Kinect传感器探测到声源所在直线逆时针偏转α度,ζ表示I号Kinect传感器探测到声源所在直线顺时针偏转α度'I1n:表示3号Kinect传感器探测到声源所在直线逆时针偏转α度,/表示3号Kinect传感器探测到声源所在直线顺时针偏转α度。A(xA,yA)表示ζ和C的交点,B (xB, yB)表示ζ和C的交点,C(Xc^ye)表示义和I'的交点,D(xd,yD)表示和匕的交点。四边形ABCD即是由I号和3号Kinect传感器共
同确定的声源所在区域。为了方便说明求四边形AB⑶的重心,将其放大。
[0035]参照图3,N(xn, yN)表示三角形DAB的重心,0(x0, y0)表示三角形ABC的重心,P(xP, yP)表示三角形B⑶的重心,Q(xq, yQ)表示三角形CDA的重心,R(xE, yE)表示四边形ABCD的重心。
[0036]对于四边形AB⑶,连接其一条对角线AC,这样就将四边形AB⑶分割成三角形ABC和三角形CDA的组合体,则四边形AB⑶的重心在三角形ABC重心O和三角形CDA重心Q的连线OQ上;同理,连接四边形AB⑶另一条对角线BD,这样就将四边形AB⑶分割成三角形DAB和三角形B⑶的组合体,四边形AB⑶的重心同样在线段NP上,故有四边形AB⑶的重心
在线段OQ和NP的交点上,即R1 (χ?,ν^ )点。
[0037]参照图4和图5,四边形EFGH即是由I号和2号Kinect传感器共同确定的声源所在区域,四边形IJKL即是由2号和3号Kinect传感器共同确定的声源所在区域,按照上述同样的方法求得四边形EFGH重心为R2(xRi,yR2),四边形IJKL重心为R3)。
[0038]最后,求四边形ABCD、EFGH、IJKL 的重心^ &(?)三
个坐标的均值即为声源的最优位置S(xs,ys)。
[0039]按照上述方法,同理可求得I号和2号Kinect传感器相互交线所构成的区域的重心以及2号和3号Kinect传感器相互交线所构成的区域的重心。
[0040]2、最优声源位置算法
[0041]确定最优声源位置的方法包括:
[0042]步骤1:初始化多个参数
[0043]三个Kinect传感器的位置坐标均可实际测得,即(xkl, ykl)、(xk2, yk2)和(xk3, yk3)均为已知参数,误差角度α根据Kinect的技术指标及实际实验设定为5°,声源及三个Kinect传感器开始工作。
[0044]步骤2:求直线交点坐标
[0045]声源发出持续50ms的声音后停止发声,保存I号Kinect传感器获得的声音来源方向角β,2号Kinect传感器获得的声音来源方向角P , 3号Kinect传感器获得的声音来源方向角Y。
[0046]根据点斜式可列出如下直线方程:
[0047]直线/,y=tan(45° + β + α )χ (I)
[0048]直线l['.y=tan(45。+β-α)χ (2)
[0049]直线/y=yk3+tan(135° + + α ) (x_xk3) (3)
[0050]直线ζ3: y=yk3+tan(135。+ - α ) (x_xk3) (4)
[0051]直线/ζ和直线 的交点为A(xa,yA),解直线方程(I)和(4)组成的方程组得交点
A(xa, yA)的坐标。直线ζ和直线ζ的交点为B(xb,yB),解直线方程(2)和(4)组成的方程组得交点B(xb,yB)的坐标。直线ζ和直线匕的交点为C(x。,y。),解直线方程(2)和(3)组成
的方程组得交点C (xc, yc)的坐标。直线1['和直线ζ的交点为D (xD, yD),解直线方程(I)和
(3)组成的方程组得交点D(xD,yD)的坐标。
[0052]步骤3:求不规则四边形重心
[0053]由三角形重心坐标公式,
【权利要求】
1.一种机器人声音定位方法,其特征在于,包括: 通过至少两个Kinect作为声音传感器,获取来自机器人的声音的来源方向角; 根据所述来源方向角和所述至少两个Kinect的位置,确定每两个Kinect所确定的声源所在偏差扇面区域; 确定每两个偏差扇面区域的交叉区域的几何重心; 根据所述确定的几何重心,通过几何重心法计算声源最优位置,所述声源最优位置为定位得到的所述机器人的位置。
2.根据权利要求1所述的机器人声音定位方法,其特征在于,在通过几何重心法计算声源最优位置之后,所述方法还包括: 根据目标位置和所述声源最优位置,确定所述机器人行动的路线; 控制所述机器人沿所述路线运动到所述目标位置。
【文档编号】G01S5/18GK103472434SQ201310455238
【公开日】2013年12月25日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】莫宏伟, 孟龙龙, 徐立芳, 梁作玉, 蒋兴洲, 雍升 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1