任世軒,于宗鑫
(長安大學,陜西 西安 710064)
2020年機器人工業應用已經來到了第61個年頭,自1956年喬治·德沃爾(George Devol)和約瑟夫·英格伯格(Joseph Engelberger)開發出第一臺工業機器人起,人們開始逐步將機器人應用到各個領域中[1]。現如今,在計算機科學、控制技術、傳感器技術和人工智能算法的迅猛發展下,機器人與人工智能的發展必定像滾滾巨浪一般席卷而來,再次為人類生產技術和社會生活帶來一次全新的、全方位的革命[2]。
2020年ROS操作系統同樣也迎來了他的十二歲生日,ROS系統的起源是2007年斯坦福大學人工智能實驗室與機器人技術公司Willow Garage的合作項目——斯坦福人工智能機器人項目the STAIR(Stanford Artificial Intelligence Robot) project[3]2008年之后由Willow Garage來進行推動。隨著PR2那些不可思議的表現,譬如疊衣服,插插座,做早飯,ROS也得到越來越多的關注。Willow Garage公司也表示希望借助開源的力量使PR2變成“全能”機器人[4]。
ROS是一個適用于機器人的開源的元操作系統[5]。它提供了操作系統應有的服務,包括硬件抽象,底層設備控制,常用函數的實現,進程間消息傳遞,以及包管理。它也提供用于獲取、編譯、編寫、和跨計算機運行代碼所需的工具和庫函數[6]。在某些方面ROS相當于一種“機器人框架”(robot frameworks)。ROS的核心是分布式網絡,基于TCP/IP的通信方式,實現模塊點對點的松耦合連接[7]。
筆者重點介紹一種基于ROS的探測機器人控制系統設計方案,通過此機器人達到對室內外場景進行探測的目的,具有模塊化程度高,可移植性、可拓展性強的特點,通過模塊化設計方法使其適用于不同場景的探測。
機器人采用樹莓派4B作為上位機,使用Ubuntu18.04操作系統,系統內使用ROSmelodic作為控制平臺。樹莓派上連接LED顯示屏幕、鍵盤、鼠標等外設,通過USB接口連接單線激光雷達、雙目攝像頭和STM32單片機。
在局域網無線信號無法覆蓋的地域進行測試時,使用樹莓作為控制節點;在局域網無線信號可以通訊的地域進行測試時,可以使用PC通過局域網使用ssh服務對樹莓派及下位機進行控制。
單線激光雷達負責地圖的構建、雙目攝像頭負責對場景進行深度信息掃描。樹莓派上位機通過USB串口與 CH340芯片相連,轉為RS232接口與STM單片機相連,實現上下位機的通信與控制。STM32單片機通過電機驅動器的PWM信號控制左右車輪的轉速,實現兩輪差分驅動。電機再通過編碼器反饋當前碼值給下位機,實現速度閉環控制。整車硬件系統架構如圖1所示。

圖1 探測機器人硬件架構
上位機樹莓派內使用Ubuntu內ROS元系統搭建。IMU、STM32電機模塊、均通過USB串口實現通信,通過ROS內部的相應節點實現數據上傳,再通過位置積分、二次濾波、傳感器信息融合姿態估算和概率定位,軟件架構如圖2所示。

圖2 然側機器人軟件架構圖
IMU獲取的數據并非穩定的,其波動性較強,且會因為裝配誤差產生零點漂移,初始位姿的誤差會在積分運算過程中產生更大的誤差,所以在IMU采集到原始數據后需要先使用最小二乘法進行IMU零點誤差的消除,之后使用madgwick算法將三軸加速度計、三軸陀螺儀和三軸磁力計的數據進行融合,之后使用擴展卡爾曼濾波和蒙特卡洛實現自身定位。通過一系列坐標轉換完成地圖建立和導航。
使用該機器人搭載上海思嵐公司設計的RPLIDARA1建立室內柵格地圖,由于另外一間房屋過于狹小,本次測試僅使用屋內兩個房間作為測試場地室內實際環境如圖3。使用catographer算法建立柵格地圖效果如圖4,實驗效果良好。

圖3 室內環境實景圖4 室內柵格地圖
使用該機器人搭載小覓雙目相機使用rtab-map方法對室外進行院落進行視覺建圖如圖5、6所示。中間黑色區域為住宅樓體,灰色部分為環繞住宅樓的道路。

圖5 室外視覺三維地圖 圖6 室外視覺三維地圖(俯視圖)
使用基于ROS的控制系統開發方案可以迅速便捷的開發出機器人平臺,且可拓展性強,其上可以搭載多種外設。經試驗,此平臺適用于簡單的室內、室外探測場景,可作為SLAM建圖設備的底層行駛平臺,且具備較強的可拓展性。