主頁 >  其他 > 四旋翼控制系統建模

四旋翼控制系統建模

2020-11-08 14:05:14 其他

文章目錄

  • 四旋翼控制系統建模
    • 1 四旋翼飛行原理
    • 2 四旋翼飛行控制剛體模型
      • 運動學
      • 動力學
    • 2 四旋翼控制框圖
      • 自駕儀常用PID控制結構
      • 2.1 位置控制器
        • 水平位置通道控制設計
        • 高度位置通道控制設計
        • 方向飽和函式
        • 加入飽和的開源自駕儀的位置PID控制
      • 2.2 姿態控制
        • 加入飽和的PID姿態控制
      • 2.3 控制分配器
      • 2.4 四旋翼數學模型
    • 參考鏈接

四旋翼控制系統建模

1 四旋翼飛行原理

前端旋翼 1 和后端旋翼 3 逆時針旋轉,而左端旋翼 2 和右端的旋翼 4 順時 針旋轉,以平衡旋翼旋轉所產生的反扭轉矩,由此可知,懸停時:

四只旋翼的轉速應該相等,以相互抵消反扭力矩;
同時等量地增大或減小四只旋翼的轉速,會引起上升或下降運動;
增大某一只旋翼的轉速,同時等量地減小同組另一只旋翼的轉速,則產生俯仰、橫 滾運動;
增大某一組旋翼的轉速,同時等量減小另一組旋翼的轉速,將產生偏航運動,

在這里插入圖片描述

  • 滾轉、俯仰由同組旋翼的轉速不同產生;偏航由不同組旋翼轉速不同產生,即由反扭力矩產生,
  • 反扭力矩是電機底座賦予旋翼轉速時,旋翼反作用在電機底座的反作用力,由于底座與機臂固連,因此反扭力矩會使機體產生以旋翼中心為軸,與旋翼轉動方向相反的旋轉運動,

2 四旋翼飛行控制剛體模型

{ e p ˙ = e v e v ˙ = g e 3 ? f m R b e e 3 Θ ˙ = W ? b ω J ? b ω ˙ = ? b ω × J ? b ω + G a + τ \left\{ \begin{array}{lr} {{}^{\rm{e}}\dot p = {}^ev}\\ {{}^e\dot v = g{e_3} - \frac{f}{m}{\mathop{\rm R}\nolimits} _{\rm{b}}^{\rm{e}}{e_3}}\\ {\dot \Theta = W \cdot {}^b\omega }\\ {J \cdot {}^b\dot \omega = - {}^b\omega \times J \cdot {}^b\omega + {G_a} + \tau } \end{array} \right. ????????ep˙?=evev˙=ge3??mf?Rbe?e3?Θ˙=W?bωJ?bω˙=?bω×J?bω+Ga?+τ?
其中,
p—位置
v—速度
Θ—歐拉姿態角
W—三軸角速度到歐拉角的變換矩陣
f—機體向上的總拉力
J—轉動慣量
R b e {\mathop{\rm R}\nolimits} _{\rm{b}}^{\rm{e}} Rbe? —機體到世界坐標系旋轉矩陣
ω \omega ω—三軸角速度
G a G_a Ga?—陀螺力矩
τ \tau τ—轉矩

機體到世界坐標系旋轉矩陣:
R b e = ( R e b ) T = ( R z ( ψ ) ? R y ( θ ) ? R x ( ? ) ) T = [ cos ? θ cos ? ψ cos ? ψ sin ? θ sin ? ? ? sin ? ψ cos ? ? cos ? ψ sin ? θ cos ? ? + sin ? ψ sin ? ? cos ? θ sin ? ψ sin ? ψ sin ? θ sin ? ? + cos ? ψ cos ? ? sin ? ψ sin ? θ cos ? ? ? cos ? ψ cos ? ? ? sin ? θ sin ? ? cos ? θ cos ? ? cos ? θ \begin{array}{l} R_{\rm{b}}^{\rm{e}} = {\left( {R_{\rm{e}}^{\rm{b}}} \right)^{\rm{T}}}{\rm{ = }}{\left( {{R_z}\left( \psi \right) \cdot {R_y}\left( \theta \right) \cdot {R_x}\left( \phi \right)} \right)^{\rm{T}}}\\ = \left[ {\begin{array}{l} {\cos \theta \cos \psi }&{\cos \psi \sin \theta \sin \phi - \sin \psi \cos \phi }&{\cos \psi \sin \theta \cos \phi + \sin \psi \sin \phi }\\ {\cos \theta \sin \psi }&{\sin \psi \sin \theta \sin \phi + \cos \psi \cos \phi }&{\sin \psi \sin \theta \cos \phi - \cos \psi \cos \phi }\\ { - \sin \theta }&{\sin \phi \cos \theta }&{\cos \phi \cos \theta } \end{array}} \right. \end{array} Rbe?=(Reb?)T=(Rz?(ψ)?Ry?(θ)?Rx?(?))T=???cosθcosψcosθsinψ?sinθ?cosψsinθsin??sinψcos?sinψsinθsin?+cosψcos?sin?cosθ?cosψsinθcos?+sinψsin?sinψsinθcos??cosψcos?cos?cosθ??

三軸角速率與歐拉角速度關系:
ω = [ p q r ] = [ ? ˙ 0 0 ] + [ 1 0 0 0 cos ? ? sin ? ? 0 ? sin ? ? cos ? ? ] ? [ 0 θ ˙ 0 ] + [ 1 0 0 0 cos ? ? sin ? ? 0 ? sin ? ? cos ? ? ] ? [ cos ? θ 0 ? sin ? θ 0 1 0 sin ? θ 0 cos ? θ ] ? [ 0 0 ψ ˙ ] = [ 1 0 ? sin ? θ 0 cos ? ? sin ? ? cos ? θ 0 ? sin ? ? cos ? ? cos ? θ ] ? [ ? ˙ θ ˙ ψ ˙ ] = T ? Θ ˙ \begin{array}{l} \omega = \left[ {\begin{array}{l} p\\ q\\ r \end{array}} \right] = \left[ {\begin{array}{l} {\dot \phi }\\ 0\\ 0 \end{array}} \right] + \left[ {\begin{array}{l} 1&0&0\\ 0&{\cos \phi }&{\sin \phi }\\ 0&{ - \sin \phi }&{\cos \phi } \end{array}} \right] \cdot \left[ {\begin{array}{l} 0\\ {\dot \theta }\\ 0 \end{array}} \right] + \left[ {\begin{array}{l} 1&0&0\\ 0&{\cos \phi }&{\sin \phi }\\ 0&{ - \sin \phi }&{\cos \phi } \end{array}} \right] \cdot \left[ {\begin{array}{l} {\cos \theta }&0&{ - \sin \theta }\\ 0&1&0\\ {\sin \theta }&0&{\cos \theta } \end{array}} \right] \cdot \left[ {\begin{array}{l} 0\\ 0\\ {\dot \psi } \end{array}} \right]\\ = \left[ {\begin{array}{l} 1&0&{ - \sin \theta }\\ 0&{\cos \phi }&{\sin \phi \cos \theta }\\ 0&{ - \sin \phi }&{\cos \phi \cos \theta } \end{array}} \right] \cdot \left[ {\begin{array}{l} {\dot \phi }\\ {\dot \theta }\\ {\dot \psi } \end{array}} \right] = T \cdot \dot \Theta \end{array} ω=???pqr????=????˙?00????+???100?0cos??sin??0sin?cos?????????0θ˙0????+???100?0cos??sin??0sin?cos?????????cosθ0sinθ?010??sinθ0cosθ????????00ψ˙?????=???100?0cos??sin???sinθsin?cosθcos?cosθ?????????˙?θ˙ψ˙?????=T?Θ˙?
得三軸角速度到歐拉角的變換矩陣:
W = [ 1 tan ? θ sin ? ? tan ? θ cos ? ? 0 cos ? ? ? sin ? ? 0 sin ? ? / cos ? θ cos ? ? / cos ? θ ] = T ? 1 W = \left[ {\begin{array}{lr} 1&{\tan \theta \sin \phi }&{\tan \theta \cos \phi } \\ 0&{\cos \phi }&{ - \sin \phi } \\ 0&{\sin \phi /\cos \theta }&{\cos \phi /\cos \theta } \end{array}} \right]{\text{ = }}{T^{ - 1}} W=???100?tanθsin?cos?sin?/cosθ?tanθcos??sin?cos?/cosθ???? = T?1

四旋翼控制剛體模型是非線性、多耦合、欠驅動系統,因此要對以上四旋翼剛體模型進行化簡,

假設多旋翼的飛行特點是俯仰角和滾轉角都非常小,總拉力約等于四旋翼的重力,即:
sin ? ? ≈ ? \sin \phi \approx \phi sin?? cos ? ? ≈ 1 \cos \phi \approx {\text{1}} cos?1 sin ? θ ≈ θ \sin \theta \approx \theta sinθθ cos ? θ ≈ 1 , \cos \theta \approx {\text{1}}, cosθ1, f ≈ m g f \approx mg fmg
此時: W = I W = I W=I,并忽略 ? b ω × J ? b ω + G a - {}^b\omega \times J \cdot {}^b\omega + {G_a} ?bω×J?bω+Ga?項(陀螺力矩,轉動慣性)

R ? b e e 3 = [ θ cos ? ψ + ? sin ? ψ θ sin ? ψ ? ? cos ? ψ 1 ] \operatorname{R} _{\text{b}}^{\text{e}}{e_3} = \left[ {\begin{array}{l} {\theta \cos \psi + \phi \sin \psi } \\ {\theta \sin \psi - \phi \cos \psi } \\ 1 \end{array}} \right] Rbe?e3?=???θcosψ+?sinψθsinψ??cosψ1????

從而可將可將水平通道與高度通道運動學分離,

整理得線性四旋翼剛體模型:

運動學

  • 水平通道:
    { p ˙ h = v h v ˙ h = ? g A ψ Θ h \left\{ {\begin{array}{l} {{{\dot p}_{\text{h}}} = {v_{\text{h}}}} \\ {{{\dot v}_{\text{h}}} = - g{A_\psi }{\Theta _{\text{h}}}} \end{array}} \right. {p˙?h?=vh?v˙h?=?gAψ?Θh??
    p h = [ p x p y ] , {p_{\text{h}}} = \left[ {\begin{array}{l} {{p_x}} \\ {{p_y}} \end{array}} \right], ph?=[px?py??], R ψ = [ cos ? ψ ? sin ? ψ sin ? ψ cos ? ψ ] , {R_\psi } = \left[ {\begin{array}{l} {\cos \psi }&{ - \sin \psi } \\ {\sin \psi }&{\cos \psi } \end{array}} \right], Rψ?=[cosψsinψ??sinψcosψ?], A ψ = R ψ [ 0 1 ? 1 0 ] , {A_\psi } = {R_\psi }\left[ {\begin{array}{l} 0&1 \\ { - 1}&0 \end{array}} \right], Aψ?=Rψ?[0?1?10?], Θ h = [ ? θ ] {\Theta _{\text{h}}} = \left[ {\begin{array}{l} \phi \\ \theta \end{array}} \right] Θh?=[?θ?]

  • 高度通道:
    { p ˙ z = v z v ˙ z = g ? f m \left\{ {\begin{array}{l} {{{\dot p}_{\text{z}}} = {v_{\text{z}}}} \\ {{{\dot v}_{\text{z}}} = g - \frac{f}{m}} \end{array}} \right. {p˙?z?=vz?v˙z?=g?mf??

動力學

姿態模型:
{ Θ ˙ = ω J ? ω ˙ = τ \left\{ {\begin{array}{l} {\dot \Theta = \omega } \\ {J \cdot \dot \omega = \tau } \end{array}} \right. {Θ˙=ωJ?ω˙=τ?

2 四旋翼控制框圖

在這里插入圖片描述
其中, ? , \phi , ?, θ , \theta, θ, ψ \psi ψ分別指代滾轉、偏航、俯仰, f f f表示總拉力, τ \tau τ表示三軸轉矩,加后綴d代表期望值,
P P P指位置, Θ Θ Θ指姿態角,
? d , k {\varpi _{\text{d}}}_{,k} ?d?,k?指期望電機轉速, σ d , k {\sigma _{\text{d}}}_{,k} σd?,k?期望油門指令

自駕儀常用PID控制結構

2.1 位置控制器

位置控制器根據期望位置與實際位置差,解算為姿態期望,自駕儀的位置控制器結構如下,

水平位置通道控制設計

在這里插入圖片描述

  • 設計水平通道位置控制:水平通道期望位置 p hd {p_{\text{hd}}} phd? ,實際位置 p h {p_{\text{h}}} ph?
    設: e p h = ( p hd ? p h ) {e_{{\text{p}}h}}{\text{ = }}\left( {{p_{{\text{hd}}}} - {p_{\text{h}}}} \right) eph? = (phd??ph?)注意,本文誤差與參考資料中的設定符號相反,下同
    e ˙ p h = ? K p h e p h ? p ˙ hd ? p ˙ h = ? K p h ( p hd ? p h ) {\dot e_{{\text{p}}h}} = - {K_{{\text{p}}h}}{e_{{\text{p}}h}} \Rightarrow {\dot p_{{\text{hd}}}} - {\dot p_{\text{h}}}{\text{ = }} - {K_{{\text{p}}h}}\left( {{p_{{\text{hd}}}} - {p_{\text{h}}}} \right) e˙ph?=?Kph?eph??p˙?hd??p˙?h? = ?Kph?(phd??ph?)
    p hd {p_{\text{hd}}} phd?作為常量項,導數 p ˙ hd {\dot p_{{\text{hd}}}} p˙?hd?為0,輸出被控物件為 p h {p_{\text{h}}} ph? ,令 v h d = p ˙ h {v_{\text{h}}}_{\text{d}}{\text{ = }}{\dot p_{\text{h}}} vh?d? = p˙?h?,即控制 p ˙ h {\dot p_{\text{h}}} p˙?h?使水平通道位置與速度滿足 e ˙ p h = ? K p h e p h {\dot e_{{\text{p}}h}} = - {K_{{\text{p}}h}}{e_{{\text{p}}h}} e˙ph?=?Kph?eph?,根據相平面可知,速度與位置誤差滿足該方程,則誤差會最終收斂于0,即 lim ? t → ∞ ∥ e v h ( t ) ∥ = 0 {\lim _{t \to \infty }}\left\| {{e_{{\text{v}}h}}\left( t \right)} \right\| = 0 limt?evh?(t)=0
    則設計水平通道速度期望
    ? v h d = K p h ( p hd ? p h ) = K p h e p h \Rightarrow {v_{\text{h}}}_{\text{d}}{\text{ = }}{K_{{\text{p}}h}}\left( {{p_{{\text{hd}}}} - {p_{\text{h}}}} \right) = {K_{{\text{p}}h}}{e_{{\text{p}}h}} ?vh?d? = Kph?(phd??ph?)=Kph?eph?

  • 設計水平通道速度控制
    e v h = ( v hd ? v h ) {e_{{\text{v}}h}}{\text{ = }}\left( {{v_{{\text{hd}}}} - {v_{\text{h}}}} \right) evh? = (vhd??vh?)
    e ˙ v h = ? K vhp e v h ? K vhi ∫ e v h ? K vhd e ˙ v h ? v ˙ hd ? v ˙ h = ? K vhp ( v hd ? v h ) ? K vhi ∫ ( v hd ? v h ) ? K vhd ( v ˙ hd ? v ˙ h ) {\dot e_{{\text{v}}h}} = - {K_{{\text{vhp}}}}{e_{{\text{v}}h}} - {K_{{\text{vhi}}}}\int {{e_{{\text{v}}h}}} - {K_{{\text{vhd}}}}{\dot e_{{\text{v}}h}} \Rightarrow {\dot v_{{\text{hd}}}} - {\dot v_{\text{h}}}{\text{ = }} - {K_{{\text{vhp}}}}\left( {{v_{{\text{hd}}}} - {v_{\text{h}}}} \right) - {K_{{\text{vhi}}}}\int {\left( {{v_{{\text{hd}}}} - {v_{\text{h}}}} \right)} - {K_{{\text{vhd}}}}\left( {{{\dot v}_{{\text{hd}}}} - {{\dot v}_{\text{h}}}} \right) e˙vh?=?Kvhp?evh??Kvhi?evh??Kvhd?e˙vh??v˙hd??v˙h? = ?Kvhp?(vhd??vh?)?Kvhi?(vhd??vh?)?Kvhd?(v˙hd??v˙h?)
    水平通道速度控制環, v hd {v_{{\text{hd}}}} vhd?作為常量項, v h {v_{\text{h}}} vh?作為控制物件,得期望水平通道加速度為:
    v ˙ h = K vhp ( v hd ? v h ) + K vhi ∫ ( v hd ? v h ) + K vhd ( v ˙ hd ? v ˙ h ) {\dot v_{\text{h}}}{\text{ = }}{K_{{\text{vhp}}}}\left( {{v_{{\text{hd}}}} - {v_{\text{h}}}} \right){\text{ + }}{K_{{\text{vhi}}}}\int {\left( {{v_{{\text{hd}}}} - {v_{\text{h}}}} \right)} {\text{ + }}{K_{{\text{vhd}}}}\left( {{{\dot v}_{{\text{hd}}}} - {{\dot v}_{\text{h}}}} \right) v˙h? = Kvhp?(vhd??vh?) + Kvhi?(vhd??vh?) + Kvhd?(v˙hd??v˙h?)
    由四旋翼水平通道運動學方程 v ˙ h = ? g A ψ Θ h {{{\dot v}_{\text{h}}} = - g{A_\psi }{\Theta _{\text{h}}}} v˙h?=?gAψ?Θh?得:
    v ˙ h = ? g A ψ Θ hd = K vhp ( v hd ? v h ) + K vhi ∫ ( v hd ? v h ) + K vhd ( v ˙ hd ? v ˙ h ) ? Θ hd = ? g ? 1 A ψ ? 1 ( K vhp e v h + K vhi ∫ e v h + K vhd e ˙ v h ) {\dot v_{\text{h}}} = - g{A_\psi }{\Theta _{{\text{hd}}}} = {K_{{\text{vhp}}}}\left( {{v_{{\text{hd}}}} - {v_{\text{h}}}} \right){\text{ + }}{K_{{\text{vhi}}}}\int {\left( {{v_{{\text{hd}}}} - {v_{\text{h}}}} \right)} {\text{ + }}{K_{{\text{vhd}}}}\left( {{{\dot v}_{{\text{hd}}}} - {{\dot v}_{\text{h}}}} \right)\\\Rightarrow {\Theta _{{\text{hd}}}} = - {g^{ - 1}}A_\psi ^{ - 1}\left( {{K_{{\text{vhp}}}}{e_{{\text{v}}h}} + {K_{{\text{vhi}}}}\int {{e_{{\text{v}}h}}} + {K_{{\text{vhd}}}}{{\dot e}_{{\text{v}}h}}} \right) v˙h?=?gAψ?Θhd?=Kvhp?(vhd??vh?) + Kvhi?(vhd??vh?) + Kvhd?(v˙hd??v˙h?)?Θhd?=?g?1Aψ?1?(Kvhp?evh?+Kvhi?evh?+Kvhd?e˙vh?)

高度位置通道控制設計

在這里插入圖片描述

  • 設計高度通道位置控制:高度通道期望位置 p zd {p_{{\text{zd}}}} pzd? ,實際位置 p z {p_{\text{z}}} pz?
    設: e pz = ( p zd ? p z ) {e_{{\text{pz}}}}{\text{ = }}\left( {{p_{{\text{zd}}}} - {p_{\text{z}}}} \right) epz? = (pzd??pz?)
    e ˙ pz = ? K pz e pz ? p ˙ zd ? p ˙ z = ? K pz ( p zd ? p z ) {\dot e_{{\text{pz}}}} = - {K_{{\text{pz}}}}{e_{{\text{pz}}}} \Rightarrow {\dot p_{{\text{zd}}}} - {\dot p_{\text{z}}}{\text{ = }} - {K_{{\text{pz}}}}\left( {{p_{{\text{zd}}}} - {p_{\text{z}}}} \right) e˙pz?=?Kpz?epz??p˙?zd??p˙?z? = ?Kpz?(pzd??pz?)
    p zd {p_{{\text{zd}}}} pzd?作為常量項,導數 p ˙ zd {\dot p_{{\text{zd}}}} p˙?zd?為0,輸出被控物件為 p z {p_{\text{z}}} pz?,令 v z d = p ˙ z {v_{\text{z}}}_{\text{d}}{\text{ = }}{\dot p_{\text{z}}} vz?d? = p˙?z?,則設計平通道速度期望為:
    ? v z d = K pz ( p zd ? p z ) = K pz e pz \Rightarrow {v_{\text{z}}}_{\text{d}}{\text{ = }}{K_{{\text{pz}}}}\left( {{p_{{\text{zd}}}} - {p_{\text{z}}}} \right) = {K_{{\text{pz}}}}{e_{{\text{pz}}}} ?vz?d? = Kpz?(pzd??pz?)=Kpz?epz?

  • 設計高度通道速度控制
    設: e vz = ( v zd ? v z ) {e_{{\text{vz}}}}{\text{ = }}\left( {{v_{{\text{zd}}}} - {v_{\text{z}}}} \right) evz? = (vzd??vz?)
    e ˙ vz = ? K vzp e vz ? K vzi ∫ e vz ? K vzd e ˙ vz ? v ˙ zd ? v ˙ z = ? K vzp ( v hd ? v h ) ? K vzi ∫ ( v zd ? v z ) ? K vzd ( v ˙ zd ? v ˙ z ) {\dot e_{{\text{vz}}}} = - {K_{{\text{vzp}}}}{e_{{\text{vz}}}} - {K_{{\text{vzi}}}}\int {{e_{{\text{vz}}}}} - {K_{{\text{vzd}}}}{\dot e_{{\text{vz}}}} \Rightarrow {\dot v_{{\text{zd}}}} - {\dot v_{\text{z}}}{\text{ = }} - {K_{{\text{vzp}}}}\left( {{v_{{\text{hd}}}} - {v_{\text{h}}}} \right) - {K_{{\text{vzi}}}}\int {\left( {{v_{{\text{zd}}}} - {v_{\text{z}}}} \right)} - {K_{{\text{vzd}}}}\left( {{{\dot v}_{{\text{zd}}}} - {{\dot v}_{\text{z}}}} \right) e˙vz?=?Kvzp?evz??Kvzi?evz??Kvzd?e˙vz??v˙zd??v˙z? = ?Kvzp?(vhd??vh?)?Kvzi?(vzd??vz?)?Kvzd?(v˙zd??v˙z?)
    高度通道速度控制環, v zd {v_{{\text{zd}}}} vzd?作為常量項, v z {v_{\text{z}}} vz?作為輸出控制物件,得期望高度通道加速度為:
    v ˙ z = K vzp ( v zd ? v z ) + K vzi ∫ ( v zd ? v z ) + K vzd ( v ˙ zd ? v ˙ z ) {\dot v_{\text{z}}}{\text{ = }}{K_{{\text{vzp}}}}\left( {{v_{{\text{zd}}}} - {v_{\text{z}}}} \right){\text{ + }}{K_{{\text{vzi}}}}\int {\left( {{v_{{\text{zd}}}} - {v_{\text{z}}}} \right)} {\text{ + }}{K_{{\text{vzd}}}}\left( {{{\dot v}_{{\text{zd}}}} - {{\dot v}_{\text{z}}}} \right) v˙z? = Kvzp?(vzd??vz?) + Kvzi?(vzd??vz?) + Kvzd?(v˙zd??v˙z?)
    由四旋翼高度通道運動學方程: v ˙ z = g ? f m {{{\dot v}_{\text{z}}} = g - \frac{f}{m}} v˙z?=g?mf?得:
    v ˙ z = g ? f d m = K vzp ( v zd ? v z ) + K vzi ∫ ( v zd ? v z ) + K vzd ( v ˙ zd ? v ˙ z ) ? f d = m ( g ? K vzp e vz + K vzi ∫ e vz + K vzd e ˙ vz ) {\dot v_{\text{z}}} = g - \frac{{{f_d}}}{m} = {K_{{\text{vzp}}}}\left( {{v_{{\text{zd}}}} - {v_{\text{z}}}} \right){\text{ + }}{K_{{\text{vzi}}}}\int {\left( {{v_{{\text{zd}}}} - {v_{\text{z}}}} \right)} {\text{ + }}{K_{{\text{vzd}}}}\left( {{{\dot v}_{{\text{zd}}}} - {{\dot v}_{\text{z}}}} \right)\\ \Rightarrow {f_d} = m\left( {g - {K_{{\text{vzp}}}}{e_{{\text{vz}}}} + {K_{{\text{vzi}}}}\int {{e_{{\text{vz}}}}} + {K_{{\text{vzd}}}}{{\dot e}_{{\text{vz}}}}} \right) v˙z?=g?mfd??=Kvzp?(vzd??vz?) + Kvzi?(vzd??vz?) + Kvzd?(v˙zd??v˙z?)?fd?=m(g?Kvzp?evz?+Kvzi?evz?+Kvzd?e˙vz?)

方向飽和函式

由于四旋翼的簡化模型都是基于小角度假設,因此需要加入方向飽和函式,對速度誤差及位置控制器輸出的姿態期望進行飽和約束,使無人機飛行滿足小角度假設,
s a t gd ( u , a ) ? { u , ∥ u ∥ ∞ ? a a u ∥ u ∥ ∞ , ∥ u ∥ ∞ > a sa{t_{{\text{gd}}}}\left( {u,a} \right) \triangleq \left\{ {\begin{array}{l} {u,}&{{{\left\| u \right\|}_\infty } \leqslant a} \\ {a\frac{u}{{{{\left\| u \right\|}_\infty }}},}&{{{\left\| u \right\|}_\infty } > a} \end{array}} \right. satgd?(u,a)?{u,au?u?,?u??au?>a?
保方向飽和函式,不僅可以限制最終分量每個分量的絕對值不大于a,還可以保證它的方向與原向量u相同,

加入飽和的開源自駕儀的位置PID控制

  • 水平通道:加入方向飽和函式,約束俯仰和滾轉角度滿足小角度約束:
    { v h d = K p h ( p hd ? p h ) = K p h e p h e v h = s a t gd ( v hd ? v h , a 1 ) Θ hd = s a t gd ( ? g ? 1 A ψ ? 1 ( K vhp e v h + K vhi ∫ e v h + K vhd e ˙ v h ) , a 2 ) \left\{ \begin{array}{l} {v_{\text{h}}}_{\text{d}}{\text{ = }}{K_{{\text{p}}h}}\left( {{p_{{\text{hd}}}} - {p_{\text{h}}}} \right) = {K_{{\text{p}}h}}{e_{{\text{p}}h}} \\ {e_{{\text{v}}h}}{\text{ = }}sa{t_{{\text{gd}}}}\left( {{v_{{\text{hd}}}} - {v_{\text{h}}},{a_1}} \right) \\ {\Theta _{{\text{hd}}}} = sa{t_{{\text{gd}}}}\left( { - {g^{ - 1}}A_\psi ^{ - 1}\left( {{K_{{\text{vhp}}}}{e_{{\text{v}}h}} + {K_{{\text{vhi}}}}\int {{e_{{\text{v}}h}}} + {K_{{\text{vhd}}}}{{\dot e}_{{\text{v}}h}}} \right),{a_2}} \right) \\ \end{array} \right. ??????vh?d? = Kph?(phd??ph?)=Kph?eph?evh? = satgd?(vhd??vh?,a1?)Θhd?=satgd?(?g?1Aψ?1?(Kvhp?evh?+Kvhi?evh?+Kvhd?e˙vh?),a2?)?
  • 高度通道:加入方向飽和函式,避免油門指令超出范圍:
    { v z d = K pz ( p zd ? p z ) = K pz e pz e vz = s a t gd ( v zd ? v z , a 4 ) f d = s a t gd ( m ( g ? K vzp e vz + K vzi ∫ e vz + K vzd e ˙ vz ) , a 5 ) \left\{ \begin{array}{l} {v_{\text{z}}}_{\text{d}}{\text{ = }}{K_{{\text{pz}}}}\left( {{p_{{\text{zd}}}} - {p_{\text{z}}}} \right) = {K_{{\text{pz}}}}{e_{{\text{pz}}}}\\ {e_{{\text{vz}}}}{\text{ = }}sa{t_{{\text{gd}}}}\left( {{v_{{\text{zd}}}} - {v_z},{a_4}} \right)\\ {f_{\text{d}}} = sa{t_{{\text{gd}}}}\left( {m\left( {g - {K_{{\text{vzp}}}}{e_{{\text{vz}}}} + {K_{{\text{vzi}}}}\int {{e_{{\text{vz}}}}} + {K_{{\text{vzd}}}}{{\dot e}_{{\text{vz}}}}} \right),{a_5}} \right) \\ \end{array} \right. ????vz?d? = Kpz?(pzd??pz?)=Kpz?epz?evz? = satgd?(vzd??vz?,a4?)fd?=satgd?(m(g?Kvzp?evz?+Kvzi?evz?+Kvzd?e˙vz?),a5?)?

2.2 姿態控制

在這里插入圖片描述
e Θ = ( Θ d ? Θ ) {e_\Theta }{\text{ = }}\left( {{\Theta _{\text{d}}} - \Theta } \right) eΘ? = (Θd??Θ) Θ d = [ Θ h d ψ d ] T {\Theta _d} = {\left[ {\begin{array}{l} {{\Theta _{hd}}}&{{\psi _d}} \end{array}} \right]^T} Θd?=[Θhd??ψd??]T,其中水平兩軸旋轉( (滾轉、俯仰))由水平位置通道控制器解算輸出得到,偏航角( )由外部直接給定,見勺ò肛制框圖,

  • 設計姿態角控制
    e ˙ Θ = ? K Θ e Θ ? Θ ˙ d ? Θ ˙ = ? K Θ ( Θ d ? Θ ) {\dot e_\Theta } = - {K_\Theta }{e_\Theta } \Rightarrow {\dot \Theta _{\text{d}}} - \dot \Theta {\text{ = }} - {K_\Theta }\left( {{\Theta _{\text{d}}} - \Theta } \right) e˙Θ?=?KΘ?eΘ??Θ˙d??Θ˙ = ?KΘ?(Θd??Θ)
    Θ d {\Theta _{\text{d}}} Θd?作為常量項,導數 Θ ˙ d {\dot \Theta _{\text{d}}} Θ˙d?為0,輸出被控物件為 Θ \Theta Θ,令 ω d = Θ ˙ {\omega _d} = \dot \Theta ωd?=Θ˙,得期望的水平通道速度期望:
    ? ω d = K Θ ( Θ d ? Θ ) = K Θ e Θ \Rightarrow {\omega _d}{\text{ = }}{K_\Theta }\left( {{\Theta _{\text{d}}} - \Theta } \right) = {K_\Theta }{e_\Theta } ?ωd? = KΘ?(Θd??Θ)=KΘ?eΘ?

  • 設計姿態角速度控制
    e ˙ ω = ? K ω p e ω ? K ω i ∫ e ω ? K ω d e ˙ ω ? ω ˙ d ? ω ˙ = ? K ω p ( ω d ? ω ) ? K ω i ∫ ( ω d ? ω ) ? K ω d ( ω ˙ d ? ω ˙ ) {\dot e_\omega } = - {K_{\omega p}}{e_\omega } - {K_{\omega i}}\int {{e_\omega }} - {K_{\omega {\text{d}}}}{\dot e_\omega } \Rightarrow {\dot \omega _{\text{d}}} - \dot \omega {\text{ = }} - {K_{\omega p}}\left( {{\omega _{\text{d}}} - \omega } \right) - {K_{\omega i}}\int {\left( {{\omega _{\text{d}}} - \omega } \right)} - {K_{\omega {\text{d}}}}\left( {{{\dot \omega }_{\text{d}}} - \dot \omega } \right) e˙ω?=?Kωp?eω??Kωi?eω??Kωd?e˙ω??ω˙d??ω˙ = ?Kωp?(ωd??ω)?Kωi?(ωd??ω)?Kωd?(ω˙d??ω˙)
    由簡化后的動力學模型 Θ ˙ = ω {\dot \Theta = \omega } Θ˙=ω得:
    J ? ω ˙ = τ ? ω ˙ = τ / J = K ω p ( ω d ? ω ) + K ω i ∫ ( ω d ? ω ) + K ω d ( ω ˙ d ? ω ˙ ) J \cdot \dot \omega = \tau \Rightarrow \dot \omega = \tau /J{\text{ = }}{K_{\omega p}}\left( {{\omega _{\text{d}}} - \omega } \right) + {K_{\omega i}}\int {\left( {{\omega _{\text{d}}} - \omega } \right)} + {K_{\omega {\text{d}}}}\left( {{{\dot \omega }_{\text{d}}} - \dot \omega } \right) J?ω˙=τ?ω˙=τ/J = Kωp?(ωd??ω)+Kωi?(ωd??ω)+Kωd?(ω˙d??ω˙)
    J為常數,可由比例系數彌補,則可設計轉矩期望:
    τ d = K ω p ( ω d ? ω ) + K ω i ∫ ( ω d ? ω ) + K ω d ( ω ˙ d ? ω ˙ ) = K ω p e ω + K ω i ∫ e ω + K ω d e ˙ ω {\tau _{\text{d}}}{\text{ = }}{K_{\omega p}}\left( {{\omega _{\text{d}}} - \omega } \right) + {K_{\omega i}}\int {\left( {{\omega _{\text{d}}} - \omega } \right)} + {K_{\omega {\text{d}}}}\left( {{{\dot \omega }_{\text{d}}} - \dot \omega } \right){\text{ = }}{K_{\omega p}}{e_\omega }{\text{ + }}{K_{\omega i}}\int {{e_\omega }} {\text{ + }}{K_{\omega {\text{d}}}}{\dot e_\omega } τd? = Kωp?(ωd??ω)+Kωi?(ωd??ω)+Kωd?(ω˙d??ω˙) = Kωp?eω? + Kωi?eω? + Kωd?e˙ω?
    類似位置控制器,姿態控制器也需加入飽和,

加入飽和的PID姿態控制

開源自駕儀的姿態PID控制器:
{ ω d = K Θ ( Θ d ? Θ ) = K Θ e Θ e ω = s a t gd ( ω d ? ω , a 1 0 ) τ d = s a t gd ( K ω p e ω + K ω i ∫ e ω + K ω d e ˙ ω , a 11 ) \left\{ \begin{array}{l} {\omega _d}{\text{ = }}{K_\Theta }\left( {{\Theta _{\text{d}}} - \Theta } \right) = {K_\Theta }{e_\Theta } \\ {e_\omega }{\text{ = }}sa{t_{{\text{gd}}}}\left( {{\omega _{\text{d}}} - \omega ,{a_{1{\text{0}}}}} \right) \\ {\tau _{\text{d}}} = sa{t_{{\text{gd}}}}\left( {{K_{\omega p}}{e_\omega }{\text{ + }}{K_{\omega i}}\int {{e_\omega }} {\text{ + }}{K_{\omega {\text{d}}}}{{\dot e}_\omega },{a_{{\text{11}}}}} \right)\\ \end{array} \right. ????ωd? = KΘ?(Θd??Θ)=KΘ?eΘ?eω? = satgd?(ωd??ω,a10?)τd?=satgd?(Kωp?eω? + Kωi?eω? + Kωd?e˙ω?,a11?)?

2.3 控制分配器

控制分配器將期望拉力及力矩轉換為期望的電機轉速,

  • 旋翼無人機懸停時單個螺旋槳拉力可以表示為: T i = c T ? i 2 {T_i} = {c_{\text{T}}}\varpi _i^{\text{2}} Ti?=cT??i2? c T {c_{\text{T}}} cT?為常數且可通過試驗測得,
  • 旋翼無人機懸停時單個螺旋槳在機身上產生的反扭力矩可以表示為 M i = c M ? i 2 {M_i} = {c_{\text{M}}}\varpi _i^{\text{2}} Mi?=cM??i2? c M {c_{\text{M}}} cM?為常數且可通過試驗測得,

X字形四旋翼的控制分配和多旋翼的控制效率模型如下:
[ f τ x τ y τ z ] = [ c T c T c T c T ? 2 2 d c T 2 2 d c T 2 2 d c T ? 2 2 d c T 2 2 d c T ? 2 2 d c T 2 2 d c T ? 2 2 d c T c M c M c M c M ] [ ? 1 2 ? 2 2 ? 3 2 ? 4 2 ] ? [ f τ x τ y τ z ] = [ c T 0 0 0 0 d c T 0 0 0 0 d c T 0 0 0 0 c M ] [ 1 1 1 1 ? 2 2 2 2 2 2 ? 2 2 2 2 ? 2 2 2 2 ? 2 2 1 1 ? 1 ? 1 ] [ ? 1 2 ? 2 2 ? 3 2 ? 4 2 ] \begin{gathered} \left[ {\begin{array}{l} f \\ {{\tau _x}} \\ {{\tau _y}} \\ {{\tau _z}} \end{array}} \right] = \left[ {\begin{array}{l} {{c_T}}&{{c_T}}&{{c_T}}&{{c_T}} \\ { - \frac{{\sqrt 2 }}{2}d{c_T}}&{\frac{{\sqrt 2 }}{2}d{c_T}}&{\frac{{\sqrt 2 }}{2}d{c_T}}&{ - \frac{{\sqrt 2 }}{2}d{c_T}} \\ {\frac{{\sqrt 2 }}{2}d{c_T}}&{ - \frac{{\sqrt 2 }}{2}d{c_T}}&{\frac{{\sqrt 2 }}{2}d{c_T}}&{ - \frac{{\sqrt 2 }}{2}d{c_T}} \\ {{c_M}}&{{c_M}}&{{c_M}}&{{c_M}} \end{array}} \right]\left[ {\begin{array}{l} {\varpi _{\text{1}}^{\text{2}}} \\ {\varpi _{\text{2}}^{\text{2}}} \\ {\varpi _{\text{3}}^{\text{2}}} \\ {\varpi _{\text{4}}^{\text{2}}} \end{array}} \right] \\ \Downarrow \\ \left[ {\begin{array}{l} f \\ {{\tau _x}} \\ {{\tau _y}} \\ {{\tau _z}} \end{array}} \right] = \left[ {\begin{array}{l} {{c_T}}&{\text{0}}&{\text{0}}&{\text{0}} \\ {\text{0}}&{d{c_T}}&{\text{0}}&{\text{0}} \\ {\text{0}}&{\text{0}}&{d{c_T}}&{\text{0}} \\ {\text{0}}&{\text{0}}&{\text{0}}&{{c_M}} \end{array}} \right]\left[ {\begin{array}{l} {\text{1}}&{\text{1}}&{\text{1}}&{\text{1}} \\ { - \frac{{\sqrt 2 }}{2}}&{\frac{{\sqrt 2 }}{2}}&{\frac{{\sqrt 2 }}{2}}&{ - \frac{{\sqrt 2 }}{2}} \\ {\frac{{\sqrt 2 }}{2}}&{ - \frac{{\sqrt 2 }}{2}}&{\frac{{\sqrt 2 }}{2}}&{ - \frac{{\sqrt 2 }}{2}} \\ {\text{1}}&{\text{1}}&{ - 1}&{ - 1} \end{array}} \right]\left[ {\begin{array}{l} {\varpi _{\text{1}}^{\text{2}}} \\ {\varpi _{\text{2}}^{\text{2}}} \\ {\varpi _{\text{3}}^{\text{2}}} \\ {\varpi _{\text{4}}^{\text{2}}} \end{array}} \right] \\ \end{gathered} ?????fτx?τy?τz???????=?????cT??22 ??dcT?22 ??dcT?cM??cT?22 ??dcT??22 ??dcT?cM??cT?22 ??dcT?22 ??dcT?cM??cT??22 ??dcT??22 ??dcT?cM?????????????12??22??32??42?????????????fτx?τy?τz???????=?????cT?000?0dcT?00?00dcT?0?000cM????????????1?22 ??22 ??1?122 ???22 ??1?122 ??22 ???1?1?22 ???22 ???1????????????12??22??32??42????????
c T , d , c M c_T, d, c_M cT?,d,cM?為未知引數,可以用控制器中的比例系數進行補償,設油門、俯仰、滾轉、偏航四個通道的輸出分別為 σ 1 , σ 2 , σ 3 , σ 4 {\sigma _{\text{1}}},{\sigma _{\text{2}}},{\sigma _{\text{3}}},{\sigma _{\text{4}}} σ1?,σ2?,σ3?,σ4?
則令:
[ ? 1 2 ? 2 2 ? 3 2 ? 4 2 ] = [ 1 ? 1 1 1 1 1 1 1 1 1 ? 1 1 1 ? 1 ? 1 ? 1 ] [ σ 1 σ 2 σ 3 σ 4 ] \left[ {\begin{array}{l} {\varpi _{\text{1}}^{\text{2}}} \\ {\varpi _{\text{2}}^{\text{2}}} \\ {\varpi _{\text{3}}^{\text{2}}} \\ {\varpi _{\text{4}}^{\text{2}}} \end{array}} \right]{\text{ = }}\left[ {\begin{array}{l} {\text{1}}&{ - {\text{1}}}&{\text{1}}&{\text{1}} \\ {\text{1}}&{\text{1}}&{\text{1}}&{\text{1}} \\ {\text{1}}&{\text{1}}&{ - {\text{1}}}&{\text{1}} \\ {\text{1}}&{ - {\text{1}}}&{ - {\text{1}}}&{ - {\text{1}}} \end{array}} \right]\left[ {\begin{array}{l} {{\sigma _{\text{1}}}} \\ {{\sigma _{\text{2}}}} \\ {{\sigma _{\text{3}}}} \\ {{\sigma _{\text{4}}}} \end{array}} \right] ??????12??22??32??42??????? = ?????

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/206610.html

標籤:其他

上一篇:MAX30102 血氧除錯筆記

下一篇:Style(2):命名空間

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more