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