一种陀螺仪校准方法、芯片以及机器人与流程

文档序号:31877884发布日期:2022-10-21 22:14阅读:170来源:国知局
一种陀螺仪校准方法、芯片以及机器人与流程

1.本发明涉及智能机器人领域,具体涉及一种陀螺仪校准方法、芯片以及机器人。


背景技术:

2.陀螺仪是低成本机器人中主要的元器件,用于机器人的定位导航等。从陀螺仪的数据中可以判断出机器人的行走方向,配合室内导航定位系统、行走电机的运行状况,能够准确定位出xoy坐标。然而,陀螺仪在行走过程有很多的误差,比如温漂、零漂和游走误差等。在机器人运行一段时间后,会产生无法消除的角度误差,严重影响低成本机器人的性能。


技术实现要素:

3.为解决上述问题,本发明提供了一种陀螺仪校准方法、芯片以及机器人,大大提高了陀螺仪输出角度的准确性。本发明的具体技术方案如下:一种陀螺仪校准方法,所述方法包括如下步骤:步骤s1,在作业过程中,机器人进行直线拟合,然后记录拟合得到的满足第一预设条件的直线,记为参考直线,所述参考直线的数量为一条或多条;步骤s2,在完成作业后,机器人在沿边的同时进行直线拟合,得到满足第一预设条件的直线后,将其记为第一直线;步骤s3,基于所述参考直线和所述第一直线,计算陀螺仪的角度误差,如果所述角度误差大于预设阈值,则根据预设公式对陀螺仪进行校准;其中,用于参与陀螺仪校准的参考直线和所述第一直线之间满足第二预设条件。
4.进一步地,所述步骤s1和步骤s2中,判断拟合得到的直线是否满足第一预设条件的方法具体包括:步骤s11,机器人通过最小二乘法将障碍物栅格进行直线拟合,然后判断直线的长度,如果直线的长度小于预设长度,则不进行记录,如果直线的长度大于等于预设长度,则进入步骤s12;步骤s12,计算拟合出直线的障碍物栅格到直线的距离的方差,如果所述方差小于预设值,则拟合得到的直线满足第一预设条件,如果所述方差大于等于预设值,则进入步骤s13;步骤s13,基于障碍物栅格到直线的距离,按照由远及近的顺序剔除预设数量的障碍物栅格,然后再次进行直线拟合直至所述方差小于预设值且直线的长度大于等于预设长度,则拟合得到的直线满足第一预设条件,否则不进行记录。
5.进一步地,所述步骤s3中,获取满足第二预设条件的参考直线的方法具体包括:步骤s31,机器人计算并比较所述参考直线的长度和所述第一直线的长度,如果两者的长度差值在误差范围内,则进入步骤s32,否则所述参考直线和所述第一直线之间不满足第二预设条件;步骤s32,比较所述参考直线首尾两个端点的坐标和所述第一直线首尾两个端点的坐标的匹配度,如果所述匹配度满足第三预设条件,则进入步骤s33,否则所述参考直线和所述第一直线之间不满足第二预设条件;步骤s33,计算并比较所述参考直线的夹角和所述第一直线的夹角,如果两者的角度误差在误差范围内,则所述参考直线和所述第一直线之间满足第二预设条件;其中,机器人所记录的参考直线或第一直线包括直线首尾两个端点的坐标信息;所述参考直线的夹角或所述第一直线的夹角指的是所述参考直线或所述第一直
线与x轴所形成的夹角。
6.进一步地,所述步骤s32中,判断所述匹配度是否满足第三预设条件的具体方法包括:步骤s321,机器人比较所述参考直线首端的坐标和所述第一直线首端的坐标之间的距离,如果所述距离在误差范围内,则进入步骤s322,否则所述匹配度不满足第三预设条件;步骤s322,比较所述参考直线尾端的坐标和所述第一直线尾端的坐标之间的距离,如果所述距离在误差范围内,则所述匹配度满足第三预设条件,否则所述匹配度不满足第三预设条件。
7.进一步地,所述步骤s33中,如果存在多条参考直线满足第二预设条件,则取最小的角度误差所对应的参考直线用于参与陀螺仪校准。
8.进一步地,所述步骤s3中,对陀螺仪进行校准的方法具体包括:机器人将所述参考直线的夹角和所述第一直线的夹角作差,当两者的角度误差大于预设阈值时,根据下述公式校准陀螺仪的角度误差:校准后的陀螺仪角度 = 参考直线的夹角*第一权重 + 第一直线的夹角*第二权重,其中,所述第一权重大于所述第二权重。
9.进一步地,所述步骤s3之后,还包括:当与上一次陀螺仪校准的间隔时间大于预设时间,且机器人仍在沿边时,机器人继续进行直线拟合,在得到满足第一预设条件的直线后,将其记为第二直线,然后基于所述参考直线和所述第二直线对陀螺仪进行校准;其中,用于参与陀螺仪校准的参考直线和所述第二直线之间满足第二预设条件。
10.进一步地,所述步骤s3之后,还包括:在上一次陀螺仪校准结束后,如果机器人拟合得到一条长度为所述第一直线长度的n倍的直线,则将其记为第二直线,然后基于所述参考直线和所述第二直线对陀螺仪进行校准;其中,n大于1,且用于参与陀螺仪校准的参考直线和所述第二直线之间满足第二预设条件。
11.一种芯片,所述芯片储存有计算机程序代码,所述计算机程序代码被执行时实现所述的陀螺仪校准方法。
12.一种机器人,所述机器人装配有所述的芯片。
13.本发明的有益效果在于:与现有技术相比,本发明所述的陀螺仪校准方法通过比较预先建立的参考直线以及沿边建立的直线之间的角度误差,在角度误差过大时,根据预设的权重校准陀螺仪的角度。其中,由于陀螺仪累计误差的存在,参考直线的角度相对于沿边获取的直线的角度来说更加准确,因此给予参考直线的角度较大的权重,可以提高陀螺仪输出角度的准确性。所述方法无需增加额外的传感器,在不增加成本的情况下让采用陀螺仪方案的机器人有更好的性能。
附图说明
14.图1为本发明一种实施例所述陀螺仪校准方法的流程图。
具体实施方式
15.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
16.应当理解,当在本技术中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。 还应当理解,在本技术中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
17.如在本技术中所使用的那样,术语“如果”可以依据上下文被解释为“当

时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0018]
另外,在本技术的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0019]
陀螺仪是低成本机器人中主要的元器件,用于机器人的定位导航等。从陀螺仪的数据中可以判断出机器人的行走方向,配合室内导航定位系统、行走电机的运行状况,能够准确定位出xoy坐标。然而,陀螺仪在行走过程有很多的误差,比如温漂、零漂、游走误差等。在机器人运行一段时间后,会产生无法消除的角度误差,严重影响低成本机器人的性能。
[0020]
因此,本发明实施例提出一种陀螺仪校准方法,所述方法无需增加额外的传感器,在不增加成本的情况下让采用陀螺仪方案的机器人有更好的性能。如图1所示,本发明所述的方法具体包括如下步骤:步骤s1,在作业过程中,机器人进行直线拟合,然后记录拟合得到的满足第一预设条件的直线,记为参考直线,所述参考直线的数量为一条或多条。
[0021]
其中,判断拟合得到的直线是否满足第一预设条件的方法具体包括:步骤s11,机器人通过最小二乘法将障碍物栅格进行直线拟合,然后判断直线的长度,如果直线的长度小于预设长度,则不进行记录,如果直线的长度大于等于预设长度,则进入步骤s12。需要说明的是,机器人在作业过程中通过红外传感器或者碰撞传感器估算障碍物的位置,然后在全局地图上相应位置标记障碍物栅格。
[0022]
步骤s12,计算拟合出直线的障碍物栅格到直线的距离的方差,如果所述方差小于预设值,则拟合得到的直线满足第一预设条件,如果所述方差大于等于预设值,则进入步骤s13。所述方差描述的是每个障碍物栅格到直线的距离与其期望值之间的差异(即偏离程度)。显然,当方差过大时,表明有一些障碍物栅格离直线比较远,这样的直线是偏离实际的,需要重新进行拟合。
[0023]
步骤s13,基于障碍物栅格到直线的距离,按照由远及近的顺序剔除预设数量的障碍物栅格,然后再次进行直线拟合直至所述方差小于预设值且直线的长度大于等于预设长度,则拟合得到的直线满足第一预设条件,否则不进行记录。优选地,所述预设长度为1米。需要说明的是,机器人在作业过程中不断地进行直线拟合,每拟合出一条满足第一预设条件的直线都标记为参考直线并保存。所述参考直线可以认为是一个直线的集合,至少包含
一条满足第一预设条件的直线。在这个集合中,每条直线有唯一的一个编号,所述编号为正整数,例如[1,2,3,
……
,n]中的数值,用于区分集合中的不同直线。
[0024]
步骤s2,在完成作业后,机器人在沿边的同时进行直线拟合,得到满足第一预设条件的直线后,将其记为第一直线。其中,所述沿边指的是,机器人在当前区域完成作业后,对当前区域进行一次沿边行走行为。在沿边过程中,机器人会有沿边状态标识,通过沿边传感器(例如红外传感器)检测距离,从而在全局地图上标记障碍物栅格的位置。需要说明的是,机器人在获得一条满足第一预设条件的直线后,便进入步骤s3执行相关操作,无需等到沿边结束。
[0025]
步骤s3,基于所述参考直线和所述第一直线,计算陀螺仪的角度误差,如果所述角度误差大于预设阈值,则根据预设公式对陀螺仪进行校准;其中,用于参与陀螺仪校准的参考直线和所述第一直线之间满足第二预设条件。
[0026]
在执行步骤s3的过程中,获取满足第二预设条件的参考直线的方法具体包括:步骤s31,机器人计算并比较所述参考直线的长度和所述第一直线的长度,如果两者的长度差值在误差范围内,则进入步骤s32,否则所述参考直线和所述第一直线之间不满足第二预设条件。需要说明的是,只有长度差值在预设范围内的参考直线才执行下一步骤的操作,提高获取满足第二预设条件的参考直线的效率。
[0027]
步骤s32,比较所述参考直线首尾两个端点的坐标和所述第一直线首尾两个端点的坐标的匹配度,如果所述匹配度满足第三预设条件,则进入步骤s33,否则所述参考直线和所述第一直线之间不满足第二预设条件。所述匹配度指的是所述参考直线和所述第一直线首尾两个端点的坐标是否重合或邻近。判断所述匹配度是否满足第三预设条件的具体方法包括:步骤s311,机器人比较所述参考直线首端的坐标和所述第一直线首端的坐标之间的距离,如果所述距离在误差范围内,则进入步骤s312,否则所述匹配度不满足第三预设条件;步骤s312,比较所述参考直线尾端的坐标和所述第一直线尾端的坐标之间的距离,如果所述距离在误差范围内,则所述匹配度满足第三预设条件,否则所述匹配度不满足第三预设条件。同理,只有匹配度满足第三预设条件的参考直线才执行下一步骤的操作。
[0028]
步骤s33,计算并比较所述参考直线的夹角和所述第一直线的夹角,如果两者的角度误差在误差范围内,则所述参考直线和所述第一直线之间满足第二预设条件。其中,机器人所记录的参考直线或第一直线包括直线首尾两个端点的坐标信息;所述参考直线的夹角或所述第一直线的夹角指的是所述参考直线或所述第一直线与x轴所形成的夹角。需要说明的是,一般而言,直线与x轴形成的夹角取角度较小的那一个。其中,以全局地图的正右方作为x轴的正方向。在所述步骤s33中,如果存在多条参考直线满足第二预设条件,则取最小的角度误差所对应的参考直线用于参与陀螺仪校准。
[0029]
进一步地,在所述步骤s3中,对陀螺仪进行校准的方法具体包括:机器人将所述参考直线的夹角和所述第一直线的夹角作差,当两者的角度误差大于预设阈值时,根据下述公式校准陀螺仪的角度误差:校准后的陀螺仪角度 = 参考直线的夹角*第一权重 + 第一直线的夹角*第二权重,其中,所述第一权重大于所述第二权重。优选地,所述预设阈值取2
°
,即所述参考直线的夹角和所述第一直线的夹角的角度误差大于2
°
时,对陀螺仪进行校准。所述第一权
重和所述第二权重的取值根据陀螺仪的特性和实际测试获得,优选地,所述第一权重取70%,所述第二权重取30%。需要说明的是,所述参考直线的夹角和所述第一直线的夹角的差值即陀螺仪的角度误差。
[0030]
陀螺仪具有累计误差,且累计误差和时间有正相关关系,一般时间越久,陀螺仪数据的可信度就越低。因此,相较于沿边过程采集的第一直线,参考直线的可信度更高。给予参考直线的角度较大的权重,可以使得校准后的陀螺仪角度更加准确。
[0031]
在所述步骤s3之后,还包括:当与上一次陀螺仪校准的间隔时间大于预设时间,且机器人仍在沿边时,机器人继续进行直线拟合,在得到满足第一预设条件的直线后,将其记为第二直线,然后基于所述参考直线和所述第二直线对陀螺仪进行校准;其中,用于参与陀螺仪校准的参考直线和所述第二直线之间满足第二预设条件。其中,对陀螺仪进行校准的方法与上述步骤相同,不再赘述。优选地,所述预设时间为1分钟。
[0032]
作为另一种实施方式,在所述步骤s3之后,还包括:在上一次陀螺仪校准结束后,如果机器人拟合得到一条长度为所述第一直线长度的n倍的直线,则将其记为第二直线,然后基于所述参考直线和所述第二直线对陀螺仪进行校准;其中,n大于1,且用于参与陀螺仪校准的参考直线和所述第二直线之间满足第二预设条件。优选地,n取1.5,直线越长,数据越准确,能有效提高陀螺仪的校准准确性。
[0033]
本发明实施例提供一种芯片,所述芯片用于储存计算机程序代码,所述计算机程序代码被执行时实现前述陀螺仪校准方法。所述芯片可以设置于机器人内,使得所述机器人可以通过比较预先建立的参考直线以及沿边建立的直线之间的角度误差,在角度误差过大时,根据预设的权重校准陀螺仪的角度。无需在机器人上设置额外的传感器,在不增加成本的情况下使得机器人拥有更好的性能。
[0034]
本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,该计算机程序可存储于一非易失性计算机可读存储介质中,该计算机程序在执行时,可包括如上述个方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其他介质的引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器rom、可编程存储器prom、电可编程存储器dprom、电可擦除可编程存储器ddprom或闪存。易失性存储器可包括随机存取存储器ram或者外部高速缓冲存储器。
[0035]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0036]
以上各实施例仅表达了本发明的几种实施例,其描述较为具体和详细,但并不能因此而理解为发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1