当前位置:网站首页>【Paper】2006_ Time-Optimal Control of a Hovering Quad-Rotor Helicopter
【Paper】2006_ Time-Optimal Control of a Hovering Quad-Rotor Helicopter
2022-06-30 04:34:00 【Zhao-Jichao】
List of articles
1. Introduction
2. Dynamical Equations of a Quad-Rotor Helicopter


To illustrate the motion of the helicopter , Pictured 1 A schematic diagram is shown in . In the working space of the helicopter , Define the world coordinate system and the body coordinate system . The world coordinate system represents a coordinate system that all discussions can refer to , The body coordinate system is a coordinate system attached to the helicopter . In order to keep the four rotor helicopter hovering , The four driving forces F i , i = 1 , 2 , 3 , 4 F_i, i = 1,2,3,4 Fi,i=1,2,3,4 The size of the helicopter is adjusted to a quarter of the original helicopter weight . By changing the speed of four rotors at the same time , Can realize the body along z z z The vertical movement of the axis . By reversing 1 Number and 3 Speed of rotor No , keep 2 Number and 4 Speed of rotor No , Can realize the body along x x x Forward movement in axis direction . Reverse change 2 Number and 4 Speed of rotor No , keep 1 Number and 3 Speed of rotor No , The utility model can realize the following functions of the machine body y y y The lateral movement of the shaft . The yaw motion is related to the difference between the moments produced by the rotor . For clockwise rotation , rotor 2 and 4 Speed should be increased , To overcome the rotor 1 and 3 The speed of . On the other hand , To rotate counterclockwise , rotor 3 and 1 The speed should be increased , To overcome the rotor 2 and 4 Speed of . surface 1 The symbol names used in this paper are summarized .
According to the Euler angle, the rotation transformation matrix between the world coordinate system and the body coordinate system can be obtained .
R E B = [ cos θ cos ψ sin θ cos ψ sin ϕ − sin ψ cos ϕ sin θ cos ψ cos ϕ + sin ψ sin ϕ cos θ sin ψ sin θ sin ψ sin ϕ − cos ψ cos ϕ sin θ sin ψ cos ϕ − cos ψ sin ϕ − sin θ cos θ sin ϕ cos θ cos ϕ ] (1) R_{EB} = \left[\begin{matrix} \cos\theta \cos\psi & \sin\theta \cos\psi \sin\phi - \sin\psi \cos\phi & \sin\theta \cos\psi \cos\phi + \sin\psi \sin\phi \\ \cos\theta \sin\psi & \sin\theta \sin\psi \sin\phi \red{-} \cos\psi \cos\phi & \sin\theta \sin\psi \cos\phi - \cos\psi \sin\phi \\ -\sin\theta & \cos\theta \sin\phi & \cos\theta \cos\phi \\ \end{matrix}\right] \tag{1} REB=⎣⎡cosθcosψcosθsinψ−sinθsinθcosψsinϕ−sinψcosϕsinθsinψsinϕ−cosψcosϕcosθsinϕsinθcosψcosϕ+sinψsinϕsinθsinψcosϕ−cosψsinϕcosθcosϕ⎦⎤(1)
The original text is the above formula , There should be a sign error ( Red ), The correct should be as follows
R E B = [ cos θ cos ψ sin θ cos ψ sin ϕ − sin ψ cos ϕ sin θ cos ψ cos ϕ + sin ψ sin ϕ cos θ sin ψ sin θ sin ψ sin ϕ + cos ψ cos ϕ sin θ sin ψ cos ϕ − cos ψ sin ϕ − sin θ cos θ sin ϕ cos θ cos ϕ ] (1) R_{EB} = \left[\begin{matrix} \cos\theta \cos\psi & \sin\theta \cos\psi \sin\phi - \sin\psi \cos\phi & \sin\theta \cos\psi \cos\phi + \sin\psi \sin\phi \\ \cos\theta \sin\psi & \sin\theta \sin\psi \sin\phi + \cos\psi \cos\phi & \sin\theta \sin\psi \cos\phi - \cos\psi \sin\phi \\ -\sin\theta & \cos\theta \sin\phi & \cos\theta \cos\phi \\ \end{matrix}\right] \tag{1} REB=⎣⎡cosθcosψcosθsinψ−sinθsinθcosψsinϕ−sinψcosϕsinθsinψsinϕ+cosψcosϕcosθsinϕsinθcosψcosϕ+sinψsinϕsinθsinψcosϕ−cosψsinϕcosθcosϕ⎦⎤(1)
Then the velocity transformation between the body coordinate system and the world coordinate system is obtained
[ u v w ] = R E B [ u B v B w B ] (2) \left[\begin{matrix} u \\ v \\ w \\ \end{matrix}\right] =R_{EB} \left[\begin{matrix} u_B \\ v_B \\ w_B \\ \end{matrix}\right] \tag{2} ⎣⎡uvw⎦⎤=REB⎣⎡uBvBwB⎦⎤(2)
Similarly , The acceleration 、 Rotation speed 、 Location 、 Both forces and moments can be based on R E B R_{EB} REB Convert between coordinate systems .
In the body coordinate system , Force is defined as
F B = [ F x B F y B F z B ] = [ 0 0 ∑ k = 1 4 F k ] (3) F_{B}= \left[\begin{matrix} F_{xB} \\ F_{yB} \\ F_{zB} \\ \end{matrix}\right]= \left[\begin{matrix} 0 \\ 0 \\ \sum_{k=1}^{4} F_k \\ \end{matrix}\right] \tag{3} FB=⎣⎡FxBFyBFzB⎦⎤=⎣⎡00∑k=14Fk⎦⎤(3)
In the world coordinate system , Force can be described as
[ F x F y F z ] = R E B ⋅ F B = ( ∑ k = 1 4 F k ) [ sin θ cos ψ cos ϕ + sin ψ sin ϕ sin θ sin ψ cos ϕ − cos ψ sin ϕ cos θ cos ϕ ] (4) \begin{aligned} \left[\begin{matrix} F_{x} \\ F_{y} \\ F_{z} \\ \end{matrix}\right]= R_{EB} \cdot F_B = (\sum_{k=1}^{4} F_k) \left[\begin{matrix} \sin\theta \cos\psi \cos\phi + \sin\psi \sin\phi \\ \sin\theta \sin\psi \cos\phi - \cos\psi \sin\phi \\ \cos\theta \cos\phi \\ \end{matrix}\right] \end{aligned} \tag{4} ⎣⎡FxFyFz⎦⎤=REB⋅FB=(k=1∑4Fk)⎣⎡sinθcosψcosϕ+sinψsinϕsinθsinψcosϕ−cosψsinϕcosθcosϕ⎦⎤(4)
therefore ,UAV The movement equation in the world coordinate system is
m [ x ¨ y ¨ z ¨ ] = [ F x − K 1 ⋅ x ˙ F y − K 2 ⋅ y ˙ F z − m g − K 3 ⋅ z ˙ ] (5) m \left[\begin{matrix} \ddot{x} \\ \ddot{y} \\ \ddot{z} \\ \end{matrix}\right]= \left[\begin{matrix} F_{x} - K_1 \cdot \dot{x} \\ F_{y} - K_2 \cdot \dot{y} \\ F_{z} - mg - K_3 \cdot \dot{z} \\ \end{matrix}\right] \tag{5} m⎣⎡x¨y¨z¨⎦⎤=⎣⎡Fx−K1⋅x˙Fy−K2⋅y˙Fz−mg−K3⋅z˙⎦⎤(5)
here K i , i = 1 , 2 , 3 K_i, i= 1,2,3 Ki,i=1,2,3 It's the drag coefficient . Be careful , These coefficients are negligible at low speeds .
therefore , The equation of motion can be derived from the balance of force and moment .
ϕ ¨ = l ( F 3 − F 1 − K 4 ϕ ˙ ) I x (6) \ddot{\phi} = \frac{l (F_3 - F_1 - K_4 \dot{\phi})}{I_x} \tag{6} ϕ¨=Ixl(F3−F1−K4ϕ˙)(6)
θ ¨ = l ( F 4 − F 2 − K 5 θ ˙ ) I y (7) \ddot{\theta} = \frac{l (F_4 - F_2 - K_5 \dot{\theta})}{I_y} \tag{7} θ¨=Iyl(F4−F2−K5θ˙)(7)
ψ ¨ = ( M 1 − M 2 + M 3 − M 4 − K 6 ψ ˙ ) I z (8) \ddot{\psi} = \frac{(M_1 - M_2 + M_3 - M_4 - K_6\dot{\psi})}{I_z} \tag{8} ψ¨=Iz(M1−M2+M3−M4−K6ψ˙)(8)
here l l l The length from the center of gravity of the UAV to each rotor , M i , i = 1 , 2 , 3 , 4 M_i, i=1,2,3,4 Mi,i=1,2,3,4 Is the moment of the rotor , I x , I y , I z I_x, I_y, I_z Ix,Iy,Iz Express x , y , z x,y,z x,y,z Moment of inertia in direction . use F 1 , F 2 , F 3 , F 4 F_1, F_2, F_3, F_4 F1,F2,F3,F4 To express ,(8) It can be rewritten as
ψ ¨ = ( F 1 − F 2 + F 3 − F 4 − K 6 ′ ψ ˙ ) I z ′ (9) \ddot{\psi} = \frac{(F_1 - F_2 + F_3 - F_4 - K_6^{'} \dot{\psi})}{I_z^{'}} \tag{9} ψ¨=Iz′(F1−F2+F3−F4−K6′ψ˙)(9)
here I z ′ = I z / C , K 6 ′ = K 6 / C I_z^{'} = I_z /C, K_6^{'}=K_6/C Iz′=Iz/C,K6′=K6/C, C C C Is a scaling factor .
For ease of calculation TOMP problem , Define the input as
u 1 = F 1 + F 2 + F 3 + F 4 u 2 = − F 2 + F 4 u 3 = − F 1 + F 3 u 4 = F 1 − F 2 + F 3 − F 4 (10) \begin{aligned} u_1 =& F_1 + F_2 + F_3 + F_4 \\ u_2 =& - F_2 + F_4 \\ u_3 =& - F_1 + F_3 \\ u_4 =& F_1 - F_2 + F_3 - F_4 \\ \end{aligned} \tag{10} u1=u2=u3=u4=F1+F2+F3+F4−F2+F4−F1+F3F1−F2+F3−F4(10)
The input can be expressed as a matrix
[ u 1 u 2 u 3 u 4 ] = [ 1 1 1 1 0 − 1 0 1 − 1 0 1 0 1 − 1 1 − 1 ] [ F 1 F 2 F 3 F 4 ] (11) \left[\begin{matrix} u_1 \\ u_2 \\ u_3 \\ u_4 \\ \end{matrix}\right]= \left[\begin{matrix} 1 & 1 & 1 & 1 \\ 0 & -1 & 0 & 1 \\ -1 & 0 & 1 & 0 \\ 1 & -1 & 1 & -1 \\ \end{matrix}\right] \left[\begin{matrix} F_1 \\ F_2 \\ F_3 \\ F_4 \\ \end{matrix}\right] \tag{11} ⎣⎢⎢⎡u1u2u3u4⎦⎥⎥⎤=⎣⎢⎢⎡10−111−10−11011110−1⎦⎥⎥⎤⎣⎢⎢⎡F1F2F3F4⎦⎥⎥⎤(11)
So the single force will be
[ F 1 F 2 F 3 F 4 ] = 1 4 [ 1 0 − 2 1 1 − 2 0 − 1 1 0 2 1 1 2 0 − 1 ] [ u 1 u 2 u 3 u 4 ] (12) \left[\begin{matrix} F_1 \\ F_2 \\ F_3 \\ F_4 \\ \end{matrix}\right]= \frac{1}{4} \left[\begin{matrix} 1 & 0 & -2 & 1 \\ 1 & -2 & 0 & -1 \\ 1 & 0 & 2 & 1 \\ 1 & 2 & 0 & -1 \\ \end{matrix}\right] \left[\begin{matrix} u_1 \\ u_2 \\ u_3 \\ u_4 \\ \end{matrix}\right] \tag{12} ⎣⎢⎢⎡F1F2F3F4⎦⎥⎥⎤=41⎣⎢⎢⎡11110−202−20201−11−1⎦⎥⎥⎤⎣⎢⎢⎡u1u2u3u4⎦⎥⎥⎤(12)
therefore , The dynamic equations of the four rotor helicopter are obtained
x ¨ = ( sin ψ sin ϕ + cos ψ sin θ cos ϕ ) u 1 − K 1 x ˙ m (13) \ddot{x}= \frac{(\sin \psi \sin \phi + \cos \psi \sin \theta \cos \phi) u_1 - K_1 \dot{x}}{m} \tag{13} x¨=m(sinψsinϕ+cosψsinθcosϕ)u1−K1x˙(13)
y ¨ = ( sin ψ sin θ cos ϕ − cos ψ sin ϕ ) u 1 − K 2 y ˙ m (14) \ddot{y}= \frac{(\sin \psi \sin \theta \cos \phi - \cos \psi \sin \phi) u_1 - K_2 \dot{y}}{m} \tag{14} y¨=m(sinψsinθcosϕ−cosψsinϕ)u1−K2y˙(14)
z ¨ = ( cos ϕ cos θ ) u 1 − K 3 z ˙ m − g (15) \ddot{z}= \frac{(\cos \phi \cos \theta) u_1 - K_3 \dot{z}}{m} -g \tag{15} z¨=m(cosϕcosθ)u1−K3z˙−g(15)
ϕ ¨ = ( u 3 − K 4 ϕ ˙ ) l I x (16) \ddot{\phi} = \frac{(u_3 - K_4 \dot{\phi})~ l}{I_x} \tag{16} ϕ¨=Ix(u3−K4ϕ˙) l(16)
θ ¨ = ( u 2 − K 5 θ ˙ ) l I y (17) \ddot{\theta} = \frac{(u_2 - K_5 \dot{\theta}) ~l}{I_y} \tag{17} θ¨=Iy(u2−K5θ˙) l(17)
ψ ¨ = ( u 4 − K 6 ′ ψ ˙ ) I z ′ (18) \ddot{\psi} = \frac{(u_4 - K_6^{'} \dot{\psi})}{I_z^{'}} \tag{18} ψ¨=Iz′(u4−K6′ψ˙)(18)
For hovering flight , Speed and roll angle 、 The pitch and yaw angles must be zero , And the four driving forces are F 1 ( 0 ) = F 2 ( 0 ) = F 3 ( 0 ) = F 4 ( 0 ) = m g 4 F_1(0)=F_2(0)=F_3(0)=F_4(0)=\frac{mg}{4} F1(0)=F2(0)=F3(0)=F4(0)=4mg. Substitute these conditions into the formula (13) To formula (18), It can be found that there will be zero acceleration .
The above sentence further verifies that the formula derivation is correct .
边栏推荐
- The same node code will cause duplicate data
- The difference between get and post requests
- Iterator of JS
- Detailed explanation of network layer
- Threadlocal
- FortiGate firewall configuration link detection link monitor and status query
- Blue Bridge Cup: magic cube rotation [Vocational group]
- FortiGate firewall quick initialization administrator password
- Project safety and quality
- Threejs realizes the simulation of river, surface flow, pipe flow and sea surface
猜你喜欢

Mongodb learning

深度融合云平台,对象存储界的“学霸”ObjectScale来了

Junior students summarize JS basic interview questions

Directory operations and virtual file systems

Beanfactory creation process

Myrpc version 3

Myrpc version 1

FortiGate firewall configuration log uploading regularly

With the deep integration of cloud platform, the "Xueba" objectscale in the object storage industry is coming

What is an optocoupler circuit and what should be paid attention to in actual use?
随机推荐
Process architecture and process management
Paging query, using jdbc-- paging query
Internship: interface case implementation
Redis实现短信登入功能(二)Redis实现登入功能
[FPGA] IIC读写EEPROM 的实现
Myrpc version 6
管道实现进程间通信之命名管道
Refers to the difference between IP and *ip at output
Beanfactory creation process
How the FortiGate firewall rejects a port by using the local in policy policy
Qt 6.3.1Conan软件包发布
Redis实现短信登入功能(一)传统的Session登入
Anonymous pipeline for interprocess communication
深度融合云平台,对象存储界的“学霸”ObjectScale来了
Qt6 QML Book/Qt Quick 3D/Qt Quick 3D
Basic knowledge of redis
Daily summary of code knowledge
Error Nova missingauthplugin: an auth plugin is required to determine endpoint URL
Threejs实现模拟河流,水面水流,水管水流,海面
What is the difference between synchronized and lock