任世軒,于宗鑫
(長安大學,陜西 西安 710064)
2020年機器人工業(yè)應用已經(jīng)來到了第61個年頭,自1956年喬治·德沃爾(George Devol)和約瑟夫·英格伯格(Joseph Engelberger)開發(fā)出第一臺工業(yè)機器人起,人們開始逐步將機器人應用到各個領域中[1]。現(xiàn)如今,在計算機科學、控制技術、傳感器技術和人工智能算法的迅猛發(fā)展下,機器人與人工智能的發(fā)展必定像滾滾巨浪一般席卷而來,再次為人類生產(chǎn)技術和社會生活帶來一次全新的、全方位的革命[2]。
2020年ROS操作系統(tǒng)同樣也迎來了他的十二歲生日,ROS系統(tǒng)的起源是2007年斯坦福大學人工智能實驗室與機器人技術公司W(wǎng)illow Garage的合作項目——斯坦福人工智能機器人項目the STAIR(Stanford Artificial Intelligence Robot) project[3]2008年之后由Willow Garage來進行推動。隨著PR2那些不可思議的表現(xiàn),譬如疊衣服,插插座,做早飯,ROS也得到越來越多的關注。Willow Garage公司也表示希望借助開源的力量使PR2變成“全能”機器人[4]。
ROS是一個適用于機器人的開源的元操作系統(tǒng)[5]。它提供了操作系統(tǒng)應有的服務,包括硬件抽象,底層設備控制,常用函數(shù)的實現(xiàn),進程間消息傳遞,以及包管理。它也提供用于獲取、編譯、編寫、和跨計算機運行代碼所需的工具和庫函數(shù)[6]。在某些方面ROS相當于一種“機器人框架”(robot frameworks)。ROS的核心是分布式網(wǎng)絡,基于TCP/IP的通信方式,實現(xiàn)模塊點對點的松耦合連接[7]。
筆者重點介紹一種基于ROS的探測機器人控制系統(tǒng)設計方案,通過此機器人達到對室內外場景進行探測的目的,具有模塊化程度高,可移植性、可拓展性強的特點,通過模塊化設計方法使其適用于不同場景的探測。
機器人采用樹莓派4B作為上位機,使用Ubuntu18.04操作系統(tǒng),系統(tǒng)內使用ROSmelodic作為控制平臺。樹莓派上連接LED顯示屏幕、鍵盤、鼠標等外設,通過USB接口連接單線激光雷達、雙目攝像頭和STM32單片機。
在局域網(wǎng)無線信號無法覆蓋的地域進行測試時,使用樹莓作為控制節(jié)點;在局域網(wǎng)無線信號可以通訊的地域進行測試時,可以使用PC通過局域網(wǎng)使用ssh服務對樹莓派及下位機進行控制。
單線激光雷達負責地圖的構建、雙目攝像頭負責對場景進行深度信息掃描。樹莓派上位機通過USB串口與 CH340芯片相連,轉為RS232接口與STM單片機相連,實現(xiàn)上下位機的通信與控制。STM32單片機通過電機驅動器的PWM信號控制左右車輪的轉速,實現(xiàn)兩輪差分驅動。電機再通過編碼器反饋當前碼值給下位機,實現(xiàn)速度閉環(huán)控制。整車硬件系統(tǒng)架構如圖1所示。
圖1 探測機器人硬件架構
上位機樹莓派內使用Ubuntu內ROS元系統(tǒng)搭建。IMU、STM32電機模塊、均通過USB串口實現(xiàn)通信,通過ROS內部的相應節(jié)點實現(xiàn)數(shù)據(jù)上傳,再通過位置積分、二次濾波、傳感器信息融合姿態(tài)估算和概率定位,軟件架構如圖2所示。
圖2 然側機器人軟件架構圖
IMU獲取的數(shù)據(jù)并非穩(wěn)定的,其波動性較強,且會因為裝配誤差產(chǎn)生零點漂移,初始位姿的誤差會在積分運算過程中產(chǎn)生更大的誤差,所以在IMU采集到原始數(shù)據(jù)后需要先使用最小二乘法進行IMU零點誤差的消除,之后使用madgwick算法將三軸加速度計、三軸陀螺儀和三軸磁力計的數(shù)據(jù)進行融合,之后使用擴展卡爾曼濾波和蒙特卡洛實現(xiàn)自身定位。通過一系列坐標轉換完成地圖建立和導航。
使用該機器人搭載上海思嵐公司設計的RPLIDARA1建立室內柵格地圖,由于另外一間房屋過于狹小,本次測試僅使用屋內兩個房間作為測試場地室內實際環(huán)境如圖3。使用catographer算法建立柵格地圖效果如圖4,實驗效果良好。
圖3 室內環(huán)境實景圖4 室內柵格地圖
使用該機器人搭載小覓雙目相機使用rtab-map方法對室外進行院落進行視覺建圖如圖5、6所示。中間黑色區(qū)域為住宅樓體,灰色部分為環(huán)繞住宅樓的道路。
圖5 室外視覺三維地圖 圖6 室外視覺三維地圖(俯視圖)
使用基于ROS的控制系統(tǒng)開發(fā)方案可以迅速便捷的開發(fā)出機器人平臺,且可拓展性強,其上可以搭載多種外設。經(jīng)試驗,此平臺適用于簡單的室內、室外探測場景,可作為SLAM建圖設備的底層行駛平臺,且具備較強的可拓展性。