Stairs.  Entry group.  Materials.  Doors.  Locks.  Design

Stairs. Entry group. Materials. Doors. Locks. Design

» Equation of motion of a quadcopter on a given course. Basic research. Chapter Conclusions

Equation of motion of a quadcopter on a given course. Basic research. Chapter Conclusions

When using the equations of motion of UAVs in practice, they are written in projections on the axes of the selected coordinate systems (CS). In this work, it is convenient to use two right rectangular coordinate systems, let’s call them fixed and moving coordinate systems:

1. Fixed coordinate system. Start to be at point O, where you need to stabilize the quadcopter. The OX and OY axes are located in the horizontal plane, and the OZ axis is directed upward.

2. Movable coordinate system. Start to be at the center of mass of the quadcopter, at a point. The axes of this coordinate system: , and are co-directed with the coordinate axes of the fixed coordinate system. Thus, the movable CS is obtained from the stationary CS by parallel transfer to the radius vector of the center of mass of the quadcopter in the stationary CS.

Rice. 1.2.

Moment of inertia

Let the quadcopter lie in the OXY plane, its center of mass be at point O, and the beams AC and BD on which the rotors are located lie along the OX and OY axes. The moment of inertia of the quadcopter is the same around any axis MN lying in the plane of the quadcopter OXY. Let us denote the mass of the quadcopter as. Let the mass of each rotor be concentrated at points A, B, C and D and be equal, and the entire mass of the body be uniformly distributed on segments AC and BD and be equal.

Rice. 1.3.

Then the moment of inertia of the quadcopter relative to any axis MN of the component with the BD axis, angle b is equal to:


The moment of inertia about the OZ axis, perpendicular to the OXY plane and passing through the point O, is calculated by the formula:

Equations of motion

A quadcopter, like any rigid body, is a system with six degrees of freedom; therefore, six independent numerical equations or two vector equations are required to describe its motion.

Equations of motion of the center of mass

The gravity vector is applied to the center of mass of the quadcopter and has the form: , where is the acceleration of gravity.

Air resistance force, where is the dimensionless aerodynamic coefficient, is the air density, and is the surface area. Thus, the force of air resistance is proportional to the square of the speed with a certain coefficient and is directed opposite to the speed.

The vector of the total thrust force of all rotors is also applied to the center of mass and has the form: , where, and are the thrust forces of the first, second, third and fourth rotors, respectively

We denote the vector of some extraneous force as. In the case where the force is caused by the wind, since the force with which the wind acts on the quadcopter is actually the force of air resistance.

Thus, the vector equation describing the movement of the quadcopter’s center of mass in a fixed coordinate system has the form:

Velocity can be obtained by expressing the acceleration and integrating it over time:

By integrating the speed, we obtain the radius vector to the center of mass of the quadcopter, i.e. coordinates of the position of the center of mass of the quadcopter:

Moment equation:

In this case, it is convenient to consider the equation of moments relative to the center of mass, in a moving coordinate system. The moment equation describes the rotation of a body about an instantaneous axis. In this model, rotation can only be caused by forces generated by the rotors. Let's introduce vectors

And - radius vectors of the rotors in the moving coordinate system. The lengths of these vectors are equal and equal to each other.

Rice. 1.4.

In this case, it is more convenient to split this equation into two: the first equation will describe the rotation around the axis of symmetry of the quadcopter, the second equation will describe the rotation around the axis lying in the plane of the quadcopter. Then the first equation looks like:

By expressing the angular acceleration from this equation and integrating it over time, we can obtain the angular velocity:

where, and in are the vector components along the coordinate axes.

By integrating the angular velocity over time, you can obtain the angles of rotation of the quadcopter around the axes of the moving CS:

where the components, and vectors represent the angles of rotation around the axes of the normal coordinate system OX, OY and OZ, respectively.

Let's consider the rotation of the quadcopter around an axis perpendicular to the plane. Let us denote the reactive torque of the propellers as. The vector of this depends only on the magnitude and is directed along the normal to the plane of the quadcopter. In addition to the reactive moment, there is also a moment of force co-directed with it, caused by the gyroscopic effect due to changes in the gyroscopic moments of the rotors, which can also rotate the quadcopter body around this axis, but since the rotors rotate in different directions, it can not be considered. Then the modulus of angular acceleration is expressed by the formula:

Where is some function depending on the value.

By integrating this expression, you can obtain the magnitude of the angular velocity, and the resulting angular velocity will always be directed perpendicular to the plane of the quadcopter. Let's denote the unit vector directed perpendicular to the quadcopter plane as. Thus we get:

And by integrating this equation, we obtain the angles of rotation of the quadcopter around the axes of the movable system.

Thus, the total values ​​of angular velocity and rotation angles will be equal to:

news of wounds. theory and control systems, 2013, No. 6, p. 114-121

MOVING OBJECT CONTROL SYSTEMS

udc 681.5.075

STABILIZATION OF PROGRAMMED MOTION OF A QUADROCOPTER*

© 2013 F. Yu. Baklanov, V. M. Morozov

Moscow, Research Institute of Mechanics, Moscow State University Received 04/24/13, after revision 06/28/13.

The problem of constructing a control law for a quadcopter - a four-rotor helicopter - is considered. The classic design of such a device is a cross-shaped frame, at the tops of which electric motors are installed with propellers rigidly fixed to their axes. An approach to solving the problem is proposed, based on the use of a two-level control method, according to which the required control is constructed in the form of a sum of program control and additional feedback that stabilizes the zero solution of the system of equations in deviations from the program motion. The complete controllability of a nonstationary linear system of equations in deviations is rigorously proven. To construct a stabilizing feedback, a well-known solution to the problem of a linear controller with a quadratic quality criterion was used. The proposed approach allows us to develop a general numerical method for constructing a control that ensures stable movement of a quadcopter along arbitrary smooth three-dimensional trajectories.

B01: 10.7868/80002338813060036

Introduction. Among the wide variety of small-sized unmanned aerial vehicles, a special class should be distinguished - quadrocopters. The classic design of such an apparatus is a cross-shaped frame, at the tops of which electric motors are installed, on the rotors of which the rotors are rigidly fixed. Electric motors are installed in such a way that the rotation axes of their rotors are perpendicular to the plane of the frame. The main difference between a quadcopter and an ordinary helicopter is the absence of rotor swash plates in its design. The movement of the quadcopter in the horizontal plane is achieved by tilting the entire apparatus as a whole, and not by changing the orientation of the rotors relative to the body. Thus, the design of a quadcopter turns out to be simpler than that of an ordinary helicopter and provides greater maneuverability.

At the moment, there are several dozen works that consider the problem of constructing quadcopter control algorithms. Nevertheless, all existing works, even the most complete and detailed, have at least one of the following disadvantages:

software stabilization of only the orientation and flight altitude of the quadcopter is considered, and movement in the horizon plane is not taken into account,

to build a control algorithm, an assumption is made about the smallness of the quadcopter’s orientation angles, and a linear stationary motion model is used,

There is no study of the complete controllability of the constructed mathematical model of the quadcopter and a theoretical study of the stability of the resulting control algorithm.

The work provides the most complete study of the dynamics of quadrocopters to date, including the construction of a nonlinear mathematical model that takes into account aerodynamic air resistance, the study of the controllability of a dynamic system, the construction of a control algorithm that ensures stable movement along arbitrary smooth trajectories in three-dimensional space, as well as strict proof of motion stability.

1. Statement of the problem. It is believed that the quadcopter (see Fig. 1) is an absolutely rigid axisymmetric body. To determine the position of the quadcopter, an absolute inertial coordinate system Oxxy is introduced with the origin at an arbitrary point on the Earth's surface, the z axis of which is directed vertically upward, and the x and y axes lie in the horizon plane so that the orts

* The work was carried out with the financial support of the Russian Foundation for Basic Research (grants No. 12-01-00800 and 12-01-00371).

Rice. 1. Quadcopter model

the x, y, I axes form the right three, and the moving coordinate system O2, pS, rigidly connected to the quadcopter, with the origin at the center of mass O, the axes of which are directed along the main central axes of inertia. The inertia tensor in these axes has the form / = diag(A, A, C). The quadcopter is acted upon by the force of gravity, the air resistance force ¥it&, the traction forces of the engines B and the moments of the engines M, i = 1.4. The traction forces of the engines are variable in magnitude, but are always co-directed with the axis of the OS, the moving coordinate system. It is believed that the force of air resistance is determined by the relation ¥mt& = -kpS\ VIV, where V is the velocity vector of the center of mass, k is the dimensionless drag coefficient, B is the characteristic area, p is the air density. Aerodynamic moments acting on the quadcopter frame are not taken into account.

The position of the quadcopter is determined by the x, y, z coordinates of the center of mass in the absolute coordinate system and the Euler-Krylov angles a, p, y, which specify the orientation of the quadcopter. The transition from the O1xy1 coordinate system to the O2,nC coordinate system is carried out using three rotations: the O1xy1 → Ox1y111 transition by rotating relative to the O1x axis by a roll angle a, the Ox1y111 → Ox2y2¿2 transition by rotating relative to Oy2 by a pitch angle p, the Ox2y2¿2 transition ^ O2,pС - by rotation relative to Oz2 by the heading angle y. Then the transition matrix from the coordinate system Oxxy to the OxnC coordinate system has the form

cos p cos y cos a sin y + sin a sin p cos y sin a sin y- cos a sin p cos y - cos p sin y cos a cos y- sin a sin p sin y sin a cos y + cos a sin p sin y sin p - sin a cos p cos a cos p y

The absolute angular velocity of the quadcopter in projections on the axis of the moving coordinate system has the form

^ a cos р cos у + |3 sin у ^ -а cos р sin у + Р cos у а sin Р + р

To write the equations of motion of a quadcopter, theorems on the movement of the center of mass and on the change in angular momentum relative to the center of mass are used

mv = F, J ω + [ω, J ω] = MO.

Here m is the mass of the quadcopter, B is the main vector of external forces, MO is the main moment of external forces relative to the center of mass.

F = ^ F + mg + Fdrag, Mo = ^ momoFi + momoFw + Mrot, i = 1 i = 1

where momOFi, momOFw are the moments relative to the center of mass of the thrust forces of the engines and gravity, respectively, g is the gravity acceleration vector,

The moments Mi are perpendicular to the O^n plane, with M1 and M3 giving a positive projection on the OS axis, and the moments M2 and M4 giving a negative projection.

The components of traction forces ^, which have components (0,0, p)t in the moving coordinate system, are defined in the absolute coordinate system as the corresponding components of vectors

Bt (0,0, p)T- Let us introduce the notation | VI = ^x2 + y2 +m.2. Then we write the components of the air resistance force as

(Fdrag) x = -cr £ X| V, (P^) y = -kr$\ VI, (¥aa& = -krB1\ V.

The moments of forces p relative to point O are determined by the expressions

momOF1 = -aFen, momOF2 = -aF2e^, momOF3 = aF3en, momOF4 = aF4e^.

Here e^ and are the unit vectors of the O2 and Ot axes, respectively, and a is the distance between the center of mass of the quadcopter and the points of attachment of the engines. The moments of gravity relative to the center of mass are equal to zero.

According to experiments conducted at the Institute of Mechanics of Moscow State University, there are relationships

niya Fi = cru, and M1 = kmu, where ω, are the angular velocities of the propellers, cr and km are some constants. That's why

where i(0 = 1 at, = 1.2, n(-) = 0 at, = 3.4, kMR = kM/cr.

U1 " F1 (0 -a 0 a \

u2 = Q ■ F2 , Q = -a 0 a 0

u3 F3 kMF -kMF kMF -kMF

U4 J 1F4 j 1 1 1 1 1)

Equations (1.2) in scalar form are written as

A cos p cos ya + A sin yp + (A - C) cos p sin p sin yá + + (-2A + C) sin p cos yá p - C cos p sin yá y + C cos yp y = uъ

A cos p sin ycx + A cos yp + (A - C)cos p cos y sin pá -

- (-2A + C) sin p sin ycx p - C cos p cos ycxy - C sin yp y = u2, C(sin pa + y + cos pá y) = u3, mx = U4 sin p + (Fdrag)x ,

my = -U4 sin a cos p + (Fdmg)y,

mz = u4 cos a cos p + (Fdrag)z - mg.

The purpose of the work is to determine the control actions required to ensure the movement of the quadcopter’s center of mass along a given smooth trajectory in three-dimensional space and with a certain programmed heading angle.

2. Construction of a control system. To construct a control law that ensures the given program motion of the system (1.5), we will use the two-level control method.

tion, in which the control action is formed as the sum of program and positional controls.

The peculiarity of the problem is that to specify the entire vector of generalized coordinates of the system

(x,y,z, a, p, y) as a program movement is impossible, since the number of control actions (four) is less than the number of generalized coordinates. In addition, the design of the quadcopter is such that, for example, to implement programmed movement in the horizontal plane, it is necessary to provide some non-zero roll and pitch angles that allow this movement to be realized. Therefore, the programmed motion of the quadcopter will be specified by four smooth functions of time xd(t), yd(t), zd(t), Yd(t) - the position of the center of mass of the quadcopter and the heading angle.

To determine the program controls u4, j = 1.4, and the program values ​​of the roll and pitch angles, we will use equations (1.5). We have

A cos p¿ cos yda¿ + A sin y¿(3¿ + (A - C) cos p¿ sin p¿ sin y¿à2d + + (-dA + C) sin pd cos y d a dp d - C cos p¿ sin y ¿ a ¿ Y d + С cos y ¿в d Y d = Ш,

Cos pd sin y d a d + A cos y ¿p d + (A - C) cos p¿ cos y d sin p¿ ad -

- (-dA + C)sin pd sin Y d « dp d - С cos pd cos Y d « dY d - С sin Y dp dY d = udd, (21)

C(sin pd a d + Y d + cos pd « dY d) = u3d. X d = U 4 sin pd -Kv ¿X d,

yd = -U4d sin a d cos pd - K v dY d,

z.d = u<4d cos ad cos pd - KVdZ¿ - mg.

Here u = u¿/m, k = kpS/m, vd = yjx] + yd + ¿d. The last three of equations (2.1) serve to determine the values ​​of ad, pd and u:

tan a d _- * + KV¿yd , "¿d + KVdZd + g

tan pd =- (x d +Kvd-x d)cos a d, (2.2)

To continue reading this article, you must purchase the full text. Articles are sent in the format PDF to the email address specified during payment. Delivery time is less than 10 minutes. Cost of one article - 150 rubles.

Similar scientific works on the topic "Cybernetics"

  • STABILIZATION OF TRANSLATORY-ROTATIONAL MOTION OF A SINGLE-AXIS WHEELED PLATFORM ON A STRAIGHT-LINEAR TRAJECTORY

    SACHKOV G. P., FESCHENKO S. V., CHERNOMORSKY A. I. - 2010

  • CONSTRUCTOR OF ROTORIST WINGS

    TISHCHENKO MARAT - 2009

  • STABILIZATION OF HELICOPTER MOVEMENTS ACCORDING TO ALL VARIABLES

    SHEVLYAKOV A.A. - 2014

  • TO THE SELECTION OF THE TYPE OF DRIVE OF THE POWER UNIT OF THE MECHATRONIC SYSTEM

    KREININ G.V., MISYURIN S.YU. - 2015

Details Published 10/02/2019

EBS "Lan" informs that in September 2019, the thematic collections available to our university in EBS "Lan" have been updated:
Engineering and technical sciences - Lan Publishing House - 20

We hope that the new collection of literature will be useful in the educational process.

Test access to the FireBook collection in the Lan EBS

Details Published 10/01/2019

Dear readers! From 10/01/2019 to 10/31/2019, our university was provided with free test access to the new publishing collection in the Lan EBS:
"Engineering and technical sciences" publishing house "PozhKniga".
The publishing house "PozhKniga" is an independent division of the University of Integrated Security Systems and Engineering Support (Moscow). Specialization of the publishing house: preparation and publication of educational and reference literature on fire safety (enterprise safety, regulatory and technical support for workers in the integrated safety system, fire supervision, fire equipment).

Successful completion of literature distribution!

Details Published 09/26/2019

Dear readers! We are pleased to inform you about the successful completion of the distribution of literature to first-year students. From October 1, open access reading room No. 1 will work according to the usual schedule from 10:00 to 19:00.
From October 1, students who have not received literature with their groups are invited to the departments of educational literature (rooms 1239, 1248) and the department of socio-economic literature (room 5512) to receive the necessary literature in accordance with the established rules for using the library.
Photography for library cards is carried out in reading room No. 1 according to the schedule: Tuesday, Thursday from 13:00 to 18:30 (break from 15:00 to 16:30).

September 27 is sanitary day (bypass sheets are signed).

Registration of library cards

Details Published 09/19/2019

Dear students and university staff! 09/20/2019 and 09/23/2019 from 11:00 to 16:00 (break from 14:20 to 14:40) we invite everyone, incl. first-year students who did not have time to take photos with their groups to obtain a library card for reading room No. 1 of the library (room 1201).
From September 24, 2019, photographing for library cards resumes according to the usual schedule: Tuesday and Thursday from 13:00 to 18:30 (break from 15:00 to 16:30).

To obtain a library card, you must have with you: students - an extended student card, employees - a university pass or passport.

“QUADROCOPTER FLIGHT CONTROL SYSTEM AND TRAJECTORY PLANNING BY OPTICAL ODOMETRY METHODS...”

-- [ Page 2 ] --

autonomous or without a network connection (Offline mode) and non-autonomous or with a network connection (Online mode). The first mode generates a path using a B-spline from the start to the goal, laid in an environment with known obstacles, that is, the known environment is assumed to be static. The online planner places additional points on the generated trajectory obtained by the radar, which provides information about the position of obstacles. This method is an example of combining local and global methods. The authors mention that the algorithm can be used to work in real time.


As it turns out, in practice, comparing all flight path planning methods is a difficult task: everything depends on the flight mission.

The global method allows you to solve the problem of generating a trajectory in a general form, and for each special moment of the flight, for example, avoiding obstacles, a local method is connected. This combination makes the trajectory generation algorithm universal.

1.2.2. Hardware implementation of control systems

Defining a geometric path is only one part of path planning, and its implementation depends on the hardware. As discussed above, the main hardware for trajectory planning are:

encoders;

inertial sensors;

technical vision systems;

generating a trajectory based on data from GLONASS or GPS navigation and location systems.

Encoder-based mobile wheeled robot location detection is widespread. They are attractive due to their simplicity, but at the same time they have a number of disadvantages related to the accuracy and frequency of measurements, and cannot be used for air and sea robots. Therefore, we will limit ourselves to considering the remaining means, their advantages and disadvantages.

Inertial sensors. With the development of micro- and nanotechnologies, trajectory planning methods based on inertial sensors have become very widespread. This also applies to small-sized unmanned aerial vehicles such as quadcopters.

Inertial sensors typically include microelectromechanical gyroscopes, accelerometers, and sometimes magnetometers. In theory, these sensors can provide all the necessary position information. But MEMS rotation sensors primarily work when Coriolis forces occur and show not the rotation angle, but the angular velocity. In this case, there is a need for integration in the case of an analog signal and summation in the case of a discrete signal. As a result, the indirect measurement of rotation will be approximate and dependent on the signal sampling rate, since ultimately the output signal must be digitized.

Another source of error in rotation signals is the manifestation of zero drift in the gyroscope, a phenomenon where even in a static position a change in the angle at the output of the gyroscope is shown.

An accelerometer is used to estimate the linear distance traveled. It allows you to determine the magnitude of linear accelerations. But accelerometers are susceptible to high-frequency and high-amplitude interference, which can be overcome using additional filters (for example, the Kalman filter). As a result of filtering, the signal is also integrated to obtain the distance traveled, which causes an error.

Optical odometry is the process of obtaining position information using cameras and video cameras. This method refers to the algorithms of technical vision systems. As a result of optical odometry, information about the distance traveled and direction of movement is obtained. The optical odometry algorithm consists of a sequence of steps, such as image acquisition and correction, detection of key target points depending on the selected recognition algorithm, verification of optical flow vectors and determination of the movement of the camera carrier (UAV). The disadvantages of the method are the uncertainty in images of the same type and the need for significant computing power.

Application of navigation systems. This method relies on satellite technology to provide distance measurements and location (in the case of tracking). The satellite system's signal is available almost everywhere on the surface of the Earth. Unfortunately, recorded accidents show that in 15% of cases, the causes of accidents of unmanned aerial vehicles are loss of communication and accuracy of the satellite navigation system, the quality of which directly depends on the number of available satellites. Also, the quality of measurements depends on the location and inclination of the satellite’s orbit relative to the Earth. The newest satellites determine location with an accuracy of 60 cm to one meter.

Features of the flight path planning structure 1.3.

quadcopter The goal of the research is to achieve full autonomous flight. This task includes three interrelated subtasks:

mission planning, generating the appropriate trajectory and controlling the flight of the quadcopter along the resulting trajectory.

Flight mission planning. At this stage, it is determined whether the use of which method is appropriate: global or local. At the same time, tasks that need to be solved in accordance with the chosen approach are also sorted.

The global trajectory planning method can be applied to the quadcopter used for patrolling, checkpoint flying, building inspection, etc. Local planning method is used for quadcopter used for indoor inspection of buildings, in dynamic and changing flight environments, for tracking a mobile agent, avoiding obstacles, etc. Both methods are implemented through an analytical comparison with the pilot's behavior: given the final destination (goal), the pilot plans an overall trajectory (global planning) to be tracked to the destination and avoid known obstacles.

Due to the possibility of inaccuracy in the information provided to the pilot, he pays less attention to the information already given and uses more reliable operational local information to solve possible problems and problems that arise during the flight (local planning).

Trajectory generation. According to the selected planning method, the trajectory generator determines the optimal flight curve and transmits the coordinates as a control task to the autopilot. Generation methods, as discussed in the literature review, are different. They are directly related to the planning method.

Direct and pseudospectral placement methods have one common characteristic: dynamics are represented at discrete points along a trajectory. This allows continuous optimization in a discrete nonlinear programming problem using approximating polynomials of various forms.

The direct placement method is used to test the accuracy of states between discrete nodes obtained by approximating polynomials. However, it imposes additional restrictions on nonlinear programming. These limitations are in addition to the processing power requirements. In addition, nonlinear solutions are less accurate compared to methods based on analytical derivatives.

The final discretization step must be chosen very carefully, since the accuracy of solving the derivatives directly affects the speed and accuracy of the optimal solution.

Neural network approximation methods eliminate the need to use the location method and produce numerical or automatic derivative calculations by approximating the dynamics with a neural network over a short, specified period of time. After this, the trajectory is built recursively. However, this method does not provide the necessary performance, since neural networks are based on a heuristic learning method. Hence, neural network approximations are recommended for trajectory generation in a previously known static environment.

Search methods are faster than the above-mentioned algorithms, but the local minimum problem is their big drawback.

Flight control. To perform the control task, it is necessary to regulate the flight states in accordance with the given coordinates.

Flight states include six degrees of freedom: three rotational and three translational motions: along the pitch axis, the pitch angle and translation are controlled; along the roll axis, roll angle and translational movement; Along the yaw axis, the yaw angle and flight altitude are controlled. To simulate a flight control system, two approaches are used: linear and nonlinear.

In linear modeling, control laws are determined in an ideal way, where flight states are not interrelated, whereas in a nonlinear quadcopter model, the trigonometry of small angles is taken into account, sometimes the position of the center of gravity and the flexibility of the quadcopter structure are also taken into account.

Two approaches to UAV control are reflected in the literature; they are based on linear nonlinear modeling. As discussed earlier, with a linear approach, the autopilot control algorithm is carried out on the basis of linear-quadratic control (LQR), and LQR, optimized using a Kalman filter.

In addition, to control the quadcopter along a given trajectory, algorithms based on artificial intelligence are used, including fuzzy logic, types of neural networks, and even combined neuro-fuzzy controllers.

The mathematical model of the quadcopter is linear.

AI-based flight state controllers have the advantage of adapting to changes in the flight environment. The real-time control process may not meet the optimal performance criterion, especially with a nonlinear modeling approach.

With a linear approach to quadcopter modeling, four autonomous control loops are obtained, which results in the fact that a change in the output of the rotational or translational loop does not affect the remaining control loops. This assumption will be accepted to justify the choice of a modal control algorithm for the synthesis of flight state controllers.

A more realistic approach to modeling and controlling a quadcopter is to represent the control loops as interconnected. In this case, a change of any value in the internal (rotational movement) or in the external control loop (translational movement) causes changes in all other loops.

The above-mentioned approach is more complex for the formation of laws of state changes, as well as for the synthesis of a regulatory system.

There are studies looking at the effect of center of gravity position on UAV control. This is important for vertical take-off and landing aircraft and, in particular, for a quadcopter, since the entire feedback system is based on inertial control sensors (gyroscope, accelerometer).

Requirements for the flight path planning system and 1.4.

control of a quadcopter Currently, the standard for the synthesis of a navigation and flight control system must meet the criteria of the fifth generation for aircraft:

stealth, high maneuverability, advanced avionics based on artificial intelligence and the ability to carry out multi-role flight.

For a quadcopter, stealth or invisibility during flight are not the main criteria, since its flight range is limited.

However, the requirements for the navigation, trajectory planning and control system are high. This is due to the instability of the quadcopter during flight, which is confirmed by the number of recorded accidents.

As US military statistics on UAV safety show, the current number of accidents of these systems is 100 times greater than the number of accidents of manned aircraft. Other statistics put the probability of an accident for U.S. commercial aircraft in U.S. airspace at 0.06 per million flight hours, and the probability for a Global Hawk UAV.

increases to 1600 per million flight hours. The causes of these accidents are different. The diagram (Fig. 1.2) shows the causes of failures and accidents of American military UAVs.

–  –  –

From the statistics it follows that the UAV control area has the greatest number of problems, summing up the operational probability with the control and communication probability (54% in total). Therefore, from the point of view of flight robotization, we can conclude that by solving the problems of autonomy and flight control of UAVs, it is possible to reduce the likelihood and number of accidents. Autonomy here refers to trajectory planning and tracking using on-board automatic control systems.

Quadcopters have the worst technical endurance among all types of UAVs. Therefore, technical reasons and control can be significant threats to the flight of a quadcopter.

This justifies the relevance and necessity of conducting research on these miniature rotary-wing aircraft in order to achieve optimal modes of flight autonomy and control of quadcopters.

As a result, the main requirements for trajectory planning and flight control systems are the following:

intelligence and adaptability of the control system, optimal from the point of view of stabilization and speed;

the ability to plan and generate a trajectory for various flight tasks;

no impact of communication loss on trajectory planning.

As can be seen from the above, there is no universal approach to flight path planning, and the limitations that exist are caused by the shortcomings of planning algorithms.

Therefore, we focus on developing a scheduling algorithm suitable for local and global scheduling. This can be done on the basis of a technical vision system (VS), with which the quadcopter performs two tasks:

1) global planning: flight according to control points, the quadcopter follows the coordinates determined before the flight;

2) local planning: the quadcopter tracks the mobile agent using a colored marker.

1.5. Chapter Conclusions

1. An analysis of methods for implementing UAV flight autonomy shows that currently there are various kinds of trajectory planning algorithms, the level of effectiveness of which is largely determined by the flight mission. The developed algorithms make it possible to generate flight coordinates in local or global trajectory planning mode, which does not allow achieving universality of their implementation.

2. Analysis of flight control approaches revealed that two modeling approaches are used to obtain control laws: ideal linear and real nonlinear. A special feature of using a nonlinear model is the development of optimal position controllers. As a result of studying various models of quadcopter, it was found that there was no consideration of the influence of a shift in the center of gravity of the quadcopter and gyroscopic effects on flight stabilization.

3. To develop methods for flight path planning based on a technical vision system, auxiliary navigation systems are used to determine location, which is due to the dependence of the UAV on the accuracy and availability of auxiliary systems.

4. Based on the analysis of approaches to control and planning the flight path of a UAV, the goal of the thesis was determined, which is to develop a mechatronic system capable of effectively controlling the flight of a quadcopter, taking into account the shift of the center of gravity from its ideal position based on optimized fuzzy controllers using the particle swarm method, so as to track mobile marker taking into account the probability of recognition uncertainty without auxiliary navigation systems using optical odometry methods.

CHAPTER 2. IDENTIFICATION AND MATHEMATICS

SIMULATION OF A QUADROCOPTER AS AN OBJECT

MANAGEMENT

This chapter discusses the aerodynamic features of a quadcopter as an object of automatic control. The purpose of aerodynamic analysis is to determine the power circuit of the quadcopter, assign a measure of motion in space and develop a model of the dynamics of the quadcopter using differential equations, as well as to formulate the laws of autonomous flight of the quadcopter.

Particular attention in this chapter is paid to the modeling of a quadcopter; it can be considered both as a linear and non-linear object, depending on the assumption. The global trend in this direction tends to present the quadcopter as a nonlinear object. This approach is more realistic. In this regard, we propose a nonlinear model of a quadcopter taking into account the shift of the center of gravity from its ideal geometric position, which coincides with the position of the center of mass.

Analysis of aerodynamic features and mathematics 2.1.

description of the quadcopter as a control object and description of its flight modes. In space, the quadcopter has six degrees of freedom, and its movement is described by six differential equations (Eulerian equations). Solving these equations in the general case would make it possible to determine the nature of the spatial movement of the quadcopter at any time and, in particular, to judge the stability of this movement.

However, the direct solution of these equations presents certain difficulties even when using modern computers. If we take rectilinear steady flight without sliding as the initial flight mode and consider the deviations of the motion parameters from the initial values ​​to be quite small, then due to the symmetry of the quadcopter, the system of six equations of motion can be divided into two independent systems of equations with an unknown degree of accuracy, describing the motion of the quadcopter in the plane of symmetry (the so-called longitudinal movement) and in two other planes (lateral movement).

To quantitatively describe the position and movement of a quadcopter in space, various coordinate systems are used: inertial, terrestrial and moving. The choice of one or another coordinate system is usually determined by the problem being solved.

Fixed or normal earth coordinate system Its origin lies on the surface of the earth and its axes are fixed in relation to it. The z z axis is directed upward along the local vertical, i.e. in a straight line coinciding with the direction of gravity. The z z and z z axes lie in the local horizontal plane, forming a right-handed rectangular Cartesian coordinate system. The direction of the z z z z z axes is selected in accordance with the task.

Associated or moving coordinate system k k k k. This coordinate system coincides with the axes of the quadcopter body. Its origin k lies at the center of mass of the quadcopter, and the axes k k k are rotated by the angles of roll, pitch and yaw from the axes of the fixed coordinate system z z z, as shown in Fig. 2.1. The longitudinal axis k is located in the plane of symmetry

Figure 2.1 Coordinate system and position reference of the quadcopter

quadcopter and is directed from the tail to the nose. The normal axis OkYk is located in the plane of symmetry of the quadcopter and is directed upward. The transverse axis OkZk is perpendicular to the plane of symmetry of the quadcopter.

The roll angle is the angle between the transverse axis k and the axis z of the normal coordinate system, shifted to a position at which the yaw angle is zero. The roll angle is positive if the displaced z z axis is aligned with the transverse axis by rotating clockwise around the longitudinal axis when viewed in the direction of this axis.

k k The pitch angle is the angle between the longitudinal axis and the horizontal plane behind the normal coordinate system. It should be considered positive if the longitudinal axis is above the horizontal plane.

The yaw angle is the angle between the axis z z normal coordinate system and the projection of the longitudinal axis k k onto the horizontal plane z z z normal coordinate system. The yaw angle is positive if the zz axis is aligned with the projection of the longitudinal axis onto the horizontal plane by rotating around the zz axis clockwise when looking in the direction of this axis.

The translational motion of a quadcopter as a rigid body in space is the motion of its center of mass relative to the Earth.

The direction of the axes of the quadcopter position parameters of the moving coordinate system, the origin of which is placed at the center of mass of the quadcopter, is selected in accordance with the task at hand. The spatial position of the quadcopter during translational motion relative to the Earth is completely described by three parameters: latitude (F), longitude (L) and height (H).

In addition to translational motion, the quadcopter also performs rotational motion relative to the ground, which is a motion around its center of mass.

–  –  –

Therefore, using RX, RY and RZ, you can determine the movements of the quadcopter in relation to the ground at any given time. This helps monitor the correct operation of the miniature aircraft's onboard measurement systems.

The quadcopter can only fly in four modes: roll, pitch, yaw and hover. Using the laws of aerodynamics, you can create generalized equations of motion that serve to describe the mathematical model of quadcopter flight. Aerodynamic calculation is based on two theories: the theory of moments and the theory of blade design and action. Moment theory models the rotor as an ideal drive, represented as an infinitely thin disk whose rotation causes a constant speed along the axis of rotation without taking into account friction. All aerodynamic forces and moments acting on the rotor are determined using the theory of blade action. We present an aerodynamic model of a quadcopter with the assumption of the following factors: the thickness of the disk is infinitely small;

vertical air speed is constant around the rotor; air is an ideal incompressible gas; The rotors are rigid, the force parallel to the rotor shaft is defined as the rotor thrust T, and the force perpendicular to the rotor axis is defined as the hub force Tc. The acting moments on the rotor are the braking MT and moving MT moments.

Since the calculation is made without taking into account friction, it can be assumed that the lift force acting on the blades is approximately an order of magnitude higher than the drag forces. In Fig. 2.2 all the described aerodynamic forces and moments are clearly visible.

Figure 2.2 Aerodynamic forces and moments acting on the rotor Quadcopters are modeled as a combination of four rotors operating in a transverse configuration.

A fairly thin and light cross-shaped frame connects the mechanical motors (which are heavier than the frame). Each propeller (propeller) is connected to the engine through gearboxes. All axes of rotation of the screws are rigidly fixed and parallel. In addition, they have a fixed pitch of the blades, the air flows of which are directed downward to obtain an upward lift direction. Motors and gearboxes are not fundamental factors in the flight of a quadcopter because movement is directly related only to the speed of rotation of the propellers.

The gearbox is a minor mechanical component in the sense that it does not play a significant role in understanding how the quadcopter flies. However, all of these components will be discussed later when describing reactive control.

To evaluate the motion of a quadcopter, consider a basic model that consists only of a lightweight cross-shaped support structure with four propellers mounted on its ends. The front (rotor 1) and rear (rotor 3) propellers rotate counterclockwise, while the left (rotor 2) and right (rotor 4) rotate clockwise. This paired, counter-rotating configuration eliminates the need for a tail rotor, such as in a conventional helicopter. In Fig. 2.3 shows sketches of the quadcopter structure.

The angular velocities of each propeller are indicated by an index corresponding to the serial number of the rotor. In addition to the variable speed for each propeller, the up arrow represents the speed vector and will always point up. Hence, the right-hand rule (clockwise rotation) should not be assumed, since the rotor also represents the vertical thrust vector.

–  –  –

Figure 2.3 Simplified speed diagram of a quadcopter According to the model presented in Fig.

2.3, all propellers rotate at the same speed i [rad s-1], this causes a counterbalance to the acceleration of free fall subsequently when the quadcopter performs the hovering process. Thus, the quadcopter is in a stationary mode, since there are no forces or torques to move it from its current position.

Although the quadcopter has six degrees of freedom, it is equipped with only four propellers, hence it will be difficult to achieve the desired states for all degrees of freedom. All states can be mathematically considered and modeled, but in reality the control system manages four states associated with four basic movements that allow the quadcopter to reach a certain height and position. It rises or falls depending on the speed value. Let's imagine a mathematical model of the overhang mode using the expression:

4 (2.2) 1 = (+). (), =1

–  –  –

Figure 2.5 Pitch Mode Yaw mode is achieved by increasing (or decreasing) the speeds of the front and rear propellers or by decreasing or increasing the speeds of the left and right propellers, which results in the creation of a torque relative to the OZ altitude axis.

Consequently, the quadcopter will rotate with respect to the OZ axis. The yaw motion is created by the left and right propellers rotating clockwise and the front and rear propellers rotating counterclockwise. Therefore, when the overall torque is unbalanced, the quadcopter rotates around OZ. Figure 2.6 shows the yaw mode.

–  –  –

Using equation (2.27), you can draw up a functional diagram of the pitch axis contour. It includes rotational motion around the roll axis () and translational motion (x). The functional diagram of the roll contour is shown in Fig. 2.7.

–  –  –

The functional diagrams obtained as a result of the analysis of the quadcopter (Fig. 2.72.10) represent the complete structure of the quadcopter.

Representation of a quadcopter with a shifted center of gravity as 2.3.

nonlinear object and its mathematical modeling Flying robots are often classified by size and weight, such as micro aircraft (MAV), they have a maximum size of 15 cm, and their maximum weight is approximately 150 g.

Miniature-class unmanned aerial vehicles have a minimum size of up to one meter and a maximum weight of 1 kg.

As was shown, by directly changing the rotation speed of the engines, the device can be controlled in four degrees of freedom. Thus, the quadcopter belongs to a special class of nonlinear controlled systems, since six degrees of freedom are controlled only through 4 control inputs.

Today, the requirements in the field of flight autonomy of aircraft are constantly growing, they include high dynamics and maneuverability at low speeds, the ability to track targets, and non-linearity of the solution. There are also requirements for an optimal and reliable real-time state management system to ensure global sustainability.

It should be immediately noted that the currently most common method of linear control is unacceptable for a quadcopter due to its nonlinearity as a control object.

In addition to the control task, to ensure flight autonomy, it is necessary to consider the issues of trajectory planning and navigation. To successfully address the issue of navigation, it must be recalled that all inertial navigation systems suffer from drift integration, as errors in the feedback sensor signals are gradually integrated into deviations in speed and position. These errors can be compensated for by additional communications from high-precision sensors such as GPS, radar or laser scanner. However, the main problem with any indoor navigation concept is that an external navigation system, such as GPS, is not considered reliable or always available.

The problem of autonomous localization can be divided into two subproblems. One of them is the global localization of the quadcopter, i.e. estimating a position without any a priori knowledge about one’s position and orientation in the map. The second task is to track the trajectory using sensors (gyroscope, accelerometer), which leads to results with an error. Based on this, to solve the issue of autonomous localization, it is necessary to group all the information coming from local sensors (gyroscope, accelerometer), auxiliary sensors, radar or laser scanner) to determine your own (GPS, location or flight orientation.

Due to the payload limitations of a quadcopter, only small and lightweight sensors can be used as auxiliary aids. Therefore, when calculating the sensor model, it is necessary to consider all degrees of freedom. The state space of a quadcopter is six-dimensional, which makes such a common approach as, for example, Monte Carlo very difficult to use in localization problems, since the solution grows exponentially with the dimension of the state space. It can be assumed that real-time computation is not possible.

The main attention in this work is on the unstable and nonlinear behavior of the quadcopter. Obviously, the effect of shifting the center of gravity (CG) from the ideal position is important in such systems. For example, attaching battery or payload sensors, or rising or falling payloads will shift the CG and disable the designed controllers for the original CG system. Due to the shifted CG, additional accelerations and velocities are perceived by inertial sensors, which affects the final position of the quadcopter in a fixed coordinate system.

The generally accepted approach to quadcopter modeling is based only on ideal models with an ideal center of gravity position.

Since control over one degree of freedom can be carried out using one control circuit, control over uncontrolled degrees of freedom is carried out using inertial forces and gyroscopic forces. A shift in the center of gravity changes the components of the moment of inertia with respect to a fixed coordinate system, which, in turn, leads to a change in the values ​​of the Euler angles. The new value of the moment of inertia depends on the distance by which the center of gravity has shifted. It can be calculated using the following expression:

2 = 1 +. ct, (2.36) where 2 is the new value of the moment of inertia relative to the center of measurement of states; 1 old value of the moment of inertia relative to the center of gravity, the mass of the quadcopter; CG is the distance from the ideal to the actual center of gravity.

To analyze the influence of changes in distance on flight states, we change the value of CG from 0.1 to 10%. To do this, we accept a linear model of the quadcopter (see equations in the control system section). In Fig. Figure 2.11 shows the new position of the center of gravity.

–  –  –

As can be seen from Fig. 2.12, the automatic control system for the quadcopter’s flight states did not have time to track the desired trajectory along the pitch and roll axes.

Since the calculation of the controller coefficients is carried out taking into account the ideal position of the center of gravity, the control sensors transmit inaccurate information in feedback signals. The deviation can reach large values, as can be seen from the simulation result, up to 20% (at 10% of the shift distance). This confirms the importance of taking into account the real position of the center of gravity when modeling a quadcopter.

Figure 2.12 Simulation results for different CG values ​​The concept of reactive flight control of a quadcopter in 2.

unknown environment As discussed earlier, a quadcopter, like other rotary-wing aircraft, has a single flight mechanism.

The combination of rotation of the rotors produces a change in pressure around the structure, hence the quadcopter rises or moves around the pitch, roll and yaw axes only in accordance with the resulting total thrust. Let's imagine a nonlinear quadcopter model using the Newton-Euler equation. Formulas describing the movements of the quadcopter are presented in a coupled coordinate system due to the fact that the inertia of the quadcopter is not a function of time. Therefore, we can describe the kinematics of a rigid body having 6 degrees of freedom in a coupled coordinate system using the following equation:

–  –  –

–  –  –

–  –  –

Z[0] = = = =,

–  –  –

() = [ 4) (1) ] = ;

(K = 1 = 1 + 2 3 + 4, where the vector of rotation speed of all rotors, rad s-1; rotation speed of the propellers, rad s-1; matrix of the gyroscopic effect of the propeller, H m s-2.

Accordingly, from an aerodynamic point of view, moments and forces are directly proportional to the square of the propeller rotation speed.

Consequently, the motion matrix of the DC is also proportional to the square of the vector. Then you can calculate the motion vector K () using the following equation:

(1 + 2 + 3 2 + 4 2) K () = DK 2 = =, (2 2 4 2) (2.46) (3 2 1 2) [(2 + 2 2 2)]

–  –  –

From here you can find expressions for the vector components:

1 = (1 2 + 2 2 + 3 2 + 4 2);

4 = (2 2 + 4 2 3 2 1 2).

–  –  –

The generalized quadcopter acceleration vector Г can be found using equations (2.50) and (2.51):

–  –  –

1 (2.53) = + () ;

–  –  –

After determining the laws of dynamics and connections between the components of the quadcopter, you can obtain the structure of the quadcopter flight control system. It consists of the following blocks:

– trajectory generator - flight mission. It can be stored in the ROM memory of the microprocessor system if the planning is global, otherwise it is generated during the flight depending on the local planning algorithm;

– external control loop. This is the quadcopter position control loop. It includes controllers for translational motion along the roll, pitch and yaw axis. The output of the block is a signal for the formation of Euler angles;

– middle control loop. This is a control loop for Euler angles, that is, rotational movements around the roll, pitch and yaw axes.

Determining the values ​​of these angles is necessary to regulate the rotation speeds of the propellers and obtain the desired flight mode;

– lower control loop. The purpose of this block is to directly stabilize the quadcopter by changing the rotation speeds of the propellers.

Figure 2.15 Functional diagram of the quadcopter flight control system based on the reactive control principle. The complete functional quadcopter flight control system is shown in Fig.

–  –  –

In this chapter, a quadcopter was considered as an object of automatic control.

1. Based on an analysis of its aerodynamic features, it was found that the quadcopter, which has six degrees of freedom, has only four flight modes: roll, pitch, yaw and hover. The resulting mathematical models of flight modes were used to determine the linear model of the quadcopter.

2. Aerodynamic and force analysis showed that there is a need to take into account the nonlinearities of the quadcopter for a more realistic representation of the automatic control object.

3. The influence factor of the shift of the quadcopter’s center of gravity from its ideal geometric position on its positioning was considered.

Analysis of the deviation from the desired trajectory showed that without taking into account the shear factor, a positioning error along the roll and pitch axis can be made within 120% in proportion to the shear value of 10%.

4. A nonlinear model of a quadcopter is proposed, taking into account the shift of the center of gravity and gyroscopic effects in the laws of motion of the quadcopter.

Force analysis showed that in order to control the flight, it is necessary to regulate the rotation speeds of the propellers in accordance with the generated flight mode. At the same time, the laws of reactive control of the quadcopter flight were synthesized and a functional diagram of the control loops was drawn up.

CHAPTER 3. DEVELOPMENT OF A QUADROCOPTER FLIGHT PATH PLANNING SYSTEM

Trajectory planning is a key theoretical and practical issue for realizing autonomous flight of a quadcopter.

In the previous chapters, the quadcopter was modeled, the forces and moments acting on the body were determined, and the equations of motion of the quadcopter in space were obtained. Now let's look at how to use these equations to implement autonomous flight.

As noted in the first chapter, flight planning must be viewed from two perspectives: locally and globally, so as to simulate the real action of the pilot. Based on the results of the second chapter, the use of the center of gravity shift factor in the mathematical model of the quadcopter was justified. This made it possible to develop in more detail the concept of implementing autonomous flight and achieving optimal positioning of the quadcopter without auxiliary navigation systems.

Naturally, the description of the global part of the planning algorithm precedes the local part, since the global algorithm is responsible for the general appearance of the flight, that is, determining the start and end of the flight, given that the environment is known. To do this, we divide the structure of the chapter into two main parts. In the first part, we will consider global planning of the trajectory of a quadcopter in a known environment using the A-star search algorithm, and analyze its advantages and disadvantages. Based on the results obtained, in the first part a new scheduling algorithm is proposed, which is more efficient than the optimized A-star algorithm. The goal of the algorithm is to be able to implement real-time trajectory planning using available computing power. At the same time, the costs of new resources will remain unchanged.

Development of a hybrid search algorithm for global 3.1.

planning the flight path of a quadcopter based on the A-star algorithm and the potential field method. The global algorithm should consider methods for avoiding known obstacles. This is done using an optimized search path planning algorithm.

To generate the trajectory, the A-star or A* algorithm is adopted. Search algorithms have also been used in various examples of trajectory generation. They are fast-acting and easy to perform. However, their huge disadvantage is the local minimum problem. Once in this position, the robot will not be able to make a decision for further movement. In the case of unmanned vehicles, the task is more serious than that of ground-based robots. The UAV can remain in hover mode until the power source runs out. In the case of a quadcopter, this is the battery. For miniature aircraft, the battery lasts no more than 15 minutes. It follows that the local minimum problem is a dangerous situation for aircraft, since there is a risk of an accident.

Much research has been devoted to solving this problem. In this work, the potential field method is used to solve the local minimum problem.

A-star is a first-best-match algorithm in a graph that finds the least time-consuming route from one vertex (start) to another (target). The order of traversal of vertices is determined by a heuristic function, which is calculated by summing “distance + time costs”. This function f(x) is the sum of two others: the time cost function g(x) of reaching the considered vertex (x) from the starting point of movement and a heuristic estimate of the distance h(x) from the considered vertex to the final one. Expression (3.1) describes the method for finding the heuristic function:

() = () + (). (3.1) The function h(x) must be a valid heuristic estimate, that is, it must not overestimate the distance to the target vertex. For example, for a routing problem, h(x) might represent the straight line distance to a target, since it is physically the shortest possible distance between two points.

The A-star algorithm is a type of network search for path planning for robotic systems, since it considers space as a 2D configuration and breaks it down into geometric one-dimensional shapes.

Therefore, we can say that the algorithm does not recognize elements of space and does not determine which configuration to configure - 2D or 3D.

To use the algorithm correctly, you need a GPS system or saving the map in the autopilot memory. Consequently, the A-star algorithm only works in static spaces, where the location of objects and obstacles does not change during trajectory planning and movement.

Let us pose the problem of motion planning for a miniature flying robot - a quadrocopter. It must fly from point S (start) to point G (target) with a constant flight altitude Zconst without colliding with objects located on the 2D path of movement. The algorithm must also solve the local minimum problem in the event of a collision. After planning a safe, optimal flight path, it is necessary to set the obtained coordinates at the autopilot input and solve the inverse dynamics problem in order to carry out the movement. First, let's look at the space of motion. The flight map is shown in Fig. 3.1.

–  –  –

If we assume that all squares are one-dimensional and the length of the side of the square is 10, then we find that the movement is carried out from the center of point S to the center of the next point. Therefore, the value of the function g(x) takes on the following values:

() = 10, if the movement is orthogonal;

() = 14 if the movement is diagonal.

Now let's determine the distance between each of the boundary cells to the target G, taking into account that the distance will only be calculated orthogonally. As an example, let's assume that the distance from point S3 to point G is 4 cells (Fig. 3.3), therefore, you can find the values ​​of the function h(x) using the following formula:

(3.2) () = 10 ·, where K is the number of cells that orthogonally separate any cells (for example, S3) from the target (G).

–  –  –

After finding the value of the function f(x), the quadcopter must move to the cell with the lowest value of the function f(x). Therefore, the quadcopter must move to cell S5, but before that the navigation system will take the following step:

1. Cells around S5 are identified.

2. The values ​​of the function g(x) are saved.

–  –  –

–  –  –

–  –  –

Using the algorithm for finding and optimizing the quadcopter route, we will find the coordinates along the OX and OY axes along which the quadcopter should fly. As can be seen from Fig. 3.7, the coordinates change abruptly, which is an extreme case of quadcopter control.

The results of quadcopter control simulation are shown in Fig. 3.8.

–  –  –

The A-star algorithm, optimized using the potential field method, made it possible to implement trajectory planning in a known environment, taking into account known obstacles, and this was done while avoiding the local minimum problem.

However, the optimized A-star algorithm has a number of disadvantages that must be taken into account before recommending it for use in trajectory planning. First, the performance of the algorithm is directly related to the size of the map or known flight environment. If the problem of a local minimum arises during flight, then the potentials of all cells have to be considered. Secondly, if you use the algorithm without auxiliary navigation systems, then the coordinates of the obstacle will need to be determined on the spot in real time.

To do this, it is necessary to install sensors on board the quadcopter, which has a limited carrying capacity. In parallel, it is necessary to increase data processing resources. Therefore, it is recommended to use the optimized A-star algorithm when planning the flight path of a quadcopter connected to navigation systems, so as to avoid the need to place additional sensors on it.

Trajectory planning using optical odometry3.2.

At this stage, a universal algorithm for planning and generating a trajectory using a technical vision system is considered, based on a geometric approach that connects various coordinate reference systems. At the same time, the laws of transitions from the pixel coordinate system to the hybrid reference system, obtained in the second chapter, are formulated. The proposed algorithm can be used as a local and global trajectory generator without auxiliary navigation systems and in real-time flight mode.

3.2.1. Global trajectory planning algorithm The task of global planning is to fly along control points. This approach has already been applied in detecting quadcopter position and controlling altitude using static label color. The difference between the proposed algorithm and known methods for controlling a quadcopter using a vision system is that for autonomous localization, the quadcopter autopilot determines the distance traveled by calculating the number of rotations of the rotors and the side of rotation, that is, it finds the relationship between the pixel system and the associated coordinate reference system. In this case, a question arises regarding the localization feature in the concept of flight autonomy: how does a quadcopter, a miniature flying robot, determine how far it should move? Typically, to determine the location of an aircraft, in this case a quadcopter, information coming from a global localization system and on-board sensors is used. Here it is proposed to solve the problem using a technical vision system and the optical odometry method, which makes it possible to determine the location and orientation of movement based on the sequence of optical information (images) in each time step. Let's consider the concept of optical odometry in accordance with three coordinate reference systems (Fig. 3.9):

fixed or Earth coordinate system in which the actual flight path is calculated;

associated coordinate system or reference system in relation to the quadcopter;

a reference system based on the position of the camera, fixed at a certain angle relative to the axes of the quadcopter. The camera pixels serve as coordinate axes OphXphYph.

Figure 3.9 Coordinate reference systems for the autonomous flight task To change the position of the quadcopter relative to the Earth, using camera frames, you need to find geometric relationships between different coordinate reference systems.

The AR DRONE quadcopter is an object that has a diagonal aperture deviation within 64 degrees. Using the laws of trigonometry (Fig. 3.9), we obtain the angles of vertical and horizontal deviations equal to 43.18 degrees and 51.62 degrees, respectively.

Radio engineering, including television systems and devices DISSERTATION for the academic degree of Candidate of Technical Sciences Scientific advisor Doctor of Technical Sciences..." GRIDINA MARIA SERGEEVNA STUDY OF THE INFLUENCE OF COMPONENTS OF OIL-CONTAINING WASTES ON THE QUALITY OF PRODUCTS OF HYDROCARBON FRACTIONS HYDROTREATMENT 02.00.13 Oil Economics Dissertation for the scientific degree of a candidate Chemical Sciences Scientific supervisor: Candidate of Chemical Sciences..."

“Al-Jaberi Ramzi Hamid Improving the effectiveness of protecting Yemen’s corporate telecommunications computer networks in low-certainty environments Specialty 05.12.13 – Systems, networks and devices...”

“SHMYREV Denis Viktorovich IMPROVEMENT OF CONTAINER TRANSPORTATION OF CRUSHED WOOD BY WATER TRANSPORT 05.21.01 – “Technology and machines for logging and forestry” DISSERTATION for the academic degree of Candidate of Technical Sciences Scientific advisor: Doctor of Technical Sciences, Professor, Karpachev Sergey Petrovich Moscow...”

“Gorbunov Sergey Andreevich JUSTIFICATION OF PARAMETERS AND DEVELOPMENT OF HIGH-LOADED, ADAPTIVE, RADIAL VORTEX DIRECT-FLOW FANS FOR LOCAL VENTILATION Specialty 05.05.06 – “Mining machines” Thesis for the academic degree of Candidate of Technical Sciences Scientific supervisor – Doctor of Technical Sciences Vladimir Makarov Nikolaevich Ekaterinburg - 2015 CONTENTS INTRODUCTION.. 5 State analysis, problems and criteria...”

“Baga Vadim Nikolaevich UDC 621.5.02+621.22 – IMPROVING METHODS FOR CALCULATION AND DESIGN OF LABYRINTH SEALS FOR PNEUMATIC UNIT SHAFT BASED ON WORKING PROCESS MODELING 05.05.17 – hydraulic machines and hydraulic pneumatic units Disser tation for the academic degree of Candidate of Technical Sciences Scientific supervisor Bondarenko German Andreevich Ph.D. tech. Sciences, Professor Sumy – 201 CONTENTS...”

“Zavgorodniy Dmitry Anatolyevich FAMILY VALUES AND ORIENTATIONS OF RUSSIAN YOUTH IN CONDITIONS OF DEMOGRAPHIC CRISIS: FACTORS OF INFLUENCE AND DEVELOPMENT TRENDS 22.00.04 – social structure, social institutions and processes Dissertation for the scientific degree of candidate of sociological sciences Scientific advisor: Doctor of Social Sciences, prof . S.I. Samygin Krasnodar - 2014 Contents Introduction..3 Chapter 1...”

“ROMANYUK MARGARITA IGOREVNA THEORETICAL FOUNDATIONS FOR CALCULATION OF ULTRASONIC PATHS OF METAL SURFACE CONTROL DEVICES Specialty 09/05/08 – applied acoustics and sound engineering DISSERTATION for the academic degree of Candidate of Technical Sciences Scientific advisor: Doctor of Technical Sciences, Professor Petrishchev Oleg Nikola EVICH K I E V – 2 01 5 CONTENTS INTRODUCTION SECTION...”

PYLAEVA Ekaterina Mikhailovna ACTUALIZATION OF KEY CONCEPTS OF THE TRANSLATION TEXT: ECOLINGUISTIC APPROACH (based on the novel by A.V. Ivanov “The Geographer Drank the Globe Away” and its translation into French) Specialty 02/10/20 – comparative historical, typological and comparative linguistics Dissertation for competition scientific degree candidate of philological sciences..."

“KHOKHLOV Dmitry Yurievich IMPROVEMENT OF TECHNOLOGIES AND MEANS OF PROVIDING UNINTERRUPTED POWER SUPPLY TO AGRICULTURAL INDUSTRIAL COMPLEX ENTERPRISES Specialty: 05.20.02 – Electrical technologies and electrical equipment in agriculture DISSERTATION for the academic degree of Candidate of Technical Sciences Scientific supervisor... »

“DORONINA Olga Ivanovna INFORMATION-MEASURING SYSTEM FOR MONITORING THE RELIABILITY OF OVERHEAD POWER LINES Specialty 05.11.16 – “Information-measuring and control systems (in mechanical engineering)” DISSERTATION for the academic degree of Candidate of Technical Sciences Supervisor: Doctor of Technical Sciences..."

“Mohammed Kamil Ali Ghazi POWER PLANT FOR HEAT SUPPLY TO CONSUMERS USING SOLAR HEATERS IN THE CLIMATIC CONDITIONS OF IRAQ Specialty: 05.14.01 – “Energy systems and...”

“Mikhailov Viktor Alekseevich DEVELOPMENT OF METHODS AND MODELS FOR ANALYSIS AND ASSESSMENT OF SUSTAINABLE OPERATION OF ON-BOARD DIGITAL COMPUTING COMPLEXES UNDER CONDITIONS OF INTENTIONAL INFLUENCE OF ULTRA-SHORT ELECTROMAGNETIC RADIATIONS Specialty 05.12.13 – Systems s, networks and telecommunications devices Dissertation for the degree of Doctor of Technical Sciences Scientific consultant: Doctor of Technical Sciences, ..."


2016 www.site - “Free electronic library - Abstracts, dissertations, conferences”

The materials on this site are posted for informational purposes only, all rights belong to their authors.
If you do not agree that your material is posted on this site, please write to us, we will remove it within 1-2 business days.

This article is rather a logical continuation of my article about the balancer: “Creating a robot balancer on arduino”.
It will very briefly cover: a simple model of angular stabilization of a quadcopter using quaternions, linearization, building control for an object and testing it in Matlab Simulink, as well as testing it on a real object. Crazyflie 1.0 will act as a test subject.

Now it flies like this (at the time of filming I didn’t set the controls very correctly):

Construction of a dynamic system

Let's introduce 2 coordinate systems: a local one, tied to the ground, and a second one, associated with the copter.

It is more convenient to represent the rotation of a body using quaternions due to the smaller number of necessary calculations. Many articles have been written about them, including on Habré. I recommend reading the book “Branets V.N., Shmyglevsky I.P. Using Quaternions in Orientation Problems", thanks to Slovak from the MathWorks Competency Center for the tip.

Let us use the basic law of the dynamics of rotational motion:

Where
- moments acting on the body,
I is the inertia tensor, and
- angular velocities along the main axes (in a related coordinate system).
Thus:
.

By virtue of the theorem on reducing the inertia tensor to the main axes, we represent the inertia tensor in the form: .

We define the external moments through the controls: , where

Thus, the equations of angular velocities in a coupled coordinate system are:

I note that if we took into account the position of the copter, it would be possible not to introduce individual control functions, but to immediately use traction forces as them, which is more convenient and faster for calculations. In this case, the stabilization system does not have any data on the required amount of traction forces, so it is necessary to use just such controls...

The thrust force of a propeller can be roughly described as . Then the equations can be written in terms of the angular frequencies of the propellers, if you can directly control the frequency of the motors and know the specific b:
Where
- Euler angles
I note that I selected the coefficient b manually, by simple selection.

It is also necessary to write down the equation for the rotation quaternion. From the properties of quaternions it follows that
, where are the angular velocities in the coordinate system associated with the aircraft, in which gyroscopes measure the angular velocity.

Let's try to stabilize only angles and angular velocities:

Or more details

Let us introduce the state space vector:
.
It should be noted that if a component is included in the space vector, the system ceases to be controllable. However, we can assume that we can remove it from the state vector, thereby reducing the number of coordinates.

Control vector:
,

The system can be represented in standard form

In our case

, A

Linearization and control construction

Linearizing the system near the origin, we obtain the following matrices A and B:

,

As last time, we use a linear-quadratic regulator. Let me remind you of the Matlab command for calculating it:
=lqr(A,B,Q,R)
The matrices Q and R are weight matrices. Q penalizes for deviation from zero, and R for energy consumption by the control.
As a result, we got the matrix K. In my coefficient matrix, all the non-diagonal elements were very small (about 10^-4) and I did not take them into account.
Let me remind you that to obtain control you need to multiply the matrix K by the vector X. Of course, you can not introduce the concept of a matrix in the code and simply multiply each coordinate by a certain coefficient for speed.

Model verification

To verify the results obtained, a model was created in Matlab Simulink. Let's run it with non-zero initial conditions.

The first graph shows how angular velocities behave, the second shows the change in the quaternion components. Note that the scalar quantity of the quaternion comes to unity, despite the fact that it is not included in the equations of the linearized system. As can be seen from the graphs, the model is stabilizing.

Code

Crazyflie uses the Free RTOS system, where all the code is divided into modules, we are interested in the code sensfusion6.c and stabilizer.c.
Fortunately, the filtering of the accelerometer and gyroscope readings is done in quaternions, the problem is that the sensors on the copter are located for the + circuit. I calculated the model for the X circuit. The only difference is in the choice of controls U1 and U2.

You need to add the code for getting the quaternion in sensfusion6.c:

Void sensfusion6GetQuaternion(float* rq0,float* rq1,float* rq2,float* rq3)( *rq0=q0; *rq1=q1; *rq2=q2; *rq3=q3; )

I didn't add a separate module for the LQR regulator, instead I changed stabilizer.c. Yes, this may not be the most intelligent method, but it is suitable for testing the model.

You should start by adding variables for the current and desired position of the device, as well as controls:

Static float q0Actual; static float q1Actual; static float q2Actual; static float q3Actual; static float q1Desired; static float q2Desired; static float q3Desired; int16_t actuatorU1; int16_t actuatorU2; int16_t actuatorU3;

We do not indicate the desired position along q0 due to the fact that we do not need to stabilize it.

Let's make changes to the code for receiving commands. The copter receives the angle in degrees, mathematically it is more correct to do this:

СommanderGetRPY(&q1Desired, &q2Desired, &q3Desired); q1Desired=cos((-q1Desired/2+90)*0.01745);//*3.14/180/2; q2Desired=cos((q2Desired/2+90)*0.01745); q3Desired=cos((q3Desired/2+90)*0.01745);

Let's change the “fast” cycle (250Hz) of the stabilizer:

Sensfusion6UpdateQ(gyro.x, gyro.y, gyro.z, acc.x, acc.y, acc.z, FUSION_UPDATE_DT); sensfusion6GetEulerRPY(&eulerRollActual, &eulerPitchActual, &eulerYawActual); sensfusion6GetQuaternion(&q0Actual, &q1Actual,&q2Actual,&q3Actual); sensfusion6UpdateP(FUSION_UPDATE_DT); sensfusion6UpdateV(acc.x, acc.y, acc.z, FUSION_UPDATE_DT); actuatorU1=50*(1*(-gyro.x)+245*(q1Actual-q1Desired)); actuatorU2=50*(1*(gyro.y)-200*(q2Actual-q2Desired)); actuatorU3=50*(1.5*(gyro.z)+0*(q3Actual-q3Desired));
The coefficients were selected experimentally, since it was not possible to find out the relationship between the command sent to the motors and the force produced by the motor unit.

I also changed the motor power distribution function:
static void distributePower(const uint16_t thrust, const int16_t u2, const int16_t u3, const int16_t u4) ( motorPowerM1=limitThrust((thrust/4+u3/2+u4/4)*5); motorPowerM2=limitThrust((thrust/4 -u2/2-u4/4)*5); motorPowerM3=limitThrust((thrust/4-u3/2+u4/4)*5); motorPowerM4=limitThrust((thrust/4+u2/2-u4/4 )*5); motorsSetRatio(MOTOR_M1, motorPowerM1); motorsSetRatio(MOTOR_M2, motorPowerM2); motorsSetRatio(MOTOR_M3, motorPowerM3); motorsSetRatio(MOTOR_M4, motorPowerM4); )

Conclusion

Based on the fact that the copter stabilizes its angles, we can conclude that the mathematical model was developed correctly. Unfortunately, it is not yet possible to receive your coordinates and speeds (integrating the accelerometer gives a huge error), so the copter does not reduce the initial speed and does not return to the initial position.
To solve this problem, MIT, for example, uses cameras and tags on its copters.