CN112394190B - 角速度的确定方法及装置、存储介质、电子装置 - Google Patents
角速度的确定方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN112394190B CN112394190B CN201910755226.5A CN201910755226A CN112394190B CN 112394190 B CN112394190 B CN 112394190B CN 201910755226 A CN201910755226 A CN 201910755226A CN 112394190 B CN112394190 B CN 112394190B
- Authority
- CN
- China
- Prior art keywords
- robot
- angular velocity
- rotation angle
- path
- imu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000005259 measurement Methods 0.000 claims abstract description 14
- 241000238876 Acari Species 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 14
- 230000010354 integration Effects 0.000 claims description 6
- 238000009825 accumulation Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Navigation (AREA)
Abstract
本发明提供了一种角速度的确定方法及装置、存储介质、电子装置,其中,上述方法包括:在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位,采用上述技术方案,解决了相关技术中通过单个传感器来确定机器人的角速度,进而导致机器人的定位信息准确率低等问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种角速度的确定方法及装置、存储介质、电子装置。
背景技术
定位功能是移动机器人实现导航,路径规划等自主移动的基础,在实际应用中主要依靠安装在机器人上的多种传感器测量推算实现定位功能,常见的用于定位的传感器有惯性测量单元(Inertial Measurement Unit,简称为IMU)和里程计。机器人的定位实现:主要是估计机器人的当前位置和行驶方向,通过IMU或里程计测量到的速度和角速度等信息来推算移动机器人位置和姿态(偏航角度)的变化量,在初始位置已知的情况下,通过累加积分的方法可以估计机器人在任意时刻的定位信息。
相关技术中,无论是IMU还是里程计,都有其固有的精度范围和误差来源,使用单个传感器来推算定位都会有较大的累计误差,在实际应用中,用IMU陀螺仪测量的偏航角会有零偏误差,不易校准,做一段时间的积分计算后会产生较大的偏差。不同类型的里程计也有各自的缺陷,比如磁编里程计会因为安装方式,测量数据含有较大噪声,霍尔轮速计的精度较低等。
针对相关技术中,通过单个传感器来确定机器人的角速度,进而导致机器人的定位信息准确率低等问题,尚未提出有效的技术方案。
发明内容
本发明实施例提供了一种角速度的确定方法及装置、存储介质、电子装置,以至少解决相关技术中通过单个传感器来确定机器人的角速度,进而导致机器人的定位信息准确率低等问题。
根据本发明的一个实施例,提供了一种角速度的确定方法,包括:在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位。
在本发明实施例中,根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,包括:调整所述第二转动角,以使所述第二转动角和所述第一转动角的差值小于第一阈值;获取调整后的第二转动角和第一转动角的差值与预设的比例系数的乘积;获取所述乘积与所述IMU的零偏误差之和,得到第一结果;将预先获取的大地坐标系下的角速度和所述第一结果的差作为所述第一角速度。
在本发明实施例中,获取所述乘积与所述IMU的零偏误差之和,得到第一结果,包括:调整所述零偏误差的值,以使所述零偏误差收敛到所述第一结果所对应的值;根据所述乘积和调整后的零偏误差的值确定所述第一结果。
在本发明实施例中,所述方法还包括:在检测到机器人的里程计所获取的所述机器人行驶的第一路径大于所述机器人实际所行驶的第二路径的情况下,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度,其中,所述第二角速度用于实现所述机器人的定位。
在本发明实施例中,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度之前,所述方法还包括:设置第二阈值,其中,在确定所述第一路径大于所述第二路径之后的时间超过所述第二阈值的情况下,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度。
在本发明实施例中,通过以下方式确定机器人的里程计所获取的所述机器人行驶的第一路径是否大于所述机器人实际所行驶的第二路径,包括:通过所述里程计获取第三角速度,以及通过IMU获取第四角速度;在所述第三角速度和所述第四角速度满足以下公式的情况下,确定所述第一路径大于所述第二路径::|wticks-wimu|>αmax(|wimu|,wmin);其中,wticks为所述第三角速度,wimu为所述第四角速度,α为预设的第三阈值,wmin预设的最小角速度阈值;
在所述第三角速度和所述第四角速度不满足以下公式的情况下,确定所述第一路径未大于所述第二路径:|wticks-wimu|>αmax(|wimu|,wmin)。
根据本发明的另一个实施例,还提供了一种角速度的确定装置,包括:获取模块,用于在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;确定模块,用于根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位。
在本发明实施例中,所述确定模块,包括:调整单元,用于调整所述第二转动角,以使所述第二转动角和所述第一转动角的差值小于第一阈值;获取单元,用于获取调整后的第二转动角和第一转动角的差值与预设的比例系数的乘积;以及获取所述乘积与所述IMU的零偏误差之和,得到第一结果;确定单元,用于将预先获取的大地坐标系下的角速度和所述第一结果的差作为所述第一角速度。
根据本发明的另一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在检测到里程计所获取的机器人行驶的第一路径未大于机器人实际所行驶的第二路径的情况下,根据获取的里程计所确定的第一转动角和机器人中的惯性测量单元IMU确定的第二转动角来确定所述机器人的第一角速度,采用上述技术方案,解决了相关技术中通过单个传感器来确定机器人的角速度,进而导致机器人的定位信息准确率低等问题,避免了通过里程计或IMU进行机器人定位的准确率低,融合了里程计和IMU的确定结果,提高了机器人定位的准确性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种角速度的确定方法的机器人的硬件结构框图;
图2是根据本发明实施例的角速度的确定方法的流程图;
图3是根据本发明实施例的角速度的确定装置的结构框图;
图4是根据本发明实施例的角速度的确定装置的另一结构框图;
图5是根据本发明实施例的通过里程计获取角速度的示意图;
图6是根据本发明实施例的应用本发明实施例技术方案后的角速度对比示意图;
图7是根据本发明实施例的应用本发明实施例技术方案后的转动角对比示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在机器人或者类似的运算装置中执行。以运行在机器人上为例,图1是本发明实施例的一种角速度的确定方法的机器人的硬件结构框图。如图1所示,机器人10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述机器人还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述机器人的结构造成限定。例如,机器人10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的角速度的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至机器人10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括机器人10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述机器人的角速度的确定方法,图2是根据本发明实施例的角速度的确定方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;
需要说明的是,上述第二路径至少通过以下方式之一确定:机器人上设置的高精度传感器(例如,全球定位系统Global Positioning System,简称为GPS传感器)来确定机器人实际所行驶的第二路径;通过视觉算法确定机器人实际所行驶的第二路径。
步骤S204,根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位。
通过本发明,在确定了里程计所获取的机器人行驶的第一路径未大于机器人实际所行驶的第二路径的情况下,根据获取的里程计所确定的第一转动角和机器人中的惯性测量单元IMU确定的第二转动角来确定所述机器人的第一角速度,采用上述技术方案,解决了相关技术中通过单个传感器来确定机器人的角速度,进而导致机器人的定位信息准确率低等问题,避免了通过里程计或IMU进行机器人定位的准确率低,融合了里程计和IMU的确定结果,提高了机器人定位的准确性。
上述步骤S206的实现方式有多种,在一个可选实施例中,调整所述第二转动角,以使所述第二转动角和所述第一转动角的差值小于第一阈值,进而实现了第二转动角趋近于第一转动角;获取调整后的第二转动角和第一转动角的差值与预设的比例系数的乘积;获取所述乘积与所述IMU的零偏误差之和,得到第一结果,进一步地,调整所述零偏误差的值,以使所述零偏误差收敛到所述第一结果所对应的值;根据所述乘积和调整后的零偏误差的值确定所述第一结果;将预先获取的大地坐标系下的角速度和所述第一结果的差作为所述第一角速度,需要说明的是,本发明实施例中的比例系数也是可以根据实际需要灵活调整的,通过调整第二转动角,以使第二转动角趋近于第一转动角,以及调整零偏误差的值,最终使得零偏误差收敛到所述第一结果所对应的值,进而使得里程计和IMU进行有效融合来确定机器人的定位。
需要说明的是,机器人的里程计主要安装在轮子上,常用的有磁编码里程计和霍尔式里程计两种,对于双轮差速模型的机器人,通过测量两轮的速度和轮间距等结构信息,可以确定出机器人的定位,然而里程计容易受到轮子打滑,或一些特殊地面,比如有突起物的影响,这样测得的位移会与实际的真实位移产生较大的偏差,影响定位估计。
为了解决上述技术问题,检测到了机器人的里程计所获取的所述机器人行驶的第一路径大于所述机器人实际所行驶的第二路径,即确定了所述第一路径大于所述第二路径情况下,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度,其中,所述第二角速度用于实现所述机器人的定位,可见,对于第一路径大于第二路径的情况下的第二角速度的确定方式需要以机器人确定的第一角速度为基础,即在本发明实施例中,累加积分的参数是前述确定的“第一角速度”,由于第一角速度是里程计和IMU融合后的角速度,因此,在轮子打滑时,基于第一角速度进行累加积分得到的第二角速度,能够提高机器人定位的准确性。
在本发明实施例中,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度之前,可以设置第二阈值,其中,在确定所述第一路径大于所述第二路径之后的时间超过所述第二阈值的情况下,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度。
上述步骤S202还可以通过以下方式实现:通过以下方式确定机器人的里程计所获取的所述机器人行驶的第一路径是否大于所述机器人实际所行驶的第二路径,包括:通过所述里程计获取第三角速度,以及通过IMU获取第四角速度;在所述第三角速度和所述第四角速度满足以下公式的情况下,确定所述第一路径大于所述第二路径:|wticks-wimu|>αmax(|wimu|,wmin);其中,wticks为所述第三角速度,wimu为所述第四角速度,α为预设的第三阈值,wmin预设的最小角速度阈值;在所述第三角速度和所述第四角速度不满足以下公式的情况下,确定所述第一路径未大于所述第二路径:|wticks-wimu|>αmax(|wimu|,wmin)。
通过本发明实施例的提高的基于阈值来确定第一路径是否大于第二路径的方式,能够实时准确的确定第一路径是否大于第二路径,确定的结果无滞后性。
可见,基于上述技术方案,将里程计和IMU的数据进行融合互补,进而估计机器人角速度,本发明实施例的上述技术方案能够在检测到轮子打滑的情况下,具体地,上述实施例的机器人的里程计所获取的所述机器人行驶的第一路径大于所述机器人实际所行驶的第二路径可以理解为是一种轮子打滑的情况,修正IMU的角速度的零偏误差,克服霍尔轮速计精度低的不足,和相关技术中仅能采用单一传感器估算角速度的方案相比,本发明实施例的结果更加接近真实值,且对打滑场景有更强的鲁棒性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种角速度的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的角速度的确定装置的结构框图,如图3所示,该装置包括:
获取模块30,用于在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;
确定模块32,用于根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位。
通过本发明,在确定了里程计所获取的机器人行驶的第一路径未大于机器人实际所行驶的第二路径的情况下,根据获取的里程计所确定的第一转动角和机器人中的惯性测量单元IMU确定的第二转动角来确定所述机器人的第一角速度,采用上述技术方案,解决了相关技术中通过单个传感器来确定机器人的角速度,进而导致机器人的定位信息准确率低等问题,避免了通过里程计或IMU进行机器人定位的准确率低,融合了里程计和IMU的确定结果,提高了机器人定位的准确性。
在本发明实施例中,图4是根据本发明实施例的角速度的确定装置的另一结构框图,如图4所示,所述确定模块32,包括:调整单元320,用于调整所述第二转动角,以使所述第二转动角和所述第一转动角的差值小于第一阈值;获取单元322,用于获取调整后的第二转动角和第一转动角的差值与预设的比例系数的乘积;以及获取所述乘积与所述IMU的零偏误差之和,得到第一结果;确定单元324,用于将预先获取的大地坐标系下的角速度和所述第一结果的差作为所述第一角速度,需要说明的是,本发明实施例中的比例系数也是可以根据实际需要灵活调整的,通过调整第二转动角,以使第二转动角趋近于第一转动角,以及调整零偏误差的值,最终使得零偏误差收敛到所述第一结果所对应的值,进而使得里程计和IMU进行有效融合来确定机器人的定位。
需要说明的是,机器人的里程计主要安装在轮子上,常用的有磁编码里程计和霍尔式里程计两种,对于双轮差速模型的机器人,通过测量两轮的速度和轮间距等结构信息,可以确定出机器人的定位,然而里程计容易受到轮子打滑,或一些特殊地面,比如有突起物的影响,这样测得的位移会与实际的真实位移产生较大的偏差,影响定位估计。
为了解决上述技术问题,检测到了机器人的里程计所获取的所述机器人行驶的第一路径大于所述机器人实际所行驶的第二路径,即确定了所述第一路径大于所述第二路径情况下,所述确定模块32,还用于对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度,其中,所述第二角速度用于实现所述机器人的定位,可见,对于第一路径大于第二路径的情况下的第二角速度的确定方式需要以机器人确定的第一角速度为基础。
可选地,所述确定模块32,还用于可以设置第二阈值,其中,在确定所述第一路径大于所述第二路径之后的时间超过所述第二阈值的情况下,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度。
在本发明实施例中,所述确定模块32,还用于通过所述里程计获取第三角速度,以及通过IMU获取第四角速度;在所述第三角速度和所述第四角速度满足以下公式的情况下,确定所述第一路径大于所述第二路径:|wticks-wimu|>αmax(|wimu|,wmin);其中,wticks为所述第三角速度,wimu为所述第四角速度,α为预设的第三阈值,wmin预设的最小角速度阈值;在所述第三角速度和所述第四角速度不满足以下公式的情况下,
确定所述第一路径未大于所述第二路径:|wticks-wimu|>αmax(|wimu|,wmin)。
通过本发明实施例的提高的基于阈值来确定第一路径是否大于第二路径的方式,能够实时准确的确定第一路径是否大于第二路径,确定的结果无滞后性。
可见,基于上述技术方案,将里程计和IMU的数据进行融合互补,进而估计机器人角速度,本发明实施例的上述技术方案能够在检测到轮子打滑的情况下,修正IMU的角速度的零偏误差,克服霍尔轮速计精度低的不足,和相关技术中仅能采用单一传感器估算角速度的方案相比,本发明实施例的结果更加接近真实值,且对打滑场景有更强的鲁棒性。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
为了更好的理解上述角速度的确定流程,以下结合优选实施例进行说明,但不用于限定本发明实施例的技术方案,具体可包括以下步骤:
步骤1,对机器人的运动模型和传感器的测量数据建模,假设机器人的运动模型服从两轮差速模型,如图5所示,那么机器人的角速度wticks可以通过左右两轮上的里程计测得的轮速vl和vr计算得到,如下式子(1)所示;另外,假定IMU角速度的零偏误差wb在一段较长时间内为常值,并包含一服从正态分布的白噪声。
步骤2,判断机器人的轮子是否发生打滑,因为在轮子发生打滑的场景中,轮子会因打滑造成的加速空转等异常转动,进而使里程计的推算结果wticks偏大,其中,wticks相当于上述实施例中的第三角速度,由于IMU测量的是IMU的载体相对于大地坐标系的角速度,记作wimu,相当于上述实施例的第四角速度,因而IMU的测量不会受到轮子空转的影响,所以可以引入IMU的测量信息,弥补里程计因轮子打滑而产生的机器人角速度的错误反馈,具体地,通过比较wticks和wimu的大小关系,判断是否机器人的轮子是否发生打滑,具体通过如下式子(2)所示:
|wticks-wimu|>αmax(|wimu|,wmin) (2);
其中,在式子(2)中的α为预设的阈值系数,wmin是一个最小角速度阈值,这种判断方法能够兼容轮子打滑时,wticks和wimu方向不一致的情况,以及避免出现因为|wimu|太小造成误检。
其中,在轮子不出现打滑的情况下,通过里程计测量推算的角速度精度要优于IMU,可以在机器人内部设置一个控制器,可选地,控制器可以通过软件实现,在算法的更新周期内,里程计测得的转动角度θticks和IMU测得的角度θimu之间的偏差来动态修正IMU角速度的零偏误差wb,其中,θticks相当于上述实施例的第一转动角,θimu相当于上述实施例的第二转动角。为了减小霍尔轮速计因采样频率带来的误差,应选取合适的更新周期,比如1秒左右。关于控制器的选择,可以用一个简单的闭环控制,如式子(3)所示:Kp为比例系数(相当于上述实施例的比例系数),把θticks当目标值,通过更新wb,使θimu持续接近θticks,最后的效果是让wb收敛到由此可以计算融合后的角速度为其中,相当于上述实施例中的第一结果,相当于上述实施例的第一角速度,在本发明实施例中,通过引入IMU的测量信息,弥补里程计因轮子打滑而产生的机器人角速度的错误反馈。
其中,在轮子发生打滑的情况下,可以按照步骤1的算法发现轮子在某一时刻出现打滑,那么在计算θticks的时候,不能使用wticks来做积分,而应该用当前融合后的角速度进行累计积分,得到上述实施例中的第二角速度,进而避免了因wticks异常带来的影响。在本发明实施例中,由于收敛需要一定时间,所以在实际应用时应设置一个时间阈值,该时间阈值可以理解为是上述实施例的第二阈值,在初始阶段更信任wticks,等超过该时间阈值后,才使用融合后的结果。另外,可以通过调节比例系数的大小来控制的收敛时间。
实际应用上述技术方案,采用外力让机器人的轮子原地打滑空转,测试结束后回到初始状态:
从图6中可以看到,在发生打滑的过程中,wticks变化异常,通过算法融合后的角速度在横坐标为600步数上对应的纵坐标在0附近波动,需要说明的是,附图6中横坐标的数字表示为时间,以200为例,其代表的时间是200×50ms所对应的时间。
图7显示了测试过程中的转向角θ的变化:只用里程计的结果通过图7中以0为横线的上方的线,图7中标注1的线来体现;只用IMU的结果通过图7中以0为横线的下方的线,图7中标注2的线来体现,推算出来转向角与真实值(0rad)有较大偏差,特别是IMU因为零偏误差wb的存在,从一开始就偏离正常值,在上述上方的线和下方的线中间显示的是融合后的角度能有效地修正因轮子打滑造成的误差,误差控制在0.2rad内,图7中标注3的线来体现。
需要说明的是,上述实施例以及优选实施例的技术方案除了适用于打滑场景,也可用于不平整的地面等其它场景,上述传感器还可以采用激光雷达或视觉定位所使用的传感器。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;
S2,根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;
S2,根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种角速度的确定方法,其特征在于,包括:
在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;
根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位,其中,所述根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,包括:
调整所述第二转动角,以使所述第二转动角和所述第一转动角的差值小于第一阈值;
获取调整后的第二转动角和第一转动角的差值与预设的比例系数的乘积;
获取所述乘积与所述IMU的零偏误差之和,得到第一结果;
将预先获取的大地坐标系下的角速度和所述第一结果的差作为所述第一角速度。
2.根据权利要求1所述的方法,其特征在于,所述获取所述乘积与所述IMU的零偏误差之和,得到第一结果,包括:
调整所述零偏误差的值,以使所述零偏误差收敛到所述第一结果所对应的值;
根据所述乘积和调整后的零偏误差的值确定所述第一结果。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到机器人的里程计所获取的所述机器人行驶的第一路径大于所述机器人实际所行驶的第二路径的情况下,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度,其中,所述第二角速度用于实现所述机器人的定位。
4.根据权利要求3所述的方法,其特征在于,所述对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度之前,所述方法还包括:
设置第二阈值,其中,在确定所述第一路径大于所述第二路径之后的时间超过所述第二阈值的情况下,对所述机器人的第一角速度进行累加积分,得到所述机器人的第二角速度。
5.根据权利要求1至4任一项所述的方法,其特征在于,通过以下方式确定机器人的里程计所获取的所述机器人行驶的第一路径是否大于所述机器人实际所行驶的第二路径:
通过所述里程计获取第三角速度,以及通过IMU获取第四角速度;
在所述第三角速度和所述第四角速度满足以下公式的情况下,确定所述第一路径大于所述第二路径:
|wticks-wimu|>αmax(|wimu|,wmin);其中,wticks为所述第三角速度,wimu为所述第四角速度,α为预设的第三阈值,wmin预设的最小角速度阈值;
在所述第三角速度和所述第四角速度不满足以下公式的情况下,确定所述第一路径未大于所述第二路径:
|wticks-wimu|>αmax(|wimu|,wmin)。
6.一种角速度的确定装置,其特征在于,包括:
获取模块,用于在检测到机器人的里程计所获取的所述机器人行驶的第一路径未大于所述机器人实际所行驶的第二路径的情况下,获取所述里程计所确定的第一转动角和所述机器人中的惯性测量单元IMU确定的第二转动角;
确定模块,用于根据所述第一转动角和所述第二转动角确定所述机器人的第一角速度,其中,所述第一角速度用于实现所述机器人的定位,其中,所述确定模块,包括:
调整单元,用于调整所述第二转动角,以使所述第二转动角和所述第一转动角的差值小于第一阈值;
获取单元,用于获取调整后的第二转动角和第一转动角的差值与预设的比例系数的乘积;以及获取所述乘积与所述IMU的零偏误差之和,得到第一结果;
确定单元,用于将预先获取的大地坐标系下的角速度和所述第一结果的差作为所述第一角速度。
7.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910755226.5A CN112394190B (zh) | 2019-08-15 | 2019-08-15 | 角速度的确定方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910755226.5A CN112394190B (zh) | 2019-08-15 | 2019-08-15 | 角速度的确定方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112394190A CN112394190A (zh) | 2021-02-23 |
CN112394190B true CN112394190B (zh) | 2022-11-04 |
Family
ID=74601719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910755226.5A Active CN112394190B (zh) | 2019-08-15 | 2019-08-15 | 角速度的确定方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112394190B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050091549A (ko) * | 2004-03-12 | 2005-09-15 | 학교법인 포항공과대학교 | 오도메트리를 이용한 이동로봇의 위치 인식 방법 |
CN106123890A (zh) * | 2016-06-14 | 2016-11-16 | 中国科学院合肥物质科学研究院 | 一种多传感器数据融合的机器人定位方法 |
CN107941217B (zh) * | 2017-09-30 | 2020-05-22 | 杭州迦智科技有限公司 | 一种机器人定位方法、电子设备、存储介质、装置 |
CN108253963B (zh) * | 2017-12-20 | 2021-04-20 | 广西师范大学 | 一种基于多传感器融合的机器人自抗扰定位方法以及定位系统 |
CN108638053B (zh) * | 2018-04-03 | 2020-11-17 | 珠海市一微半导体有限公司 | 一种机器人打滑的检测方法及其矫正方法 |
CN108731673B (zh) * | 2018-06-05 | 2021-07-27 | 中国科学院电子学研究所 | 机器人自主导航定位方法及系统 |
-
2019
- 2019-08-15 CN CN201910755226.5A patent/CN112394190B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112394190A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110031019B (zh) | 一种用于自动驾驶车辆的打滑检测处理方法 | |
CN111868479B (zh) | 基于车辆测量数据处理的车辆操作 | |
EP3943887B1 (en) | Dead-reckoning guidance system and method with cardinal-direction based coordinate-corrections | |
CN112629544B (zh) | 一种基于车道线的车辆定位方法及装置 | |
CN107076559B (zh) | 用于匹配导航系统的方法和系统 | |
KR20190040818A (ko) | 차량 내부 센서, 카메라, 및 gnss 단말기를 이용한 3차원 차량 항법 시스템 | |
CN110398966A (zh) | 一种路径跟踪控制方法及路径跟踪系统 | |
CN114019954A (zh) | 航向安装角标定方法、装置、计算机设备和存储介质 | |
CN106646569B (zh) | 一种导航定位方法及设备 | |
CN112394190B (zh) | 角速度的确定方法及装置、存储介质、电子装置 | |
CN105759292B (zh) | 一种差分gps与机器人的相对位置参数标定方法及系统 | |
CN112697153A (zh) | 自主移动设备的定位方法、电子设备及存储介质 | |
CN112945266A (zh) | 激光导航机器人及其机器人的里程计校准方法 | |
CN112577513A (zh) | 一种状态量误差确定方法及车载终端 | |
TWI635302B (zh) | 載具即時精準定位系統 | |
CN112729317B (zh) | 用于定位车辆的方法和车载系统 | |
JP7064001B2 (ja) | 車両制御装置 | |
CN114199236A (zh) | 定位数据处理的方法、装置、电子设备和自动驾驶车辆 | |
CN114323009A (zh) | 一种惯性导航轨迹矫正方法、装置、存储介质及电子设备 | |
TWI636236B (zh) | 利用估計濾波器決定系統的狀態的方法、用於決定物體之位置的裝置以及無人航空載具 | |
CN108072366B (zh) | 一种基于辅助定位的导航定位方法 | |
US20240035846A1 (en) | Method and device for determining the reliability of a low-definition map | |
JP2014153106A (ja) | 姿勢基準器 | |
WO2023286865A1 (ja) | 演算装置 | |
JP2019219204A (ja) | 走行軌跡推定方法及び走行軌跡推定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Lin Degan Inventor after: Other inventors ask not to disclose names Inventor before: Do not announce the inventor |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |