一种基于RISC-V的行人自主定位方法技术

技术编号:37560731 阅读:15 留言:0更新日期:2023-05-15 07:42
本发明专利技术公开了一种基于RISC

【技术实现步骤摘要】
一种基于RISC

V的行人自主定位方法


[0001]本专利技术涉及向量处理器
,具体包括一种基于RISC

V的行人自主定位方法。

技术介绍

[0002]RISC

V是一种基于精简指令集原则的开源指令集架构。RISC

V采用了模块化的设计方式,除了基础的RV32I以外,还包括了RV32M,RV32F,RV32V等其他拓展指令集。RV32V是RISC

V的向量拓展指令集,不同于传统的SIMD指令,向量指令支持可变长的向量寄存器,同时将向量的长度和每个时钟周期可以进行的最大操作数分开。基于RV32V向量拓展指令集,许多算法的性能可以得到提升。
[0003]定位导航算法在当今社会中被广泛运用了各个领域,其中,基于惯性传感器的惯性导航系统可以在不依靠外界信息的情况下实现自主定位导航。传统的惯性导航系统对传感器的要求较高,因此并未应用于行人定位中。而目前出现的一种的微机械惯性测量单元在体积,重量,价格等方面都具有不小的优势,被广泛应用于行人惯性导航系统中。基本的惯性测量单元一般是由三轴加速度计与三轴陀螺仪构成。然而,目前的测量方法会受到噪声干扰,针对此问题,许多定位导航算法利用卡尔曼滤波估计出动态系统的状态以减小噪声误差。但是,由于卡尔曼滤波算法中包含大量运算,这些算法在传统架构的处理器的执行需要花费大量的资源和时间,这也限制了这些定位导航算法在资源紧张、性能受限的设备中的应用。

技术实现思路

[0004]针对现有技术中的上述不足,本专利技术提供的一种基于RISC

V的行人自主定位方法解决了现有技术易受到噪声干扰,可移植性、可更改性差,资源和时间花销大,在资源紧张、性能受限的设备中的应用被限制的问题。
[0005]为了达到上述专利技术目的,本专利技术采用的技术方案为:一种基于RISC

V的行人自主定位方法,包括以下步骤:
[0006]S1、获取加速度传感器和陀螺仪传感器中的行人运动三维数据;
[0007]S2、根据行人运动三维数据计算姿态角,并将姿态角从载体坐标系转换到导航坐标系的坐标变换矩阵;
[0008]S3、根据行人运动三维数据、姿态角和坐标变换矩阵进行惯性导航基础解算求解行人当前姿态、速度和位置;
[0009]S4、通过行人当前姿态、速度和位置进行基于神经网络的零速检测,判断行人当前状态的时刻点是否为零速点,若是,进入步骤S5;否则进入步骤S1;
[0010]S5、利用卡尔曼滤波EKF进行定位解算更新行人当前姿态、位置和速度;得到更新后的姿态、更新后的位置和更新后的速度;
[0011]S6、根据更新后的姿态、更新后的位置和更新后的速度完成行人自主定位。
[0012]进一步地,步骤S2的具体实现方式如下:
[0013]S2

1、根据行人运动三维数据计算姿态角;姿态角包括横滚角γ、俯仰角θ和航向角ψ;
[0014]S2

2、将横滚角γ、俯仰角θ和航向角ψ从载体坐标系转换到导航坐标系的3*3坐标变换矩阵,并将坐标变换矩阵的值存入3*3浮点数组C。
[0015]进一步地,步骤S3的具体实现方式如下:
[0016]S3

1、将陀螺仪传感器收集的行人运动三维数据分别求平均值得到ω
x
(t)、ω
y
(t)、ω
z
(t),并将平均值ω
x
(t)、ω
y
(t)、ω
z
(t)按顺序分别存入浮点类型的数组变量gyr[3];其中,t为时间;ω
x
(t)为第一维数据平均值;ω
y
(t)为第二维数据平均值;ω
z
(t)为第三维数据平均值;
[0017]S3

2、根据ω
x
(t)、ω
y
(t)、ω
z
(t)计算斜对称矩阵Ω
t

[0018]S3

3、根据公式:
[0019][0020]得到更新的姿态矩阵作为行人当前姿态;其中,为3*3浮点数组C;I为单位矩阵;Δt为采样时间间隔;为陀螺仪t时刻的斜对称矩阵;
[0021]S3

4、根据更新的姿态矩阵得到行人当前速度和位置。
[0022]进一步地,步骤S3

4的具体实现方式如下:
[0023]根据公式:
[0024][0025]v(t)=v(t

Δt)+[a
n
(t

Δt)+a
n
(t)*Δt/2][0026]p(t)=p(t

Δt)+[v(t

Δt)+v(t)*Δt/2][0027]得到惯性导航随时间变化加速度a
n
(t),速度v(t)和位置p(t);其中,a
b
(t)为加速度传感器收集的行人运动三维数据平均值组成的矩阵;[
·
]T
为矩阵的转置;v(t

Δt)为上一时刻的速度;p(t

Δt)为上一时刻的位置;a
n
(t

Δt)为上一时刻的加速度。
[0028]进一步地,步骤S5的具体实现方式如下:
[0029]S5

1、根据公式:
[0030]P
k|k
‑1=F
k
P
k
‑1(F
k
)
T
+Q
[0031]得到k时刻的预测向量的协方差矩阵P
k|k
‑1;其中,Q代表噪声向量的协方差矩阵;F
k
表示状态转移矩阵,I3×3为3*3的单位矩阵,
为导航坐标系下的三轴加速度测量值组成的斜对称交叉矩阵,表示导航坐标系中z轴方向上k时刻的加速度,表示表示导航坐标系中y轴方向上k时刻的加速度,表示导航坐标系中x轴方向上k时刻的加速度;(
·
)
T
表示矩阵的转置;
[0032]S5

2、根据公式:
[0033][0034]得到误差向量其中,H
k
为观测矩阵;为观测矩阵的转置矩阵;R代表多元独立正太分布的协方差矩阵;(
·
)
‑1表示矩阵的逆;
[0035]S5

3、根据误差向量对行人姿态,位置和速度进行更新;得到更新后的姿态、更新后的位置和更新后的速度。
[0036]本专利技术的有益效果为:本专利技术使用卡尔曼滤波的方法,能够减小噪声误差;能够减少运行过程中执行的指令数,进而减小计算量,减少处理器的执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RISC

V的行人自主定位方法,其特征在于,包括以下步骤:S1、获取加速度传感器和陀螺仪传感器中的行人运动三维数据;S2、根据行人运动三维数据计算姿态角,并将姿态角从载体坐标系转换到导航坐标系的坐标变换矩阵;S3、根据行人运动三维数据、姿态角和坐标变换矩阵进行惯性导航基础解算求解行人当前姿态、速度和位置;S4、通过行人当前姿态、速度和位置进行基于神经网络的零速检测,判断行人当前状态的时刻点是否为零速点,若是,进入步骤S5;否则进入步骤S1;S5、利用卡尔曼滤波EKF进行定位解算更新行人当前姿态、位置和速度;得到更新后的姿态、更新后的位置和更新后的速度;S6、根据更新后的姿态、更新后的位置和更新后的速度完成行人自主定位。2.根据权利要求1所述的一种基于RISC

V的行人自主定位方法,其特征在于,步骤S2的具体实现方式如下:S2

1、根据行人运动三维数据计算姿态角;姿态角包括横滚角Y、俯仰角θ和航向角ψ;S2

2、将横滚角γ、俯仰角θ和航向角ψ从载体坐标系转换到导航坐标系的3*3坐标变换矩阵,并将坐标变换矩阵的值存入3*3浮点数组C。3.根据权利要求2所述的一种基于RISC

V的行人自主定位方法,其特征在于,步骤S3的具体实现方式如下:S3

1、将陀螺仪传感器收集的行人运动三维数据分别求平均值得到ω
x
(t)、ω
y
(t)、ω
z
(t),并将平均值ω
x
(t)、ω
y
(t)、ω
z
(t)按顺序分别存入浮点类型的数组变量gyr[3];其中,t为时间;ω
x
(t)为第一维数据平均值;ω
y
(t)为第二维数据平均值;ω
z
(t)为第三维数据平均值;S3

2、根据ω
x
(t)、ω
y
(t)、ω
z
(t)计算斜对称矩阵Ω
t
;S3

3、根据公式:得到更新的姿态矩阵作为行人当前姿态;其中,为3*3浮点数组C;I为单位矩阵;Δt为采样时间间隔;为陀螺仪t时刻的斜对称矩阵;S3

【专利技术属性】
技术研发人员:阎波史超凡王鹏飞章子恒邓宇志
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1