一种基于陀螺仪加速度的多级滤波方法和装置以及设备

文档序号:1770592 发布日期:2019-12-03 浏览:14次 >En<

阅读说明:本技术 一种基于陀螺仪加速度的多级滤波方法和装置以及设备 (A kind of multiple stage filtering method and device and equipment based on gyroscope acceleration ) 是由 欧阳满玉 刘凯 李友余 张严林 于 2019-08-01 设计创作,主要内容包括:本发明公开了一种基于陀螺仪加速度的多级滤波方法装置以及设备。其中,所述方法包括:通过算术平均值滤波算法,计算通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,根据该计算得到的算术平均值,采用忽略值滤波算法,通过忽略该三轴加速度数据的剧烈变化的忽略值得到忽略值结果,以及根据该得到的忽略值结果,判断该忽略值结果是否为0,在判断出该忽略值结果是不为0时,将该忽略值进行减1操作,在判断出该忽略值结果是0时,采用限幅滤波算法,对该三轴加速度数据进行限幅滤波。通过上述方式,能够实现通过无需做浮点运算的滤波算法,采用不带浮点运算单元的单片机亦能够实现对机器人的行走方向进行实时控制。(The invention discloses a kind of multiple stage filtering method devices and equipment based on gyroscope acceleration.Wherein, the described method includes: passing through arithmetic mean of instantaneous value filtering algorithm, calculate the arithmetic mean of instantaneous value that the 3-axis acceleration data of robot when walking are acquired by gyroscope, the arithmetic mean of instantaneous value being calculated according to this, using ignoring value filtering algorithm, value of ignoring by ignoring the acute variation of the 3-axis acceleration data obtains ignoring value result, and ignore value result according to what this was obtained, judge whether the value of the ignoring result is 0, the value of ignoring is being judged the result is that when being not 0, the value of ignoring is carried out subtracting 1 operation, the value of ignoring is being judged the result is that when 0, using limit filtration algorithm, limit filtration is carried out to the 3-axis acceleration data.By the above-mentioned means, can be realized through the filtering algorithm without doing floating-point operation, it also can be realized using the single-chip microcontroller without FPU Float Point Unit and real-time control carried out to the direction of travel of robot.)

一种基于陀螺仪加速度的多级滤波方法和装置以及设备

技术领域

本发明涉及陀螺仪技术领域,尤其涉及一种基于陀螺仪加速度的多级滤波方法和装置以及设备。

背景技术

机器人在行走时,如果需要对方向进行控制,通常用陀螺仪先采集三轴加速度数据和三轴角速度数据再进行数据融合的方式,来对机器人的行走方向进行控制。陀螺仪在采集机器人的三轴加速度数据时,存在较大的随机误差,通常采用卡尔曼滤波、一阶互补滤波、二阶互补滤波等滤波算法进行补偿。该采用的卡尔曼滤波、一阶互补滤波、二阶互补滤波等滤波算法进行补偿的方式,能够较好地对该随机误差进行补偿,但是该采用的卡尔曼滤波、一阶互补滤波、二阶互补滤波等滤波算法需要做大量的浮点运算才能够对该随机误差进行补偿,如果采用不带FPU(Float Point Unit,浮点运算单元)的单片机,难以实现对该随机误差进行实时补偿,导致无法实现对机器人的行走方向进行实时控制。

但是,发明人发现现有技术中至少存在如下问题:

现有的基于陀螺仪加速度的滤波方案,通常用陀螺仪先采集三轴加速度数据和三轴角速度数据再进行数据融合的方式,来对机器人的行走方向进行控制,陀螺仪在采集机器人的三轴加速度数据时,存在较大的随机误差,通常采用卡尔曼滤波、一阶互补滤波、二阶互补滤波等滤波算法进行补偿,该采用的卡尔曼滤波、一阶互补滤波、二阶互补滤波等滤波算法需要做大量的浮点运算才能够对该随机误差进行补偿,如果采用不带浮点运算单元的单片机,无法实现对机器人的行走方向进行实时控制。

发明内容

有鉴于此,本发明的目的在于提出一种基于陀螺仪加速度的多级滤波方法和装置以及设备,能够实现通过无需做浮点运算的滤波算法,采用不带浮点运算单元的单片机亦能够实现对机器人的行走方向进行实时控制。

根据本发明的一个方面,提供一种基于陀螺仪加速度的多级滤波方法,包括:

通过陀螺仪采集机器人在行走时的三轴加速度数据;

根据所述通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算所述通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值;

根据所述计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果;

根据所述得到的忽略值结果,判断所述得到的忽略值结果是否为0,在判断出所述得到的忽略值结果是不为0时,将所述得到的忽略值进行减1操作,在判断出所述得到的忽略值结果是0时,采用限幅滤波算法,对所述通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波。

其中,所述根据所述通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算所述通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,包括:

根据所述通过陀螺仪采集机器人在行走时的三轴加速度数据,通过获取所述通过陀螺仪采集机器人在行走时的三轴加速度数据中的最新的十笔数据,将所述获取的最新的十笔数据去掉最大值和最小值,计算所述去掉最大值和最小值的剩余八笔数据的和,再右移三位的算术平均值滤波算法,计算所述剩余八笔数据的算术平均值,计算所述通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值。

其中,所述根据所述计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,包括:

根据所述计算得到的算术平均值,采用设置预设值作为忽略的次数,设置对应所述计算得到的算术平均值的机器人在行走转向时的忽略值为所述忽略的次数,和采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果。

其中,所述根据所述得到的忽略值结果,判断所述得到的忽略值结果是否为0,在判断出所述得到的忽略值结果是不为0时,将所述得到的忽略值进行减1操作,在判断出所述得到的忽略值结果是0时,采用限幅滤波算法,对所述通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,包括:

根据所述得到的忽略值结果,判断所述得到的忽略值结果是否为0,在判断出所述得到的忽略值结果是不为0时,将所述得到的忽略值进行减1操作,在判断出所述得到的忽略值结果是0时,采用在所述计算得到的算术平均值的当前平均值大于上一个平均值的数值超过预设的阈值时,用所述上一个平均值代替所述当前平均值或用所述上一个平均值与上上一个平均值的差值代替所述当前平均值的限幅滤波算法,对所述通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波。

其中,在所述根据所述得到的忽略值结果,判断所述得到的忽略值结果是否为0,在判断出所述得到的忽略值结果是不为0时,将所述得到的忽略值进行减1操作,在判断出所述得到的忽略值结果是0时,采用限幅滤波算法,对所述通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波之后,还包括:

对所述进行限幅滤波之后的三轴加速度数据进行优化,保留预设个数的与所述计算得到的算术平均值最接近的三轴加速度数据。

根据本发明的另一个方面,提供一种基于陀螺仪加速度的多级滤波装置,包括:

采集模块、计算模块、忽略模块和判断模块;

所述采集模块,用于通过陀螺仪采集机器人在行走时的三轴加速度数据;

所述计算模块,用于根据所述通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算所述通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值;

所述忽略模块,用于根据所述计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果;

所述判断模块,用于根据所述得到的忽略值结果,判断所述得到的忽略值结果是否为0,在判断出所述得到的忽略值结果是不为0时,将所述得到的忽略值进行减1操作,在判断出所述得到的忽略值结果是0时,采用限幅滤波算法,对所述通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波。

其中,所述计算模块,具体用于:

根据所述通过陀螺仪采集机器人在行走时的三轴加速度数据,通过获取所述通过陀螺仪采集机器人在行走时的三轴加速度数据中的最新的十笔数据,将所述获取的最新的十笔数据去掉最大值和最小值,计算所述去掉最大值和最小值的剩余八笔数据的和,再右移三位的算术平均值滤波算法,计算所述剩余八笔数据的算术平均值,计算所述通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值。

其中,所述忽略模块,具体用于:

根据所述计算得到的算术平均值,采用设置预设值作为忽略的次数,设置对应所述计算得到的算术平均值的机器人在行走转向时的忽略值为所述忽略的次数,和采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果。

其中,所述判断模块,具体用于:

根据所述得到的忽略值结果,判断所述得到的忽略值结果是否为0,在判断出所述得到的忽略值结果是不为0时,将所述得到的忽略值进行减1操作,在判断出所述得到的忽略值结果是0时,采用在所述计算得到的算术平均值的当前平均值大于上一个平均值的数值超过预设的阈值时,用所述上一个平均值代替所述当前平均值或用所述上一个平均值与上上一个平均值的差值代替所述当前平均值的限幅滤波算法,对所述通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波。

其中,所述基于陀螺仪加速度的多级滤波装置,还包括:

优化模块;

所述优化模块,用于对所述进行限幅滤波之后的三轴加速度数据进行优化,保留预设个数的与所述计算得到的算术平均值最接近的三轴加速度数据。

根据本发明的又一个方面,提供一种基于陀螺仪加速度的多级滤波设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的基于陀螺仪加速度的多级滤波方法。

根据本发明的再一个方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的基于陀螺仪加速度的多级滤波方法。

可以发现,以上方案,可以通过陀螺仪采集机器人在行走时的三轴加速度数据,和可以根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,和可以根据该计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,以及可以根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,能够实现通过无需做浮点运算的滤波算法,采用不带浮点运算单元的单片机亦能够实现对机器人的行走方向进行实时控制。

进一步的,以上方案,可以根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过获取该通过陀螺仪采集机器人在行走时的三轴加速度数据中的最新的十笔数据,将该获取的最新的十笔数据去掉最大值和最小值,计算该去掉最大值和最小值的剩余八笔数据的和,再右移三位的算术平均值滤波算法,计算该剩余八笔数据的算术平均值,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,这样的好处是能够实现无需浮点运算即可求得该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,能够降低该通过陀螺仪在采集机器人的三轴加速度数据时存在的随机误差。

进一步的,以上方案,可以根据该计算得到的算术平均值,采用设置预设值作为忽略的次数,设置对应该计算得到的算术平均值的机器人在行走转向时的忽略值为该忽略的次数,和采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,这样的好处是能够实现通过采用忽略值滤波算法,实现忽略机器人在行走转向时加速度数据的剧烈变化,保障该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

进一步的,以上方案,可以根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用在该计算得到的算术平均值的当前平均值大于上一个平均值的数值超过预设的阈值时,用该上一个平均值代替该当前平均值或用该上一个平均值与上上一个平均值的差值代替该当前平均值的限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,这样的好处是能够实现避免该通过陀螺仪采集的机器人在行走时的三轴加速度数据的异常波动,进一步保障该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

进一步的,以上方案,可以对该进行限幅滤波之后的三轴加速度数据进行优化,保留预设个数的与该计算得到的算术平均值最接近的三轴加速度数据,这样的好处是能够实现提高该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

附图说明

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

图1是本发明基于陀螺仪加速度的多级滤波方法一实施例的流程示意图;

图2是本发明基于陀螺仪加速度的多级滤波方法另一实施例的流程示意图;

图3是本发明基于陀螺仪加速度的多级滤波装置一实施例的结构示意图;

图4是本发明基于陀螺仪加速度的多级滤波装置另一实施例的结构示意图;

图5是本发明基于陀螺仪加速度的多级滤波设备一实施例的结构示意图。

具体实施方式

下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明提供一种基于陀螺仪加速度的多级滤波方法,能够实现通过无需做浮点运算的滤波算法,采用不带浮点运算单元的单片机亦能够实现对机器人的行走方向进行实时控制。

请参见图1,图1是本发明基于陀螺仪加速度的多级滤波方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括如下步骤:

S101:通过陀螺仪采集机器人在行走时的三轴加速度数据。

在本实施例中,该陀螺仪可以是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置,出可以是利用其他原理制成的起同样功能的角运动检测装置,本发明不加以限定。

S102:根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值。

其中,该根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,可以包括:

根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过获取该通过陀螺仪采集机器人在行走时的三轴加速度数据中的最新的十笔数据,将该获取的最新的十笔数据去掉最大值和最小值,计算该去掉最大值和最小值的剩余八笔数据的和,再右移三位的算术平均值滤波算法,计算该剩余八笔数据的算术平均值,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,这样的好处是能够实现无需浮点运算即可求得该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,能够降低该通过陀螺仪在采集机器人的三轴加速度数据时存在的随机误差。

在本实施例中,可以将该陀螺仪采集机器人在行走时的三轴加速度数据的采样频率设置成500Hz(Hertz,赫兹),即2ms(millisecond,毫秒)采集一次机器人在行走时的三轴加速度数据,20毫秒ms采集10次机器人在行走时的三轴加速度数据。在数据存储空间中可以保留存储最新的10笔机器人在行走时的三轴加速度数据,将该最新的10笔机器人在行走时的三轴加速度数据去掉最大值和最小值,计算该去掉最大值和最小值的剩余8笔数据的和,由于8恰好是2的立方,再右移3位,不需要浮点运算即可求得该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,能够降低该通过陀螺仪在采集机器人的三轴加速度数据时存在的随机误差。

S103:根据该计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果。

其中,该根据该计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,可以包括:

根据该计算得到的算术平均值,采用设置预设值作为忽略的次数,设置对应该计算得到的算术平均值的机器人在行走转向时的忽略值为该忽略的次数,和采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,这样的好处是能够实现通过采用忽略值滤波算法,实现忽略机器人在行走转向时加速度数据的剧烈变化,保障该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

在本实施例中,机器人在改变行走方向的瞬间即行走转向时,该通过陀螺仪采集的机器人在行走时的三轴加速度数据会发生比较剧烈的变化,对应该发生的比较剧烈的变化的三轴加速度数据必须弃用,因此可以设置预设值例如3作为忽略的次数,在机器人行走转向时,设置对应该计算得到的算术平均值的机器人在行走转向时的忽略值为该忽略的次数,和采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果。

S104:根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波。

其中,该根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,可以包括:

根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用在该计算得到的算术平均值的当前平均值大于上一个平均值的数值超过预设的阈值时,用该上一个平均值代替该当前平均值或用该上一个平均值与上上一个平均值的差值代替该当前平均值的限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,这样的好处是能够实现避免该通过陀螺仪采集的机器人在行走时的三轴加速度数据的异常波动,进一步保障该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

其中,在该根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波之后,还可以包括:

对该进行限幅滤波之后的三轴加速度数据进行优化,保留预设个数的与该计算得到的算术平均值最接近的三轴加速度数据,这样的好处是能够实现提高该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

可以发现,在本实施例中,可以通过陀螺仪采集机器人在行走时的三轴加速度数据,和可以根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,和可以根据该计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,以及可以根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,能够实现通过无需做浮点运算的滤波算法,采用不带浮点运算单元的单片机亦能够实现对机器人的行走方向进行实时控制。

进一步的,在本实施例中,可以根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过获取该通过陀螺仪采集机器人在行走时的三轴加速度数据中的最新的十笔数据,将该获取的最新的十笔数据去掉最大值和最小值,计算该去掉最大值和最小值的剩余八笔数据的和,再右移三位的算术平均值滤波算法,计算该剩余八笔数据的算术平均值,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,这样的好处是能够实现无需浮点运算即可求得该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,能够降低该通过陀螺仪在采集机器人的三轴加速度数据时存在的随机误差。

进一步的,在本实施例中,可以根据该计算得到的算术平均值,采用设置预设值作为忽略的次数,设置对应该计算得到的算术平均值的机器人在行走转向时的忽略值为该忽略的次数,和采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,这样的好处是能够实现通过采用忽略值滤波算法,实现忽略机器人在行走转向时加速度数据的剧烈变化,保障该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

进一步的,在本实施例中,可以根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用在该计算得到的算术平均值的当前平均值大于上一个平均值的数值超过预设的阈值时,用该上一个平均值代替该当前平均值或用该上一个平均值与上上一个平均值的差值代替该当前平均值的限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,这样的好处是能够实现避免该通过陀螺仪采集的机器人在行走时的三轴加速度数据的异常波动,进一步保障该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

请参见图2,图2是本发明基于陀螺仪加速度的多级滤波方法另一实施例的流程示意图。本实施例中,该方法包括以下步骤:

S201:通过陀螺仪采集机器人在行走时的三轴加速度数据。

可如上S101所述,在此不作赘述。

S202:根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值。

可如上S102所述,在此不作赘述。

S203:根据该计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果。

可如上S103所述,在此不作赘述。

S204:根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波。

可如上S104所述,在此不作赘述。

S205:对该进行限幅滤波之后的三轴加速度数据进行优化,保留预设个数的与该计算得到的算术平均值最接近的三轴加速度数据。

可以发现,在本实施例上,可以对该进行限幅滤波之后的三轴加速度数据进行优化,保留预设个数的与该计算得到的算术平均值最接近的三轴加速度数据,这样的好处是能够实现提高该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

本发明还提供一种基于陀螺仪加速度的多级滤波装置,能够实现通过无需做浮点运算的滤波算法,采用不带浮点运算单元的单片机亦能够实现对机器人的行走方向进行实时控制。

请参见图3,图3是本发明基于陀螺仪加速度的多级滤波装置一实施例的结构示意图。本实施例中,该基于陀螺仪加速度的多级滤波装置30包括采集模块31、计算模块32、忽略模块33和判断模块34。

该采集模块31,用于通过陀螺仪采集机器人在行走时的三轴加速度数据。

该计算模块32,用于根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值。

该忽略模块33,用于根据该计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果。

该判断模块34,用于根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波。

可选地,该计算模块32,可以具体用于:

根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过获取该通过陀螺仪采集机器人在行走时的三轴加速度数据中的最新的十笔数据,将该获取的最新的十笔数据去掉最大值和最小值,计算该去掉最大值和最小值的剩余八笔数据的和,再右移三位的算术平均值滤波算法,计算该剩余八笔数据的算术平均值,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值。

可选地,该忽略模块33,可以具体用于:

根据该计算得到的算术平均值,采用设置预设值作为忽略的次数,设置对应该计算得到的算术平均值的机器人在行走转向时的忽略值为该忽略的次数,和采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果。

可选地,该判断模块34,可以具体用于:

根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用在该计算得到的算术平均值的当前平均值大于上一个平均值的数值超过预设的阈值时,用该上一个平均值代替该当前平均值或用该上一个平均值与上上一个平均值的差值代替该当前平均值的限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波。

请参见图4,图4是本发明基于陀螺仪加速度的多级滤波装置另一实施例的结构示意图。区别于上一实施例,本实施例所述基于陀螺仪加速度的多级滤波装置40还包括优化模块41。

该优化模块41,用于对该进行限幅滤波之后的三轴加速度数据进行优化,保留预设个数的与该计算得到的算术平均值最接近的三轴加速度数据。

该基于陀螺仪加速度的多级滤波装置30/40的各个单元模块可分别执行上述方法实施例中对应步骤,故在此不对各单元模块进行赘述,详细请参见以上对应步骤的说明。

本发明又提供一种基于陀螺仪加速度的多级滤波设备,如图5所示,包括:至少一个处理器51;以及,与至少一个处理器51通信连接的存储器52;其中,存储器52存储有可被至少一个处理器51执行的指令,指令被至少一个处理器51执行,以使至少一个处理器51能够执行上述的基于陀螺仪加速度的多级滤波方法。

其中,存储器52和处理器51采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器51和存储器52的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器51处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器51。

处理器51负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器52可以被用于存储处理器51在执行操作时所使用的数据。

本发明再提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

可以发现,以上方案,可以通过陀螺仪采集机器人在行走时的三轴加速度数据,和可以根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过算术平均值滤波算法,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,和可以根据该计算得到的算术平均值,采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,以及可以根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,能够实现通过无需做浮点运算的滤波算法,采用不带浮点运算单元的单片机亦能够实现对机器人的行走方向进行实时控制。

进一步的,以上方案,可以根据该通过陀螺仪采集机器人在行走时的三轴加速度数据,通过获取该通过陀螺仪采集机器人在行走时的三轴加速度数据中的最新的十笔数据,将该获取的最新的十笔数据去掉最大值和最小值,计算该去掉最大值和最小值的剩余八笔数据的和,再右移三位的算术平均值滤波算法,计算该剩余八笔数据的算术平均值,计算该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,这样的好处是能够实现无需浮点运算即可求得该通过陀螺仪采集机器人在行走时的三轴加速度数据的算术平均值,能够降低该通过陀螺仪在采集机器人的三轴加速度数据时存在的随机误差。

进一步的,以上方案,可以根据该计算得到的算术平均值,采用设置预设值作为忽略的次数,设置对应该计算得到的算术平均值的机器人在行走转向时的忽略值为该忽略的次数,和采用忽略值滤波算法,通过忽略机器人在行走转向时的三轴加速度数据的剧烈变化的忽略值得到忽略值结果,这样的好处是能够实现通过采用忽略值滤波算法,实现忽略机器人在行走转向时加速度数据的剧烈变化,保障该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

进一步的,以上方案,可以根据该得到的忽略值结果,判断该得到的忽略值结果是否为0,在判断出该得到的忽略值结果是不为0时,将该得到的忽略值进行减1操作,在判断出该得到的忽略值结果是0时,采用在该计算得到的算术平均值的当前平均值大于上一个平均值的数值超过预设的阈值时,用该上一个平均值代替该当前平均值或用该上一个平均值与上上一个平均值的差值代替该当前平均值的限幅滤波算法,对该通过陀螺仪采集机器人在行走时的三轴加速度数据进行限幅滤波,这样的好处是能够实现避免该通过陀螺仪采集的机器人在行走时的三轴加速度数据的异常波动,进一步保障该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

进一步的,以上方案,可以对该进行限幅滤波之后的三轴加速度数据进行优化,保留预设个数的与该计算得到的算术平均值最接近的三轴加速度数据,这样的好处是能够实现提高该通过陀螺仪采集机器人在行走时的三轴加速度数据的稳定性和准确性。

在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种加速度传感器灵敏度确认的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!