基于視覺(jué)伺服和NMPC 控制實(shí)現(xiàn)四旋翼無(wú)人機(jī)無(wú)定位自主飛行
n 視覺(jué)伺服
視覺(jué)伺服(Visual servo)主要應(yīng)用于機(jī)器人控制領(lǐng)域,其中機(jī)械臂應(yīng)用的最為廣泛。主要原理為從視覺(jué)圖像信息提取特征,根據(jù)圖像特征值來(lái)反饋期望的位置、速度等信息進(jìn)行伺服控制,是機(jī)器控制領(lǐng)域不可或缺的一環(huán)。
視覺(jué)伺服在視覺(jué)特征值上的選取主要分為兩種:基于圖像的視覺(jué)伺服(IBVS) 與基于位置的視覺(jué)伺服(PBVS)。
基于位置的視覺(jué)伺服
PBVS(基于位置的視覺(jué)伺服,Position-based visual servo) 由L. Weiss, A. Sanderson,and C. Neuman 等人在1987 年提出,此方法的視覺(jué)特征值的計(jì)算需要預(yù)先矯正相機(jī)的相關(guān)參數(shù)并且知道被觀測(cè)物體的3D 模型從而推算特征位姿,這個(gè)經(jīng)典的計(jì)算機(jī)視覺(jué)問(wèn)題也被稱作3D 定位問(wèn)題,即使這個(gè)問(wèn)題在20 世紀(jì)已經(jīng)被廣大的CV 工作者所研究并且提出了一些針對(duì)于一些場(chǎng)景下行之有效的方案,這個(gè)階段難免還是會(huì)引入一些定位誤差,就如同1.1對(duì)于分層方案的誤差的考慮,我們不希望將一個(gè)任務(wù)分成多個(gè)任務(wù)而引入額外誤差,更希望使用one stage 方案來(lái)實(shí)現(xiàn)想要的效果,所以在視覺(jué)伺服模塊并沒(méi)有采用PBVS 方法,而是采用下面所提到的IBVS(基于圖像的視覺(jué)伺服, Image-based visual servo) 方法。
基于圖像的視覺(jué)伺服
IBVS 由J. Feddema 和O. Mitchell 等人在1989 年提出[15],此方法的視覺(jué)特征值直接從2D 的像素平面中計(jì)算得到,具體思路就是根據(jù)所輸入的期望圖像,計(jì)算當(dāng)前獲取圖像與期望圖像中的特征值誤差(如圖1–3),將其作為反饋輸入給控制器。
傳統(tǒng)的IBVS 采用的是圖像點(diǎn)特征,除此之外還有兩種較為常見(jiàn)的圖像特征,一是基于霍夫空間的線特征[16],二是區(qū)域性特征(也稱作圖像矩)[17-18]。其中,為了實(shí)現(xiàn)圖像特征的旋轉(zhuǎn)不變性,從而為后續(xù)的控制模塊中平移與旋轉(zhuǎn)解耦(見(jiàn)1.2) 做鋪墊,學(xué)者們提出了兩種方案,一種是統(tǒng)一球體模型(unitary sphere)[17],另外一種是虛擬圖像平面模型(virtual image plane)[18]。
需要注意的一點(diǎn)是IBVS 存在局部最優(yōu)以及深度值估計(jì)的問(wèn)題[11], 但是對(duì)于本實(shí)驗(yàn)場(chǎng)景下,這里所存在的局部最優(yōu)問(wèn)題對(duì)任務(wù)完成度的影響較小并且出現(xiàn)的頻率很低,這得益于我們對(duì)偏航角合理的規(guī)劃(見(jiàn)3.1)。而對(duì)于深度值估計(jì)問(wèn)題,得益于如今相機(jī)傳感器的發(fā)展,出現(xiàn)了很多穩(wěn)定的RGB-D 相機(jī),如Realsense-D435i,能夠以較高幀率與精度穩(wěn)定輸出與RGB 圖對(duì)齊的深度圖,而不用人為地進(jìn)行深度估計(jì)與對(duì)齊。
n NMPC非線性模型預(yù)測(cè)控制
MPC 全稱為Model predictive control,也即模型預(yù)測(cè)控制,是一種應(yīng)用廣泛的經(jīng)典高級(jí)閉環(huán)控制算法,其基本特征有三個(gè):1. 預(yù)測(cè)模型:這一部分是模型預(yù)測(cè)控制的核心,該模型的精度很大程度上決定了控制的精度,主要功能為根據(jù)系統(tǒng)的當(dāng)前輸入來(lái)預(yù)測(cè)系統(tǒng)的未來(lái)輸出。預(yù)測(cè)模型的形式較為靈活,可以是狀態(tài)方程與傳遞函數(shù)這類參數(shù)模型,也可以是階躍與脈沖這類非參數(shù)模型;2. 滾動(dòng)優(yōu)化:這一模塊就是系統(tǒng)根據(jù)所設(shè)計(jì)的損失函數(shù)來(lái)確定最優(yōu)控制量,并且是反復(fù)在線進(jìn)行的,這是MPC 區(qū)別與之前傳統(tǒng)最優(yōu)控制算法的核心之處;3. 反饋校正:這一模塊的輸入為被控制對(duì)象的實(shí)際輸出,從而利用這一實(shí)時(shí)信息對(duì)之前預(yù)測(cè)模型的輸出結(jié)果進(jìn)行修正,從而減少因?yàn)槟P褪?zhǔn)而帶來(lái)的控制優(yōu)化偏移。
MPC 即為MPC 的非線性版本,核心區(qū)別就在上述基本特征中的第 一個(gè)——預(yù)測(cè)模型為非線性,對(duì)于四旋翼無(wú)人機(jī)來(lái)講,要應(yīng)用模型預(yù)測(cè)控制的話必須考慮使用非線性預(yù)測(cè)模型,因?yàn)樗男頍o(wú)人機(jī)的動(dòng)力學(xué)本身就為非線性模型
相機(jī)所收到圖像,提取特征點(diǎn),并且計(jì)算相應(yīng)的圖像矩從而反饋速度以及特征像素坐標(biāo)給NMPC 模塊,同時(shí)速度估計(jì)模塊和IMU 模塊會(huì)反饋測(cè)量所得無(wú)人機(jī)的速度和姿態(tài)給NMPC 模塊,NMPC 接收到這些期望速度與測(cè)量信息后便可以計(jì)算得到最優(yōu)化控制量,隨后送給底層的bodyrates 控制器控制四旋翼無(wú)人機(jī)飛行。
視覺(jué)導(dǎo)航系統(tǒng)(VNS)
公眾號(hào) 掃碼咨詢
![]() | 上海市閔行區(qū)中春路4999號(hào)莘莊商務(wù)樓1326室 |
![]() | service@covond.com |
![]() | m.jxetj.com |
![]() | 交換機(jī):18017588179(孫經(jīng)理) 無(wú)人機(jī):13311882358(孫總) |