掌桥专利:专业的专利平台
掌桥专利
首页

一种骑行姿态确认方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 12:18:04


一种骑行姿态确认方法、装置、计算机设备及存储介质

技术领域

本申请涉及人工智能技术领域,尤其涉及一种基于互补滤波姿态融合算法的骑行姿态确认方法、装置、计算机设备及存储介质。

背景技术

随着人们生活水平的提高,人们越来越重视户外运动,户外运动中比较时尚的是骑行运动,骑行运动既可以锻炼身体,还可以欣赏周围的风景,身心均可以锻炼。

现有一种骑行姿态确认方法,即通过获取骑行载具的倾斜姿态从而确认该骑行用户的骑行姿态。

然而,传统的骑行姿态确认方法普遍不智能,由于该骑行载具的倾斜姿态并不能完全展示骑行者的实际倾斜信息,从而使得传统的骑行姿态确认方便存在数据不准确的问题。

发明内容

本申请实施例的目的在于提出一种基于互补滤波姿态融合算法的骑行姿态确认方法、装置、计算机设备及存储介质,以解决传统的骑行姿态确认方便存在数据不准确的问题。

为了解决上述技术问题,本申请实施例提供一种基于互补滤波姿态融合算法的骑行姿态确认方法,采用了如下所述的技术方案:

当骑行用户正在骑行时,接收所述陀螺仪采集到的骑行速度信息;

根据互补滤波姿态融合算法对所述骑行速度信息进行角度检测操作,得到所述骑行用户的当前骑行角度;

根据所述当前骑行角度确认所述骑行用户的当前骑行姿态。

为了解决上述技术问题,本申请实施例还提供一种基于互补滤波姿态融合算法的骑行姿态确认装置,采用了如下所述的技术方案:

骑行速度获取模块,用于当骑行用户正在骑行时,接收所述陀螺仪采集到的骑行速度信息;

姿态检测模块,用于根据互补滤波姿态融合算法对所述骑行速度信息进行角度检测操作,得到所述骑行用户的当前骑行角度;

骑行姿态确认模块,用于根据所述当前骑行角度确认所述骑行用户的当前骑行姿态。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:

包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的基于互补滤波姿态融合算法的骑行姿态确认方法的步骤。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:

所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的基于互补滤波姿态融合算法的骑行姿态确认方法的步骤。

与现有技术相比,本申请实施例主要有以下有益效果:

本申请提供了一种基于互补滤波姿态融合算法的骑行姿态确认方法,应用于骑行头盔,所述骑行头盔至少包括:陀螺仪,所述方法包括下述步骤:当骑行用户正在骑行时,接收所述陀螺仪采集到的骑行速度信息;根据互补滤波姿态融合算法对所述骑行速度信息进行角度检测操作,得到所述骑行用户的当前骑行角度;根据所述当前骑行角度确认所述骑行用户的当前骑行姿态。本申请通过设置于骑行头盔上的陀螺仪采集用户骑行时的速度信息,进而根据该速度信息计算该骑行用户的骑行速度、骑行倾斜角度等数据,并根据互补滤波姿态融合算法检测该骑行用户的骑行角度,最终根据该骑行角度确认该骑行用户的骑行姿态,相较于传统的骑行姿态确认方法所检测到的骑行姿态更加准确。

附图说明

为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例一提供的基于互补滤波姿态融合算法的骑行姿态确认方法的实现流程图;

图2是本申请实施例一提供的补偿角速度方法的实现流程图;

图3是本申请实施例二提供的基于互补滤波姿态融合算法的骑行姿态确认装置的结构示意图;

图4是本申请实施例二提供的补偿角速度装置的结构示意图;

图5是根据本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,示出了本申请实施例一提供的基于互补滤波姿态融合算法的骑行姿态确认方法的实现流程图,为了便于说明,仅示出与本申请相关的部分。

上述的基于互补滤波姿态融合算法的骑行姿态确认方法,包括以下步骤:

步骤S101:当骑行用户正在骑行时,接收上述陀螺仪采集到的骑行速度信息。

步骤S102:根据互补滤波姿态融合算法对上述骑行速度信息进行角度检测操作,得到上述骑行用户的当前骑行角度。

在本申请实施例中,互补滤波姿态融合算法是多组数据结合互补,并进行滤波处理稳定输出,得到姿态的算法。而我们使用的传感器就是加速度计和陀螺仪。加速度计用于测量加速度,陀螺仪用于测量角速度。加速度计的静态稳定性更好,而在运动时其数据相对不可靠;陀螺仪的动态稳定性更好,但是静止时数据相对不可靠。所以,我们可以通过加速度计的输出来修正陀螺仪的漂移误差,换句话说,通过加速度计来修正陀螺仪。

步骤S103:根据上述当前骑行角度确认上述骑行用户的当前骑行姿态。

在本申请实施例中,提供了一种基于互补滤波姿态融合算法的骑行姿态确认方法,应用于骑行头盔,上述骑行头盔至少包括:陀螺仪,上述方法包括下述步骤:当骑行用户正在骑行时,接收上述陀螺仪采集到的骑行速度信息;根据互补滤波姿态融合算法对上述骑行速度信息进行角度检测操作,得到上述骑行用户的当前骑行角度;根据上述当前骑行角度确认上述骑行用户的当前骑行姿态。本申请通过设置于骑行头盔上的陀螺仪采集用户骑行时的速度信息,进而根据该速度信息计算该骑行用户的骑行速度、骑行倾斜角度等数据,并根据互补滤波姿态融合算法检测该骑行用户的骑行角度,最终根据该骑行角度确认该骑行用户的骑行姿态,相较于传统的骑行姿态确认方法所检测到的骑行姿态更加准确。

继续参阅图2,示出了补偿角速度方法的实现流程图,为了便于说明,仅示出与本申请相关的部分。

在本实施例的一些可选的实现方式中,在步骤S101之后,还包括:步骤S201。

步骤S201:根据上述骑行速度信息对上述陀螺仪的角速度信息进行补偿操作。

在本申请实施例中,获取加速度计的值(为物体坐标系下对应的值),对其归一化(归一化的原因是因为姿态变化矩阵中的四元数是规范四元数,利用陀螺仪去更新的四元数也要归一化,所以加速度计获得的值也需归一化才能是两者对应)。实现方式如下:

1.记从加速度计获得的值为ax、ay、az(分别对应x、y、z轴的值),其归一化方法如下:

2.获取陀螺仪算出的姿态矩阵中的重力分量(因为加速度计是测得的物体坐标系下的值,所以我们也要提取利用角速度算出的姿态矩阵中的物体坐标系下的重力分量)。重力分量记为Vx、Vy、Vz,具体计算方法如下:

通过四元数计算的从E系(地理坐标系)变换到b系(物体坐标系)姿态矩阵为:

则提取b系(物体坐标系)下重力分量为:

3.将加速度计获得的重力向量归一化与提取的姿态矩阵的重力向量叉乘获取之态误差。得到误差向量公式:

记ex,ey,ez为误差向量对应x,y,z三个元素。

ex=ay*Vz-az*Vy

ey=az*Vx-ax*Vz

Ez=ax*Vy-ay*Vx

4.对误差进行积分,从而消除误差,设accex、accey、accez为x、y、z三轴对应的误差积分结果(对两个重力分量叉乘后的误差进行积分,结果得到角速度值),ki为积分系数,dt为积分周期时间具体如下(我们程序未用这一步):

5.互补滤波,将误差输入Pid控制器与本次姿态更新中陀螺仪测得的角速度相加,得到一个修正的角速度值,获得的修正的角速度值去更新四元素,从而获得准确的姿态角信息。设gx、gy、gz为陀螺仪测得的三个轴的角速度及滤波后的角速度修正值,Kp为互补滤波系数,则修正角速度计算方法如下:

6.解四元素微分方程公式如下:

其中初始q0=q1=q2=q3=0,

7.计算姿态角,数学公式为:

8.通过重力矩阵跟角速度矩阵相等得下面公式:

g1=2(q1q3-q0q2),g2=2(q2q3+q0q1)

g3=q0

g5=q0

得到角度:

γ=-arcsin(g1)

θ=arctan(g2/g3)

ψ=arctan(g4/g5)

pitch=-

roll=

yaw=atan2f(g4/g5)*57.3f;

在本申请实施例中,由于角度是由角速度积分得到,而积分时,若从陀螺仪获得的角速度信息存有小的偏差,经过积分之后,就会使误差加大,从而使获得的角度存在偏差,但利用加速度计获得的角度信息不会出现偏差,可是我们也不能直接利用加速度计获得的角度信息,因为加速度计受噪声影响较大,在飞行过程中受振动比陀螺仪明显,短时间内可靠性不高,但积分后的角度信息是可信的,所以我们需要用加速度计获得的角度信息去矫正陀螺仪获得的姿态信息,从而使算出来的角度误差消除。

在本实施例的一些可选的实现方式中,上述陀螺仪为6轴陀螺仪。

需要强调的是,为进一步保证上述骑行速度信息以及上述当前骑行姿态的私密和安全性,上述骑行速度信息以及上述当前骑行姿态还可以存储于一区块链的节点中。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

实施例二

进一步参考图3,作为对上述图1所示方法的实现,本申请提供了一种基于互补滤波姿态融合算法的骑行姿态确认装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图3所示,本实施例上述的基于互补滤波姿态融合算法的骑行姿态确认装置100包括:骑行速度获取模块110、姿态检测模块120以及骑行姿态确认模块130。其中:

骑行速度获取模块110,用于当骑行用户正在骑行时,接收上述陀螺仪采集到的骑行速度信息;

姿态检测模块120,用于根据互补滤波姿态融合算法对上述骑行速度信息进行角度检测操作,得到上述骑行用户的当前骑行角度;

骑行姿态确认模块130,用于根据上述当前骑行角度确认上述骑行用户的当前骑行姿态。

在本申请实施例中,互补滤波姿态融合算法是多组数据结合互补,并进行滤波处理稳定输出,得到姿态的算法。而我们使用的传感器就是加速度计和陀螺仪。加速度计用于测量加速度,陀螺仪用于测量角速度。加速度计的静态稳定性更好,而在运动时其数据相对不可靠;陀螺仪的动态稳定性更好,但是静止时数据相对不可靠。所以,我们可以通过加速度计的输出来修正陀螺仪的漂移误差,换句话说,通过加速度计来修正陀螺仪。

在本申请实施例中,提供了一种基于互补滤波姿态融合算法的骑行姿态确认装置,应用于骑行头盔,上述骑行头盔至少包括:陀螺仪,上述装置包括:骑行速度获取模块,用于当骑行用户正在骑行时,接收上述陀螺仪采集到的骑行速度信息;姿态检测模块,用于根据互补滤波姿态融合算法对上述骑行速度信息进行角度检测操作,得到上述骑行用户的当前骑行角度;骑行姿态确认模块,用于根据上述当前骑行角度确认上述骑行用户的当前骑行姿态。本申请通过设置于骑行头盔上的陀螺仪采集用户骑行时的速度信息,进而根据该速度信息计算该骑行用户的骑行速度、骑行倾斜角度等数据,并根据互补滤波姿态融合算法检测该骑行用户的骑行角度,最终根据该骑行角度确认该骑行用户的骑行姿态,相较于传统的骑行姿态确认方法所检测到的骑行姿态更加准确。

继续参阅图4,示出了本申请实施例二提供的补偿角速度装置的结构示意图,为了便于说明,仅示出与本申请相关的部分。

在本实施例的一些可选的实现方式中,上述基于互补滤波姿态融合算法的骑行姿态确认装置100还包括:补偿操作模块140。其中:

补偿操作模块140,用于根据上述骑行速度信息对上述陀螺仪的角速度信息进行补偿操作。

在本申请实施例中,获取加速度计的值(为物体坐标系下对应的值),对其归一化(归一化的原因是因为姿态变化矩阵中的四元数是规范四元数,利用陀螺仪去更新的四元数也要归一化,所以加速度计获得的值也需归一化才能是两者对应)。实现方式如下:

1.记从加速度计获得的值为ax、ay、az(分别对应x、y、z轴的值),其归一化方法如下:

2.获取陀螺仪算出的姿态矩阵中的重力分量(因为加速度计是测得的物体坐标系下的值,所以我们也要提取利用角速度算出的姿态矩阵中的物体坐标系下的重力分量)。重力分量记为Vx、Vy、Vz,具体计算方法如下:

通过四元数计算的从E系(地理坐标系)变换到b系(物体坐标系)姿态矩阵为:

则提取b系(物体坐标系)下重力分量为:

3.将加速度计获得的重力向量归一化与提取的姿态矩阵的重力向量叉乘获取之态误差。得到误差向量公式:

记ex,ey,ez为误差向量对应x,y,z三个元素。

ex=ay*Vz-az*Vy

ey=az*Vx-ax*Vz

Ez=ax*Vy-ay*Vx

4.对误差进行积分,从而消除误差,设accex、accey、accez为x、y、z三轴对应的误差积分结果(对两个重力分量叉乘后的误差进行积分,结果得到角速度值),ki为积分系数,dt为积分周期时间具体如下(我们程序未用这一步):

5.互补滤波,将误差输入Pid控制器与本次姿态更新中陀螺仪测得的角速度相加,得到一个修正的角速度值,获得的修正的角速度值去更新四元素,从而获得准确的姿态角信息。设gx、gy、gz为陀螺仪测得的三个轴的角速度及滤波后的角速度修正值,Kp为互补滤波系数,则修正角速度计算方法如下:

6.解四元素微分方程公式如下:

其中初始q0=q1=q2=q3=0,

7.计算姿态角,数学公式为:

8.通过重力矩阵跟角速度矩阵相等得下面公式:

g1=2(q1q3-q0q2),g2=2(q2q3+q0q1)

g3=q0

g5q0

得到角度:

γ=-arcsin(g1)

θ=arctan(g2/g3)

ψ=arctan(g4/g5)

pitch=-

roll=

yaw=atan2f(g4/g5)*57.3f;

在本申请实施例中,由于角度是由角速度积分得到,而积分时,若从陀螺仪获得的角速度信息存有小的偏差,经过积分之后,就会使误差加大,从而使获得的角度存在偏差,但利用加速度计获得的角度信息不会出现偏差,可是我们也不能直接利用加速度计获得的角度信息,因为加速度计受噪声影响较大,在飞行过程中受振动比陀螺仪明显,短时间内可靠性不高,但积分后的角度信息是可信的,所以我们需要用加速度计获得的角度信息去矫正陀螺仪获得的姿态信息,从而使算出来的角度误差消除。

在本实施例的一些可选的实现方式中,上述陀螺仪为6轴陀螺仪。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。

所述计算机设备200包括通过系统总线相互通信连接存储器210、处理器220、网络接口230。需要指出的是,图中仅示出了具有组件210-230的计算机设备200,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器210至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器210可以是所述计算机设备200的内部存储单元,例如该计算机设备200的硬盘或内存。在另一些实施例中,所述存储器210也可以是所述计算机设备200的外部存储设备,例如该计算机设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器210还可以既包括所述计算机设备200的内部存储单元也包括其外部存储设备。本实施例中,所述存储器210通常用于存储安装于所述计算机设备200的操作系统和各类应用软件,例如基于互补滤波姿态融合算法的骑行姿态确认方法的计算机可读指令等。此外,所述存储器210还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器220在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器220通常用于控制所述计算机设备200的总体操作。本实施例中,所述处理器220用于运行所述存储器210中存储的计算机可读指令或者处理数据,例如运行所述基于互补滤波姿态融合算法的骑行姿态确认方法的计算机可读指令。

所述网络接口230可包括无线网络接口或有线网络接口,该网络接口230通常用于在所述计算机设备200与其他电子设备之间建立通信连接。

本申请提供的计算机设备,通过设置于骑行头盔上的陀螺仪采集用户骑行时的速度信息,进而根据该速度信息计算该骑行用户的骑行速度、骑行倾斜角度等数据,并根据互补滤波姿态融合算法检测该骑行用户的骑行角度,最终根据该骑行角度确认该骑行用户的骑行姿态,相较于传统的骑行姿态确认方法所检测到的骑行姿态更加准确。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于互补滤波姿态融合算法的骑行姿态确认方法的步骤。

本申请提供的计算机可读存储介质,通过设置于骑行头盔上的陀螺仪采集用户骑行时的速度信息,进而根据该速度信息计算该骑行用户的骑行速度、骑行倾斜角度等数据,并根据互补滤波姿态融合算法检测该骑行用户的骑行角度,最终根据该骑行角度确认该骑行用户的骑行姿态,相较于传统的骑行姿态确认方法所检测到的骑行姿态更加准确。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

相关技术
  • 一种骑行姿态确认方法、装置、计算机设备及存储介质
  • 一种姿态估计方法、装置、计算机设备以及存储介质
技术分类

06120113242465