[go: up one dir, main page]

CN106767795A - A kind of mobile robot displacement computational algorithm based on inertial navigation - Google Patents

A kind of mobile robot displacement computational algorithm based on inertial navigation Download PDF

Info

Publication number
CN106767795A
CN106767795A CN201710045781.XA CN201710045781A CN106767795A CN 106767795 A CN106767795 A CN 106767795A CN 201710045781 A CN201710045781 A CN 201710045781A CN 106767795 A CN106767795 A CN 106767795A
Authority
CN
China
Prior art keywords
displacement
acceleration
mobile robot
inertial navigation
data
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.)
Granted
Application number
CN201710045781.XA
Other languages
Chinese (zh)
Other versions
CN106767795B (en
Inventor
叶芸
郭太良
林志贤
姚剑敏
林连秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201710045781.XA priority Critical patent/CN106767795B/en
Publication of CN106767795A publication Critical patent/CN106767795A/en
Application granted granted Critical
Publication of CN106767795B publication Critical patent/CN106767795B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明涉及一种基于惯性导航的移动机器人位移计算算法,首先通过移动机器人上的惯性测量单元的三轴加速度计读取三轴加速度;接着对三轴加速度采用防脉冲干扰平均滤波法滤除由于硬件不稳定产生的跳变数据;然后对三轴加速度采用取波峰‑波谷算法获取三轴加速度波峰‑波谷值;接着对三轴加速度的波峰‑波谷采用最小二乘法获取最佳线性拟合函数,并对拟合函数积分计算出位移;然后对位移计算算法进行修正,并用修正的位移计算算法来计算防脉冲干扰平均滤波法滤波后的位移;最后对两次位移进行融合消除误差。本发明大大消除了惯性导航加速度计计算位移的误差,实现了单靠加速度计就能精确位移计算,提高了基于惯性导航的移动机器人室内定位的精度。

The invention relates to a mobile robot displacement calculation algorithm based on inertial navigation. First, the three-axis acceleration is read through the three-axis accelerometer of the inertial measurement unit on the mobile robot; Jump data generated by hardware instability; then use the peak-valley algorithm to obtain the peak-valley value of the three-axis acceleration; then use the least square method to obtain the best linear fitting function for the peak-valley of the triaxial acceleration, And the displacement is calculated by integrating the fitting function; then the displacement calculation algorithm is corrected, and the modified displacement calculation algorithm is used to calculate the displacement filtered by the anti-pulse interference average filter method; finally, the two displacements are fused to eliminate the error. The invention greatly eliminates the error of calculating the displacement of the inertial navigation accelerometer, realizes the accurate displacement calculation only by the accelerometer, and improves the indoor positioning accuracy of the mobile robot based on the inertial navigation.

Description

一种基于惯性导航的移动机器人位移计算算法A Displacement Calculation Algorithm of Mobile Robot Based on Inertial Navigation

技术领域technical field

本发明涉及机器人定位领域,特别是一种基于惯性导航的移动机器人位移计算算法。The invention relates to the field of robot positioning, in particular to a displacement calculation algorithm of a mobile robot based on inertial navigation.

背景技术Background technique

目前用于移动机器人的基于GPS的室外定位系统已相当成熟,但在大型室内建筑由于卫星讯号接收不良,室内定位系统成为应用厂商竞相投入的技术。目前室内定位技术主要以Wi-Fi、蓝牙和惯性导航为主,但Wi-Fi和蓝牙需布建大量的网路系统,建置成本较高,且精度亦受室内障碍物影响,而采用惯性导航的移动机器人室内定位不仅建置成本较低,也可大幅提升精度。At present, the GPS-based outdoor positioning system for mobile robots is quite mature, but in large indoor buildings due to poor reception of satellite signals, indoor positioning systems have become a technology that application manufacturers are competing to invest in. At present, indoor positioning technologies are mainly based on Wi-Fi, Bluetooth and inertial navigation, but Wi-Fi and Bluetooth need to deploy a large number of network systems, the construction cost is high, and the accuracy is also affected by indoor obstacles. Indoor positioning of mobile robots for navigation not only has lower construction costs, but also greatly improves accuracy.

惯性导航是指利用多种传感器组成多轴惯性测量单元(IMU,InertialMeasurement Unit),传感器主要包括三轴加速度计、三轴陀螺仪、三轴磁力计。惯性导航用于移动机器人室内定位一般会与其他定位传感器进行融合,单靠惯性导航的室内定位累积误差大,尤其单靠加速度计进行积分计算位移在移动机器人定位技术中还未能实现。误差产生的主要原因是加速度计较为敏感,加速度计具有较为严重的漂移现象,产生的加速度会随着轻微抖动而起伏变化,由此二次积分得出的位移由于时间累积误差不断变大。Inertial navigation refers to the use of a variety of sensors to form a multi-axis inertial measurement unit (IMU, InertialMeasurement Unit). The sensors mainly include a three-axis accelerometer, a three-axis gyroscope, and a three-axis magnetometer. Inertial navigation used for indoor positioning of mobile robots is generally fused with other positioning sensors. The cumulative error of indoor positioning by inertial navigation alone is large, especially the integration of accelerometers to calculate displacement has not yet been realized in mobile robot positioning technology. The main reason for the error is that the accelerometer is relatively sensitive, and the accelerometer has a relatively serious drift phenomenon. The generated acceleration will fluctuate with slight jitter, and the displacement obtained by the second integration will continue to increase due to the time accumulation error.

目前惯性导航室内定位已成功应用于步行控制的室内定位,采用步长控制计算相对位移,如此产生的加速度由于步行中抬放腿呈有规律的起伏变化,而移动机器人基于平面保持水平运动其加速度呈无规律变化,所以移动机器人平台的位移计算未见较好成果。且目前对移动机器人惯性导航的三轴加速度数据的处理更多采用基本数字滤波算法、Kalman滤波算法、时域滤波算法等,这些算法较好实现了对加速度初始数据的消抖和平滑,但是仍不能解决二次积分后位移累积误差不断变大问题。At present, the inertial navigation indoor positioning has been successfully applied to the indoor positioning of walking control. The relative displacement is calculated by using the step length control. The acceleration generated in this way fluctuates regularly due to the lifting and lowering of the legs during walking, while the mobile robot maintains horizontal motion based on the plane. Changes irregularly, so the displacement calculation of the mobile robot platform has not seen good results. Moreover, at present, the processing of the three-axis acceleration data of the inertial navigation of mobile robots mostly uses basic digital filtering algorithms, Kalman filtering algorithms, and time-domain filtering algorithms. It cannot solve the problem that the displacement accumulation error keeps increasing after the second integration.

基于上述基于惯性导航的移动机器人加速度计算位移累积误差不断变大问题,本发明提出一种既能较好处理加速度计数据不稳定问题又能较好通过加速度计算位移的算法。Based on the above-mentioned problem that the accumulative error of acceleration calculation and displacement of mobile robots based on inertial navigation is constantly increasing, the present invention proposes an algorithm that can not only better deal with the problem of accelerometer data instability, but also better calculate displacement through acceleration.

发明内容Contents of the invention

有鉴于此,本发明的目的是提出一种基于惯性导航的移动机器人位移计算算法,既能较好处理加速度计数据不稳定的问题又能较好通过加速度计算位移。In view of this, the purpose of the present invention is to propose a mobile robot displacement calculation algorithm based on inertial navigation, which can better deal with the problem of unstable accelerometer data and calculate displacement through acceleration.

本发明采用以下方案实现:一种基于惯性导航的移动机器人位移计算算法,具体包括以下步骤:The present invention adopts the following scheme to realize: a mobile robot displacement calculation algorithm based on inertial navigation, specifically comprising the following steps:

步骤S1:读取移动机器人的三轴加速度a(ax,ay,az);Step S1: Read the three-axis acceleration a(a x , a y , a z ) of the mobile robot;

步骤S2:对三轴加速度采用防脉冲干扰平均滤波法进行滤波,用以滤除由于硬件不稳定产生的跳变数据;Step S2: Filter the three-axis acceleration by using the anti-pulse interference average filtering method to filter out jump data due to hardware instability;

步骤S3:对步骤S2滤波后的数据采用取波峰-波谷算法获取三轴加速度的波峰-波谷值;Step S3: Obtain the peak-valley value of the three-axis acceleration by using the peak-valley algorithm for the filtered data in step S2;

步骤S4:对步骤S3中获得的三轴加速度的波峰-波谷值采用最小二乘法获取最佳线性拟合函数,并对拟合函数积分计算出位移;Step S4: using the least squares method to obtain the best linear fitting function for the peak-valley value of the triaxial acceleration obtained in step S3, and calculating the displacement by integrating the fitting function;

步骤S5:对位移计算算法进行修正,并用修正的位移计算算法来计算防脉冲干扰平均滤波法滤波后的位移;Step S5: Correct the displacement calculation algorithm, and use the revised displacement calculation algorithm to calculate the displacement filtered by the anti-pulse interference average filtering method;

步骤S6:对两次位移进行融合消除误差计算最终位移。Step S6: Fusion the two displacements to eliminate errors and calculate the final displacement.

进一步地,所述步骤S1具体为:通过Linux系统主控板采用IIC通信方式读取移动机器人上的惯性测量单元的三轴加速度计的三轴加速度a(ax,ay,az)。Further, the step S1 specifically includes: reading the three-axis acceleration a(a x , a y , a z ) of the three-axis accelerometer of the inertial measurement unit on the mobile robot through the main control board of the Linux system by means of IIC communication.

进一步地,所述步骤S2具体为:对连续采集到的n个三轴加速度数据分别进行排序,并同时存储和更新最近n个数据,对已排序的数据去掉其中最大和最小的m个数据,求取剩余数据的平均值。Further, the step S2 specifically includes: sorting the n triaxial acceleration data collected continuously, storing and updating the latest n data at the same time, removing the largest and smallest m data from the sorted data, Find the average of the remaining data.

进一步地,所述步骤S3具体包括以下步骤;Further, the step S3 specifically includes the following steps;

步骤S31:检测波峰-波谷,读取最新的axn数据,并与上一数据ax(n-1)相比较,若axn>ax(n-1),则记d=1;若axn<ax(n-1),则记d=-1;若axn=ax(n-1)记d=0;Step S31: Detect the peak-trough, read the latest a xn data, and compare it with the previous data a x(n-1) , if a xn > a x(n-1) , record d=1; if a xn <a x(n-1) , then record d=-1; if a xn =a x(n-1), record d=0;

步骤S32:若检测到上次d=1而此时d=-1,则说明上次的即为波峰值;若检测到上次d=-1而此时d=1,则说明上次的即为波谷值;Step S32: If it is detected that d=1 last time and d=-1 at this time, it means that the last time is the peak value; if it is detected that d=-1 last time and d=1 at this time, it means that the last time is the valley value;

步骤S33:用最新的波峰-波谷值作绝对值差,如果该绝对值差大于设定的阈值,则表明不是机器人抖动造成的加速度敏感值,将计算结果纳入下一步计算;Step S33: Use the latest peak-to-valley value as the absolute value difference. If the absolute value difference is greater than the set threshold, it indicates that the acceleration sensitivity value is not caused by the robot shaking, and the calculation result is included in the next calculation;

步骤S34:采用步骤S31至S33的方法,分别计算ay与az的波峰-波谷值,并作绝对值差与设定的阈值作比较。Step S34: Using the methods of steps S31 to S33, respectively calculate the peak-to-valley values of a y and a z , and compare the absolute value difference with the set threshold.

进一步地,所述步骤S4具体包括以下步骤:Further, the step S4 specifically includes the following steps:

步骤S41:取储存的最新的波峰-波谷或波谷-波峰之间的加速度值作为一组数据值,记为Axi={ax1,ax1,…,axm},(i=1,2,...,m);Step S41: Take the latest stored peak-trough or peak-trough acceleration value as a set of data values, recorded as A xi ={a x1 ,a x1 ,...,a xm },(i=1,2 ,...,m);

步骤S42:计算每组加速度ax的方差Sxi,记作Sxi=(Sx1,Sx2,...,Sxm),采用下式计算:Step S42: Calculate the variance S xi of each group of acceleration a x , denoted as S xi =(S x1 ,S x2 ,...,S xm ), and use the following formula to calculate:

其中,为平均加速度;in, is the average acceleration;

步骤S43:根据最小二乘法公式,用Sxi最小原则求出最佳线性拟合函数,并对该线性拟合函数作二次积分求出该段位移,与之前位移累加算出总位移L′xStep S43: According to the formula of the least squares method, use the minimum principle of S xi to obtain the best linear fitting function, and perform quadratic integration on the linear fitting function to obtain the displacement of this segment, and calculate the total displacement L′ x by accumulating the previous displacement ;

步骤S44:采用步骤S41至步骤S43的方法计算出Y轴和Z轴的总位移L′y、L′zStep S44: Calculate the total displacements L' y and L' z of the Y-axis and the Z-axis by using the method from Step S41 to Step S43.

进一步地,所述步骤S5具体为:对防脉冲干扰平均滤波法滤波后的加速度变化设置一个阈值以解决加速度漂移现象,当变化超过这个阈值就根据以下修正公式进行计算速度和位移:Further, the step S5 is specifically: setting a threshold value for the acceleration change filtered by the anti-pulse interference average filtering method to solve the acceleration drift phenomenon, and when the change exceeds this threshold value, the velocity and displacement are calculated according to the following correction formula:

Vn=2*Vn-1-Vn-2+Δan,n-1*Δt;V n =2*V n-1 -V n-2 +Δa n,n-1 *Δt;

ΔV=Vn-Vn-1=Vn-1-Vn-2+Δan,n-1*Δt;ΔV=V n -V n-1 =V n-1 -V n-2 +Δa n,n-1 *Δt;

Sn=2*Sn-1-Sn-2+an-1*t2S n =2*S n-1 -S n-2 +a n-1 *t 2 ;

其中,Vn、Sn、t分别表示当前时刻速度、当前时刻总位移、积分时间;Among them, V n , S n , and t respectively represent the velocity at the current moment, the total displacement at the current moment, and the integration time;

由上式可计算出X、Y、Z轴的总位移L″x,L″y,L″zThe total displacement L″ x , L″ y , L″ z of the X, Y, and Z axes can be calculated from the above formula.

进一步地,所述步骤S6具体为:将每次采集到的加速度作拟合函数积分计算位移算法和修正的位移计算算法分别求出位移L′,L″,两数求平均得最终位移L。Further, the step S6 is specifically: use the acceleration collected each time as a fitting function to integrate the displacement calculation algorithm and the corrected displacement calculation algorithm to obtain the displacement L', L", respectively, and calculate the average of the two numbers to obtain the final displacement L.

与现有技术相比,本发明有以下有益效果:本发明可有效解决移动机器人采用惯性导航室内定位时位移累积误差不断变大的问题,实现了单靠加速度计就能精确位移计算,提高了基于惯性导航的移动机器人室内定位的精度。Compared with the prior art, the present invention has the following beneficial effects: the present invention can effectively solve the problem that the accumulated displacement error becomes larger when the mobile robot adopts the inertial navigation indoor positioning, realizes the accurate displacement calculation only by the accelerometer, and improves the Accuracy of Indoor Localization for Mobile Robots Based on Inertial Navigation.

附图说明Description of drawings

图1为本发明的算法流程示意图。Fig. 1 is a schematic flow chart of the algorithm of the present invention.

图2为本发明实施例中的硬件模块图。Fig. 2 is a hardware module diagram in the embodiment of the present invention.

图3为本发明实施例中获取的加速度波峰-波谷图。Fig. 3 is an acceleration peak-valley diagram obtained in an embodiment of the present invention.

图4为本发明实施例中加速度最小二乘法求得最佳拟合函数图。Fig. 4 is a diagram of the best fitting function obtained by the acceleration least squares method in the embodiment of the present invention.

图5为本发明实施例中融合后的最终位移轨迹图。Fig. 5 is a diagram of the final displacement trajectory after fusion in the embodiment of the present invention.

具体实施方式detailed description

下面结合附图及实施例对本发明做进一步说明。The present invention will be further described below in conjunction with the accompanying drawings and embodiments.

图1为本发明实施例的算法流程示意图,图2为本发明实施例中的硬件模块图。如图1以及图2所示,本实施例提供的一种基于惯性导航的移动机器人位移计算算法具体包括以下步骤:FIG. 1 is a schematic flowchart of an algorithm of an embodiment of the present invention, and FIG. 2 is a diagram of a hardware module in an embodiment of the present invention. As shown in Figure 1 and Figure 2, a mobile robot displacement calculation algorithm based on inertial navigation provided in this embodiment specifically includes the following steps:

S1:通过Linux系统主控板采用IIC通信方式读取图2所示移动机器人上的惯性测量单元的三轴加速度计的三轴加速度a(ax,ay,az)。S1: Read the three-axis acceleration a(a x , a y , a z ) of the three-axis accelerometer of the inertial measurement unit on the mobile robot shown in Figure 2 through the main control board of the Linux system using IIC communication.

S2:对三轴加速度采用防脉冲干扰平均滤波法进行滤波。对连续采集到的n个三轴加速度数据a(ax,ay,az)分别进行排序,并同时存储和更新最近n个数据,对已排序数据去掉其中最大和最小的m个数据,将剩余数据进行平均求取平均值。本实施例中,取n=10,m=2。S2: The three-axis acceleration is filtered by the anti-pulse interference average filter method. Sort the n three-axis acceleration data a(a x , a y , a z ) collected continuously, store and update the latest n data at the same time, and remove the largest and smallest m data from the sorted data, The remaining data were averaged to obtain an average value. In this embodiment, n=10, m=2.

S3:图3是用取波峰-波谷算法所获取的三轴加速度波峰-波谷图。在本实施例中,具体的用取波峰-波谷算法是:首先检测波峰-波谷,读取最新axn数据,与上一数据ax(n-1)作比较,若axn>ax(n-1)则记d=1,axn<ax(n-1)记d=-1,axn=ax(n-1)记d=0。若检测到上次d=1而此时d=-1,则说明上次的ax(n-1)即为波峰值;若检测到上次d=-1而此时d=1,则说明上次的ax(n-1)即为波谷值。用最新的波峰-波谷值作绝对值差,如果大于设定的阈值,则表明不是机器人抖动造成的加速度敏感值,纳入下一步计算。用此算法同理计算ay和az的波峰-波谷值,并作绝对值差与阈值作比较。本实施例中,取kx=10cm/s,ky=10cm/s,kz=0cm/s。S3: FIG. 3 is a peak-valley diagram of the three-axis acceleration obtained by using the peak-valley algorithm. In this embodiment, the specific peak-trough algorithm is as follows: first detect the peak-trough, read the latest a xn data, compare with the last data a x(n-1) , if a xn > a x( n-1) means d=1, a xn < a x(n-1) means d=-1, a xn = a x(n-1) means d=0. If it is detected that d=1 last time and d=-1 at this time, it means that the last a x(n-1) is the peak value; if it is detected that d=-1 last time and d=1 at this time, then It shows that the last a x(n-1) is the valley value. Use the latest peak-to-valley value as the absolute value difference. If it is greater than the set threshold, it indicates that the acceleration sensitivity value is not caused by robot shaking, and it will be included in the next calculation. Use this algorithm to calculate the peak-valley values of a y and a z similarly, and compare the absolute value difference with the threshold. In this embodiment, k x =10 cm/s, k y =10 cm/s, k z =0 cm/s.

S4:图4是某段波峰-波谷间加速度值采用最小二乘法所获得的最佳线性拟合函数。本实施例中,对S3中所储存最新的波峰-波谷或波谷-波峰之间的加速度值作为一组数据值,记为Axi={ax1,ax1,…,axm},(i=1,2,...,m);计算每组加速度ax的方差Sxi,记作Sxi=(Sx1,Sx2,...,Sxm),其中为平均加速度。根据最小二乘法公式,用Sxi最小原则求出最佳线性拟合函数,并对该线性拟合函数作二次积分求出该段位移,与之前位移累加算出总位移L′x。用此算法同理计算Y轴和Z轴的中位移L′y和L′zS4: Figure 4 is the best linear fitting function obtained by using the least square method for the acceleration value between a certain peak and trough. In this embodiment, the latest peak-trough or peak-trough acceleration values stored in S3 are used as a set of data values, which are recorded as A xi ={a x1 ,a x1 ,...,a xm },(i =1,2,...,m); calculate the variance S xi of each group of acceleration a x , denoted as S xi =(S x1 ,S x2 ,...,S xm ), where is the average acceleration. According to the formula of the least square method, use the minimum principle of S xi to find the best linear fitting function, and do the quadratic integration of the linear fitting function to find the displacement of this section, and calculate the total displacement L′ x by accumulating with the previous displacement. Use this algorithm to calculate the median displacements L' y and L' z of the Y-axis and Z-axis in the same way.

S5:对位移计算算法进行修正,并用修正的位移计算算法来计算防脉冲干扰平均滤波法滤波后的位移。对防脉冲干扰平均滤波法滤波后的加速度变化设置一个阈值以解决加速度漂移现象,当变化超过这个阈值就根据以下修正公式进行计算速度和位移:S5: Correct the displacement calculation algorithm, and use the revised displacement calculation algorithm to calculate the displacement filtered by the anti-pulse interference average filtering method. Set a threshold value for the acceleration change filtered by the anti-pulse interference average filtering method to solve the acceleration drift phenomenon. When the change exceeds this threshold value, calculate the velocity and displacement according to the following correction formula:

Vn=2*Vn-1-Vn-2+Δan,n-1*Δt;V n =2*V n-1 -V n-2 +Δa n,n-1 *Δt;

ΔV=Vn-Vn-1=Vn-1-Vn-2+Δan,n-1*Δt;ΔV=V n -V n-1 =V n-1 -V n-2 +Δa n,n-1 *Δt;

Sn=2*Sn-1-Sn-2+an-1*t2S n =2*S n-1 -S n-2 +a n-1 *t 2 ;

由上式可计算出X、Y、Z轴的总位移L″x,L″y,L″zThe total displacement L″ x , L″ y , L″ z of the X, Y, and Z axes can be calculated from the above formula.

其中,Vn、Sn、t分别表示当前时刻速度、当前时刻总位移、积分时间;Among them, V n , S n , and t respectively represent the velocity at the current moment, the total displacement at the current moment, and the integration time;

S6:图5是对两次位移进行融合后最终位移轨迹图。本实施例中,采用将每次采集到的加速度作S04和S05算法分别求出位移L′,L″,两数求平均得最终位移L。S6: Fig. 5 is a diagram of the final displacement trajectory after the fusion of the two displacements. In this embodiment, the S04 and S05 algorithms are used to calculate the displacements L′ and L″ respectively based on the acceleration collected each time, and the final displacement L is obtained by averaging the two numbers.

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。The above descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made according to the scope of the patent application of the present invention shall fall within the scope of the present invention.

Claims (7)

1. A mobile robot displacement calculation algorithm based on inertial navigation is characterized in that: the method comprises the following steps:
step S1: reading three-axis acceleration a (a) of a mobile robotx,ay,az);
Step S2: filtering the triaxial acceleration by adopting an anti-pulse interference average filtering method to filter jump data generated by hardware instability;
step S3: obtaining a peak-valley value of the triaxial acceleration by adopting a peak-valley algorithm on the data filtered in the step S2;
step S4: obtaining the best linear fitting function by adopting a least square method for the peak-trough value of the triaxial acceleration obtained in the step S3, and calculating the displacement by integrating the fitting function;
step S5: correcting the displacement calculation algorithm, and calculating the displacement after the pulse interference prevention average filtering method is used for filtering by using the corrected displacement calculation algorithm;
step S6: and fusing the two displacements to eliminate errors and calculate the final displacement.
2. The inertial navigation-based mobile robot displacement calculation algorithm according to claim 1, wherein: the step S1 specifically includes: reading triaxial acceleration a (a) of a triaxial accelerometer of an inertial measurement unit on the mobile robot by adopting an IIC communication mode through a Linux system main control boardx,ay,az)。
3. The inertial navigation-based mobile robot displacement calculation algorithm according to claim 1, wherein: the step S2 specifically includes: respectively sequencing n continuously acquired triaxial acceleration data, simultaneously storing and updating the latest n data, removing the largest and smallest m data from the sequenced data, and calculating the average value of the rest data.
4. The inertial navigation-based mobile robot displacement calculation algorithm according to claim 1, wherein: the step S3 specifically includes the following steps;
step S31: detecting the peak-trough, reading the latest axnData and with the last data ax(n-1)In comparison, if axn>ax(n-1)If d is 1; if axn<ax(n-1)If d is-1; if axn=ax(n-1)D is taken as 0;
step S32: if d is detected to be 1 and d is-1, the last time is the wave peak value; if d is detected to be-1 last time and d is 1 at the moment, the last time is the valley value;
step S33: taking the latest peak-trough value as an absolute value difference, if the absolute value difference is larger than a set threshold, indicating that the acceleration sensitive value is not caused by the shaking of the robot, and bringing the calculation result into the next calculation;
step S34: calculating a respectively by the method of steps S31 to S33yAnd azAnd comparing the absolute value difference with a set threshold value.
5. The inertial navigation-based mobile robot displacement calculation algorithm according to claim 1, wherein: the step S4 specifically includes the following steps:
step S41: taking the latest stored acceleration value between wave crest-wave trough or wave trough-wave crest as a group of data values, and recording the data values as Axi={ax1,ax1,...,axm},(i=1,2,...,m);
Step S42: calculating each set of accelerations axVariance S ofxiIs recorded as Sxi=(Sx1,Sx2,...,Sxm) Calculated using the following formula:
S x i 2 = &lsqb; ( a x 1 - a &OverBar; ) 2 + ( a x 2 - a &OverBar; ) 2 + ... + ( a x m - a &OverBar; ) 2 &rsqb; ,
wherein,is the average acceleration;
step S43: according to the formula of least square method, using SxiCalculating the best linear fitting function by the least principle, calculating the displacement of the segment by quadratic integration of the linear fitting function, and accumulating the displacement with the previous displacement to calculate the total displacement L'x
Step S44: calculating total displacement L 'of the Y axis and the Z axis by adopting the method from the step S41 to the step S43'y、L'z
6. The inertial navigation-based mobile robot displacement calculation algorithm according to claim 1, wherein: the step S5 specifically includes: setting a threshold value for the acceleration change filtered by the pulse interference prevention average filtering method to solve the acceleration drift phenomenon, and calculating the speed and the displacement according to the following correction formula when the change exceeds the threshold value:
Vn=2*Vn-1-Vn-2+Δan,n-1*Δt;
ΔV=Vn-Vn-1=Vn-1-Vn-2+Δan,n-1*Δt;
Sn=2*Sn-1-Sn-2+an-1*t2
&Delta; S = 1 2 &Delta; V * t ;
wherein, Vn、SnT represents the current moment speed, the current moment total displacement and the integral time respectively;
from the above formula, the total displacement L of the X, Y, Z axis can be calculated "x,L”y,L”z
7. The inertial navigation-based mobile robot displacement calculation algorithm according to claim 1, wherein: the step S6 specifically includes: and respectively solving the displacements L 'and L' by using the acceleration acquired each time as a fitting function integral calculation displacement algorithm and a corrected displacement calculation algorithm, and averaging the two numbers to obtain the final displacement L.
CN201710045781.XA 2017-01-20 2017-01-20 A Displacement Calculation Algorithm of Mobile Robot Based on Inertial Navigation Active CN106767795B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710045781.XA CN106767795B (en) 2017-01-20 2017-01-20 A Displacement Calculation Algorithm of Mobile Robot Based on Inertial Navigation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710045781.XA CN106767795B (en) 2017-01-20 2017-01-20 A Displacement Calculation Algorithm of Mobile Robot Based on Inertial Navigation

Publications (2)

Publication Number Publication Date
CN106767795A true CN106767795A (en) 2017-05-31
CN106767795B CN106767795B (en) 2019-10-15

Family

ID=58943763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710045781.XA Active CN106767795B (en) 2017-01-20 2017-01-20 A Displacement Calculation Algorithm of Mobile Robot Based on Inertial Navigation

Country Status (1)

Country Link
CN (1) CN106767795B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108564059A (en) * 2018-04-26 2018-09-21 歌尔科技有限公司 Wearable and its data processing method, device, equipment, storage medium
CN109084885A (en) * 2018-08-14 2018-12-25 中国科学院上海高等研究院 A kind of mechanical equipment vibration detection system, method, readable storage medium storing program for executing and terminal
CN110531117A (en) * 2019-08-01 2019-12-03 广州晒帝智能科技有限公司 Arithmetic mean of instantaneous value filtering method and device and equipment based on gyroscope acceleration
CN110531118A (en) * 2019-08-01 2019-12-03 广州晒帝智能科技有限公司 A kind of multi-stage filtering method and device and equipment based on gyroscope acceleration
CN111158356A (en) * 2018-11-08 2020-05-15 苏州宝时得电动工具有限公司 Automatic mower and control method thereof
CN113390437A (en) * 2021-05-06 2021-09-14 上海奥欧智能科技有限公司 Step length correction system and method based on IMU step counting positioning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120065883A1 (en) * 2010-09-13 2012-03-15 California Institute Of Technology Gps/ins sensor fusion using gps wind up model
CN102768361A (en) * 2012-07-09 2012-11-07 东南大学 GPS/INS combined positioning method based on genetic particle filtering and fuzzy neural network
CN105115501A (en) * 2015-08-11 2015-12-02 中国航空工业集团公司西安飞机设计研究所 Three-axis acceleration correction method and device
CN105652871A (en) * 2016-02-19 2016-06-08 深圳杉川科技有限公司 Repositioning method for mobile robot
CN106323281A (en) * 2015-06-23 2017-01-11 北京冰果科技有限公司 Indoor space positioning method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120065883A1 (en) * 2010-09-13 2012-03-15 California Institute Of Technology Gps/ins sensor fusion using gps wind up model
CN102768361A (en) * 2012-07-09 2012-11-07 东南大学 GPS/INS combined positioning method based on genetic particle filtering and fuzzy neural network
CN106323281A (en) * 2015-06-23 2017-01-11 北京冰果科技有限公司 Indoor space positioning method
CN105115501A (en) * 2015-08-11 2015-12-02 中国航空工业集团公司西安飞机设计研究所 Three-axis acceleration correction method and device
CN105652871A (en) * 2016-02-19 2016-06-08 深圳杉川科技有限公司 Repositioning method for mobile robot

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐悦等: "关于机器人导航目标点搜索路径模糊控制", 《计算机仿真》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108564059A (en) * 2018-04-26 2018-09-21 歌尔科技有限公司 Wearable and its data processing method, device, equipment, storage medium
CN108564059B (en) * 2018-04-26 2021-02-23 歌尔科技有限公司 Wearable device, data processing method and device thereof, equipment and storage medium
CN109084885A (en) * 2018-08-14 2018-12-25 中国科学院上海高等研究院 A kind of mechanical equipment vibration detection system, method, readable storage medium storing program for executing and terminal
CN111158356A (en) * 2018-11-08 2020-05-15 苏州宝时得电动工具有限公司 Automatic mower and control method thereof
CN111158356B (en) * 2018-11-08 2021-08-10 苏州宝时得电动工具有限公司 Automatic mower and control method thereof
CN110531117A (en) * 2019-08-01 2019-12-03 广州晒帝智能科技有限公司 Arithmetic mean of instantaneous value filtering method and device and equipment based on gyroscope acceleration
CN110531118A (en) * 2019-08-01 2019-12-03 广州晒帝智能科技有限公司 A kind of multi-stage filtering method and device and equipment based on gyroscope acceleration
CN113390437A (en) * 2021-05-06 2021-09-14 上海奥欧智能科技有限公司 Step length correction system and method based on IMU step counting positioning

Also Published As

Publication number Publication date
CN106767795B (en) 2019-10-15

Similar Documents

Publication Publication Date Title
CN106767795B (en) A Displacement Calculation Algorithm of Mobile Robot Based on Inertial Navigation
CN110702104B (en) An inertial navigation error correction method based on vehicle zero speed detection
Luinge et al. Inclination measurement of human movement using a 3-D accelerometer with autocalibration
US8930163B2 (en) Method for step detection and gait direction estimation
US9127947B2 (en) State estimator for rejecting noise and tracking and updating bias in inertial sensors and associated methods
CN111024126B (en) Self-adaptive zero-speed correction method in pedestrian navigation positioning
JP6922641B2 (en) Angular velocity derivation device and angular velocity derivation method
CN106814753B (en) Target position correction method, device and system
EP1489381A2 (en) Method and apparatus for compensating for acceleration errors and inertial navigation system employing the same
CN106168485B (en) Walking track data projectional technique and device
CN104613965B (en) A kind of step-by-step movement pedestrian navigation method based on bidirectional filtering smoothing technique
CN107560613A (en) Trajectory Tracking System and method in robot chamber based on nine axle inertial sensors
CN112650281B (en) Multi-sensor three-redundancy system, control method, unmanned aerial vehicle, medium and terminal
CN106370178B (en) Attitude measurement method and device of mobile terminal equipment
CN109540143B (en) Pedestrian unconventional action direction identification method based on multi-sensing-source dynamic peak fusion
CN111522034B (en) Positioning method, equipment and device based on inertial navigation
CN110207692A (en) A kind of inertia pre-integration pedestrian navigation method of map auxiliary
WO2021147391A1 (en) Map generation method and device based on fusion of vio and satellite navigation system
CN114526731A (en) Inertia combination navigation direction positioning method based on moped
Lee et al. IMU-based but magnetometer-free joint angle estimation of constrained links
CN112665574A (en) Underwater robot attitude acquisition method based on momentum gradient descent method
KR101226767B1 (en) System and Method for localizationing of Autonomous Vehicle
CN117589163A (en) Multi-sensor combination navigation method and device
CN108507567B (en) Attitude quaternion determining method and device and user orientation determining method and device
KR101356347B1 (en) Inertial navigation system of walk and method for estimating angle and height information using the same

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
CB02 Change of applicant information

Address after: 350301, Fujian, Fuzhou, Fuqing Province, 36 West Ring Road, National Chiao Tung economic and Technological Development Zone, Fuzhou University, Fuqing Institute

Applicant after: Fuzhou University

Address before: 350002 Fuzhou, Gulou District, Fujian Industrial Road, No. 523

Applicant before: Fuzhou University

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant