First, let’s learn about the general work of UAV design and development? Let’s describe their work in simple language.
Overall design: make clear the overall design index and coordinate each subsystem. Generally, you should know something about everything;
Structural design: design the structure of aircraft, not only to ensure the strength, but also to control the weight, center of gravity position;
Pneumatic design: design the pneumatic shape and wing type of the aircraft, and the faster the aircraft flies, the more important it is;
Navigation Algorithm Design: fusion sensor data output position, speed, posture and other information;
Flight Control Algorithm Design: Design flight control law to realize path tracking, trajectory tracking and attitude tracking;
Image Algorithm Design: Design visual navigation, visual recognition and visual tracking algorithms;
Power System Design: design engine and motor system;
Embedded software design: design application layer and underlying system software;
Embedded Hardware Design: design hardware system, develop system software and underlying driver;
Design of ground station software: Design UI interface, design and write ground station software according to data protocol.
Today, we will mainly talk about how to deeply study the design of navigation and flight control algorithms.
Three-step learning flight control algorithm
As for the design of navigation and flight control algorithm, I suggest you learn it in three steps.
Step1 Consolidate the foundation
Navigation and flight control algorithm design are both theoretical work, which requires everyone to master a good mathematical foundation. Therefore, don’t try to learn how to build a controller directly, this is the same as learning the best Kung Fu in chivalry’s novels. First of all, you need to practice the basic skills well. Learning the specific Kung Fu skills well is not only fast, but also can play the best effect.
In fact, many people have learned the theoretical basis in universities, but they just returned the knowledge they have learned to their teachers or didn’t study hard at that time. Friends who haven’t learned it don’t need to worry too much, as long as time is spent, it is natural to master the required knowledge. The theoretical basis mainly includes these courses: Mathematical analysis, Matrix analysis, probability theory, stochastic process, signal and system, theoretical mechanics, Linear System Theory, nonlinear control system theory, flight dynamics and control.
There must be a good reference book to learn a course, which can help us save a lot of time. I will recommend some good books for you to use when you study later. In addition, don’t be trapped when you encounter problems in the learning process. You can put them aside first. Many problems will be suddenly enlightened after you learn the course, which will help self-study friends solve many problems.
Step 2 Practice makes perfect
Actual combat is the most effective way to test the learning level and also the best way to improve oneself. Actual combat can be a simple altitude-setting flight, or a complex path tracking and trajectory tracking. Actual combat can be either simulation test or actual flight. Simulation test can be realized by using software such as matlab, and can also be simulated by building an open source software development environment like px4.
Now there are many open source software and hardware on github, all of which have perfect software and hardware systems. To carry out secondary development on github can reduce a lot of unnecessary workload. In addition, it is also very necessary to build a small unmanned aerial vehicle system that can fly. Friends who have the conditions suggest to build a system to realize your ideas anytime and anywhere.
When you implement your own algorithm design, it must be simple to difficult. Don’t want to design a set of particularly perfect and powerful algorithms at the beginning. In this way, the probability of success is extremely small, it will not only blow your confidence, but also easily go in the wrong direction.
Step3 Stable flexible
The design of flight control and navigation algorithm is not just as simple as implementing an algorithm. Sometimes the algorithm is just a few formulas, but when it is actually used, there will be many situations that need to be considered. How to initialize the state, which algorithm should be used in different flight States of the plane, how to be fault-tolerant, how to resist saturation, etc.
Therefore, if you want to be a master of navigation and flight control algorithm design, you also need to separate from the formula, adapt to the strain, and design according to the actual situation in different situations. This is just like those top masters in martial arts novels. They have no moves and reach the highest level of winning without moves. Freezing is not a cold day. To reach this level, it often requires years of experience and continuous learning. Generally, they are the senior in the industry.
The above let everyone walk in three steps. In fact, it does not mean to complete the first step first and then try the second step. They are all cyclic iterative processes, but in the overall thinking, you should lay a good foundation first, then design the controller and navigation algorithm, when you encounter problems in the process of designing, you can learn in turn and further consolidate the foundation. Finally, you can accumulate experience, design the algorithm according to the actual situation, and flexibly modify the algorithm, in this process, we are also constantly learning new knowledge and laying a solid new foundation.