CN110207647B - 一种基于互补卡尔曼滤波器的臂环姿态角计算方法 - Google Patents
一种基于互补卡尔曼滤波器的臂环姿态角计算方法 Download PDFInfo
- Publication number
- CN110207647B CN110207647B CN201910379845.9A CN201910379845A CN110207647B CN 110207647 B CN110207647 B CN 110207647B CN 201910379845 A CN201910379845 A CN 201910379845A CN 110207647 B CN110207647 B CN 110207647B
- Authority
- CN
- China
- Prior art keywords
- measurement
- avr
- state
- matrix
- attitude angle
- 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
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C1/00—Measuring angles
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Gyroscopes (AREA)
- Navigation (AREA)
Abstract
本发明主要公开了一种基于互补卡尔曼滤波器的臂环姿态角计算方法,其技术方案:包括以下步骤:步骤1:搭建姿态角测量系统,系统上电启动,陀螺仪、加速度计、磁传感器开始读取数据;步骤2:开始时,手臂平放处于静止水平状态,载体系xyz三轴分别指向水平右前上,采集一段时间序列N长度的传感器数据,计算状态X初始值X0;步骤3:系统噪声阵、量测噪声矩阵初始化;步骤4:状态量X的预测更新;步骤5:量测Z更新;步骤6:滤波增益K计算;步骤7:状态X估计;步骤8:运动结束,反之若运动未结束,则循环执行步骤4~步骤7;对加速度计、陀螺仪、磁传感器测量的角度进行融合,并得到一种更加精确的臂环姿态角计算结果。
Description
技术领域
本发明涉及臂姿态角测量技术领域,特别是一种基于互补卡尔曼滤波器的臂环姿态角计算方法。
背景技术
在GINS中,姿态是通过环架上的角度传感器敏感的,无需计算,而在SINS中,所有的导航计算(位置、速度、姿态)都要通过计算得出,而且姿态计算(attitude calculation)的频率最高。
通过臂环佩戴于手腕或者小臂处时,现有的技术方案种实现小臂姿态角测量一般有两种方法,一是基于加速度计和磁分别进行姿态角测量,这种方法测量的精度较差,容易受运动情况干扰,二是基于陀螺仪进行测量,这种方法测量的结果容易随时间漂移。其中专利申请号:201610207713.4,公开了一种基于互补卡尔曼滤波算法计算融合姿态,其公开的技术方案是通过螺仪测量数据计算得到第一姿态角度,根据加速度计测量数据计算得到第二姿态角度,根据卡尔曼滤波算法将所述第一姿态角度和所述第二姿态角度进行融合得到第三姿态角度,最后根据互补滤波原理,将所述第一姿态角度、所述第二姿态角度以及所述第三姿态角度进行融合计算得到融合姿态角度。首先其融合方式过程比较粗糙,融合策略不精准,其次其陀螺仪和加速度计只采用六轴融合,不能完全保证3自由度的姿态解算都精确不发散,只能保证2自由度的水平姿态精度。
发明内容
针对现有技术存在的不足,本发明提供一种基于互补卡尔曼滤波器的臂环姿态角计算方法,对加速度计、陀螺仪、磁传感器测量的角度进行融合,并得到一种更加精确的臂环姿态角计算结果,便可实现人体小臂或者手腕的运动估计,继而更进一步实现人体的运动监测、AR/VR用途。
为了达到上述目的,本发明通过以下技术方案来实现:一种基于互补卡尔曼滤波器的臂环姿态角计算方法,包括以下步骤:
步骤1:搭建姿态角测量系统,系统上电启动,陀螺仪、加速度计、磁传感器开始读取数据;
步骤2:开始时,手臂平放处于静止水平状态,载体系xyz三轴分别指向水平右前上,采集一段时间序列N长度的传感器数据,计算状态X初始值X0;
步骤3:系统噪声阵、量测噪声矩阵初始化;
步骤4:状态量X的预测更新;
步骤5:量测Z更新;
步骤6:滤波增益K计算;
步骤7:状态X估计;
步骤8:运动结束,反之若运动未结束,则循环执行步骤4~步骤7。
本发明进一步:步骤1具体包括:
加速度计三轴数据为fb=[fx_b fy_b fz_b]T,陀螺仪三轴数据为Gb=[Gx_b Gy_b Gz_b]T,磁传感器三轴数据为Mb=[Mx_b My_b Mz_b]T;b表示载体坐标系,原点为臂环中心位置,XYZ三个方向分别指向当前传感器位置的右前上方向。
本发明进一步:步骤2具体包括:
此处的N可以根据实际传感器采样频率取下式中的fb_avr=[fx_b_avr fy_b_avrfz_b_avr]T、Gb=[Gx_b_avr Gy_b_avr Gz_b_avr]T、Mb_avr=[Mx_b_avr My_b_avr Mz_b_avr]T均表示基于这段时间序列N的采样均值,状态X取=[θ γ ψ wx wy wz]T,分别表示小臂的俯仰角,横滚角,航向角,x轴角速率,y轴角速率,z轴角速率;初始值X0的具体计算公式如下:
其中g表示当地重力加速度,可取值为9.80665m/s2;D表示地球上当地的磁偏角。
本发明进一步:步骤3具体包括:
系统噪声驱动阵Г和系统噪声矩阵Q为:
系统噪声矩阵Q由陀螺仪的三轴输出噪声方差构成,T为卡尔曼的滤波周期;
量测噪声矩阵R为:
量测噪声矩阵R由互补滤波输出的噪声方差构成。
本发明进一步:步骤4具体包括:
状态量X的预测更新为:
状态X的一步预测协方差矩阵Pk+1/k为:
上式中Pk表示协方差估计矩阵,其初始值为状态的初始误差,可以根据器件的测量精度给定。
本发明进一步:步骤5具体包括:
量测信息由互补滤波进行计算,将陀螺仪积分得到的角度和加速度计、磁传感器计算的角度进行互补融合得到,量测矩阵H为:
上式中的α、β、ζ分别表示互补滤波中陀螺仪测量角度的权重的系数,这可以根据实际系统进行调整,φxk+1、φyk+1、φzk+1分别表示当前k+1时刻采用加速度计、磁传感器计算的姿态角:
与步骤2中计算初始值时类似,不同之处在于,上式中fb=[fx_b fy_b fz_b]T、Gb=[Gx_b Gy_b Gz_b]T、Mb=[Mx_b My_b Mz_b]T表示传感器k+1时刻的取值。
本发明进一步:步骤6具体包括:
滤波增益K计算具体见下:
上式中的Hk+1表示量测矩阵,其为:
本发明进一步:步骤7具体包括:
状态X估计,具体见下式:
Pk+1=(I-Kk+1Hk+1)Pk+1/k。
本发明具有有益效果为:
1、本方法可基于臂环中的陀螺仪、加速度计、磁传感器进行9轴融合,输出稳定不发散的小臂姿态角信息,保证3自由度的姿态解算都精确。
2、采用本发明步骤2-6中关于互补卡尔曼滤波的状态设定以及初始值计算、系统噪声阵、系统噪声驱动阵、量测噪声阵、状态预测更新过程、量测更新过程、量测矩阵计算的详细过程和方法,输出的结果误差小、更能反应小臂的实际运动状况。
附图说明
图1为本发明的流程图;
图2为本发明中载体系xyz三轴示意图。
具体实施方式
结合附图,对本发明较佳实施例做进一步详细说明。
如图1所示,一种基于互补卡尔曼滤波器的臂环姿态角计算方法,包括以下步骤:
步骤1:搭建姿态角测量系统,系统上电启动,陀螺仪、加速度计、磁传感器开始读取数据;加速度计三轴数据为fb=[fx_b fy_b fz_b]T,陀螺仪三轴数据为Gb=[Gx_b Gy_bGz_b]T,磁传感器三轴数据为Mb=[Mx_b My_b Mz_b]T;b表示载体坐标系,原点为臂环中心位置,XYZ三个方向分别指向当前传感器位置的右前上方向。
步骤2:开始时,手臂平放处于静止水平状态,载体系xyz三轴分别指向水平右前上,采集一段时间序列N长度的传感器数据,此处的N可以根据实际传感器采样频率取下式中的fb_avr=[fx_b_avr fy_b_avr fz_b_avr]T、Gb=[Gx_b_avr Gy_b_avr Gz_b_avr]T、Mb_avr=[Mx_b_avr My_b_avr Mz_b_avr]T均表示基于这段时间序列N的采样均值,状态X取=[θ γ ψ wx wy wz]T,分别表示小臂的俯仰角,横滚角,航向角,x轴角速率,y轴角速率,z轴角速率;初始值X0的具体计算公式如下:
其中g表示当地重力加速度,可取值为9.80665m/s2;D表示地球上当地的磁偏角,可根据资料查询。
步骤3:系统噪声驱动阵Γ和系统噪声矩阵Q为:
系统噪声矩阵Q由陀螺仪的三轴输出噪声方差构成,T为卡尔曼的滤波周期;量测噪声矩阵R为:
量测噪声矩阵R由互补滤波输出的噪声方差构成,实际使用时可以实时根据互补滤波(量测信息)输出进行计算。
步骤4:状态量X的预测更新为:
状态X的一步预测协方差矩阵Pk+1/k为:
上式中Pk表示协方差估计矩阵,其初始值为状态的初始误差,可以根据器件的测量精度给定。
步骤5:量测Z更新,量测信息由互补滤波进行计算,将陀螺仪积分得到的角度和加速度计、磁传感器计算的角度进行互补融合得到,量测矩阵H为:
上式中的α、β、ζ分别表示互补滤波中陀螺仪测量角度的权重的系数,这可以根据实际系统进行调整,φxk+1、φyk+1、φzk+1分别表示当前k+1时刻采用加速度计、磁传感器计算的姿态角:
与步骤2中计算初始值时类似,不同之处在于,上式中fb=[fx_b fy_b fz_b]T、Gb=[Gx_b Gy_b Gz_b]T、Mb=[Mx_b My_b Mz_b]T表示传感器k+1时刻的取值。
步骤6:滤波增益K计算;滤波增益K计算具体见下:
上式中的Hk+1表示量测矩阵,其为:
步骤7:状态X估计,具体见下式:
Pk+1=(I-Kk+1Hk+1)Pk+1/k。
步骤8运动结束,反之若运动未结束,则循环执行步骤4~步骤7
步骤1-7及图1中的基于互补卡尔曼滤波器的数据融合方案,基于臂环中的陀螺仪、加速度计、磁传感器进行9轴融合,输出稳定不发散的小臂姿态角信息,保证3自由度的姿态解算都精确。而采用本发明步骤2-6中关于互补卡尔曼滤波的状态设定以及初始值计算、系统噪声阵、系统噪声驱动阵、量测噪声阵、状态预测更新过程、量测更新过程、量测矩阵计算的详细过程和方法,输出的结果误差小、更能反应小臂的实际运动状况。
上述实施例仅用于解释说明本发明的发明构思,而非对本发明权利保护的限定,凡利用此构思对本发明进行非实质性的改动,均应落入本发明的保护范围。
Claims (4)
1.一种基于互补卡尔曼滤波器的臂环姿态角计算方法,其特征在于,包括以下步骤:
步骤1:搭建姿态角测量系统,系统上电启动,陀螺仪、加速度计、磁传感器开始读取数据;加速度计三轴数据为fb=[fx_b fy_b fz_b]T,陀螺仪三轴数据为Gb=[Gx_b Gy_b Gz_b]T,磁传感器三轴数据为Mb=[Mx_b My_b Mz_b]T;b表示载体坐标系,原点为臂环中心位置,XYZ三个方向分别指向当前传感器位置的右前上方向;
步骤2:开始时,手臂平放处于静止水平状态,载体系xyz三轴分别指向水平右前上,采集一段时间序列N长度的传感器数据,计算状态X初始值X0;
此处的N可以根据实际传感器采样频率取下式中的fb_avr=[fx_b_avr fy_b_avr fz_b_avr]T、Gb=[Gx_b_avr Gy_b_avr Gz_b_avr]T、Mb_avr=[Mx_b_avr My_b_avr Mz_b_avr]T均表示基于这段时间序列N的采样均值,状态X取=[θ γ ψ wx wy wz]T,分别表示小臂的俯仰角,横滚角,航向角,x轴角速率,y轴角速率,z轴角速率;初始值X0的具体计算公式如下:
其中g表示当地重力加速度,可取值为9.80665m/s2;D表示地球上当地的磁偏角;
步骤3:系统噪声阵、量测噪声矩阵初始化;
步骤4:状态量X的预测更新;
状态X的一步预测协方差矩阵Pk+1/k为:
上式中Pk表示协方差估计矩阵,其初始值为状态的初始误差,可以根据器件的测量精度给定;
步骤5:量测Z更新;
量测信息由互补滤波进行计算,将陀螺仪积分得到的角度和加速度计、磁传感器计算的角度进行互补融合得到,量测矩阵H为:
上式中的α、β、ζ分别表示互补滤波中陀螺仪测量角度的权重的系数,这可以根据实际系统进行调整,φxk+1、φyk+1、φzk+1分别表示当前k+1时刻采用加速度计、磁传感器计算的姿态角:
上式中fb=[fx_b fy_b fz_b]T、Gb=[Gx_b Gy_b Gz_b]T、Mb=[Mx-b My_b Mz_b]T表示传感器k+1时刻的取值;
步骤6:滤波增益K计算;
步骤7:状态X估计;
步骤8:运动结束,反之若运动未结束,则循环执行步骤4~步骤7。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910379845.9A CN110207647B (zh) | 2019-05-08 | 2019-05-08 | 一种基于互补卡尔曼滤波器的臂环姿态角计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910379845.9A CN110207647B (zh) | 2019-05-08 | 2019-05-08 | 一种基于互补卡尔曼滤波器的臂环姿态角计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110207647A CN110207647A (zh) | 2019-09-06 |
CN110207647B true CN110207647B (zh) | 2021-11-09 |
Family
ID=67786983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910379845.9A Active CN110207647B (zh) | 2019-05-08 | 2019-05-08 | 一种基于互补卡尔曼滤波器的臂环姿态角计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110207647B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111060813B (zh) * | 2019-12-09 | 2022-05-10 | 国网北京市电力公司 | 高压断路器操作机构的故障诊断方法及装置、电子设备 |
CN111169201B (zh) * | 2020-03-04 | 2024-03-26 | 黑龙江大学 | 练字监测器及监测方法 |
CN114459302A (zh) * | 2022-03-10 | 2022-05-10 | 东南大学 | 一种适用于高旋弹丸的滚转角速率测量方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105651242A (zh) * | 2016-04-05 | 2016-06-08 | 清华大学深圳研究生院 | 一种基于互补卡尔曼滤波算法计算融合姿态角度的方法 |
CN108225308A (zh) * | 2017-11-23 | 2018-06-29 | 东南大学 | 一种基于四元数的扩展卡尔曼滤波算法的姿态解算方法 |
-
2019
- 2019-05-08 CN CN201910379845.9A patent/CN110207647B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105651242A (zh) * | 2016-04-05 | 2016-06-08 | 清华大学深圳研究生院 | 一种基于互补卡尔曼滤波算法计算融合姿态角度的方法 |
CN108225308A (zh) * | 2017-11-23 | 2018-06-29 | 东南大学 | 一种基于四元数的扩展卡尔曼滤波算法的姿态解算方法 |
Non-Patent Citations (3)
Title |
---|
互补滤波和卡尔曼滤波的融合姿态解算方法;张栋,焦嵩鸣,刘延泉;《传感器与微系统》;20170331;正文第1页最后一段至第4页第2.3节 * |
多旋翼无人机的姿态与导航信息融合算法研究;张欣;《中国博士学位论文全文数据库 工程科技Ⅱ辑》;20150930;正文第32-35页、第50-52页 * |
张栋,焦嵩鸣,刘延泉.互补滤波和卡尔曼滤波的融合姿态解算方法.《传感器与微系统》.2017, * |
Also Published As
Publication number | Publication date |
---|---|
CN110207647A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108225308B (zh) | 一种基于四元数的扩展卡尔曼滤波算法的姿态解算方法 | |
KR102017404B1 (ko) | 9축 mems 센서에 기반하여 농기계의 전-자세 각도를 갱신하는 방법 | |
CN109813311B (zh) | 一种无人机编队协同导航方法 | |
Roetenberg et al. | Compensation of magnetic disturbances improves inertial and magnetic sensing of human body segment orientation | |
Han et al. | A novel method to integrate IMU and magnetometers in attitude and heading reference systems | |
CN112630813B (zh) | 基于捷联惯导和北斗卫星导航系统的无人机姿态测量方法 | |
CN110207647B (zh) | 一种基于互补卡尔曼滤波器的臂环姿态角计算方法 | |
Del Rosario et al. | Computationally efficient adaptive error-state Kalman filter for attitude estimation | |
CN108458714B (zh) | 一种姿态检测系统中不含重力加速度的欧拉角求解方法 | |
CN110887481B (zh) | 基于mems惯性传感器的载体动态姿态估计方法 | |
CN110954102B (zh) | 用于机器人定位的磁力计辅助惯性导航系统及方法 | |
CN108731676B (zh) | 一种基于惯性导航技术的姿态融合增强测量方法及系统 | |
CN108534772B (zh) | 姿态角获取方法及装置 | |
CN111272158B (zh) | 复杂磁扰动场景mems电子罗盘的动态方位角解算方法 | |
CN112857398B (zh) | 一种系泊状态下舰船的快速初始对准方法和装置 | |
CN112665574B (zh) | 基于动量梯度下降法的水下机器人姿态采集方法 | |
CN107860382B (zh) | 一种在地磁异常情况下应用ahrs测量姿态的方法 | |
CN115540860A (zh) | 一种多传感器融合位姿估计算法 | |
CN110595434B (zh) | 基于mems传感器的四元数融合姿态估计方法 | |
CN106595669B (zh) | 一种旋转体姿态解算方法 | |
CN111307114A (zh) | 基于运动参考单元的水面舰船水平姿态测量方法 | |
CN114459466A (zh) | 一种基于模糊控制的mems多传感器数据融合处理方法 | |
CN112033405B (zh) | 一种室内环境磁异常实时修正与导航方法及装置 | |
JP2007232444A (ja) | 慣性航法装置およびその誤差補正方法 | |
Wöhle et al. | A robust quaternion based Kalman filter using a gradient descent algorithm for orientation measurement |
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 |