小編大學(xué)學(xué)的是自動化(控制)專業(yè),自打上大學(xué)的天起,老師們就語重心長的告訴我們,自動化專業(yè)是萬金油(SHA DOU XUE)專業(yè),培養(yǎng)了大量從事嵌入式軟硬件開發(fā),IT,互聯(lián)網(wǎng),人工智能,計(jì)算機(jī)視覺,儀器儀表,甚至是管理等各行各業(yè)的人才,就是畢業(yè)后從事本專業(yè)的人少之又少,哎,大學(xué)專業(yè)選擇真是一門科學(xué)啊。
本文與大家分享一下移動機(jī)器人研發(fā)中所涉及的一系列控制問題,以說明作為機(jī)器人領(lǐng)域里內(nèi)的核心技術(shù)之一,控制學(xué)也是很“硬核”的。
1. 移動機(jī)器人運(yùn)動控制
“天下武功,唯快不破”,移動機(jī)器人一般通過電機(jī)控制輪子完成移動。作為末端執(zhí)行機(jī)構(gòu),電機(jī)的運(yùn)動控制要求響應(yīng)快(毫秒級響應(yīng)時間),精度高。目前,典型的電機(jī)控制是一個串級控制系統(tǒng),由三個閉環(huán)反饋組成,即位置環(huán),速度環(huán),電流環(huán),其原理如下:
圖1 運(yùn)動控制原理圖
OK,控制模塊本質(zhì)上就是三個PID嵌套,So easy。老師告訴我們,目前90%以上控制系統(tǒng)使用的都是PID,因?yàn)镻ID真的很魯棒。另外,對于移動機(jī)器人的主動輪電機(jī),往往以控制電機(jī)轉(zhuǎn)速為被控變量,此時沒有外面的位置環(huán),只需要速度環(huán),電流環(huán)兩個環(huán)即可。
2. 機(jī)器人運(yùn)動模型
模型是一切控制系統(tǒng)的基礎(chǔ),機(jī)器人運(yùn)動模型描述的是移動機(jī)器人主動輪轉(zhuǎn)動的速度與機(jī)器人整體運(yùn)動狀態(tài)的關(guān)系,不同底盤構(gòu)造的移動人運(yùn)動模型大不相同。常見機(jī)器人運(yùn)動模型有三種:單舵輪、雙輪差動、雙舵輪。
圖2 常見移動機(jī)器人運(yùn)動模型
本文以單舵輪為例(其實(shí)就是一種三輪車),由后面兩個固定軸的從動輪,以及前面一個可以轉(zhuǎn)向的主動輪(舵輪)組成。假設(shè)我們過一個不急的彎,需要以v = 1m/s的線速度前進(jìn),同時帶著w = 0.1rad/s角速度漂亮的漂移過彎。那么我們既要決定打多少方向,又需要決定腳蹬的多猛,這就是機(jī)器人運(yùn)動模型所解決的問題。
根據(jù)圖中所示:
根據(jù)輸入的v= 1m/s, w = 0.1rad/s,可以反算出vf與θ的值,其中θ對應(yīng)于三輪車車頭轉(zhuǎn)的方向大小,而vf對應(yīng)于腳蹬的多快。其他兩種機(jī)器人運(yùn)動模型讀者可自行推導(dǎo)或查找相關(guān)資料,而且實(shí)際上的運(yùn)動模型并沒有如此簡單,還需要考慮車輪的彈性系數(shù)等復(fù)雜的物理變量。
3. 路徑跟蹤
控制論中經(jīng)典Tracking問題,即給定一條軌跡,移動機(jī)器人需要盡量沿軌跡行走,控制目標(biāo)是盡量減小機(jī)器人實(shí)際行走路線與規(guī)劃軌跡的偏差。如下圖所示:
圖3 路徑跟蹤問題示意圖
4. 定位問題
其中,f是運(yùn)動方程,u是輸入,w是輸入噪聲,g是觀測方程,y是觀測數(shù)據(jù),n是觀測噪聲。
常用里程計(jì)信息預(yù)測機(jī)器人下一個狀態(tài)的位置,也就式(1)可以簡化為:
Δxk表示采用里程計(jì)信息計(jì)算得到兩個時間間隔中機(jī)器人的相對運(yùn)動。
而對于激光定位來說,所謂的觀測方程,就是激光雷達(dá)所檢測到的所有激光點(diǎn)與地圖匹配后得到的機(jī)器人位置估計(jì)。
對于視覺SLAM來說,所謂的觀測方程,就是相機(jī)拍攝到的圖片中的特征點(diǎn)與地圖匹配后得到的機(jī)器人位置估計(jì)。
根據(jù)定義,這是典型的卡爾曼濾波(俗稱“即卡又慢”)表示形式,學(xué)過系統(tǒng)辨識與濾波的同學(xué)可以愉快的玩耍了。
5. 多機(jī)調(diào)度
實(shí)際場景中往往需要多臺機(jī)器人同時在線解決復(fù)雜的多項(xiàng)任務(wù),多機(jī)調(diào)度系統(tǒng)需要優(yōu)化每個移動機(jī)器人的行走路徑,避免路徑死鎖,也就是路徑互相被占,且無法自主釋放。
圖5 堵車是死鎖問題,移動機(jī)器人調(diào)度中也會遇到
除了需滿足不死鎖的基本要求,多機(jī)調(diào)度系統(tǒng)更需要合理分配任務(wù)至每個移動機(jī)器人以提升總體任務(wù)執(zhí)行效率,同時選擇合適時機(jī)分配空閑的移動機(jī)器人自動充電??紤]到機(jī)器人隨時可能遇到異常故障退出調(diào)度,以及添加新的機(jī)器人等情況,因此多機(jī)調(diào)度系統(tǒng)解決的是一個隨機(jī)環(huán)境下的動態(tài)優(yōu)化命題,問題復(fù)雜度是NP-hard的,需要開發(fā)人員熟練掌握《運(yùn)籌學(xué)》、《圖論》、《Multi-agent》、《分布式系統(tǒng)控制》、《離散事件動態(tài)系統(tǒng)》等相關(guān)控制領(lǐng)域的知識。
后,作為控制學(xué)眾多研究方向中的當(dāng)紅小生,近火熱出天際,號稱人類第N次工業(yè)革命“人工智能”之術(shù),怎么還沒出現(xiàn)呢?其實(shí),移動機(jī)器人領(lǐng)域的很多問題,終ji的解決方案就是人工智能,比如軌跡跟蹤問題,如果達(dá)到人類的智能就可以隨心所欲的漂移過彎,停車一把到位,比如自主定位問題,人類僅憑一雙眼睛就能環(huán)游世界而不迷路,因此,已經(jīng)有大量研究嘗試采用強(qiáng)化學(xué)習(xí)的方法解決移動機(jī)器人行走的問題,采用深度學(xué)習(xí)方法解決自主定位的問題,這些前沿的算法將是使機(jī)器人真正能夠像人一樣“會看,會想,會走,會做事”的技術(shù)基礎(chǔ)。
本文屬于純原創(chuàng)文章,轉(zhuǎn)載請注明杭州藍(lán)芯科技有限公司