【導(dǎo)讀】機(jī)器人要想完成特定任務(wù),就一定要有所動(dòng)作,這個(gè)時(shí)候,必須掌握如何控制機(jī)器人走直線、曲線,從而使機(jī)器人移動(dòng)到我們想做任務(wù)的地方。機(jī)器人走直線,難嗎?陀螺儀表示,少了它機(jī)器人連直線都走不了。
我們看到一些先進(jìn)的機(jī)器人,走在路上非常穩(wěn),不僅在平地上行動(dòng)不會(huì)摔跤,走在坑洼里也可以極好地保持平衡。
卻有另一些機(jī)器人走路歪歪扭扭,在平地上都可以把自己摔一跤,因?yàn)樗恢雷陨淼钠胶鉅顟B(tài),一步歪,步步歪。
再看 RoboMaster 的機(jī)器人比賽,雖然機(jī)器人都有四個(gè)輪子,不容易摔倒,但要隨心所欲地實(shí)現(xiàn)跑直線、轉(zhuǎn)彎漂移,也需要很好地控制自己的平衡。
因?yàn)闄C(jī)器人的控制系統(tǒng)會(huì)有誤差,所以假設(shè)你讓輪子轉(zhuǎn) 5 圈,可能有一個(gè)輪子只轉(zhuǎn)了 4 圈。還有機(jī)械安裝上的誤差,以及輪子磨損造成了不同的摩擦力,會(huì)導(dǎo)致機(jī)器人越跑越歪。
在 PID 科普的文章中,我們學(xué)過(guò)反饋控制:《什么是機(jī)器人比賽中的PID控制?》。反饋控制的好處就是,假設(shè)有
傳感器去測(cè)量實(shí)際數(shù)據(jù),那就有辦法消除誤差,讓實(shí)際數(shù)據(jù)穩(wěn)定在期望的數(shù)據(jù)上。
所以要讓機(jī)器人只有察覺(jué)到誤差,及時(shí)消除誤差,才能隨心所欲地奔跑。那如何發(fā)現(xiàn)誤差呢?
假設(shè)目標(biāo)是讓機(jī)器人走出一條直線。機(jī)器人走得歪歪扭扭,是因?yàn)楦鞣N擾動(dòng)使它發(fā)生了繞著垂直于地面方向的旋轉(zhuǎn),也就是頭的方向左右擺動(dòng)。因此,要尋找一種傳感器來(lái)測(cè)量機(jī)器人垂直于地面方向的旋轉(zhuǎn)量,然后消除這個(gè)旋轉(zhuǎn)。
產(chǎn)生旋轉(zhuǎn)
尋找適合的傳感器
一般來(lái)說(shuō),找尋傳感器會(huì)從物理的原理上找。高中物理分為力、熱、聲、光、電和磁。先看力學(xué),物體在自旋時(shí)會(huì)有一個(gè)向心力 F,向心力的公式為:
可以看到,雖然 F 和 ω(角速度)相關(guān),似乎可以通過(guò) F 求得 ω,但 F 也和 r(旋轉(zhuǎn)的半徑)相關(guān),而這個(gè) r 無(wú)法測(cè)量,所以向心力這個(gè)思路不行。
除了向心力,還有另一種力叫做科里奧利力。如果旋轉(zhuǎn)物體中,有質(zhì)點(diǎn)由于慣性進(jìn)行了直線運(yùn)動(dòng),相對(duì)于旋轉(zhuǎn)物體產(chǎn)生了偏移,這個(gè)力就會(huì)產(chǎn)生。它的公式為:
v 是內(nèi)部產(chǎn)生的可測(cè)量的震動(dòng)。科里奧利力與向心力不同,它和旋轉(zhuǎn)的半徑?jīng)]有關(guān)系,所以這個(gè)思路可行。
現(xiàn)實(shí)中就有一種傳感器利用這個(gè)原理測(cè)量角速度,這種傳感器叫 MEMS 陀螺儀(微機(jī)械陀螺儀)。MEMS 陀螺儀測(cè)得角速度后,將角速度進(jìn)行積分,就可以得到相對(duì)角度(參考系為自身的某一狀態(tài),比如和剛啟動(dòng)時(shí)的狀態(tài)),最后再用 PID 修正角度,達(dá)到直行的效果。
陀螺儀
我們都知道,凡是測(cè)量都總是會(huì)有誤差,靠積分獲得的角度在一定時(shí)間內(nèi)雖然是可靠的,而積分將誤差同樣累計(jì),在一段時(shí)間后這個(gè)角度也會(huì)越來(lái)越不準(zhǔn),這個(gè)時(shí)間的長(zhǎng)短基本正相關(guān)于器件的價(jià)格。
利用類似原理的還有機(jī)械式陀螺儀和光纖陀螺儀。機(jī)械式陀螺儀是唯一一個(gè)真的有個(gè)陀螺在轉(zhuǎn)的傳感器。而在光學(xué)中,一般是基于薩格納克(Sagnac)效應(yīng)的陀螺。
實(shí)際上,這幾種傳感器更準(zhǔn)確的叫法應(yīng)該是:角速度傳感器。但由于各種原因,現(xiàn)在一般都叫陀螺儀。結(jié)合成本和測(cè)量方法,一般選用 MEMS 陀螺儀。
獲取旋轉(zhuǎn)角度
以 ADIS16470 陀螺儀為例,講解陀螺儀如何獲取角度。
ADIS16470 陀螺儀
陀螺儀可以測(cè)出角速度,把角速度進(jìn)行積分,就可以獲得角度。如果想獲得實(shí)時(shí)的角度,就要知道每次測(cè)量的時(shí)間間隔,利用時(shí)間和角速度再積分,就可以得到實(shí)時(shí)的角度了。
獲得時(shí)間間隔的方法有兩種:
1、裝一個(gè)計(jì)時(shí)器
計(jì)時(shí)器計(jì)算時(shí)間間隔,再告知陀螺儀。但這樣會(huì)有時(shí)間延遲。
2、陀螺儀自己計(jì)時(shí)
ADIS16470 陀螺儀有計(jì)時(shí)功能,自己給自己匯報(bào)時(shí)間,不會(huì)有延遲誤差。
陀螺儀的誤差
測(cè)量總會(huì)有誤差,陀螺儀的誤差產(chǎn)生來(lái)自于各種外力干擾和溫度變化。誤差會(huì)導(dǎo)致用陀螺儀修正過(guò)的機(jī)器人也在左右擺動(dòng),走不出平滑的線,或者靜止時(shí)會(huì)慢慢地自旋,這種現(xiàn)象叫做漂移。
這點(diǎn)誤差對(duì)于地面機(jī)器人的影響可能不大,但是對(duì)于無(wú)人機(jī)或者其他精度要求超高的機(jī)器人來(lái)說(shuō),稍微有點(diǎn)偏差都很致命。
如何消除誤差 溫度因素的誤差
溫度導(dǎo)致的漂移簡(jiǎn)稱溫漂,主要原因是內(nèi)部測(cè)量器件會(huì)隨著溫度的變化而變化,一般有兩種方法解決:
1、硬件式
在陀螺儀旁邊加一個(gè)大電阻進(jìn)行加熱,強(qiáng)制陀螺儀達(dá)到某一個(gè)溫度,就可以保持恒溫狀態(tài);
2、軟件式
先測(cè)量不同溫度下的溫漂情況,然后進(jìn)行擬合和補(bǔ)償,也就是溫漂標(biāo)定,使陀螺儀在不同的溫度下有不同的擬合和補(bǔ)償。
其他因素的誤差
除了測(cè)量相對(duì)角度,還有傳感器可以測(cè)量絕對(duì)角度(參考系為大地坐標(biāo)系)。可以用絕對(duì)角度和相對(duì)角度進(jìn)行互補(bǔ)來(lái)矯正角度。
另一種傳感器叫地磁計(jì),相當(dāng)于電子式的指南針,可以指出地磁場(chǎng)的方向。這種傳感器測(cè)量的是自己與地磁場(chǎng)的角度,也就是絕對(duì)角度。
由于磁場(chǎng)環(huán)境非常的敏感,電機(jī)轉(zhuǎn)動(dòng)和房屋的鋼筋結(jié)構(gòu)都會(huì)對(duì)磁場(chǎng)造成影響,所以磁場(chǎng)的角度一般是不準(zhǔn)的,但是在同一環(huán)境內(nèi)是穩(wěn)定的。
可以得知,陀螺儀適合短時(shí)和動(dòng)態(tài)的,長(zhǎng)時(shí)間下會(huì)有漂移;磁力計(jì)適合長(zhǎng)時(shí)和靜態(tài)的,動(dòng)態(tài)情況下會(huì)有誤差。各取所長(zhǎng),將兩個(gè)數(shù)據(jù)進(jìn)行融合,并使用比較合適的濾波和算法融合手段,最終得到準(zhǔn)確的角度值。這個(gè)過(guò)程也就是姿態(tài)解算。
數(shù)據(jù)融合
一般用卡爾曼濾波器進(jìn)行解算。除了卡爾曼濾波算法,還有其他的融合算法,比如一階的互補(bǔ)濾波、二階互補(bǔ)濾波和權(quán)重參數(shù)自適應(yīng)互補(bǔ)濾波等等。它們的復(fù)雜程度不同,要根據(jù)實(shí)際需求選擇適合的算法。
卡爾曼濾波
對(duì)于角度值的求取解算,一個(gè)傳感器往往是無(wú)能為力的,需要多個(gè)傳感器取長(zhǎng)補(bǔ)短。而陀螺儀數(shù)據(jù)就是最核心的部分,其他傳感器基本是為了抑制陀螺儀的漂移而打輔助。
在實(shí)際的工程中,測(cè)量一個(gè)物體的姿態(tài)是非常常見(jiàn)的需求,所以很多產(chǎn)品都會(huì)把多種傳感器比如陀螺儀、加速度計(jì)、電子羅盤等等集成到一個(gè)模塊上,不需要一一安裝,是不是方便又體貼呀。
集成多個(gè)傳感器的模塊
通過(guò)上述一系列方法,我們獲得了一個(gè)物體相對(duì)于起始位置的角度,就可以利用 PID 反饋控制讓機(jī)器人隨心所欲地奔跑了。
還可以把這樣一套傳感器安裝在云臺(tái)上,將底盤的運(yùn)動(dòng)視為擾動(dòng)。在底盤來(lái)回抖動(dòng)時(shí),云臺(tái)會(huì)以地面為參考系保持靜止,就可以單獨(dú)地控制云臺(tái)。
云臺(tái)靜止,機(jī)身扭動(dòng)
總而言之,機(jī)器人走直線或者像上圖一樣扭腰,看起來(lái)像是一個(gè)很簡(jiǎn)單的事情,但是影響因素有很多,每一步的實(shí)現(xiàn)都需要全面考量,只有選擇了合適的傳感器,才能更好地解決問(wèn)題。
本期作者 華南理工大學(xué) 華南虎 RoboMaster 校機(jī)器人隊(duì)
推薦閱讀: