CN112729349A - 里程计在线标定的方法、装置、电子设备及存储介质 - Google Patents

里程计在线标定的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112729349A
CN112729349A CN202110331403.4A CN202110331403A CN112729349A CN 112729349 A CN112729349 A CN 112729349A CN 202110331403 A CN202110331403 A CN 202110331403A CN 112729349 A CN112729349 A CN 112729349A
Authority
CN
China
Prior art keywords
robot
pose
filtering algorithm
kalman filtering
preset
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.)
Granted
Application number
CN202110331403.4A
Other languages
English (en)
Other versions
CN112729349B (zh
Inventor
刘星
韩松杉
张弥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sineva Intelligent Technology Co ltd
Original Assignee
Zhejiang Sineva Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Sineva Intelligent Technology Co ltd filed Critical Zhejiang Sineva Intelligent Technology Co ltd
Priority to CN202110331403.4A priority Critical patent/CN112729349B/zh
Publication of CN112729349A publication Critical patent/CN112729349A/zh
Application granted granted Critical
Publication of CN112729349B publication Critical patent/CN112729349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本申请公开了一种里程计在线标定的方法、装置、电子设备及存储介质,基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻机器人的位姿,然后通过响应于识别到预设路标,基于预设路标的预设位姿以及机器人在当前时刻的位姿,确定机器人与预设路标的相对位置关系信息作为卡尔曼滤波算法的观测变量;最后基于观测变量和当前时刻机器人的位姿的预测结果,确定指定参数的标定值。在不引入额外设备的前提下,通过将影响机器人的运行里程的参数添加至卡尔曼滤波算法的状态变量中,进而在机器人自主定位和导航过程中,利用卡尔曼滤波算法更新指定参数,可以实现对里程计的在线标定。

Description

里程计在线标定的方法、装置、电子设备及存储介质
技术领域
本申请涉及里程计数据处理技术领域,尤其涉及一种里程计在线标定的方法、装置、电子设备及存储介质。
背景技术
现有技术中,针对里程计的标定方法主要包括两种方式:一是通过离线标定里程计,二是通过引入额外的设备对里程计进行标定。例如,针对使用激光雷达和反光条进行双轮差速移动机器人里程计标定的轮间距修正的方案,通过计算机器人的实际自旋角和里程计的旋转角,拟合得到轮间距的修正系数。该方案为通过离线标定里程计。
或者,针对基于运动捕捉系统对里程计进行标定的方案,当机器人在预设的区域内行走时,同时利用运动捕捉系统对机器人进行定位,读取里程计计算的行走位移,计算得到里程计的补偿参数。该方案在进行里程计参数标定的时候采用了运动捕捉系统,而运动捕捉系统为引入的额外设备。
由于在里程计进行标定的过程中,引入额外的设备,导致里程计标定的成本过高,并且通过离线标定里程计,又不能及时获取到里程计的信息。
发明内容
本申请实施例提供一种里程计在线标定的方法、装置、电子设备及存储介质,可以在不引入额外设备前提下,实现里程计的在线标定。
一方面,本申请一实施例提供了一种里程计在线标定的方法,应用于机器人,所述方法包括:
基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,其中,所述状态变量的参数包括所述机器人上一时刻的位姿以及指定参数的初始值,所述指定参数为影响所述机器人的运行里程的参数,所述控制变量的参数包括距离所述当前时刻指定时长内所述机器人的移动距离;
响应于识别到预设路标,基于所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,确定所述机器人与所述预设路标的相对位置关系信息作为所述卡尔曼滤波算法的观测变量;
基于所述观测变量和所述当前时刻所述机器人的位姿的预测结果,确定所述指定参数的标定值。
本申请的一实施例中,所述指定参数为以下参数中的一种或多种:
所述机器人左轮与右轮之间的轮距值、所述机器人的左轮轮径值、所述机器人的右轮轮径值。
本申请的一实施例中,所述状态变量包括均值矩阵和第一协方差矩阵,所述控制变量包括第二协方差矩阵,所述方法还包括:
通过以下方法确定所述卡尔曼滤波算法的状态变量、以及控制变量:
基于所述机器人上一时刻的位姿以及所述指定参数的初始值,确定所述卡尔曼滤波算法的状态变量的均值矩阵;
基于所述机器人上一时刻的位姿、所述指定参数的初始值、以及所述指定参数的预设误差值,确定所述卡尔曼滤波算法的状态变量的第一协方差矩阵;
基于所述指定时间内所述机器人的左轮和右轮分别移动的距离、以及所述机器人对应的里程计计算装置关联的系数值,确定所述卡尔曼滤波算法的控制变量的第二协方差矩阵。
本申请的一实施例中,所述基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,包括:
根据以下位姿预测公式预测当前时刻所述机器人的位姿:
Figure DEST_PATH_IMAGE001
其中,(t-1)为所述上一时刻,t为所述当前时刻,
Figure 947450DEST_PATH_IMAGE002
为所述机器人的位姿, ∆θ、∆s分别为所述机器人的车体中心的角度增量和位移增量;并且∆θ、∆s根据以下公式 表示:
Figure DEST_PATH_IMAGE003
其中,
Figure 977854DEST_PATH_IMAGE004
分别为所述机器人的左轮直径、右轮直径,
Figure DEST_PATH_IMAGE005
为所述机器人的左轮编 码器增量数值与所述机器人的左轮编码器系数之积,
Figure 794631DEST_PATH_IMAGE006
为所述机器人的右轮编码器增量 数值与所述机器人的右轮编码器系数之积。
本申请的一实施例中,所述基于所述观测变量和所述当前时刻所述机器人的位姿的预测结果,确定所述指定参数的标定值,包括:
分别对所述位姿预测公式中的所述上一时刻对应的所述卡尔曼滤波算法的状态变量的参数、以及控制变量的参数求导,得到第一雅克比矩阵和第二雅克比矩阵;
基于所述第一雅克比矩阵和所述第二雅克比矩阵、以及所述上一时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及控制变量,确定所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量;
基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值。
本申请的一实施例中,所述基于所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,确定所述机器人与所述预设路标的相对位置关系信息作为所述卡尔曼滤波算法的观测变量,包括:
根据所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,计算所述预设路标与所述机器人之间的距离、所述预设路标在世界坐标系相对预设轴的第一相对角度、以及所述预设路标与所述机器人在世界坐标系中的第二相对角度;
将所述预设路标与所述机器人之间的距离、以及所述第一相对角度和所述第二相对角度作为所述卡尔曼滤波算法的第一观测变量的参数;
根据所述机器人中的相机与所述预设路标之间的位姿转换关系、以及所述相机与所述机器人之间的位姿转换关系,计算得到所述预设路标和所述机器人之间的位姿转换关系;
基于所述预设路标和所述机器人之间的位姿转换关系,确定所述卡尔曼滤波算法的第二观测变量的参数;
基于所述第一观测变量的参数、所述第二观测变量的参数,确定所述卡尔曼滤波算法的观测变量的参数。
本申请的一实施例中,所述基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值,包括:
分别对观测模型中的所述当前时刻对应的所述卡尔曼滤波算法的状态变量的参数求导,得到第三雅可比矩阵;其中,根据所述机器人在所述当前时刻的位姿以及所述预设路标的预设位姿创建所述观测模型;
基于所述观测模型对应的观测误差矩阵、所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及所述第三雅可比矩阵,确定卡尔曼增益矩阵;
基于所述卡尔曼增益矩阵、所述当前时刻的所述卡尔曼滤波算法的状态变量、所述第一观测变量的参数、所述第二观测变量的参数以及所述第三雅可比矩阵,确定所述指定参数的标定值。
一方面,本申请一实施例提供了一种里程计在线标定的装置,应用于机器人,所述装置包括:
预测模块,用于基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,其中,所述状态变量的参数包括所述机器人上一时刻的位姿以及指定参数的初始值,所述指定参数为影响所述机器人的运行里程的参数,所述控制变量的参数包括距离所述当前时刻指定时长内所述机器人的移动距离;
观测模块,用于响应于识别到预设路标,基于所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,确定所述机器人与所述预设路标的相对位置关系信息作为所述卡尔曼滤波算法的观测变量;
标定模块,用于基于所述观测变量和所述当前时刻所述机器人的位姿的预测结果,确定所述指定参数的标定值。
本申请的一实施例中,所述指定参数为以下参数中的一种或多种:
所述机器人左轮与右轮之间的轮距值、所述机器人的左轮轮径值、所述机器人的右轮轮径值。
本申请的一实施例中,所述状态变量包括均值矩阵和第一协方差矩阵,所述控制变量包括第二协方差矩阵,所述装置还包括:
确定模块,用于通过以下方法确定所述卡尔曼滤波算法的状态变量、以及控制变量:
基于所述机器人上一时刻的位姿以及所述指定参数的初始值,确定所述卡尔曼滤波算法的状态变量的均值矩阵;
基于所述机器人上一时刻的位姿、所述指定参数的初始值、以及所述指定参数的预设误差值,确定所述卡尔曼滤波算法的状态变量的第一协方差矩阵;
基于所述指定时间内所述机器人的左轮和右轮分别移动的距离、以及所述机器人对应的里程计计算装置关联的系数值,确定所述卡尔曼滤波算法的控制变量的第二协方差矩阵。
本申请的一实施例中,所述预测模块中基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,具体用于:
根据以下位姿预测公式预测当前时刻所述机器人的位姿:
Figure 580184DEST_PATH_IMAGE001
其中,(t-1)为所述上一时刻,t为所述当前时刻,
Figure 177519DEST_PATH_IMAGE002
为所述机器人的位姿, ∆θ、∆s分别为所述机器人的车体中心的角度增量和位移增量;并且∆θ、∆s根据以下公式 表示:
Figure 73931DEST_PATH_IMAGE003
其中,
Figure 807532DEST_PATH_IMAGE004
分别为所述机器人的左轮直径、右轮直径,
Figure 763986DEST_PATH_IMAGE005
为所述机器人的左轮编 码器增量数值与所述机器人的左轮编码器系数之积,
Figure 114196DEST_PATH_IMAGE006
为所述机器人的右轮编码器增量 数值与所述机器人的右轮编码器系数之积。
本申请的一实施例中,所述标定模块,具体用于:
分别对所述位姿预测公式中的所述上一时刻对应的所述卡尔曼滤波算法的状态变量的参数、以及控制变量的参数求导,得到第一雅克比矩阵和第二雅克比矩阵;
基于所述第一雅克比矩阵和所述第二雅克比矩阵、以及所述上一时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及控制变量,确定所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量;
基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值。
本申请的一实施例中,所述观测模块,具体用于:
根据所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,计算所述预设路标与所述机器人之间的距离、所述预设路标在世界坐标系相对预设轴的第一相对角度、以及所述预设路标与所述机器人在世界坐标系中的第二相对角度;
将所述预设路标与所述机器人之间的距离、以及所述第一相对角度和所述第二相对角度作为所述卡尔曼滤波算法的第一观测变量的参数;
根据所述机器人中的相机与所述预设路标之间的位姿转换关系、以及所述相机与所述机器人之间的位姿转换关系,计算得到所述预设路标和所述机器人之间的位姿转换关系;
基于所述预设路标和所述机器人之间的位姿转换关系,确定所述卡尔曼滤波算法的第二观测变量的参数;
基于所述第一观测变量的参数、所述第二观测变量的参数,确定所述卡尔曼滤波算法的观测变量的参数。
本申请的一实施例中,所述标定模块中的基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值,具体用于:
分别对观测模型中的所述当前时刻对应的所述卡尔曼滤波算法的状态变量的参数求导,得到第三雅可比矩阵;其中,根据所述机器人在所述当前时刻的位姿以及所述预设路标的预设位姿创建所述观测模型;
基于所述观测模型对应的观测误差矩阵、所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及所述第三雅可比矩阵,确定卡尔曼增益矩阵;
基于所述卡尔曼增益矩阵、所述当前时刻的所述卡尔曼滤波算法的状态变量、所述第一观测变量的参数、所述第二观测变量的参数以及所述第三雅可比矩阵,确定所述指定参数的标定值。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种方法的步骤。
本申请实施例提供的里程计在线标定的方法、装置、电子设备及存储介质,首先基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻机器人的位姿,然后通过响应于识别到预设路标,基于预设路标的预设位姿以及机器人在当前时刻的位姿,确定机器人与预设路标的相对位置关系信息作为卡尔曼滤波算法的观测变量;最后基于观测变量和当前时刻机器人的位姿的预测结果,确定指定参数的标定值。其中,状态变量的参数包括机器人上一时刻的位姿以及指定参数的初始值,指定参数为影响机器人的运行里程的参数,控制变量的参数包括距离当前时刻指定时长内机器人的移动距离。
在不引入额外设备的前提下,通过将影响机器人的运行里程的参数添加至卡尔曼滤波算法的状态变量中,进而在机器人自主定位和导航过程中,利用卡尔曼滤波算法更新指定参数,可以实现对里程计的在线标定。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的里程计在线标定的方法的应用场景示意图;
图2为本申请一实施例提供的里程计在线标定的方法的应用场景示意图;
图3为本申请一实施例提供的里程计在线标定的方法的流程示意图;
图4为本申请一实施例提供的里程计在线标定的装置的结构示意图;
图5为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应所述理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
以下,对本公开实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)本公开实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
(2)“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
(3)服务器,是为终端服务的,服务的内容诸如向终端提供资源,保存终端数据;服务器是与终端上安装的应用程序相对应的,与终端上的应用程序配合运行。
(4)终端设备,既可以指软件类的APP(Application,应用程序),也可以指客户端。能够将已安装的应用程序中提供的对象进行显示的设备,该电子设备可以是移动的,也可以是固定的。例如,机器人、桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、车载设备、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)或其它能够实现上述功能的电子设备等。
它具有可视的显示界面,能与用户进行交互;是与服务器相对应,为客户提供本地服务。针对软件类的应用程序,除了一些只在本地运行的应用程序之外,一般安装在普通的客户终端上,需要与服务端互相配合运行。因特网发展以后,较常用的应用程序包括了如收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,配置参数服务等,这样在客户终端和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。
在具体实践过程中,里程计的标定方法主要包括两种方式:一是通过离线标定里程计,二是通过引入额外的设备对里程计进行标定。例如,针对使用激光雷达和反光条进行双轮差速移动机器人里程计标定的轮间距修正的方案,通过计算机器人的实际自旋角和里程计的旋转角,拟合得到轮间距的修正系数。该方案为通过离线标定里程计。
或者,针对基于运动捕捉系统对里程计进行标定的方案,当机器人在预设的区域内行走时,同时利用运动捕捉系统对机器人进行定位,读取里程计计算的行走位移,计算得到里程计的补偿参数。该方案在进行里程计参数标定的时候采用了运动捕捉系统,而运动捕捉系统为引入的额外设备。
由于在里程计进行标定的过程中,引入额外的设备,导致里程计标定的成本过高,并且通过离线标定里程计,又不能及时获取到里程计的信息。
为此,本申请提供了一种里程计在线标定的方法,在不引入额外设备的前提下,通过将影响机器人的运行里程的参数添加至卡尔曼滤波算法的状态变量中,进而在机器人自主定位和导航过程中,利用卡尔曼滤波算法更新指定参数,可以实现对里程计的在线标定。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的里程计在线标定的方法的应用场景示意图。该应用场景包括多个终端设备101(包括终端设备101-1、终端设备101-2、……终端设备101-n)、服务器102。其中,终端设备101、服务器102之间通过无线或有线网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备。服务器102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
当用户1将终端设备101-1对应的机器人开机运行并设置指定任务之后,机器人开始按照指定任务自主运动,并基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻机器人的位姿,然后在识别到预设路标时,基于预设路标的预设位姿以及机器人在当前时刻的位姿,确定机器人与预设路标的相对位置关系信息作为卡尔曼滤波算法的观测变量;最后基于观测变量和当前时刻机器人的位姿的预测结果,确定指定参数的标定值。其中,状态变量的参数包括机器人上一时刻的位姿以及指定参数的初始值,指定参数为影响机器人的运行里程的参数,控制变量的参数包括距离当前时刻指定时长内机器人的移动距离。
这里,识别到预设路标后,既可以通过机器人内置的传感器预测当前时刻机器人的位姿、以及确定卡尔曼滤波算法的观测变量,并最终确定指定参数的标定值,也可以将机器人采集到的数据发送至服务器102,在服务器102中计算得到当前时刻机器人的预测位姿、以及确定卡尔曼滤波算法的观测变量,并最终确定指定参数的标定值,还可以部分计算过程在机器人内置的传感器,部分计算过程在服务器102中,在此并不限定具体的计算方式,可根据实际应用场景进行调整。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。
本申请实施例提供一种里程计在线标定的方法,应用于机器人,在不引入额外设备的前提下,通过将影响机器人的运行里程的参数添加至卡尔曼滤波算法的状态变量中,进而在机器人自主定位和导航过程中,利用卡尔曼滤波算法更新指定参数,可以实现对里程计的在线标定。因此,本申请中的里程计在线标定的方法包括:确定卡尔曼滤波算法的预测变量、确定卡尔曼滤波算法的观测变量、以及里程计的在线标定三部分。
针对机器人在指定的场景中,参考图2所示,为机器人在室内的应用场景,其中,该应用场景中还包括预设路标,预设路标可以是人工预先标记的标识物,如ArUco tag 、April tag等,也可以是指定的桌椅等物品信息。如图2所示,展示的柜子为预设标识物1、沙发为预设标识物2。
在确定机器人所在的应用场景之后,需要进一步确定机器人在该应用场景中的世界坐标系,例如,如图2所示,将机器人开始运动的初始位置确定为世界坐标系的原点,将机器人开始运动的正前方确定为世界坐标系中的x轴正方向,并将x轴逆时针旋转90度之后的方向确定为世界坐标系中的y轴正方向,将垂直于机器人水平方向向上的方向确定为世界坐标系中的z轴正方向。
一、确定卡尔曼滤波算法的预测变量
将机器人在世界坐标系下的位姿、以及里程计的指定参数确定为卡尔曼滤波算法 的状态空间。例如表达式(1)所示,为卡尔曼滤波算法的状态空间,其中,x为世界坐标系中 机器人所在位置的横坐标,y为世界坐标系中机器人所在位置的纵坐标,
Figure DEST_PATH_IMAGE007
为世界坐标系 中机器人相对于x轴或者y轴所在位置的旋转角度,b为机器人的左轮与右轮之间的轮距值, Dl为机器人的左轮轮径值,Dr为机器人的右轮轮径值。
Figure 503981DEST_PATH_IMAGE008
卡尔曼滤波算法在预测过程中,包括分别对机器人的状态变量、以及控制变量进行预测,由于状态变量又包括均值矩阵和第一协方差矩阵,因此,在机器人的初始位置处,表达式(1)还可以通过表达式(2)来表示。
Figure DEST_PATH_IMAGE009
其中,由于机器人处于初始位置,因此表达式(1)中的x、y、
Figure 764192DEST_PATH_IMAGE007
均为0, b0为机器人 的左轮与右轮之间的轮距初始值,Dl0为机器人的左轮轮径初始值,Dr0为机器人的右轮轮径 初始值,
Figure 625969DEST_PATH_IMAGE010
为状态变量中的均值矩阵的初始值。
这里,b0、Dl0、Dr0一般为人工手动测量得到,因此存在一些误差,在此,根据针对机器人的左轮与右轮之间的轮距值、以及机器人的左轮轮径值与机器人的右轮轮径值允许的误差值确定状态变量中的第一协方差矩阵的初始值。
又,在机器人处于初始位置时,状态变量中的第一协方差矩阵的初始值如表达式(3)所示。
Figure DEST_PATH_IMAGE011
其中,kb为机器人的左轮与右轮之间的轮距初始值,kdl为机器人的左轮轮径值允许的误差值,kdr为机器人的右轮轮径值允许的误差值,第一协方差矩阵中利用误差值可以反映出确定初始值的准确程度。
当机器人开始运动时,基于指定时间内机器人的左右轮分别的移动距离的预设倍数确定控制变量的第二协方差矩阵,如表达式(4)所示,为机器人的控制变量的第二协方差矩阵的初始值。
Figure 869999DEST_PATH_IMAGE012
其中,
Figure DEST_PATH_IMAGE013
为机器人的控制变量的第二协方差矩阵,k为机器人对应的里程计的属 性系数,
Figure 45897DEST_PATH_IMAGE014
为指定时间内机器人左轮的移动距离,
Figure DEST_PATH_IMAGE015
为指定时间内机器人右轮的移动 距离,也即
Figure 895035DEST_PATH_IMAGE014
为机器人的左轮编码器增量数值与机器人的左轮编码器系数之积,
Figure 927714DEST_PATH_IMAGE015
为 机器人的右轮编码器增量数值与机器人的右轮编码器系数之积,所以可以分别通过以下公 式(5)和公式(6)确定。
Figure 252516DEST_PATH_IMAGE016
这里,kl、kr分别为机器人的左轮编码器系数、右轮编码器系数,
Figure DEST_PATH_IMAGE017
分别为 机器人的左轮编码器增量数值、右轮编码器增量数值。
在确定机器人初始位置的状态变量、以及控制变量之后,当机器人在初始位置按照指定路线开始运动时,参考图3,可以执行步骤S301,基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻机器人的位姿。
其中,状态变量的参数包括机器人上一时刻的位姿以及指定参数的初始值,指定参数为影响机器人的运行里程的参数,控制变量的参数包括距离当前时刻指定时长内机器人的移动距离。
本申请的一实施例中,指定参数为以下参数中的一种或多种:
机器人左轮与右轮之间的轮距值、机器人的左轮轮径值、机器人的右轮轮径值。
示例性地,如上所述,机器人左轮与右轮之间的轮距值用b表示,机器人的左轮轮径值用Dl表示,机器人的右轮轮径值用Dr表示。
本申请的一实施例中,状态变量包括均值矩阵和第一协方差矩阵,控制变量包括第二协方差矩阵,方法还包括:
通过以下方法确定卡尔曼滤波算法的状态变量、以及控制变量:
基于机器人上一时刻的位姿以及指定参数的初始值,确定卡尔曼滤波算法的状态变量的均值矩阵;
基于机器人上一时刻的位姿、指定参数的初始值、以及指定参数的预设误差值,确定卡尔曼滤波算法的状态变量的第一协方差矩阵;
基于指定时间内机器人的左轮和右轮分别移动的距离、以及机器人对应的里程计计算装置关联的系数值,确定卡尔曼滤波算法的控制变量的第二协方差矩阵。
示例性地,如上所述,基于表达式(1)以及表达式(2)确定卡尔曼滤波算法的状态变量的均值矩阵,参考表达式(3),基于机器人上一时刻的位姿、指定参数的初始值b0、Dl0、Dr0、以及指定参数的预设误差值kb、kdl、kdr,确定卡尔曼滤波算法的状态变量的第一协方差矩阵。参考表达式(4),确定卡尔曼滤波算法的控制变量的第二协方差矩阵。
本申请的一实施例中,基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻机器人的位姿,包括:
根据以下位姿预测公式(7)预测当前时刻机器人的位姿:
Figure 960665DEST_PATH_IMAGE018
其中,(t-1)为上一时刻,t为当前时刻,
Figure 523365DEST_PATH_IMAGE002
为机器人的位姿,∆θ、∆s 分别为机器人的车体中心的角度增量和位移增量;并且∆θ、∆s分别根据以下公式(8)和公 式(9)表示:
Figure DEST_PATH_IMAGE019
其中,
Figure 664627DEST_PATH_IMAGE004
分别为机器人的左轮直径、右轮直径,如上所述,
Figure 945567DEST_PATH_IMAGE020
为机器人的左轮 编码器增量数值与机器人的左轮编码器系数之积,
Figure DEST_PATH_IMAGE021
为机器人的右轮编码器增量数值与 机器人的右轮编码器系数之积。
在卡尔曼滤波算法的预测过程中,状态变量的均值矩阵的指定参数b0、Dl0、Dr0不会发生变化,也即在预测过程中不会被更新。
基于分别对位姿预测公式(7)中的上一时刻对应的卡尔曼滤波算法的状态变量的 参数
Figure 463267DEST_PATH_IMAGE022
、以及控制变量
Figure DEST_PATH_IMAGE023
的参数求导,得到第一雅克比矩阵G 和第二雅克比矩阵Gu,如以下表达式(10)和表达式(11)所示。
Figure 818156DEST_PATH_IMAGE024
其中,表达式(10)和表达式(11)中的A和B为以下表达式(12)和表达式(13)。
Figure DEST_PATH_IMAGE025
因此,经过卡尔曼滤波算法对机器人的位姿预测之后,当前时刻机器人对应的状态变量中的第一协方差矩阵如公式(14)所示。
Figure 395899DEST_PATH_IMAGE026
其中,
Figure DEST_PATH_IMAGE027
为当前时刻机器人对应的状态变量中的第一协方差矩阵,
Figure 830380DEST_PATH_IMAGE028
为上一时 刻机器人对应的状态变量中的第一协方差矩阵,
Figure DEST_PATH_IMAGE029
为上一时刻机器人对应的控制变量中 的第二协方差矩阵。
二、确定卡尔曼滤波算法的观测变量
经过卡尔曼滤波算法对当前时刻对应的上一时刻机器人的位姿进行预测之后,得到机器人当前时刻的位姿,然后如图3所示,执行步骤S302,响应于识别到预设路标,基于预设路标的预设位姿以及机器人在当前时刻的位姿,确定机器人与预设路标的相对位置关系信息作为卡尔曼滤波算法的观测变量。
示例性地,如图2中的预设标识物1、预设标识物2为预设路标,机器人当前时刻在世界坐标系下的位姿可以利用表达式(1)表示,也可以利用以下表达式(15)表示。
Figure 620612DEST_PATH_IMAGE030
其中,
Figure DEST_PATH_IMAGE031
和表达式(1)中的x含义相同,
Figure 95587DEST_PATH_IMAGE032
和表达式(1)中的y含义相同,
Figure DEST_PATH_IMAGE033
和表 达式(1)中的θ含义相同,即为机器人在运动平面上的旋转角度。
同样地,预设路标在世界坐标系下的位姿可以利用表达式(16)表示。
Figure 313073DEST_PATH_IMAGE034
其中,
Figure DEST_PATH_IMAGE035
和表达式(1)中的x含义相同,
Figure 240709DEST_PATH_IMAGE036
和表达式(1)中的y含义相同,
Figure DEST_PATH_IMAGE037
和 表达式(1)中的θ含义相同,即为机器人与预设路标在运动平面上的相对角度。
本申请的一实施例中,在执行步骤S302时,具体通过以下方法:
根据预设路标的预设位姿以及机器人在当前时刻的位姿,计算预设路标与机器人之间的距离、预设路标在世界坐标系相对预设轴的第一相对角度、以及预设路标与机器人在世界坐标系中的第二相对角度;
将预设路标与机器人之间的距离、以及第一相对角度和第二相对角度作为卡尔曼滤波算法的第一观测变量的参数。
示例性地,根据表达式(15)中的机器人在当前时刻的位姿、以及表达式(16)中的预设路标的预设位姿,计算预设路标与机器人之间的距离如公式(17)所示,预设路标在世界坐标系相对预设轴的第一相对角度如公式(18)所示,预设路标与机器人在世界坐标系中的第二相对角度如公式(19)所示。
Figure 569053DEST_PATH_IMAGE038
因此,得到卡尔曼滤波算法的第一观测变量的参数
Figure DEST_PATH_IMAGE039
如公式(20)所示。
Figure 892675DEST_PATH_IMAGE040
基于对公式(20)中的卡尔曼滤波算法的状态变量的参数
Figure DEST_PATH_IMAGE041
求 导,得到第三雅克比矩阵
Figure 546641DEST_PATH_IMAGE042
,如以下表达式(21)所示。
Figure DEST_PATH_IMAGE043
其中,表达式(21)中的
Figure 961573DEST_PATH_IMAGE044
Figure DEST_PATH_IMAGE045
分别为以下表达式(22)和表达式(23)以及 表达式(24)。
Figure 93609DEST_PATH_IMAGE046
又,当机器人中的相机观测到预设路标时,通过PnP(Perspective-n-Point)算法 计算得到预设路标和相机之间的位姿转换关系
Figure DEST_PATH_IMAGE047
,再根据相机和机器人之间预设 的外参转换关系
Figure 543176DEST_PATH_IMAGE048
,计算得到预设路标和机器人之间的位姿转换关系
Figure DEST_PATH_IMAGE049
如公式 (25)所示。
Figure 368043DEST_PATH_IMAGE050
其中,表达式(25)又可以通过表达式(26)进行表示。
Figure DEST_PATH_IMAGE051
这里,
Figure 4692DEST_PATH_IMAGE052
为旋转矩阵,
Figure DEST_PATH_IMAGE053
为平移矩阵,
Figure 973759DEST_PATH_IMAGE054
还可以通过表达式(27)进行 表示。
Figure DEST_PATH_IMAGE055
Figure 12253DEST_PATH_IMAGE056
分别为预设路标相对于机器人在x轴、y轴和z轴上的 平移分量。
因此,得到卡尔曼滤波算法的第二观测变量的参数
Figure DEST_PATH_IMAGE057
如公式(28)所示。
Figure 742443DEST_PATH_IMAGE058
其中,
Figure DEST_PATH_IMAGE059
为预设路标和机器人之间的第一距离,可以通过表达式(29)进行表 示,
Figure 397546DEST_PATH_IMAGE060
为在世界坐标系下,预设路标和机器人之间的第三相对角度,可以通过表达式 (30)进行表示,
Figure DEST_PATH_IMAGE061
为在世界坐标系下,预设路标相对预设轴的第四相对角度,可以 通过表达式(31)获得,并且欧拉角
Figure 136963DEST_PATH_IMAGE062
为一个三维向量,可以通过上述的旋转矩阵
Figure DEST_PATH_IMAGE063
转换得到。
Figure 29964DEST_PATH_IMAGE064
另外,经过卡尔曼滤波算法对预设路标的位姿进行观测之后,还可以得到观测信息的误差矩阵如表达式(32)所示,
Figure DEST_PATH_IMAGE065
其中,
Figure 659616DEST_PATH_IMAGE066
和观测结果呈现正相关关系,观测距离越远,误差越大。
三、里程计的在线标定
在经过卡尔曼滤波算法对机器人的位姿进行预测以及经过卡尔曼滤波算法对预设路标的位姿进行观测之后,如图3所示,执行步骤S303,基于观测变量和当前时刻机器人的位姿的预测结果,确定指定参数的标定值。
本申请的一实施例中,通过以下方法执行步骤S303:
分别对位姿预测公式中的上一时刻对应的卡尔曼滤波算法的状态变量的参数、以及控制变量的参数求导,得到第一雅克比矩阵和第二雅克比矩阵;
基于第一雅克比矩阵和第二雅克比矩阵、以及上一时刻对应的机器人的卡尔曼滤波算法的状态变量、以及控制变量,确定当前时刻对应的机器人的卡尔曼滤波算法的状态变量;
基于观测变量和当前时刻对应的机器人的卡尔曼滤波算法的状态变量,确定指定参数的标定值。
可选地,上述已经介绍确定第一雅克比矩阵和第二雅克比矩阵以及当前时刻对应的机器人的卡尔曼滤波算法的状态变量的过程,在此不再赘述。
本申请的一实施例中,基于观测变量和当前时刻对应的机器人的卡尔曼滤波算法的状态变量,确定指定参数的标定值,包括:
分别对观测模型中的当前时刻对应的卡尔曼滤波算法的状态变量的参数求导,得到第三雅可比矩阵;其中,根据机器人在当前时刻的位姿以及预设路标的预设位姿创建观测模型;
基于观测模型对应的观测误差矩阵、当前时刻对应的机器人的卡尔曼滤波算法的状态变量、以及第三雅克比矩阵,确定卡尔曼增益矩阵;
基于卡尔曼增益矩阵、当前时刻的卡尔曼滤波算法的状态变量、第一观测变量的参数、第二观测变量的参数以及第三雅克比矩阵,确定指定参数的标定值。
同样地,上述已经介绍确定第三雅克比矩阵的过程,在此不再赘述。
基于以上介绍过程,可以得到卡尔曼增益矩阵
Figure DEST_PATH_IMAGE067
如公式(33)表示。
Figure 270857DEST_PATH_IMAGE068
其中,
Figure DEST_PATH_IMAGE069
为当前时刻机器人对应的状态变量中的第一协方差矩阵,
Figure 548386DEST_PATH_IMAGE070
为观测信息 的误差矩阵。
最后,当前时刻的状态变量的均值矩阵和第一协方差矩阵分别通过公式(34)和公式(35)表示。
Figure DEST_PATH_IMAGE071
其中,
Figure 295893DEST_PATH_IMAGE072
为上一时刻机器人对应的状态变量中的均值矩阵,
Figure 961361DEST_PATH_IMAGE067
为卡尔曼增益矩 阵,
Figure DEST_PATH_IMAGE073
为卡尔曼滤波算法的第一观测变量的参数,
Figure 59898DEST_PATH_IMAGE074
为卡尔曼滤波算法的第二观测变量 的参数,
Figure 469014DEST_PATH_IMAGE069
为当前时刻机器人对应的状态变量中的第一协方差矩阵。
本申请在不引入额外设备的前提下,通过将影响机器人的运行里程的参数添加至卡尔曼滤波算法的状态变量中,进而在机器人自主定位和导航过程中,利用卡尔曼滤波算法更新指定参数,可以实现对里程计的在线标定。
如图4所示,基于与上述里程计在线标定的方法相同的发明构思,本申请实施例还提供了一种里程计在线标定的装置40,应用于机器人,所述装置包括:预测模块401、观测模块402、以及标定模块403。
预测模块401,用于基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,其中,所述状态变量的参数包括所述机器人上一时刻的位姿以及指定参数的初始值,所述指定参数为影响所述机器人的运行里程的参数,所述控制变量的参数包括距离所述当前时刻指定时长内所述机器人的移动距离;
观测模块402,用于响应于识别到预设路标,基于所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,确定所述机器人与所述预设路标的相对位置关系信息作为所述卡尔曼滤波算法的观测变量;
标定模块403,用于基于所述观测变量和所述当前时刻所述机器人的位姿的预测结果,确定所述指定参数的标定值。
本申请的一实施例中,所述指定参数为以下参数中的一种或多种:
所述机器人左轮与右轮之间的轮距值、所述机器人的左轮轮径值、所述机器人的右轮轮径值。
本申请的一实施例中,所述状态变量包括均值矩阵和第一协方差矩阵,所述控制变量包括第二协方差矩阵,所述装置还包括:
确定模块,用于通过以下方法确定所述卡尔曼滤波算法的状态变量、以及控制变量:
基于所述机器人上一时刻的位姿以及所述指定参数的初始值,确定所述卡尔曼滤波算法的状态变量的均值矩阵;
基于所述机器人上一时刻的位姿、所述指定参数的初始值、以及所述指定参数的预设误差值,确定所述卡尔曼滤波算法的状态变量的第一协方差矩阵;
基于所述指定时间内所述机器人的左轮和右轮分别移动的距离、以及所述机器人对应的里程计计算装置关联的系数值,确定所述卡尔曼滤波算法的控制变量的第二协方差矩阵。
本申请的一实施例中,所述预测模块401中基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,具体用于:
根据以下位姿预测公式预测当前时刻所述机器人的位姿:
Figure 658644DEST_PATH_IMAGE001
其中,(t-1)为所述上一时刻,t为所述当前时刻,
Figure 760592DEST_PATH_IMAGE002
为所述机器人的位姿, ∆θ、∆s分别为所述机器人的车体中心的角度增量和位移增量;并且∆θ、∆s根据以下公式 表示:
Figure 143163DEST_PATH_IMAGE003
其中,
Figure 355969DEST_PATH_IMAGE004
分别为所述机器人的左轮直径、右轮直径,
Figure 671544DEST_PATH_IMAGE005
为所述机器人的左轮编 码器增量数值与所述机器人的左轮编码器系数之积,
Figure 678815DEST_PATH_IMAGE006
为所述机器人的右轮编码器增量 数值与所述机器人的右轮编码器系数之积。
本申请的一实施例中,所述标定模块403,具体用于:
分别对所述位姿预测公式中的所述上一时刻对应的所述卡尔曼滤波算法的状态变量的参数、以及控制变量的参数求导,得到第一雅克比矩阵和第二雅克比矩阵;
基于所述第一雅克比矩阵和所述第二雅克比矩阵、以及所述上一时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及控制变量,确定所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量;
基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值。
本申请的一实施例中,所述观测模块402,具体用于:
根据所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,计算所述预设路标与所述机器人之间的距离、所述预设路标在世界坐标系相对预设轴的第一相对角度、以及所述预设路标与所述机器人在世界坐标系中的第二相对角度;
将所述预设路标与所述机器人之间的距离、以及所述第一相对角度和所述第二相对角度作为所述卡尔曼滤波算法的第一观测变量的参数;
根据所述机器人中的相机与所述预设路标之间的位姿转换关系、以及所述相机与所述机器人之间的位姿转换关系,计算得到所述预设路标和所述机器人之间的位姿转换关系;
基于所述预设路标和所述机器人之间的位姿转换关系,确定所述卡尔曼滤波算法的第二观测变量的参数;
基于所述第一观测变量的参数、所述第二观测变量的参数,确定所述卡尔曼滤波算法的观测变量的参数。
本申请的一实施例中,所述标定模块403中的基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值,具体用于:
分别对观测模型中的所述当前时刻对应的所述卡尔曼滤波算法的状态变量的参数求导,得到第三雅可比矩阵;其中,根据所述机器人在所述当前时刻的位姿以及所述预设路标的预设位姿创建所述观测模型;
基于所述观测模型对应的观测误差矩阵、所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及所述第三雅可比矩阵,确定卡尔曼增益矩阵;
基于所述卡尔曼增益矩阵、所述当前时刻的所述卡尔曼滤波算法的状态变量、所述第一观测变量的参数、所述第二观测变量的参数以及所述第三雅可比矩阵,确定所述指定参数的标定值。
本申请实施例提供的里程计在线标定的装置与上述里程计在线标定的方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述里程计在线标定的方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为智能设备机器人内部的控制设备或控制系统,也可以是与智能设备机器人通信的外部设备,如可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图5所示,该电子设备50可以包括处理器501和存储器502。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于:移动存储设备、随机存取存储器(RAM,Random Access Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的里程计在线标定的方法。
以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。

Claims (16)

1.一种里程计在线标定的方法,其特征在于,应用于机器人,所述方法包括:
基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,其中,所述状态变量的参数包括所述机器人上一时刻的位姿以及指定参数的初始值,所述指定参数为影响所述机器人的运行里程的参数,所述控制变量的参数包括距离所述当前时刻指定时长内所述机器人的移动距离;
响应于识别到预设路标,基于所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,确定所述机器人与所述预设路标的相对位置关系信息作为所述卡尔曼滤波算法的观测变量;
基于所述观测变量和所述当前时刻所述机器人的位姿的预测结果,确定所述指定参数的标定值。
2.根据权利要求1所述的方法,其特征在于,所述指定参数为以下参数中的一种或多种:
所述机器人左轮与右轮之间的轮距值、所述机器人的左轮轮径值、所述机器人的右轮轮径值。
3.根据权利要求1所述的方法,其特征在于,所述状态变量包括均值矩阵和第一协方差矩阵,所述控制变量包括第二协方差矩阵,所述方法还包括:
通过以下方法确定所述卡尔曼滤波算法的状态变量、以及控制变量:
基于所述机器人上一时刻的位姿以及所述指定参数的初始值,确定所述卡尔曼滤波算法的状态变量的均值矩阵;
基于所述机器人上一时刻的位姿、所述指定参数的初始值、以及所述指定参数的预设误差值,确定所述卡尔曼滤波算法的状态变量的第一协方差矩阵;
基于所述指定时间内所述机器人的左轮和右轮分别移动的距离、以及所述机器人对应的里程计计算装置关联的系数值,确定所述卡尔曼滤波算法的控制变量的第二协方差矩阵。
4.根据权利要求1所述的方法,其特征在于,所述基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,包括:
根据以下位姿预测公式预测当前时刻所述机器人的位姿:
Figure 979870DEST_PATH_IMAGE001
其中,(t-1)为所述上一时刻,t为所述当前时刻,
Figure 756065DEST_PATH_IMAGE002
为所述机器人的位姿,∆θ、 ∆s分别为所述机器人的车体中心的角度增量和位移增量;并且∆θ、∆s根据以下公式表 示:
Figure 332540DEST_PATH_IMAGE003
其中,
Figure 85339DEST_PATH_IMAGE004
分别为所述机器人的左轮直径、右轮直径,
Figure 962028DEST_PATH_IMAGE005
为所述机器人的左轮编码 器增量数值与所述机器人的左轮编码器系数之积,
Figure 846807DEST_PATH_IMAGE006
为所述机器人的右轮编码器增量数 值与所述机器人的右轮编码器系数之积。
5.根据权利要求4所述的方法,其特征在于,所述基于所述观测变量和所述当前时刻所述机器人的位姿的预测结果,确定所述指定参数的标定值,包括:
分别对所述位姿预测公式中的所述上一时刻对应的所述卡尔曼滤波算法的状态变量的参数、以及控制变量的参数求导,得到第一雅克比矩阵和第二雅克比矩阵;
基于所述第一雅克比矩阵和所述第二雅克比矩阵、以及所述上一时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及控制变量,确定所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量;
基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值。
6.根据权利要求1-5中任一所述的方法,其特征在于,所述基于所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,确定所述机器人与所述预设路标的相对位置关系信息作为所述卡尔曼滤波算法的观测变量,包括:
根据所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,计算所述预设路标与所述机器人之间的距离、所述预设路标在世界坐标系相对预设轴的第一相对角度、以及所述预设路标与所述机器人在世界坐标系中的第二相对角度;
将所述预设路标与所述机器人之间的距离、以及所述第一相对角度和所述第二相对角度作为所述卡尔曼滤波算法的第一观测变量的参数;
根据所述机器人中的相机与所述预设路标之间的位姿转换关系、以及所述相机与所述机器人之间的位姿转换关系,计算得到所述预设路标和所述机器人之间的位姿转换关系;
基于所述预设路标和所述机器人之间的位姿转换关系,确定所述卡尔曼滤波算法的第二观测变量的参数;
基于所述第一观测变量的参数、所述第二观测变量的参数,确定所述卡尔曼滤波算法的观测变量的参数。
7.根据权利要求6所述的方法,其特征在于,所述基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值,包括:
分别对观测模型中的所述当前时刻对应的所述卡尔曼滤波算法的状态变量的参数求导,得到第三雅可比矩阵;其中,根据所述机器人在所述当前时刻的位姿以及所述预设路标的预设位姿创建所述观测模型;
基于所述观测模型对应的观测误差矩阵、所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及所述第三雅可比矩阵,确定卡尔曼增益矩阵;
基于所述卡尔曼增益矩阵、所述当前时刻的所述卡尔曼滤波算法的状态变量、所述第一观测变量的参数、所述第二观测变量的参数以及所述第三雅可比矩阵,确定所述指定参数的标定值。
8.一种里程计在线标定的装置,其特征在于,应用于机器人,所述装置包括:
预测模块,用于基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,其中,所述状态变量的参数包括所述机器人上一时刻的位姿以及指定参数的初始值,所述指定参数为影响所述机器人的运行里程的参数,所述控制变量的参数包括距离所述当前时刻指定时长内所述机器人的移动距离;
观测模块,用于响应于识别到预设路标,基于所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,确定所述机器人与所述预设路标的相对位置关系信息作为所述卡尔曼滤波算法的观测变量;
标定模块,用于基于所述观测变量和所述当前时刻所述机器人的位姿的预测结果,确定所述指定参数的标定值。
9.根据权利要求8所述的装置,其特征在于,所述指定参数为以下参数中的一种或多种:
所述机器人左轮与右轮之间的轮距值、所述机器人的左轮轮径值、所述机器人的右轮轮径值。
10.根据权利要求8所述的装置,其特征在于,所述状态变量包括均值矩阵和第一协方差矩阵,所述控制变量包括第二协方差矩阵,所述装置还包括:
确定模块,用于通过以下方法确定所述卡尔曼滤波算法的状态变量、以及控制变量:
基于所述机器人上一时刻的位姿以及所述指定参数的初始值,确定所述卡尔曼滤波算法的状态变量的均值矩阵;
基于所述机器人上一时刻的位姿、所述指定参数的初始值、以及所述指定参数的预设误差值,确定所述卡尔曼滤波算法的状态变量的第一协方差矩阵;
基于所述指定时间内所述机器人的左轮和右轮分别移动的距离、以及所述机器人对应的里程计计算装置关联的系数值,确定所述卡尔曼滤波算法的控制变量的第二协方差矩阵。
11.根据权利要求8所述的装置,其特征在于,所述预测模块中基于卡尔曼滤波算法的状态变量、以及控制变量预测当前时刻所述机器人的位姿,具体用于:
根据以下位姿预测公式预测当前时刻所述机器人的位姿:
Figure 910578DEST_PATH_IMAGE001
其中,(t-1)为所述上一时刻,t为所述当前时刻,
Figure 673260DEST_PATH_IMAGE002
为所述机器人的位姿,∆θ、 ∆s分别为所述机器人的车体中心的角度增量和位移增量;并且∆θ、∆s根据以下公式表 示:
Figure 201194DEST_PATH_IMAGE003
其中,
Figure 991295DEST_PATH_IMAGE004
分别为所述机器人的左轮直径、右轮直径,
Figure 109073DEST_PATH_IMAGE005
为所述机器人的左轮编码器增 量数值与所述机器人的左轮编码器系数之积,
Figure 908402DEST_PATH_IMAGE006
为所述机器人的右轮编码器增量数值与 所述机器人的右轮编码器系数之积。
12.根据权利要求11所述的装置,其特征在于,所述标定模块,具体用于:
分别对所述位姿预测公式中的所述上一时刻对应的所述卡尔曼滤波算法的状态变量的参数、以及控制变量的参数求导,得到第一雅克比矩阵和第二雅克比矩阵;
基于所述第一雅克比矩阵和所述第二雅克比矩阵、以及所述上一时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及控制变量,确定所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量;
基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值。
13.根据权利要求8-12中任一所述的装置,其特征在于,所述观测模块,具体用于:
根据所述预设路标的预设位姿以及所述机器人在所述当前时刻的位姿,计算所述预设路标与所述机器人之间的距离、所述预设路标在世界坐标系相对预设轴的第一相对角度、以及所述预设路标与所述机器人在世界坐标系中的第二相对角度;
将所述预设路标与所述机器人之间的距离、以及所述第一相对角度和所述第二相对角度作为所述卡尔曼滤波算法的第一观测变量的参数;
根据所述机器人中的相机与所述预设路标之间的位姿转换关系、以及所述相机与所述机器人之间的位姿转换关系,计算得到所述预设路标和所述机器人之间的位姿转换关系;
基于所述预设路标和所述机器人之间的位姿转换关系,确定所述卡尔曼滤波算法的第二观测变量的参数;
基于所述第一观测变量的参数、所述第二观测变量的参数,确定所述卡尔曼滤波算法的观测变量的参数。
14.根据权利要求13所述的装置,其特征在于,所述标定模块中的基于所述观测变量和所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量,确定所述指定参数的标定值,具体用于:
分别对观测模型中的所述当前时刻对应的所述卡尔曼滤波算法的状态变量的参数求导,得到第三雅可比矩阵;其中,根据所述机器人在所述当前时刻的位姿以及所述预设路标的预设位姿创建所述观测模型;
基于所述观测模型对应的观测误差矩阵、所述当前时刻对应的所述机器人的所述卡尔曼滤波算法的状态变量、以及所述第三雅可比矩阵,确定卡尔曼增益矩阵;
基于所述卡尔曼增益矩阵、所述当前时刻的所述卡尔曼滤波算法的状态变量、所述第一观测变量的参数、所述第二观测变量的参数以及所述第三雅可比矩阵,确定所述指定参数的标定值。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202110331403.4A 2021-03-29 2021-03-29 里程计在线标定的方法、装置、电子设备及存储介质 Active CN112729349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110331403.4A CN112729349B (zh) 2021-03-29 2021-03-29 里程计在线标定的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110331403.4A CN112729349B (zh) 2021-03-29 2021-03-29 里程计在线标定的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112729349A true CN112729349A (zh) 2021-04-30
CN112729349B CN112729349B (zh) 2021-08-24

Family

ID=75595953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110331403.4A Active CN112729349B (zh) 2021-03-29 2021-03-29 里程计在线标定的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112729349B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114578811A (zh) * 2022-02-17 2022-06-03 中国矿业大学 一种带式输送机巡检机器人系统高精度定位方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106123890A (zh) * 2016-06-14 2016-11-16 中国科学院合肥物质科学研究院 一种多传感器数据融合的机器人定位方法
CN108955688A (zh) * 2018-07-12 2018-12-07 苏州大学 双轮差速移动机器人定位方法及系统
CN110515088A (zh) * 2019-08-27 2019-11-29 中国人民解放军国防科技大学 一种智能机器人的里程计估计方法及系统
CN110530399A (zh) * 2019-09-06 2019-12-03 苏州寻迹智行机器人技术有限公司 双轮差速移动机器人里程计标定的轮间距修正方法
CN110849387A (zh) * 2018-08-20 2020-02-28 北京京东尚科信息技术有限公司 一种传感器参数标定方法和装置
CN111098335A (zh) * 2019-12-26 2020-05-05 浙江欣奕华智能科技有限公司 一种双轮差速驱动机器人里程计标定方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106123890A (zh) * 2016-06-14 2016-11-16 中国科学院合肥物质科学研究院 一种多传感器数据融合的机器人定位方法
CN108955688A (zh) * 2018-07-12 2018-12-07 苏州大学 双轮差速移动机器人定位方法及系统
CN110849387A (zh) * 2018-08-20 2020-02-28 北京京东尚科信息技术有限公司 一种传感器参数标定方法和装置
CN110515088A (zh) * 2019-08-27 2019-11-29 中国人民解放军国防科技大学 一种智能机器人的里程计估计方法及系统
CN110530399A (zh) * 2019-09-06 2019-12-03 苏州寻迹智行机器人技术有限公司 双轮差速移动机器人里程计标定的轮间距修正方法
CN111098335A (zh) * 2019-12-26 2020-05-05 浙江欣奕华智能科技有限公司 一种双轮差速驱动机器人里程计标定方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NICHOLAS ROY ET AL.: "Online Self-Calibration For Mobile Robots", 《PROCEEDINGS OF THE 1999 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS & AUTOMATION》 *
卢纪凤等: "基于UMBmark和EKF的差速移动机器人传感器系统误差标定方法", 《机械设计与研究》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114578811A (zh) * 2022-02-17 2022-06-03 中国矿业大学 一种带式输送机巡检机器人系统高精度定位方法

Also Published As

Publication number Publication date
CN112729349B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US10852139B2 (en) Positioning method, positioning device, and robot
CN112179330B (zh) 移动设备的位姿确定方法及装置
CN107748569B (zh) 用于无人机的运动控制方法、装置及无人机系统
CN110501036A (zh) 传感器参数的标定检查方法及装置
KR20210084622A (ko) 시간 동기화 처리 방법, 전자 기기 및 저장 매체
CN111319041B (zh) 一种机器人位姿确定方法、装置、可读存储介质及机器人
CN113759349B (zh) 激光雷达与定位设备的标定方法、设备及自动驾驶车辆
CN110887493A (zh) 基于局部地图匹配的轨迹推算方法、介质、终端和装置
CN110470333A (zh) 传感器参数的标定方法及装置、存储介质和电子装置
CN114111774B (zh) 车辆的定位方法、系统、设备及计算机可读存储介质
JP7356528B2 (ja) 地図データ処理方法及び装置
CN113256719A (zh) 停车导航定位方法、装置、电子设备及存储介质
CN114179825A (zh) 多传感器融合获取量测值置信度方法及自动驾驶车辆
CN113124872A (zh) 一种机器人定位导航方法、装置、终端设备及机器人
CN113008244A (zh) 导航信息的处理方法、装置、电子设备及存储介质
CN114413898B (zh) 多传感器数据融合方法、装置、计算机设备及存储介质
CN112729349B (zh) 里程计在线标定的方法、装置、电子设备及存储介质
CN116416277A (zh) 一种基于运动方程轨迹预测的多目标跟踪方法及装置
CN114593735A (zh) 一种位姿预测方法及装置
CN114088104B (zh) 一种自动驾驶场景下的地图生成方法
CN115727871A (zh) 一种轨迹质量检测方法、装置、电子设备和存储介质
CN114674320A (zh) 基于粒子滤波的定位方法、系统、设备及存储介质
Yao et al. Mobile Robot Localization Based on Vision and Multisensor
CN112180910A (zh) 一种移动机器人障碍物感知方法和装置
CN113923774B (zh) 目标终端的位置确定方法和装置、存储介质及电子设备

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
GR01 Patent grant
GR01 Patent grant