Robotics: Aerial Robotics (air robot) notes (4): UAV dynamics modeling

In this chapter, we'll explore the dynamics of a quadrotor drone. I will focus on the Newton-Euler equations in rigid body dynamics and their form on a quadcopter drone.

Previous chapter link:

Robotics: Aerial Robotics (air robot) notes (3): UAV kinematics

Analysis of Resultant Force and Resultant Moment of Quadrotor UAV

As in the previous discussion, we will discuss two coordinate systems. One is the coordinate system on the mobile robot and the other is the inertial coordinate system. There are four rotors on a quadrotor drone , and each rotor is independently driven by a motor. r is the position vector of the center of mass, and we know the lift generated by each motor and the corresponding drag moment, then the resultant force and resultant moment of the quadrotor UAV can also be calculated:

In order to find the acceleration of the quadrotor UAV, we must introduce the Newton-Euler equation.

Newton-Euler Equations

We regard the rigid body as a system composed of countless particles, and the motion of each particle conforms to Newton's second law:

Then we consider a system composed of particles under Newton's second law:

First of all, we need to define the center of mass C of the system, which can be obtained by the following formula, where p_i is the position vector of each particle in the system, m_i is the mass corresponding to each particle, and m is the mass of the rigid body:

It turns out that the particle system's center of mass C accelerates in inertial frame A as if it were a single  mparticle with mass (equal to the total mass of the system) with a force equal to the resultant external force. So we have the following equation, where acceleration  \textbf{a} is  \textbf{v} the differential of velocity, the superscript A indicates that all these quantities are being calculated in one inertial frame A, and the superscript C  refers to the velocity of the center of mass being calculated :

 Then we can know the momentum through the study of high school physics  \textbf{p}=m\textbf{v} , then we can get the rate of change of the resultant force equal to its linear momentum:

 where  \textbf{L} is the linear momentum of the particle system.

 After considering the translation, then we come to consider the rotation. From the corresponding relationship between force and moment, we can obtain the rate of change of the resultant moment as its angular momentum, where H  is the angular momentum of the inertial system A with the center of mass C of the rigid body B as the origin :

 The expression of angular momentum is as follows, where  \mathbf{I}_C the inertial tensor with C as the origin ^A\omega^B is the angular velocity of rigid body B on inertial frame A:

Principal Axes and Principal Moments of Inertia

The content about the principal axis of inertia and principal moment of inertia in this course is a little bit jumpy, so I will explain it based on my understanding and related introductions on the Internet.

Moment of inertia

Let's first talk about the moment of inertia, which is a physical quantity used to measure an object in rotating motion from a static state to a rotating state or from a rotating state to a static state. In the translational motion of an object, the inertia corresponding to the moment of inertia is the inertia of the object, which is related to the mass. The moment of inertia is not only related to mass, but also related to the distribution state of the mass of the rotating object relative to the axis of rotation.

For a general object, the formula for calculating its moment of inertia around a certain axis z is as follows:

inertia tensor

As an extension of the moment of inertia, the inertia tensor is the measure of the inertia when a rigid body rotates around a certain point. The inertia tensor is related to the selection of the point, the selection of the coordinate system and the mass distribution of the rigid body itself:

I=\begin{bmatrix} I_{xx}&-I_{xy} &-I_{xz} \\ -I_{xy}&I_{yy} &-I_{yz} \\ -I_{xz}&-I_{yz} &I_{zz} \end{bmatrix}

Among them, I_{xx} , I_{yy} and  I_{zz} are moments of inertia, and other elements are called products of inertia. Here is just a little knowledge point, students who are interested in the specific calculation formula of each element can check it by themselves.

Principal axes of inertia and principal moments of inertia

If the selected coordinate system oxyz coincides with the three inertial principal axes of the rigid body at point o, the inertial products are all 0, and the inertia tensor is a diagonal matrix, and each axis of the coordinate system at this time is called the inertial principal axis, and the corresponding The moment of inertia is the principal moment of inertia.

Then the inertia tensor at this time is as follows:

I=\begin{bmatrix} I_{xx}&0 &0 \\ 0&I_{yy} &0 \\0&0 &I_{zz} \end{bmatrix}

The left part of the figure below is the case where the selected coordinate system oxyz does not coincide with the three inertial axes of the rigid body at point o. We can see that the angular momentum vector and the angular velocity vector are not parallel at this time. On the right is the case of coincidence, where the angular momentum vector is parallel to the angular velocity vector. The inertia tensor is only the moment of inertia, which can make the calculation more convenient.

Euler's Equations of Motion

With the previous foreshadowing, we can calculate the corresponding rigid body equation of motion. We choose a coordinate system B on the rigid body. This coordinate system is established along the three inertia axes of the rigid body, and the origin is the center of mass C. It is fixed on the rigid body, so it is called a rigid system. As shown below:

The angular velocity can also be decomposed into the quantities in these three directions:

 Remember the formula for finding the resultant moment?

We can decompose it into two additions, the first of which is the derivative of the angular momentum on the rigid system, and the second is a correction factor to correct the first. This correction factor cross-multiplies the angular velocity and angular momentum of the rigid body coordinate system. In fact, it is a very common concept in the field of mechanics. is different:

The first of these can be written as:

 Then the components of the final resultant moment in three directions can be obtained:

This is Euler's equation of motion, and in what follows we will use p, q and r to represent the angular velocity vectors along b1, b2 and b3:

Quadrotor Equations of Motion

Going back to what I said before, we already know the resultant force and moment of the quadrotor UAV:

Then according to the Newton-Euler equation, we can get the following expression, where R is the rotation matrix of the rigid system B rotating to the inertial system A, and L is the length from each rotor to the center of mass. In fact, all we need to know is some geometry The parameters of the structure, such as mass, moment length, etc., are relatively easy to measure:

Through the above formula, we can also get the relationship between the angular velocity and the Euler angle change:

The derivation of this formula is as follows: 

In ZXY Euler angles, the rotation matrix is:

R=R_z(\psi)R_x(\phi)R_y(\theta)

From the study of the kinematics of the quadrotor UAV in Chapter 3, we know that its antisymmetric matrix characterized by angular velocity is as follows, and the above formula is substituted into the following formula to get:

\hat{w_b}=(p \ q\ r)\hat{} = R^T\dot{R}

=R_y^T\dot{R}_y+R_y^T(R_x^T\dot{R}_x)+R_y^TR_x^T(R_z^T\dot{R}_z)R_xR_y

We know that  R^T\dot{R} it corresponds to the total angular velocity, then  R_y^T\dot{R}_y it corresponds to the angular velocity on y, and the same is true for the rest:

R_x(\phi)^T\dot{R}_x(\phi) = (\dot{\phi} \ 0 \ 0)\hat{}

R_y(\theta)^T\dot{R}_y(\theta) = (0\ \dot{\theta} \ 0)\hat{}

R_z(\psi)^T\dot{R}_z(\psi) = (0 \ 0 \ \dot{\psi} )\hat{}

Using the related properties of matrix product and cross product  Rw \times Rv = R(w\times v), we can get:

(Rw)\hat{}Rv = R\hat{w}v

Then there is, where R is an orthogonal matrix, so  RR^T it is an identity matrix:

(Rw)\hat{}R = R\hat{w} \ \ \ \ \ \ \ or \ \ \ \ \ \ (Rw)\hat{} = R\hat{w}R^T

Let's look back at the original formula, can it be written in the following form, and then take off the hat:

(p \ q\ r)\hat{} = (0 \ \dot{\theta} \0)\hat{} + [R_y^T(\dot{\phi} \0 \0)]\hat{} + [R_y^TR_x^T(0 \0 \ \dot{\psi})]\hat{} \\

(p \ q\ r) = (0 \ \dot{\theta} \0) + [R_y^T(\dot{\phi} \0 \0)] + [R_y^TR_x^T(0 \0 \ \dot{\psi})]

Next  R_y, R_x substitute in:

R_y=\begin{bmatrix} cos\theta&0 &sin\theta \\ 0&1 &0 \\ -sin\theta&0 &cos\theta \end{bmatrix} \ \ \ \ R_x = \begin{bmatrix} 1&0 &0 \\ 0&cos\phi & -sin\phi \\ 0&sin\phi &cos\phi \end{bmatrix}

get: 

\begin{bmatrix} p\\ q\\ r \end{bmatrix}= \begin{bmatrix} \dot{\phi}cos\theta-\dot{\psi}cos\phi sin\theta\\ \dot{ \theta}+\dot{\psi}sin\phi\\ \dot{\phi}sin\theta+\dot{\psi}cos\phi cos\theta \end{bmatrix}= \begin{bmatrix} cos\theta &0 &-cos\phi sin\theta \\ 0 &1 &sin\phi \\ sin\theta&0 &cos\phi cos\theta \end{bmatrix}\begin{bmatrix}\\ \dot{\theta } \\\dot{\psi}\end{bmatrix}

Proven.

State Space for Quadrotors

For the sake of simplicity, we will discuss the movement of the plane drone first, and the drone will only move on the yz plane. In other words, the drone will not move along the x-axis, and it is further assumed that there will be no yaw angle or pitch angle movement, as shown in the figure below, and the specific formula derivation has also been completed in the previous chapter:

Therefore, we have obtained the three equations shown in the figure, which describe the speed change rate in the y and z directions, and the change rate in the yaw angular velocity, which leads to the concept of the state vector.

To describe such a system, it is useful to define a state vector. In the three-dimensional case we use six variables to describe the configuration of the robot. The state vector includes its configuration vector and configuration differential vector, so in the three-dimensional case the state vector has 12 dimensions, and the space containing all these state vectors is called the state space . :

For plane drones, the amount to consider is much less, there are:

 For the equilibrium configuration (equilibrium configuration) , we can imagine that the drone is in a hovering state at this time, then its position in three-dimensional space can be arbitrary, and its yaw angle can also be arbitrary, while the pitch Angle and roll angle are 0, since they are both constants, then the values ​​of their derivatives are both 0, there are:

For plane drones, the same is true:

Next chapter link:

Robotics: Aerial Robotics (air robot) notes (five): PD motion control of drones in two-dimensional plane and three-dimensional space

Guess you like

Origin blog.csdn.net/qq_42286607/article/details/123903669