当前位置:网站首页>Detailed derivation of Differential Flatness of UAV
Detailed derivation of Differential Flatness of UAV
2022-07-21 20:34:00 【When can I make iron man】
The differential flatness of UAV is derived in detail
The goal is : Turn the status of the UAV into 12 The vector of dimension is 4 Wei said
About the location of the drone , Direction , Velocity and angular velocity are used for position (X,Y,Z) And around z The shaft ψ \psi ψ Angular representation
1. UAV nonlinear dynamics
2. The body coordinate system represents
The thrust of the UAV is always perpendicular to the frame, so
Z B = t ∥ t ∥ Z_B=\frac{t}{\|t\|} ZB=∥t∥t, t = [ x ¨ , y ¨ , z ¨ + g ] T t=[\ddot x,\ddot y,\ddot z + g]^{\mathbf T} t=[x¨,y¨,z¨+g]T
Then we use an intermediate coordinate system to find Y B Y_B YB, The coordinate system is shown in the figure 1 Of , X C , Y C , Z C X_C,Y_C,Z_C XC,YC,ZC.
X C = [ c o s ψ , s i n ψ , 0 ] T X_C=[cos\psi,sin\psi,0]^{\mathbf T} XC=[cosψ,sinψ,0]T
adopt X C X_C XC We get Y B Y_B YB
Y B = Z B × X C ∥ Z B × X C ∥ Y_B=\frac{Z_B \times X_C}{\|Z_B \times X_C\|} YB=∥ZB×XC∥ZB×XC( because X C X_C XC and X B , Z B X_B,Z_B XB,ZB In a plane )
X B = Y B × Z B X_B=Y_B \times Z_B XB=YB×ZB
R B = [ X B Y B Z B ] R_B=[X_B \ Y_B \ Z_B] RB=[XB YB ZB]( The rotation it represents can be represented by ϕ , θ , ψ \phi,\theta,\psi ϕ,θ,ψ The rotation matrix of , So these three corners can be eliminated )
3. Angular velocity replacement
Take the derivative on both sides of the following formula ,( Take the derivative of a rotation matrix , Equal to its angular velocity times its own coordinate system . Derivative of rotation matrix see here : Derivation of rotation matrix
ω B W = ω x X B + ω y Y B + ω z Z B \omega_{BW}=\omega_xX_B+\omega_yY_B+\omega_zZ_B ωBW=ωxXB+ωyYB+ωzZB Represents the angular velocity in the volume coordinate system
On the type of
Bring it into the above formula to get
there h ω h_\omega hω All quantities of are known
h ω = ω B W × Z B = ( ω x X B + ω y Y B + ω z Z B ) × Z B h_\omega=\omega_{BW}\times Z_B=(\omega_xX_B+\omega_yY_B+\omega_zZ_B)\times Z_B hω=ωBW×ZB=(ωxXB+ωyYB+ωzZB)×ZB
because
X B × Z B = − Y B X_B\times Z_B=-Y_B XB×ZB=−YB
Y B × Z B = X B Y_B\times Z_B=X_B YB×ZB=XB
Z B × Z B = 0 → Z_B\times Z_B=\overrightarrow{0} ZB×ZB=0
Therefore, the above formula can be expanded into
h ω = − ω x × Y B + ω y × X B h_\omega= - \omega _x \times Y_B+\omega _y\times X_B hω=−ωx×YB+ωy×XB
And then on both sides Point multiplication Y B Y_B YB, obtain
ω x = − h ω ⋅ Y B \omega _x=-h_\omega \cdot Y_B ωx=−hω⋅YB
Both sides Point multiplication X B X_B XB, obtain
ω Y = h ω ⋅ X B \omega _Y=h_\omega \cdot X_B ωY=hω⋅XB
because ω B W = ω B C + ω C W \omega_{BW}=\omega _{BC}+\omega _{CW} ωBW=ωBC+ωCW, and ω B C \omega _{BC} ωBC stay Z B Z_B ZB There is no weight on ,
therefore ω z = ω B W ⋅ Z B = ω C W ⋯ Z B = ψ ˙ Z W ⋅ Z B \omega _z=\omega _{BW}\cdot Z_B=\omega _{CW} \cdots Z_B=\dot \psi Z_W \cdot Z_B ωz=ωBW⋅ZB=ωCW⋯ZB=ψ˙ZW⋅ZB
thus 12 Dimensional variables become 4 Dimensional variables represent .
In the actual path planning, we only need to plan the location of the trajectory , ψ \psi ψ The angle is usually expressed as the tangential direction of velocity ( Consulted in the Group , I wonder if there is any knowledge I don't know ). The specific control circuit is as follows ;
For example, in mini snap When planning, we only need to throw the planned trajectory plus the tangent direction of speed into this control loop , Can realize the flight of UAV .
— Refer to the mobile robot path planning course of Deep Blue College
边栏推荐
猜你喜欢
Small game items - Gobang game
深度剖析数据在内存中的存储
无法从“boost::shared_ptr<pcl::RangeImage>”转换为“const std::shared_ptr<const pcl::PointCloud<pcl::PointWit
14.【string函数上章】
Stm32f407 based camera (ov7670 without FIFO) image acquisition and LCD display experiment - note sorting
记录关于写程序的一些个小芝士~【持续更~】
16.【字符串的赋值以分号为结束】
今天不拉扯了 不拉扯了 碎碎念 上
矩阵求导常用公式(避坑)+矩阵的模和矩阵的绝对值的求导
[C语言] 0.5倍速讲解世纪大战 有趣的C语言玩法
随机推荐
使用MATLAB GUI 设计工具开发小项目
第四局 下 匹配数据分析
PCL学习第九章《采样一致性》
格式化时间
Pointnet++训练记录——Partseg
Doing questions leads to the understanding of getchar ()
深度剖析 string —— strcat & strncat
Hetai 32 onenet WiFi module - Hetai MCU data cloud through mqtt protocol (II)
求最小公倍数
如何使用正态分布变换进行配准
In depth analysis - Data
codeforces 1647A Madoka and Math Dad
自学编程80余年,这些私藏的实用工具&学习网站陪我走到了现在,必须收藏,学习效率翻倍 - 网站篇
Deep analysis recursion
第五局 阿卡丽教学局 上半场数据分析
小游戏类项目 —— 扫雷
矩阵求导常用公式(避坑)+矩阵的模和矩阵的绝对值的求导
无法从“boost::shared_ptr<pcl::RangeImage>”转换为“const std::shared_ptr<const pcl::PointCloud<pcl::PointWit
让代码解决《线性代数》系列 - 求多项式的最大公因式
Hetai ht32--4spi drive 0.96 inch OLED display implementation