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