📜 ⬆️ ⬇️

Bins-Shmins. Introductory article

Registered on Habré since July 9, 2008. I never wrote anything, only read, Karma is below zero. Made up my mind.
Immediately, an appeal to the respected "habrasoobshchestvo" article is an attempt to understand the question that for me, as it were, is not fully understood, so I expect constructive criticism and understandable reviews, but not "you are a fool and that's all." Now we’ll get to the topic.

As the name suggests, it’s about an inertial navigation system. I studied at the Department of Robotics (2005-2011) and therefore the problem of navigation for mobile robots was acute. For me it was always interesting how you can find out your coordinates and at the same time be independent of some lighthouses, satellites and all sorts of sonars. The answer appeared already in 2006, when I heard about the cool "gizmo" in the phone nokia n95. At that time, an excursion for the “shkoloty” would suddenly be read, these phones were very sooooo popular. In general, I learned about such a device as an accelerometer. Type it measures acceleration. And from physics and algebra I knew that by taking the double integral one can find displacement. I felt terrible how interesting it was and I realized that I want to do this. Then, of course, I threw this idea, because there was no opportunity to touch nokia n95 with an accelerometer, then I became interested in methods of artificial intelligence, image recognition tasks, etc. But a year before graduation, I came across some article about the Kalman filter and then flooded again.

Ins or sop?


I wanted to write beautifully literary, but I feel not strong enough. About inertial navigation systems (INS), in particular, I will not write BINS (free-form), there are many articles in the internet, and there are readable options on Habré. Just note because mems datchek cheaper, then the popularity of SINS is growing. Thanks to the rapid development of interest in the copters, I began to read the literature and met the term AHRS (Attitude and heading reference system), a translation from me "system for determining spatial position" (SIE). Very actively used in Western literature. And immediately the question arose what is different from the INS. My assumptions poured out the following figure.

Ie Bins is a more “clever version”, at the output of which there are coordinates about the position. Is this your opinion and ask in the comments.

Sensors, sensitive elements.


The main sensors SINS can be considered an accelerometer and a gyroscope. The figure shows the main types of gyros.

Figure taken from the book V.Ya. Raspopova If you want to understand the sensitive elements (SE) of inertial navigation, this is one of the best books. As for the accelerometer, then by type they are divided into three groups: macro-mechanical, micro-mechanical, integral. SE accelerometer is the inertial mass on the suspension. Accelerometers can be classified as macromechanical, in which the suspension is realized in the form of springs, strings or core, ball bearing, electromagnetic assemblies, which can also serve as measuring elements in the so-called float accelerometers with hydrostatic unloading of the suspension units. The antithesis of macromechanical accelerometers in size is micromechanical, and integral (hybrid) accelerometers are the product of the combined use of macro and MEMS technologies. Figure to represent the principle of work.
')

Algorithms of work


Considered free form INS. For workers and peasants, it will sound like this: the system does not have a physical real platform that remembers its condition and protected the sensitive element from the influence of the angular displacements of the object. Ie in the case of BINS, gyroscopes and accelerometers are placed on the body of the object, and the onboard computing device performs the functions of a gyrostabilizing platform. This is a plus and the biggest minus of work. Since microcomputers always have to keep in memory the transition matrices which always contain trigonometric functions. The task of the navigation system at the exits is to issue angles, well-established names, pitch, roll, yaw. Three ways to calculate these angles are common. The first is the easiest in terms of understanding the formulas and the implementation of Euler-Krylov Angles, the second method is very popular among bourgeoisies, directing cosines (DCM) and the third with a slight tinge of “imaginary” quaternions or it is also called Rodrigues-Hamilton. In metamathematics and theory, the outputs of all three methods should be the same. The kinematic equations in the Euler – Krylov angles have a low order (third) and a clear structure, but contain trigonometric functions of the desired angles and allow degeneration at a pitch angle of 90 °. All this causes their unsuitability in SINS. The SINS equations, written using the matrix of guide cosines, are linear, defined for any yaw, pitch and roll angles, but the equations are fairly high — ninth order. In addition, the equations must be supplemented by six equations of connection.
Quaternions provide a convenient mathematical notation for the position and rotation of objects in space. Compared to Euler angles, quaternions make it easier to combine rotations, and also to avoid the problem associated with the inability to rotate around an axis, regardless of the perfect rotation along other axes (in the illustration). Compared to matrices, they are more computationally stable and can be more efficient.
I will give a generalized block diagram of the work of the entire system as a whole.
. The picture is taken from the book of Matveyev, also a mast of bins for research.

All problems bees


As mentioned above, the system must keep in mind the matrix with trigonometric functions. Plus, with each step of calculating the value, we get an error, that is, we accumulate it. The second MEMS sensors, they have a lot of plus, but they have a significant disadvantage, it is “noisy”. Ie when designing a navigation system, you need to take into account the accumulation of errors and noise of sensors. Here is the question whether I have described all the problems. Now more about the accumulation of errors. For those who know the highest mathematician on ex, they can skip. Here, as if thinking out loud, this is where the accumulation of error occurs?
Take the sine. We both thought he was in school. Yes, neither. We remembered its meaning for 3 corners and that's it. And on the lessons of optics, we were told that the sine at small angles is equal to the angle. That is, we knew three values ​​for the three “gostovye not vital angles” and one sine for angles up to 5 degrees. But in life we ​​are surrounded not only by angles equal to 30, 45 and 60 degrees. And there are 34, 79, and even with minutes and seconds. Then, Bradis table came to our rescue. Ie some calculation did not occur, we just searched the table for a value or angle and that's it. Then, those who have completed their studies before the 2nd semester of the first course of those. uni found out about taylor's series and numerical methods. In general, what I am all about, the microcontroller is not human, it approaches the problem “recursively” “iteratively.” The Taylor series, please, consider it, but to someone’s mark and for some time. These "some" are very important. They, these uncertainties and make this very component of accumulation. Plus the limitations of the computer itself in counting floating-point numbers. The problems of integrating and accumulating errors in numerical methods are well described here . Options for increasing the accuracy in the calculation of trigonometry will still be looking for, but then, probably, everything depends on the programming language.
The second problem is the noisy signal from the sensors. Inertial navigation uses two ways to eliminate noise, the first filtering in the literal sense, the analogue "marlichka" which passes water and does not pass everything else. And the second method, the “redundancy principle”, is when information about one state comes from several independent sources. A good article about this is here .

Instead of conclusions


My first article, in part, can be written in a primitive language, I just want it to be as clear as possible. Since the article is introductory, I want to find out what specific issues are of interest to the community. Now there is a finished article about modeling mems sensors in Maltab, I want to hear comments and comments on the first one, I can make changes to the next article. There are experience and ready-made models of the entire navigation system (on DCM) in matlab. And there is a good project-continuation of a series of articles on cortex m3 / m4 on which all this is implemented.

Source: https://habr.com/ru/post/183096/


All Articles