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