CN114764830A - 一种基于四元数ekf和未标定手眼系统的物体位姿估算方法 - Google Patents
一种基于四元数ekf和未标定手眼系统的物体位姿估算方法 Download PDFInfo
- Publication number
- CN114764830A CN114764830A CN202110085490.XA CN202110085490A CN114764830A CN 114764830 A CN114764830 A CN 114764830A CN 202110085490 A CN202110085490 A CN 202110085490A CN 114764830 A CN114764830 A CN 114764830A
- Authority
- CN
- China
- Prior art keywords
- quaternion
- camera
- ekf
- coordinate system
- pose
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/77—Determining position or orientation of objects or cameras using statistical methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提出了一种基于四元数EKF和未标定手眼系统的物体位姿估算方法。以四元数描述物体姿态角,建立四元数EKF状态方程和观测方程,结合EKF算法估算物体位姿,再将求得的四元数转换成欧拉角,最后输出准确物体位姿。本发明的方法有效克服了欧拉角描述物体姿态存在奇异值且计算量大的缺点,相较于传统EKF具有更快的运算速度和更高的估算精度,可以保证物体位姿估算的精确性和实时性。
Description
技术领域
本发明涉及机器人视觉伺服技术领域,具体涉及一种基于四元数EKF和未标定手眼系统的物体位姿估算方法。
背景技术
随着人工智能及机器人技术的迅猛发展,机器人执行任务的复杂性和多样性不断提高,具备感知能力、能与外界互动的智能机器人被公认为今后机器人发展的方向,实现自主定位和导航是智能机器人的基本要求和核心技术。在目前比较成熟的定位和导航技术中,视觉伺服技术因其信息量大、适用范围广、定位或跟踪精度高等特点而得到广泛应用。考虑到技术及成本等多方面因素,无标定单目视觉在市场上受到普遍关注,但单目视觉无法直接得到目标的三维信息,必须采用合理的算法来进行位姿估算。
为了实现三维结构目标物体的快速识别和位姿估算,进而提升智能机器人的自动化和智能化水平,一些机器人视觉伺服解决方案被相继提出。例如,授权公告号为CN104596502B的中国发明专利就公开了一种基于CAD模型与单目视觉的物体位姿测量方法,该方法通过模板拍摄摄像机运动假设和迭代计算得到假设运动的模板拍摄摄像机与固定摄像机之间的运动关系,得到假设运动的模板拍摄摄像机和固定摄像机组成的双目系统外参数后,对目标进行三维重建,得到目标的三维点云数据,并与包含物体三维结构信息CAD模型进行配准,得到当前世界坐标系下目标物体位姿与CAD模型的对应关系,准确计算出目标物体的位姿。此方法虽能准确估算物体位姿,但前期需建立物体CAD模型,并对目标物体进行三维重建,算法复杂计算量大,不利于位姿估算的实时性。
EKF利用泰勒级数展开的方法将非线性系统线性化,进而采用卡尔曼滤波的基本算法进行估算状态更新,是较为优化的位姿估算方法。EKF估算物体位姿时,通常用欧拉角来描述目标姿态,欧拉角法虽描述简单,无冗余参数,但存在奇异值,且计算量大,不利于位姿估算的精确性与实时性。
发明内容
针对上述问题,本发明的目的是提供一种基于四元数EKF和未标定手眼系统的物体位姿估算方法,不仅可以避免欧拉角的奇异问题,而且计算量小,运算速度快,有利于位姿估算的实时性。
为实现上述目的,本发明提供的技术方案如下:
一种基于四元数EKF和未标定手眼系统的物体位姿估算方法,其特征在于,包括如下步骤:
步骤S1:建立四元数EKF状态方程;
步骤S2:建立四元数EKF观测方程;
步骤S3:采用四元数EKF算法估算物体位姿;
步骤S4:四元数欧拉角换算;
步骤S5:输出物体位姿信息。
更进一步的,所述步骤S1的具体过程包括:
在手眼系统中,相机相对于机械手有固定的位置关系并随着机械手做空间运动,手眼系统的动力学模型描述抓取目标相对于手眼相机的相对运动,定义系统状态向量为:
式(1)中q0~q3为描述抓取目标相对于相机坐标系旋转的四元数,wx、wy、wz为目标旋转角速度在相机坐标系中的分量,抓取目标的平移运动由其余6个系统状态表示。假设相机运动缓慢并且在每一个采样周期内速度不变,则抓取目标位姿的一阶导可设为常数,二阶导则作为系统噪声包含在系统动力学模型中。卡尔曼滤波的系统状态方程如下:
Xk=AkXk-1+wk-1 (2)
式(2)中:A为系统矩阵,wk-1为零均值系统高斯白噪声,其协方差阵为Qk-1。
公式(1)中用四元数来表示抓取目标在相机坐标系中的姿态角,对四元数微分求积分即可得到更新的四元数。对四元数微分方程展开可得:
将公式(6)、(7)代入公式(2)得系统状态向量X的离散时间模型:
上式中Qtran为4x4四元数更新矩阵,T为采样时间。系统矩阵A如(9)所示。
式(9)中Qw为表示四元数变化的4x3矩阵,其表达式如下:
上述矩阵每列的计算方法如式(11)所示:
其中:
更进一步的,所述步骤S2的具体过程包括:
取抓取目标上特征点在成像平面的像素坐标作为观测向量,建立扩展卡尔曼滤波器的观测方程为:
Sk=G(Xk)+vk (15)
其中:Sk为抓取目标特征点在成像平面的像素坐标向量,为保证位姿估算的鲁棒性,采用4个特征点来估算抓取目标的位姿。G(Xk)为描述相机成像模型的函数,对于普通针孔相机其成像平面的像素坐标计算如下:
式(16)、(17)中u、v为特征点在成像平面的像素坐标,X、Y、Z为特征点在相机坐标系中的坐标,f为相机焦距,dsw、dsh为成像平面横向与纵向单位像素长度,u0、v0为成像平面中心坐标。
结合式(16)、(17)观测方程表达式如下:
由于式(18)的非线性性,不能直接进行卡尔曼滤波处理,因此需对式(18)求取雅可比矩阵进行线性化处理,得系统量测矩阵为:
更进一步的,所述步骤S3的具体过程包括:
(1)对状态向量以及方差进行初始化,给定初始值
(2)计算状态向量及协方差的初步预测值
Xk,k-1=AkXk-1,k-1 (20)
(3)计算量测矩阵(线性化处理)
(4)计算卡尔曼增益
(5)根据卡尔曼增益及观测向量更新估计值
Xk,k=Xk,k-1+K(Sk-G(Xk,k-1)) (24)
Pk,k=Pk,k-1+K·HkPk,k-1 (25)
(6)令k=k+1,重复上述步骤。
更进一步的,所述步骤S4的具体过程包括:
定义目标坐标系为(KS)o,该坐标系与目标固联;定义相机坐标系为(KS)c,该坐标系与相机固联。则抓取目标相对于相机的位姿就是目标坐标系(KS)o相对于相机坐标系(KS)c的方位关系。
通过坐标向量X=[x y z φ ψ θ]T来描述目标位姿,前三个部分表示目标坐标系原点在相机坐标系中的坐标,后三个部分表示目标坐标系绕相机坐标系各轴的旋转。设目标坐标系是由相机坐标系按照Z→X→Y旋转顺序,分别旋转θ→φ→ψ角度得到,其中:θ为偏航角,φ为横滚角,ψ为俯仰角,且φ、ψ和θ都为欧拉角,则最终的坐标转换矩阵为:
四元数由实数和虚数组成,通常情况下表达为:
q=q0+q1 i+q2 j+q3 k=[q0 q1 q2 q3]T (27)
由式(26)、(28)可得目标的姿态角为:
其中俯仰角ψ和偏航角θ需对角度进行相位判断。
由上述本发明的技术方案可以看出,本发明具有如下技术效果:
针对欧拉角描述物体姿态存在奇异值且计算量大的缺点,本发明提出了一种基于四元数EKF和未标定手眼系统的物体位姿估算方法。以四元数描述物体姿态角,结合EKF算法,不仅避免了欧拉角的奇异问题,而且计算量小,运算速度快。相比传统EKF算法,本发明提出的算法估算速度更快,估算精度更高,保证了物体位姿估算的精确性与实时性。
附图说明
下面参照附图结合实施例对本发明作进一步的描述。
图1为本发明所述的基于四元数EKF和未标定手眼系统的物体位姿估算方法流程图;
图2为相机静止时传统EKF的目标-相机距离估算曲线示意图;
图3为相机静止时本发明算法的目标-相机距离估算曲线示意图;
图4为相机运动时传统EKF的横滚角估算曲线示意图;
图5为相机运动时本发明算法的横滚角估算曲线示意图。
具体实施方式
下面结合附图,通过实施例对本发明作进一步的说明。
本发明提供一种基于四元数EKF和未标定手眼系统的物体位姿估算方法,图1为其流程图,包括如下步骤:
步骤S1:建立四元数EKF状态方程。
在手眼系统中,相机相对于机械手有固定的位置关系并随着机械手做空间运动,手眼系统的动力学模型描述抓取目标相对于手眼相机的相对运动,定义系统状态向量为:
式(1)中q0~q3为描述抓取目标相对于相机坐标系旋转的四元数,wx、wy、wz为目标旋转角速度在相机坐标系中的分量,抓取目标的平移运动由其余6个系统状态表示。假设相机运动缓慢并且在每一个采样周期内速度不变,则抓取目标位姿的一阶导可设为常数,二阶导则作为系统噪声包含在系统动力学模型中。卡尔曼滤波的系统状态方程如下:
Xk=AkXk-1+wk-1 (2)
式(2)中:A为系统矩阵,wk-1为零均值系统高斯白噪声,其协方差阵为Qk-1。
公式(1)中用四元数来表示抓取目标在相机坐标系中的姿态角,对四元数微分求积分即可得到更新的四元数。对四元数微分方程展开可得:
将公式(6)、(7)代入公式(2)得系统状态向量X的离散时间模型:
上式中Qtran为4x4四元数更新矩阵,T为采样时间。系统矩阵A如(9)所示。
式(9)中Qw为表示四元数变化的4x3矩阵,其表达式如下:
上述矩阵每列的计算方法如式(11)所示:
其中:
步骤S2:建立四元数EKF观测方程。
取抓取目标上特征点在成像平面的像素坐标作为观测向量,建立扩展卡尔曼滤波器的观测方程为:
Sk=G(Xk)+vk (15)
其中:Sk为抓取目标特征点在成像平面的像素坐标向量,为保证位姿估算的鲁棒性,采用4个特征点来估算抓取目标的位姿。G(Xk)为描述相机成像模型的函数,对于普通针孔相机其成像平面的像素坐标计算如下:
式(16)、(17)中u、v为特征点在成像平面的像素坐标,X、Y、Z为特征点在相机坐标系中的坐标,f为相机焦距,dsw、dsh为成像平面横向与纵向单位像素长度,u0、v0为成像平面中心坐标。
结合式(16)、(17)观测方程表达式如下:
由于式(18)的非线性性,不能直接进行卡尔曼滤波处理,因此需对式(18)求取雅可比矩阵进行线性化处理,得系统量测矩阵为:
步骤S3:采用四元数EKF算法估算物体位姿。
(1)对状态向量以及方差进行初始化,给定初始值。
(2)计算状态向量及协方差的初步预测值
Xk,k-1=AkXk-1,k-1 (20)
(3)计算量测矩阵(线性化处理)
(4)计算卡尔曼增益
(5)根据卡尔曼增益及观测向量更新估计值
Xk,k=Xk,k-1+K(Sk-G(Xk,k-1)) (24)
Pk,k=Pk,k-1+K·HkPk,k-1 (25)
(6)令k=k+1,重复上述步骤。
步骤S4:四元数欧拉角换算。
定义目标坐标系为(KS)o,该坐标系与目标固联;定义相机坐标系为(KS)c,该坐标系与相机固联。则抓取目标相对于相机的位姿就是目标坐标系(KS)o相对于相机坐标系(KS)c的方位关系。
通过坐标向量X=[x y z φ ψ θ]T来描述目标位姿,前三个部分表示目标坐标系原点在相机坐标系中的坐标,后三个部分表示目标坐标系绕相机坐标系各轴的旋转。设目标坐标系是由相机坐标系按照Z→X→Y旋转顺序,分别旋转θ→φ→ψ角度得到,其中:θ为偏航角,φ为横滚角,ψ为俯仰角,且φ、ψ和θ都为欧拉角,则最终的坐标转换矩阵为:
四元数由实数和虚数组成,通常情况下表达为:
q=q0+q1 i+q2 j+q3 k=[q0 q1 q2 q3]T (27)
由式(26)、(28)可得目标的姿态角为:
其中俯仰角ψ和偏航角θ需对角度进行相位判断。
步骤S5:输出物体位姿信息。
其中位置信息由步骤3求得,姿态角由步骤4求得。
为了验证本发明提出的物体位姿估算算法的有效性,在Matlab/Simulink中搭建整个手眼视觉伺服系统的仿真模型,对算法的有效性进行分析及验证。图2为相机静止时传统EKF的目标-相机距离估算曲线示意图,图3为相机静止时本发明算法的目标-相机距离估算曲线示意图。由图2和图3可以看出,传统EKF需要经过约5步仿真才能比较精确地估算目标距相机距离,而本发明算法经过约3步仿真已能达到精确估算结果,说明本发明算法相较于传统EKF具有更快的响应速度。图4为相机运动时传统EKF的横滚角估算曲线示意图,图5为相机运动时本发明算法的横滚角估算曲线示意图。由图4和图5可以看出,相较于传统EKF本发明算法具有更高的估算精度。
针对欧拉角描述物体姿态存在奇异值且计算量大的缺点,本发明以四元数描述物体姿态角,建立四元数EKF状态方程和观测方程,结合EKF算法估算物体位姿,再将求得的四元数转换成欧拉角,最后输出准确物体位姿。仿真结果表明,相对于传统EKF而言,本发明算法在运算速度和估算精度上都有明显的优势,可以保证物体位姿估算的精确性和实时性。
Claims (6)
1.一种基于四元数EKF和未标定手眼系统的物体位姿估算方法,其特征在于:包括如下步骤:
步骤S1:建立四元数EKF状态方程;
步骤S2:建立四元数EKF观测方程;
步骤S3:采用四元数EKF算法估算物体位姿;
步骤S4:四元数欧拉角换算;
步骤S5:输出物体位姿信息。
2.根据权利要求1所述的一种基于四元数EKF和未标定手眼系统的物体位姿估算方法,其特征在于,所述步骤S1的具体过程包括:
定义手眼视觉伺服系统状态向量为:
式(1)中q0~q3为描述抓取目标相对于相机坐标系旋转的四元数,wx、wy、wz为目标旋转角速度在相机坐标系中的分量,抓取目标的平移运动由其余6个系统状态表示。假设相机运动缓慢并且在每一个采样周期内速度不变,则抓取目标位姿的一阶导可设为常数,二阶导则作为系统噪声包含在系统动力学模型中。卡尔曼滤波的系统状态方程如下:
Xk=AkXk-1+wk-1 (2)
式(2)中:A为系统矩阵,wk-1为零均值系统高斯白噪声,其协方差阵为Qk-1。
公式(1)中用四元数来表示抓取目标在相机坐标系中的姿态角,对四元数微分求积分即可得到更新的四元数。对四元数微分方程展开可得:
将公式(6)、(7)代入公式(2)得系统状态向量X的离散时间模型:
上式中Qtran为4x4四元数更新矩阵,T为采样时间。系统矩阵A如(9)所示。
式(9)中Qw为表示四元数变化的4x3矩阵,其表达式如下:
上述矩阵每列的计算方法如式(11)所示:
其中:
3.根据权利要求1所述的一种基于四元数EKF和未标定手眼系统的物体位姿估算方法,其特征在于,所述步骤S2的具体过程如下:
取抓取目标上特征点在成像平面的像素坐标作为观测向量,建立扩展卡尔曼滤波器的观测方程为:
Sk=G(Xk)+vk (15)
其中:Sk为抓取目标特征点在成像平面的像素坐标向量,为保证位姿估算的鲁棒性,采用4个特征点来估算抓取目标的位姿。G(Xk)为描述相机成像模型的函数,对于普通针孔相机其成像平面的像素坐标计算如下:
式(16)、(17)中u、v为特征点在成像平面的像素坐标,X、Y、Z为特征点在相机坐标系中的坐标,f为相机焦距,dsw、dsh为成像平面横向与纵向单位像素长度,u0、v0为成像平面中心坐标。
结合式(16)、(17)观测方程表达式如下:
由于式(18)的非线性性,不能直接进行卡尔曼滤波处理,因此需对式(18)求取雅可比矩阵进行线性化处理,得系统量测矩阵为:
5.根据权利要求1所述的一种基于四元数EKF和未标定手眼系统的物体位姿估算方法,其特征在于,所述步骤S4的具体过程如下:
定义目标坐标系为(KS)o,该坐标系与目标固联;定义相机坐标系为(KS)c,该坐标系与相机固联。则抓取目标相对于相机的位姿就是目标坐标系(KS)o相对于相机坐标系(KS)c的方位关系。
通过坐标向量X=[x y z φ ψ θ]T来描述目标位姿,前三个部分表示目标坐标系原点在相机坐标系中的坐标,后三个部分表示目标坐标系绕相机坐标系各轴的旋转。设目标坐标系是由相机坐标系按照Z→X→Y旋转顺序,分别旋转θ→φ→ψ角度得到,其中:θ为偏航角,φ为横滚角,ψ为俯仰角,且φ、ψ和θ都为欧拉角,则最终的坐标转换矩阵为:
四元数由实数和虚数组成,通常情况下表达为:
q=q0+q1 i+q2 j+q3 k=[q0 q1 q2 q3]T (27)
由式(26)、(28)可得目标的姿态角为:
其中俯仰角ψ和偏航角θ需对角度进行相位判断。
6.根据权利要求1所述的一种基于四元数EKF和未标定手眼系统的物体位姿估算方法,其特征在于,为保证位姿估算的鲁棒性,所需目标特征点的数目为4个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110085490.XA CN114764830A (zh) | 2021-01-13 | 2021-01-13 | 一种基于四元数ekf和未标定手眼系统的物体位姿估算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110085490.XA CN114764830A (zh) | 2021-01-13 | 2021-01-13 | 一种基于四元数ekf和未标定手眼系统的物体位姿估算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114764830A true CN114764830A (zh) | 2022-07-19 |
Family
ID=82365205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110085490.XA Pending CN114764830A (zh) | 2021-01-13 | 2021-01-13 | 一种基于四元数ekf和未标定手眼系统的物体位姿估算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114764830A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115946122A (zh) * | 2023-01-18 | 2023-04-11 | 广州慧谷动力科技有限公司 | 一种基于多自由度机械臂视觉抓取方法 |
CN116012444A (zh) * | 2022-12-05 | 2023-04-25 | 中国科学院长春光学精密机械与物理研究所 | 一种动态像移补偿偏流曲线拟合方法 |
-
2021
- 2021-01-13 CN CN202110085490.XA patent/CN114764830A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116012444A (zh) * | 2022-12-05 | 2023-04-25 | 中国科学院长春光学精密机械与物理研究所 | 一种动态像移补偿偏流曲线拟合方法 |
CN116012444B (zh) * | 2022-12-05 | 2023-08-18 | 中国科学院长春光学精密机械与物理研究所 | 一种动态像移补偿偏流曲线拟合方法 |
CN115946122A (zh) * | 2023-01-18 | 2023-04-11 | 广州慧谷动力科技有限公司 | 一种基于多自由度机械臂视觉抓取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu | A review of solutions for perspective-n-point problem in camera pose estimation | |
CN109029433B (zh) | 一种移动平台上基于视觉和惯导融合slam的标定外参和时序的方法 | |
CN110986939B (zh) | 一种基于imu预积分的视觉惯性里程计方法 | |
CN108731670A (zh) | 基于量测模型优化的惯性/视觉里程计组合导航定位方法 | |
CN110517324B (zh) | 基于变分贝叶斯自适应算法的双目vio实现方法 | |
CN110726406A (zh) | 一种改进的非线性优化单目惯导slam的方法 | |
CN105931275A (zh) | 基于移动端单目和imu融合的稳定运动跟踪方法和装置 | |
WO2019191288A1 (en) | Direct sparse visual-inertial odometry using dynamic marginalization | |
CN113503872B (zh) | 一种基于相机与消费级imu融合的低速无人车定位方法 | |
CN114764830A (zh) | 一种基于四元数ekf和未标定手眼系统的物体位姿估算方法 | |
CN114001733A (zh) | 一种基于地图的一致性高效视觉惯性定位算法 | |
CN114111772B (zh) | 一种基于数据手套的水下机器人软体作业手位置跟踪方法 | |
CN111649747A (zh) | 一种基于imu的自适应ekf姿态测量改进方法 | |
CN108827287B (zh) | 一种复杂环境下的鲁棒视觉slam系统 | |
CN109542094B (zh) | 无期望图像的移动机器人视觉镇定控制 | |
CN117075158A (zh) | 基于激光雷达的无人变形运动平台的位姿估计方法及系统 | |
CN115046543A (zh) | 一种基于多传感器的组合导航方法及系统 | |
CN111696155A (zh) | 一种基于单目视觉的多传感融合机器人定位方法 | |
CN114018284B (zh) | 一种基于视觉的轮速里程计校正方法 | |
Medeiros et al. | An Embedded Quaternion-Based Extended Kalman Filter Pose Estimation for Six Degrees of Freedom Systems | |
Manerikar et al. | Riccati observer design for homography decomposition | |
CN112712107B (zh) | 一种基于优化的视觉和激光slam融合定位方法 | |
Qiu et al. | A fast and accurate new algorithm for hand–eye calibration on SO (3)× R3 | |
CN115077517A (zh) | 一种基于立体相机与imu融合的低速无人车定位方法及系统 | |
CN115344033A (zh) | 一种基于单目相机/imu/dvl紧耦合的无人船导航与定位方法 |
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 |