惯性导航系统可替代基于GPS的跟踪

Let’s take for example — cars, autonomous vehicles, smartwatches, mobile phones, etc. One common utility present in the above-mentioned ones is the ‘Global Positioning System (GPS)’, which can be used for tracking people.

让我们以汽车,自动驾驶汽车,智能手表,移动电话等为例。上述应用中存在的一种通用工具是“ 全球定位系统(GPS) ”,该工具可用于跟踪人员。

GPS简介: (Introducing GPS:)

The GPS relies on signals from a total of 32 satellites to compute the position of a person/thing in the Earth frame. Each of the 32 satellites possesses an atomic clock that is synchronized. It emits a radio wave that sends out timestamps corresponding to the movement of an object that is GPS compatible. Using the information of timestamps and the movement, it is possible to compute the distance between the sender and the receiver — aka satellites and devices with GPS.

GPS依靠来自总共32颗卫星的信号来计算人/物在地球框架中的位置。 32颗卫星中的每颗都拥有同步的原子钟。 它发出无线电波,发出对应于与GPS兼容的物体运动的时间戳。 利用时间戳和移动的信息,可以计算出发送者和接收者之间的距离,也就是卫星和具有GPS的设备。

GPS-直观的理解: (GPS — an intuitive understanding:)

The algorithm that’s used to perform this operation is called ‘Trilateration’, which makes use of the speed and the time of the signal to be sent from each satellite to the receiver. In order to have a good estimation of the location, it is required that at least 7–8 satellites are in direct view to the receiver. This concept is often confused with ‘triangulation’, which makes use of the angle relative to the reference point to compute the position.

用于执行此操作的算法称为“三边测量” ,该算法利用了从每颗卫星发送到接收器的信号的速度和时间。 为了对位置进行良好的估算,要求至少有7-8颗卫星直接位于接收机的视线内。 这个概念经常与“三角剖分”混淆,“三角剖分”利用相对于参考点的角度来计算位置。

The concept that’s used in GPS — trilateration, determines the position either from 3 known distances on a plane, or 4 known distances on a sphere.

GPS中使用的概念-三边测量法,可以从平面上的3个已知距离或球面上的4个已知距离确定位置。

To compute the location accurately, the GPS signals are expected to have a clear and direct sky view, also known technically as the Line of Sight. If the satellites fail to have a clear view of the receiver, there are chances that the GPS signals would not be detected by the receivers, resulting in an erroneous estimation of the receiver’s location.

为了准确计算位置,预计GPS信号应具有清晰,直接的天空视野,在技术上也称为视线。 如果卫星无法清晰地看到接收器,则接收器可能不会检测到GPS信号,从而导致对接收器位置的错误估计。

The accuracy of GPS depends on various factors such as Signal to Noise Ratio (SNR), position of the satellite, obtrusive objects like buildings, trees, mountains, tunnels etc. which result in multi-path reflections.

GPS的精确度取决于各种因素,例如信噪比(SNR),卫星的位置,诸如建筑物,树木,山脉,隧道等引人入胜的物体,这些都会导致多径反射。

另一种跟踪技术: (An alternative technique for tracking:)

To explore the possible ways of tracking people indoors / in places where there is a lack of proper Line of Sight of GPS signals, we will explore the concept of ‘Indoor Positioning’. It is a constantly evolving concept that can be pursued in different ways. One of the techniques of Indoor Positioning that is cost-effective and simplistic in its design is the ‘Inertial Navigation System’ (can be used indoors/outdoors). We will delve deeper into the intricacies of this concept, with a video demonstration of the Foot-mounted Inertial Navigation System of a group of students in Spider R&D back in 2017.

为了探索在室内/缺乏适当GPS信号视线的地方跟踪人的可能方法,我们将探讨“ 室内定位 ”的概念。 这是一个不断发展的概念,可以用不同的方式来追求。 “室内定位”技术是一种经济高效且设计简单的技术,它是“惯性导航系统” (可以在室内/室外使用)。 我们将在2017年通过蜘蛛演示研发中的一组学生的脚上惯性导航系统视频演示来更深入地研究这个概念的复杂性。

Moreover, Inertial Navigation System doesn’t require any knowledge of the outside world, which makes it even more accessible.

而且,惯性导航系统不需要任何外界知识,这使得它更易于访问。

While exploring various gadgets that move, say, for example, right from your smartphones to Autonomous cars, you could observe that they make use of an Inertial Measurement Unit (IMU), which helps the device keep track of its location and its movements. To implement tracking using Inertial Navigation, we opted to use MPU-9150, a 9-axis (independent motion can occur in 9 directions — indicating Degrees of Freedom) Inertial Measurement Unit. The 9-axis IMU has three sensors namely accelerometer, magnetometer, and gyroscope.

在探索各种小工具(例如,从智能手机到自动驾驶汽车)移动时,您会发现它们利用了惯性测量单元(IMU),该惯性测量单元可帮助设备跟踪其位置和运动。 为了使用惯性导航实现跟踪,我们选择使用MPU-9150,这是一个9轴(可以在9个方向上发生独立运动-表示自由度)惯性测量单元。 9轴IMU具有三个传感器,即加速度计,磁力计和陀螺仪。

It is important to be noted that the values obtained from the sensors in IMU are in the sensor/body frame.

重要的是要注意,从IMU中的传感器获得的值在传感器/身体框架中。

IMU的组成部分-简要说明 (Components of an IMU — a brief description)

Accelerometer gives a measure of the amount of force it is experiencing in X, Y, and Z direction. A gyroscope measures the angular velocity along the three axes. Magnetometer helps in estimating the orientation using the earth’s magnetic field. It works similar to a magnetic compass.

加速度计可以测量它在X,Y和Z方向上所受的力。 陀螺仪测量沿三个轴的角速度。 磁力计有助于利用地球磁场来估计方向。 它的工作原理类似于磁性罗盘。

The sensor values must be transformed from the sensor/body frame to the Earth frame for computing the orientation & position.

传感器值必须从传感器/身体框架转换为地球框架,以计算方向和位置。

We need the orientation of a person’s movement (theta) and the position (r) to compute the trajectory using r & theta (Basic parametric equation — Coordinate Geometry concept).

我们需要一个人的运动方向(theta)和位置(r)来使用r&theta(基本参数方程式 -坐标几何概念)来计算轨迹。

方向 (Orientation)

Image for post
Apple 苹果

Generally, the Euler angles — yaw, pitch, and roll angles are computed to estimate the orientation of an object moving in a three-dimensional space. Pitch, roll, and yaw are defined as the rotation around X (lateral), Y (longitudinal), and Z (perpendicular) axis respectively.

通常,计算欧拉角 (偏航 ,俯仰角和横滚角)以估计在三维空间中移动的对象的方向。 俯仰,横摇和偏航分别定义为绕X(横向),Y(纵向)和Z(垂直)轴的旋转。

By integrating angular velocity over time, we can estimate the changes in yaw, pitch, and roll. The magnetometer values are used as a reference value to the integrated gyroscope angle values which give us the angle of orientation, susceptible to a factor called ‘gyro drift bias’ in the perpendicular axis aka yaw (due to integration to obtain angles, which keeps accumulating over time).

通过积分角速度随时间的变化,我们可以估算偏航,俯仰和横滚的变化。 磁力计值用作集成陀螺仪角度值的参考值,该值可为我们提供定向角度,易受垂直轴又称为“偏航”的“陀螺漂移偏向”因素的影响(由于积分以获得角度,该角度不断累积)随着时间的推移)。

The values from 3 sensors are fused together to compute the direction and position of an object in a process called Sensor Fusion.

将3个传感器的值融合在一起,以在称为“ 传感器融合”的过程中计算对象的方向和位置。

Image for post
A pictorial depiction of an algorithm for estimating the orientation (attitude). Courtesy: http://philstech.blogspot.com/2016/02/quaternion-imu-drift-compensation.html. Check the link to learn more elaborately about terminologies mentioned in the image.
用于估计方向(姿态)的算法的图形描述。 礼貌: http : //philstech.blogspot.com/2016/02/quaternion-imu-drift-compensation.html 。 检查链接以更详细地了解图中提到的术语。

Euler Angles are very easy to compute and analyze, but they are limited by a phenomenon named ‘gimbal lock, which restricts them from computing orientation when the pitch angle approaches +/- 90 degrees. Hence, we adopted a concept named ‘Quaternions’, which is a four-element vector that can be used to encode the orientation of a body in a 3D coordinate system. The intuition behind Quaternions is beyond the scope of this article.

欧拉角非常易于计算和分析,但受到名为“ 云台锁定 现象的限制,当俯仰角接近+/- 90度时,它会限制其计算方向。 因此,我们采用了一个名为“ 四元数 ”的概念,该概念是一种四元素矢量,可用于在3D坐标系中编码物体的方向。 四元数背后的直觉超出了本文的范围。

To summarize, complex numbers are two-dimensional representation of real numbers. Quaternions are four-dimensional representation of complex numbers.

总而言之,复数是实数的二维表示。 四元数是复数的四维表示。

All the computations must either be performed completely in terms of Euler angles or completely in the Quaternion space. Performing computations in Quaternion space helps us evade complex/costly calculations as the exact orientation is obtained all the time.

所有计算必须完全按照欧拉角进行,或者完全在四元数空间中进行。 在四元数空间中执行计算可帮助我们规避复杂/昂贵的计算,因为始终可以获得精确的方向。

位置 (Position)

Having discussed about the orientation estimation of the motion of an object, let’s discuss about estimating the position in detail after obtaining the sensor values in the Earth frame. Before starting the recording of sensor data, the initial reference point is known. The position is computed at each footstep and the orientation is obtained via quaternion computation discussed earlier. Thus, we get an estimate of the trajectory of movement relative to the previously known position. This technique is known as Pedestrian Dead Reckoning.

在讨论了对象运动的方向估计之后,让我们讨论在获取Earth框架中的传感器值之后详细估计位置的方法。 在开始记录传感器数据之前,已知初始参考点。 在每个足迹处计算位置,并通过前面讨论的四元数计算获得方向。 因此,我们获得了相对于先前已知位置的运动轨迹的估计。 这种技术被称为行人航位推算

Image for post
Inertial Elements (In our implementation, we placed sensor only on one foot and computed the stride length accordingly). This is just to depict how we placed sensor in 惯性元素 (在我们的实现中,我们仅将传感器放在一只脚上,并据此计算步幅)。 这仅是为了描述我们如何徒步将传感器放置在 our implementation on foot and to give a gist of the entire process. 实现中 ,并给出了整个过程的要点。

As per Laws of Motion in Physics, double integrating acceleration values with respect to time would result in distance (position).

根据物理运动定律,相对于时间的两次积分加速度值将导致距离(位置)。

With basic knowledge of integral calculus, you can visualize that on every integration, a constant/bias value gets added up. Now, the position will have 2 more bias terms (c1 + c2*t). The bias/error accumulates over time to become very large. This is true in the case of Inertial Navigation for both pedestrians and autonomous vehicles.

有了积分微积分的基本知识,您就可以在每次积分时形象地看到一个常数/偏差值的总和。 现在,该头寸将再有2个偏差项(c1 + c2 * t)。 偏差/误差会随着时间累积而变得非常大。 对于行人和自动驾驶车辆的惯性导航都是如此。

This error has to be minimized in order to track with better accuracy.

为了使跟踪更准确,必须最小化此错误。

For a foot-mounted Inertial Navigation System,

对于脚上惯性导航系统,

To cater to the accumulating error over some time, we need to realize that the time steps in the time duration during which the foot stays on the ground has instantaneous velocity equal to 0 and the angular rate is also 0. This time period is called the zero velocity interval. We use Zero Velocity Update algorithm to perform the computation mentioned above.

为了适应一段时间内的累积误差,我们需要认识到脚停留在地面上的持续时间中的时间步长瞬时速度等于0,角速度也为0。该时间段称为零速度间隔。 我们使用零速度更新算法来执行上述计算。

Steps involved in the Zero Velocity Update Algorithm:

零速度更新算法中涉及的步骤:

  1. We detect this zero-velocity interval at every footstep by

    我们在每个脚步处检测到零速度间隔

i) smoothing the acceleration values along three axes,

i)沿三个轴平滑加速度值,

ii) removing the 0 Hz noise (so that there is no offset/bias) and

ii)消除0 Hz噪声(以便没有偏移/偏置),并且

iii) comparing the resultant acceleration (taking the square root of acceleration in x, y, and z-axis — also called L2 (or) Euclidean norm) with the empirically (experimentally) set threshold.

iii)将所得的加速度(在x,y和z轴上取加速度的平方根,也称为L2(或)欧几里得范数)与经验(实验)设置的阈值进行比较。

2. When the resultant acceleration is lesser than the threshold, it means that the person is stationary and velocity is in turn set to 0. For non-stationary points, the velocity is computed by normally single integrating acceleration values. This is accompanied by integration constant. We do this for all sample points.

2.当合成加速度小于阈值时,表示该人处于静止状态,并且速度又设置为0。对于非平稳点,通过通常单个积分加速度值来计算速度。 这伴随着积分常数。 我们对所有采样点都执行此操作。

3. We then finally remove the drift (integration bias) velocity by finding the velocity difference between the start and end of a non-stationary period, then divide the same by the number of sample points during this non-stationary period and multiply with corresponding data index to get drift value at that certain point. We subtract this value from the previously calculated velocity. Thus, the position and velocity errors diverge very slowly which aids in minimizing the drift and bias errors.

3.然后,我们通过找到一个非平稳周期的开始和结束之间的速度差,最后消除漂移(积分偏差)速度,然后将其除以该非平稳周期的采样点数量,然后乘以相应的数据索引以获取该点的漂移值。 我们从先前计算的速度中减去该值。 因此,位置和速度误差的发散非常缓慢,这有助于最小化漂移和偏置误差。

Image for post
Drift formula, where i = sample index
漂移公式,其中i =样本索引

The step/stride length depends from person to person. Hence, there is a possibility of having poor performance in implementing the algorithm with a fixed step distance.

步长/步幅因人而异。 因此,在以固定步距实现算法时,性能可能会很差。

The zero velocity update can be done only in terms of packets, where each packet contains the sample points of the one non-stationary period. Hence, there might be a slight lag in obtaining the tracking real-time.

零速度更新只能根据数据包来完成,其中每个数据包都包含一个非平稳周期的采样点。 因此,获得实时跟踪可能会略有滞后。

For an autonomous Inertial Navigation System,

对于自主惯性导航系统,

The concepts of Inertial Navigation, coupled with Perception sensing via camera, LIDAR, RADAR, etc. and the external reference value of GPS can be very effective in estimating the accurate position and orientation of self-driving cars.

惯性导航的概念,再加上通过摄像头,激光雷达,雷达等的感知感知以及GPS的外部参考值,在估计自动驾驶汽车的精确位置和方向时非常有效。

Several companies such as Analog Devices, Ford, nVIDIA, Cruise etc. are pursuing their research on combining the salient features of Inertial Navigation and Perception based Navigation with the GPS tracking system.

诸如Analog Devices,Ford,nVIDIA,Cruise等多家公司正在研究将惯性导航和基于感知的导航的显着特征与GPS跟踪系统相结合的研究。

结论说明: (Concluding notes:)

That being said, both Inertial and Perception-based Navigation have their fair share of pros and cons. These can be combined with GPS signals to give accurate tracking of people/objects. Inertial Navigation is a fairly simple concept that can be implemented at very low-cost just by using an IMU and a Microcontroller and by superimposing the trajectory of the motion estimate over a known map with a known reference starting point.

话虽这么说,惯性导航和基于感知的导航都有各自的优缺点。 这些可以与GPS信号结合使用,以准确跟踪人/物体。 惯性导航是一个非常简单的概念,只需使用IMU和微控制器,并通过将运动估计的轨迹叠加在具有已知参考起点的已知地图上,就可以以非常低的成本实现。

You could find our video implementation and our publication of Inertial Navigation in the References section for further technical details.

您可以在 参考资料 部分中 找到我们的视频实现和惯性导航出版物,以 了解更多技术细节。

  1. Our implementation videos of Inertial Navigation System — JARVIS

    我们的惯性导航系统实施视频 — JARVIS

  2. Our publication — JARVIS (50 cm accuracy for Inertial tracking)

    我们的出版物 — JARVIS(惯性跟踪精度为50厘米)

  3. OpenShoe — Foot-mounted INS for Every Foot

    OpenShoe —每只脚都安装在脚上的INS

  4. OpenSource IMU Algorithms — x-io technologies

    开源IMU算法 -x-io技术

  5. Opensource GitHub code for plotting position and orientation estimates — x-io technologies

    用于绘制位置和方向估计的开源GitHub代码-X -IO技术

  6. Human activity recognition dataset containing accelerometer & gyrometer — UCI ML repository. You could classify the IMU signals to predict the type of activity recorded, i.e. walking, running, sitting, standing, etc.

    包含加速度计和陀螺仪的人类活动识别数据集 — UCI ML存储库。 您可以对IMU信号进行分类,以预测所记录活动的类型,即步行,跑步,坐着,站立等。

  7. Wi-Fi based tracking — a publication by my juniors in NIT Trichy which deals with the same concept

    基于Wi-Fi的跟踪 -我的初中在NIT Trichy的出版物,涉及相同的概念

  8. Demystifying Quaternions — an article by Veejay Karthik, Spider R&D

    揭开四元数的神秘面纱 -Spider R&D的Veejay Karthik的文章

  9. Beginner’s guide to IMU — an article by Robotics club, IIT Kanpur

    IMU入门指南 -IIT Kanpur机器人俱乐部的文章

Editorial note

编者注

My friends (PRAKASH SABESAN, Ashish Kumar Kola, Shrikrishna, Abhi Nabera, Rajiv Vaidyanathan, Avinash) and I, had worked on A personalized monitoring system for rescue missions, where Foot-based Inertial Navigation System was one of the modules. We won a few regional and national events with this project under the team name, ‘Tinkerers’ representing Spider R&D. Special thanks to Hariharan Natesh for proofreading the technicalities in this article. Thanks to Sundara Paripooranan, Rakesh Vaideeswaran as well for additional proofreading.

我和我的朋友们( PRAKASH SABESANAshish Kumar Kola ,Shrikrishna, Abhi NaberaRajiv Vaidyanathan ,Avinash)和我一起工作了 用于救援任务 个性化监控系统 ,其中基于脚的惯性导航系统是其中的一个模块。 通过这个项目,我们赢得了一些地区和国家级的活动,团队的名称为“ Tinkerers”,代表着Spider R&D。 特别感谢Hariharan Natesh对本文的技术知识进行校对。 多亏了Sundara ParipoorananRakesh Vaideeswaran的额外校对。

This article is published as a part of the ‘Hardware Series’ under Spider Research and Development Club, NIT Trichy on a Tronix Thursday!

本文作为 Tronix星期四 NIT Trichy蜘蛛研究与发展俱乐部 “硬件系列” 的一部分发布

翻译自: https://medium.com/spidernitt/inertial-navigation-system-an-alternative-to-gps-based-tracking-f5f6a8090fd0

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值