机器人的导航方法及装置的制造方法_2

文档序号:9748570阅读:来源:国知局
的值超过了预设迭代次数;或者,
[0052]所述点云数据集Pk到所述点云数据集X的误差小于预设误差值。
[0053]进一步地,机器人在运动的同时,其运动传感器会获取机器人在单位时间内的状 态变化量。通常说来,受到机器人的轮子与光滑地面之间的滑动、偏移等因素的影响,运动 传感器所获取的状态变化量的可信度不高,因此,在本发明实施例中,采用图5所示方法来 增加运动传感器所获取的状态变化量的可信度:
[0054]在S501中,获取机器人运动传感器的矫正参数,所述矫正参数包括线性矫正参数 和旋转矫正参数。
[0055]例如,使用机器人内置的陀螺仪所自带的矫正程序,进行多次校验、验证后,确定 陀螺仪的线性矫正参数和旋转矫正参数。
[0056] 在S502中,根据机器人每次运动的状态,计算出机器人在该次运动过程中可能的 误差增量方向及数值,并与所述运动传感器获取的状态变化量合并,运算得到修正的状态 变化量。
[0057]在S503中,将所述矫正参数与所述修正的状态变化量合并,预估得到机器人的状 态变化量。
[0058]最终获取到的状态变化量即为一个可信度较高的值。
[0059]进一步地,假设机器人在初始位姿Pref做了一次扫描Sref,之后经过一次微小的运 动达到新的位姿Pnew,并在该位姿上又做了一次扫描Snew,通常,在上述过程中,P ref和Pnew可 以从运动传感器中获得,然而,为了进一步提高Pref和Pnew的准确性,可以通过将两次扫描 Sref和Snew中的点对齐,得到Pref和Pnew之间更加精确的关系,以修正运动传感器获得的状态 变化量,如下所示:
[0000] 步骤1:初始化预设阈值e,以及初始化参数1 = 0, di = do = 0。
[0061 ] 示例性地,预设阈值e可以设置为0.0001。
[0062] 步骤2:针对所述机器人新的位姿Snew上的每个点Pn,在所述机器人初始位姿Sref上 寻找与之距离最近且所述距离小于所述预设阈值的点Pr,组成点对集合(/^/^)。
[0063] 步骤3:计算所述点对集合的旋转矩阵Rw和平移矩阵T,并计算
':。,
[0064] 步骤4:计算i
:,其中,所述num为所述点对集 合中的配对数量。
[0065] 步骤5:若| cU-dw | <e,则输出所述Rw和所述T,并根据所述Rw和所述T矫正所述机器 人的状态变化量。
[0066] 步骤6:若| di-di+i | 2 e,令k=l+l,返回执行步骤2。
[0067] 通过以上算法,可以根据相邻两帧的扫描得到相邻两个状态变化量之间的变化矩 阵,以得出矫正的机器人的状态变化量。如图6所不,随Snew上的每个点,在Sref上寻找与之相 对应的最近的点,若他们之间的距离小于设定的阈值,则就认为他们是配对点,之后计算配 对点之间的旋转矩阵Rw和平移矩阵T,迭代计算,使这些配对点的能够更好的对齐,已减小 他们之间的距离函数。
[0068] 在本发明实施例中,利用体感传感器来替代激光设备,实现机器人导航过程中的 位姿矫正,大大降低了机器人的制造成本,同时,运动传感器测量值的修正策略和多种匹配 算法的融合策略也有助于更加精确地绘制出环境地图,以及确定出机器人的状态。
[0069] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程 的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限 定。
[0070] 对应于上文实施例所述的机器人的导航方法,图7示出了本发明实施例提供的机 器人的导航装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分。
[0071] 参照图7,该装置包括:
[0072]输入单元71,将点云数据集Pk与所述体感传感器采集到的上一帧的点云数据集X 输入KD树匹配器,在X中寻找离Pk最近的对应数据点,生成点对集合Yk = C(Pk,X),其中,所述 k为迭代次数,初始化k = 0,P〇为所述体感传感器采集到的当前帧的点云数据集;
[0073]配准单元72,将所述点云数据集Pk与所述点云数据集X进行配准;
[0074]第一返回单元73,在未达到预设的终止条件之前,令k = k+l,返回执行所述输入单 元的操作;
[0075]第一矫正单元74,若已达到所述预设的终止条件,根据当前的点云数据集Pk矫正 所述机器人的状态变化量。
[0076] 可选地,所述装置还包括:
[0077]获取单元,获取所述机器人的运动传感器的矫正参数,所述矫正参数包括线性矫 正参数和旋转矫正参数;
[0078]第一计算单元,根据所述机器人每次运动的状态,计算出所述机器人在该次运动 过程中可能的误差增量方向及数值,并与所述运动传感器获取的状态变化量合并,运算得 到修正的状态变化量;
[0079]预估单元,将所述矫正参数与所述修正的状态变化量合并,预估得到所述机器人 的状态变化量。
[0080] 可选地,所述装置还包括:
[0081 ]初始化单元,初始化预设阈值e,以及初始化参数1 = 0,di = dQ = 0;
[0082] 寻找单元,针对所述机器人新的位姿Snew上的每个点Pn,在所述机器人初始位姿 Sref上寻找与之距离最近且所述距离小于所述预设阈值的点Pr,组成点对集合,巧):
[0083] 第二计算单元,计算所述点对集合的旋转矩阵Rw和平移矩阵T,并计算
τ
[0084] 第三计算单元,计算 ,其中,所述num为所述 点对集合(巧,#)中的配对数重;
[0085] 输出单元,若| cU-dw I <e,则输出所述Rw和所述T,并根据所述Rw和所述T矫正所述 机器人的状态变化量;
[0086] 第二返回单元,若I di-di+11 2 e,令1 = 1+1,返回执行所述寻找单元的操作。
[0087]可选地,,所述预设的终止条件包括:
[0088]所述k的值超过了预设迭代次数;或者,
[0089]所述点云数据集Pk到所述点云数据集X的误差小于预设误差值。
[0090] 可选地,,所述装置还包括:
[0091 ]去除单元,检测所述点对集合Yk,去除所述点对集合Yk中不满足预设规则的点对。
[0092] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功 能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的 功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上 描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可 以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的 单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单 元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统 中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0093] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单 元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟 以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员 可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出 本发明的范围。
[0094] 在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的 方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分, 仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以 结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论 的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或 通讯连接,可以是电性,机械或其它的形式。
[0095]所述作为分离部件说明的单元可以是或者也可以不是物理
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1