异构模型统一化方法
異構模型統一化方法(heterogeneous multi-agent)
目錄
- 異構模型統一化方法(heterogeneous multi-agent)
- 引言
- UGV模型
- UAV模型
- 模型統一化
- 參考文獻:
搜索關鍵詞:異構多智能體編隊控制 UAV與USV、UGV heterogeneous multi-agent fotmation control
引言
? 編隊控制中一大分支是異構系統的編隊控制。由于單個類型的多智能體能夠執行的任務有限,又各自有各自的缺點。因此,異構系統的編隊開始受到研究學者的關注。如無人機(UAV)和無人車(UGV)的陸空組合編隊,又或者如無人艇(USV)和無人機的海空編隊。
? 但在進行編隊控制之前,面臨著一個相當重要需要解決的問題。異構說明系統的模型不相同,不相同的話如何進行控制器的設計那?這顯然是不切實際的。
? 在經過文獻檢索和閱讀后,我發現盡管對系統的控制方法、具體系統不一致,但進行控制器設計之前,都將系統轉換為統一的一階積分器模型或者二階積分器模型。甚至有的大牛論文上來直接就展示轉換好的模型,到具體實驗時,才用UAV、USV等具體的模型仿真實驗[1]。同時我在經典的著作《FORMATION CONTROL OF Multi-Agent Systems:A Graph Rigidity Approach》中也看到作者專門針對一階積分器和二階積分器模型的編隊控制進行了兩章的說明[2]。不過我還沒看,如有相關的知識,在我看后回來補充。
? 下面舉個例子說明系統是如何通過轉換為積分器模型從而實現異構模型的統一化的。
在文獻[3]中針對UGV、UAV的異構編隊控制進行控制器的設計。
UGV模型
p˙xi(t)=Vi(t)cos?θi(t),p˙yi(t)=Vi(t)sin?θi(t),θ˙i(t)=ωi(t),V˙i(t)=Fi(t)Mri,ω˙i(t)=τi(t)Jri,(1)\begin{array}{l} \dot{p}_{x i}(t)=V_{i}(t) \cos \theta_{i}(t), \\ \dot{p}_{y i}(t)=V_{i}(t) \sin \theta_{i}(t), \\ \dot{\theta}_{i}(t)=\omega_{i}(t), \\ \dot{V}_{i}(t)=\frac{F_{i}(t)}{M_{r i}}, \\ \dot{\omega}_{i}(t)=\frac{\tau_{i}(t)}{J_{r i}}, \end{array}\tag{1} p˙?xi?(t)=Vi?(t)cosθi?(t),p˙?yi?(t)=Vi?(t)sinθi?(t),θ˙i?(t)=ωi?(t),V˙i?(t)=Mri?Fi?(t)?,ω˙i?(t)=Jri?τi?(t)?,?(1)
? 其中pi(t)=[pxi(t),pyi(t)]Tp_i(t)=[p_{xi}(t) ,p_{yi}(t)]^Tpi?(t)=[pxi?(t),pyi?(t)]T是第iii個UGV的位置,Vi(t)V_i(t)Vi?(t)是線速度,wi(t)w_i(t)wi?(t)是角速度,θi(t)\theta_i(t)θi?(t)是第iii個UGV的方位角,MriM_{ri}Mri?是UGV質量,JriJ_{ri}Jri?是轉動慣量,τi\tau_iτi?是UGV的輸入扭矩,Fi(t)F_i(t)Fi?(t)是輸入力。
? 由于非完整約束,系統狀態矩陣的行列式為零。為了解決這個問題,人們認為機器人的前端必須在隊形中。機器人的前點可定義為手點
pxih(t)=pxi(t)+Lrcosθi(t),pyih(t)=pyi(t)+Lrsinθi(t)?(2)p_{xi}^h(t)=p_{xi}(t)+L_rcos\theta_i(t),\\ p_{yi}^h(t)=p_{yi}(t)+L_rsin\theta_i(t)\\?\tag{2} pxih?(t)=pxi?(t)+Lr?cosθi?(t),pyih?(t)=pyi?(t)+Lr?sinθi?(t)?(2)
UAV模型
p¨xi(t)=(cos??i(t)sin?θi(t)cos?ψi(t)+sin??i(t)sin?ψi(t))U1iMqi,p¨yi(t)=(cos??i(t)sin?θi(t)sin?ψi(t)?sin??i(t)cos?ψi(t))U1iMqi,p¨zi(t)=?g+(cos??i(t)cos?θi(t))U1iMq,?¨i(t)=θ˙i(t)ψ˙i(t)(Iy?IzIx)?JqIxθ˙i(t)Ωi+IqIxU2i,θ¨i(t)=?˙i(t)ψ˙i(t)(Iz?IxIy)?JqIy?˙i(t)Ωi+lqIyU3i,ψ¨i(t)=?˙i(t)θ˙i(t)(Ix?IyIz)+1IzU4i,(3)\begin{aligned} \ddot{p}_{x i}(t)= & \left(\cos \phi_{i}(t) \sin \theta_{i}(t) \cos \psi_{i}(t)\right. \\ & \left.+\sin \phi_{i}(t) \sin \psi_{i}(t)\right) \frac{U_{1}^{i}}{M_{q i}}, \\ \ddot{p}_{y i}(t)= & \left(\cos \phi_{i}(t) \sin \theta_{i}(t) \sin \psi_{i}(t)\right. \\ & \left.-\sin \phi_{i}(t) \cos \psi_{i}(t)\right) \frac{U_{1}^{i}}{M_{q i}}, \\ \ddot{p}_{z i}(t)= & -g+\left(\cos \phi_{i}(t) \cos \theta_{i}(t)\right) \frac{U_{1}^{i}}{M_{q}}, \\ \ddot{\phi}_{i}(t)= & \dot{\theta}_{i}(t) \dot{\psi}_{i}(t)\left(\frac{I_{y}-I_{z}}{I_{x}}\right)-\frac{J_{q}}{I_{x}} \dot{\theta}_{i}(t) \Omega^{i}+\frac{I_{q}}{I_{x}} U_{2}^{i}, \\ \ddot{\theta}_{i}(t)= & \dot{\phi}_{i}(t) \dot{\psi}_{i}(t)\left(\frac{I_{z}-I_{x}}{I_{y}}\right)-\frac{J_{q}}{I_{y}} \dot{\phi}_{i}(t) \Omega^{i}+\frac{l_{q}}{I_{y}} U_{3}^{i}, \\ \ddot{\psi}_{i}(t)= & \dot{\phi}_{i}(t) \dot{\theta}_{i}(t)\left(\frac{I_{x}-I_{y}}{I_{z}}\right)+\frac{1}{I_{z}} U_{4}^{i}, \end{aligned}\tag{3} p¨?xi?(t)=p¨?yi?(t)=p¨?zi?(t)=?¨?i?(t)=θ¨i?(t)=ψ¨?i?(t)=?(cos?i?(t)sinθi?(t)cosψi?(t)+sin?i?(t)sinψi?(t))Mqi?U1i??,(cos?i?(t)sinθi?(t)sinψi?(t)?sin?i?(t)cosψi?(t))Mqi?U1i??,?g+(cos?i?(t)cosθi?(t))Mq?U1i??,θ˙i?(t)ψ˙?i?(t)(Ix?Iy??Iz??)?Ix?Jq??θ˙i?(t)Ωi+Ix?Iq??U2i?,?˙?i?(t)ψ˙?i?(t)(Iy?Iz??Ix??)?Iy?Jq???˙?i?(t)Ωi+Iy?lq??U3i?,?˙?i?(t)θ˙i?(t)(Iz?Ix??Iy??)+Iz?1?U4i?,?(3)
其中,pi(t)=[pxi(t),pyi(t),pzi(t)]Tp_i(t)=[p_{xi}(t),p_{yi}(t),p_{zi}(t)]^Tpi?(t)=[pxi?(t),pyi?(t),pzi?(t)]T是第iii個UAV的位置,?i(t)\phi_i(t)?i?(t)是航向角,θi(t)\theta_i(t)θi?(t)是俯仰角,ψi(t)\psi_i(t)ψi?(t)是翻滾角。Ix,Iy,IzI_x,I_y,I_zIx?,Iy?,Iz?是機體慣性,MqM_qMq?是UAV質量,JqJ_qJq?是機身慣性,LqL_qLq?是UAV長度,Ωi\Omega^iΩi是第iii個UAV的電機輸入,UUU是控制輸入。
上面兩種模型顯然是不同的,沒有辦法直接設計控制器(針對具體問題,也不是說完全沒有辦法),因此需要進行模型的統一化。
模型統一化
針對UGV模型中的公式(2)進行求導,得
[p¨xih(t)p¨yih(t)]=R(θi(t))T(t)(4)\left[\begin{array}{l} \ddot{p}_{x i}^{h}(t) \\ \ddot{p}_{y i}^{h}(t) \end{array}\right]=R\left(\theta_{i}(t)\right) T(t)\tag{4} [p¨?xih?(t)p¨?yih?(t)?]=R(θi?(t))T(t)(4)
其中
R(θi(t))=[cos?θi(t)?sin?θi(t)sin?θi(t)cos?θi(t)],T(t)=[Fi(t)Mri?Lrωi2(t)τi(t)LrJri+Vi(t)ωi(t)](5)\begin{array}{l} R\left(\theta_{i}(t)\right)=\left[\begin{array}{cc} \cos \theta_{i}(t) & -\sin \theta_{i}(t) \\ \sin \theta_{i}(t) & \cos \theta_{i}(t) \end{array}\right], \\ T(t)=\left[\begin{array}{c} \frac{F_{i}(t)}{M_{r i}}-L_{r} \omega_{i}^{2}(t) \\ \frac{\tau_{i}(t) L_{r}}{J_{r i}}+V_{i}(t) \omega_{i}(t) \end{array}\right] \tag{5} \end{array} R(θi?(t))=[cosθi?(t)sinθi?(t)??sinθi?(t)cosθi?(t)?],T(t)=[Mri?Fi?(t)??Lr?ωi2?(t)Jri?τi?(t)Lr??+Vi?(t)ωi?(t)?]?(5)
令ui(t)=R(θi(t))T(t)u_i(t)=R(\theta_i(t))T(t)ui?(t)=R(θi?(t))T(t),則:
[p¨xih(t)p¨yih(t)]=ui(t)(6)\left[\begin{array}{l} \ddot{p}_{x i}^{h}(t) \\ \ddot{p}_{y i}^{h}(t) \end{array}\right]=u_i(t)\tag{6} [p¨?xih?(t)p¨?yih?(t)?]=ui?(t)(6)
針對UAV模型,直接可令:
[p¨xi(t)p¨yi(t)p¨zi(t)]=[uxi(t)uyi(t)uzi(t)](7)\left[\begin{array}{l} \ddot{p}_{x i}(t) \\ \ddot{p}_{y i}(t)\\ \ddot{p}_{z i}(t) \end{array}\right]=\left[\begin{array}{l} u_{x i}(t) \\ u_{y i}(t)\\ u_{z i}(t)\\ \end{array}\right]\tag{7} ?p¨?xi?(t)p¨?yi?(t)p¨?zi?(t)??=?uxi?(t)uyi?(t)uzi?(t)??(7)
通過公式(6)和公式(7),可以發現UGV和UAV的模型都轉化為了二階積分器的形式,可以進一步地寫成如下形式,從而進行進一步的編隊控制器設計。
η˙i(t)=?i(t)?˙i(t)=Ui(t)(8)\dot{\eta}_{i}(t)=\epsilon_i(t)\\ \dot{\epsilon}_{i}(t)=U_i(t) \tag{8} η˙?i?(t)=?i?(t)?˙i?(t)=Ui?(t)(8)
其中ηi\eta_iηi?可以認為是位置,?i\epsilon_i?i?認為是速度,UiU_iUi?是控制輸入。
除此之外,在文獻[4]中,系統也是這樣處理的,不過進一步地說明了說明了為什么要改為加速度為控制輸入的統一控制模型,其大致過程跟文獻[3]類似。這里也貼出供參考。
參考文獻:
[1] Hua Y , Dong X , Hu G , et al. Distributed Time-Varying Output Formation Tracking for Heterogeneous Linear Multiagent Systems With a Nonautonomous Leader of Unknown Input[J]. IEEE Transactions on Automatic Control, 2019, 64(10):4292-4299.
[2] M.d. Queiroz,et al.Formation Control of Multi-Agent Systems: A Graph Rigidity Approach[M].Willey.2019.
[3] Rahimi R , Abdollahi F , Naqshi K . Time-varying formation control of a collaborative heterogeneous multi agent system[J]. Robotics and Autonomous Systems, 2014(62-12).
[4] 閆茂德, 周小強, 張遜遜,等. 關于異構無人器地空聯合編隊控制仿真研究[J]. 計算機仿真, 2016(10):5.
如果覺得我寫的不錯,請給我一個免費的贊,如有錯誤,也歡迎向我反饋。
總結
- 上一篇: Java基础学习系列--(五)【迭代器,
- 下一篇: InfiniBand网络