除了ROS ,機器人自主定位導航還能怎麼做?

2021-01-09 雷鋒網

雷鋒網按:本文作者科技剪刀手,思嵐科技技術顧問。

隨著這兩年國內機器人的升溫,自主定位導航技術作為機器人智能化的第一步正不斷引起行業內的重視。為了實現這一功能,不少廠家選擇採用機器人作業系統ROS(Robot Operation System),今天我們就聊一聊ROS系統。

| 什麼是ROS?

ROS系統起源於2007年,史丹福大學人工智慧實驗室與機器人技術公司Willow Garage針對其個人機器人項目(Personal Robots Program)開發了ROS的雛形。2008年後,由Willow Garage公司推動了ROS的進一步發展。2012年後,ROS團隊從Willow Garage公司獨立出來,成為非盈利組織the Open Source Robotics Foundation (OSRF),負責維護和更新ROS,並為機器人社區提供相應的支持和開源工具。

                                                      Willow Garage PR2 機器人平臺

ROS大致每年發布一個版本,目前正在維護的ROS版本包括indigo,jade,kinetic,一些早期版本現在已經停止維護。ROS依賴於Linux內核,因此每當Ubuntu版本發生變化,ROS不同版本的依賴也會出現相應的變化。 

| ROS的特性與優勢

ROS雖然被稱為機器人作業系統,其實ROS充當的是通信中間件的角色,即在已有作業系統的基礎上搭建了一整套針對機器人系統的實現框架。ROS還提供一組實用工具和軟體庫,用於維護、構建、編寫和執行可用於多個計算平臺的軟體代碼。

值得一提的是,ROS的設計者考慮到各開發者使用的開發語言不同,因此ROS的開發語言獨立,支持C++, python等多種開發語言。因此,除了官方提供的功能包之外,ROS還聚合了全世界開發者實現的大量開源功能包,如思嵐科技(SLAMTEC)就發布了針對其自主研發的雷射雷達RPLIDAR的ROS功能包rplidar_ros。這些開源功能包與ROS一起構成了強大的開源生態環境。

ROS的系統結構設計也頗有特色,ROS運行時是由多個鬆耦合的進程組成,每個進程ROS稱之為節點(Node),所有節點可以運行在一個處理器上,也可以分布式運行在多個處理器上。在實際使用時,這種鬆耦合的結構設計可以讓開發者根據機器人所需功能靈活添加各個功能模塊。

例如,在一個支持SLAM功能的移動機器人中,雷射數據採集和裡程數據獲取分別由兩個node實現,用於感知環境;SLAM算法運行在另一個node中,用於處理傳感器數據,繪製地圖;SLAM節點和數據採集節點之間採用topics方式通信。當新增一個攝像頭模塊時,僅需在現有結構裡增加一個新的視頻節點,讓其與SLAM節點採用topics方式通信即可,另外兩個功能節點不需任何改動。

             

  ROS構建的室內地圖

與其他開源產品(Linux,GCC等)一樣,ROS具有優良的開源基因,鬆耦合設計方法,可擴展的軟體結構,功能復用思想,極大降低了機器人領域的進入門檻,讓開發者無需像前人一樣走過眾多彎路,掌握多種知識後才能開始實現其機器人設計的夢想。開發者可以用ROS的基礎框架配合選定的功能包快速實現系統原型,從而讓開發人員將更多時間用於核心算法的開發改進上。用戶也可以單獨選用某些功能包,將其集成在已有產品中,實現特定功能。

ROS的缺陷與不足

對於機器人廠家來說,採用ROS進行開發,更多的希望藉助系統實現機器人的導航、定位與路徑規劃,這其中就要依靠SLAM算法 (simultaneous localization and mapping, 即時定位與地圖構建)。但作為一個開源項目,ROS也存在一些問題。例如,ROS因為將功能分布在各個節點之中,節點間基於消息機制通信,通訊部分消耗了很多系統資源。尤其是當所有節點位於同一個處理器時,ROS仍然一直執行相應的消息分發,節點間的數據傳遞通過內存複製,大量的系統資源都浪費在通訊上,使得系統必須選用高性能的處理器和存儲系統以彌補損耗。換句話說,利用ROS來實現SLAM,需要配備性能優越的硬體設備,這對於一些小型化嵌入式平臺,尤其是實際的機器人產品裡,其對計算資源、存儲空間的消耗會使成本大幅上升。

除了ROS本身系統設計的局限性外,利用ROS實現SLAM需要深入的調整優化,需要耗費大量人力與時間成本。更為重要的是,針對具體的機器人產品,如掃地機器人,還需要獨特的貼邊清掃、折回清掃、多房間自主導航等功能,目前已有的ROS系統,只能實現簡單的建圖,無法滿足掃地機器人的實際需要。

| ROS之外,還能怎麼做?

在機器人商用應用開發的道路上,很多技術團隊和公司針對機器人特定功能開發著相應商用產品,特別是在移動機器人領域,如思嵐科技的Slamware控制模塊,就將SLAM算法,導航,定位等功能集成在一個體積很小的模塊,並且提供了多平臺的SDK方便用戶使用。針對掃地機器人等具體領域應用,思嵐科技也提供完整的解決方案,整合了其特有的貼邊清掃、往復式打掃、區域劃分、斷點續掃、自動回充等功能,方便掃地機器人廠家進行整合,不需要進行二次開發。

                    

當然,相較於採用開源ROS系統,選擇已有的成熟解決方案,無疑會增加機器人廠家的成本,但考慮到廠家必須投入大量的人力與時間進行算法優化與調整,這也不失為一種更好的選擇。

綜上,ROS為機器人研究開發提供了標準化的框架,其方便的代碼重用,研究人員間的有效交流,可以加快機器人產品的原型設計和算法開發驗證。但真正要做穩定可靠的產品,選擇已有的成熟解決方案,可以大幅降低研發成本,快速獲得產品原型,投入市場。 

雷鋒網註:本文原載於微信公眾號思嵐科技。本文由作者發布雷鋒網(公眾號:雷鋒網),轉載請聯繫授權並保留出處和作者,不得刪減內容。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • SLAM+運動規劃=機器人自主定位導航
    打開APP SLAM+運動規劃=機器人自主定位導航 SLAMTEC 發表於 2020-03-30 10:39:11 (文章來源:SLAMTEC) SLAM技術作為機器人自主移動的關鍵技術,讓很多人都誤解為:SLAM=機器人自主定位導航。
  • 「機器人自主定位導航技術規範」發布!專家齊聚深圳,共話服務機器...
    2020 年 12 月 17 日,2021 人工智慧技術創新系列高峰論壇——服務機器人產業及應用研討會暨《機器人自主定位導航技術規範》團體標準發布儀式在深圳舉行,政府代表、學術專家、優秀企業家、媒體代表等共話服務機器人產業化落地。研討會由福田區人才服務聯盟單位深圳市人工智慧產業協會主辦,福田區人才工作局指導,共 140 餘人出席研討會,線上觀看人次約 20 萬。
  • 乾貨:機器人開源作業系統ROS
    分層ROS可以分成兩層:低層是作業系統層(上面有描述),上層則是廣大開發者貢獻的功能各異的軟體包例如定位繪圖,行動規劃,感知,模擬等等。第三種的軟體包,通常由於開發者自己開發,使用的功能和應用包括:硬體驅動、機器人模塊、數據類型、計劃、感知、即時定位和地圖構建,仿真工具以及其他算法。
  • 一頓火鍋錢+一臺舊手機 = 自主導航機器人?
    50 美元 + 一臺舊手機 = 自主導航機器人?Intel:Yes!打造一臺能夠執行人體跟蹤、自主導航等高階任務的輪式機器人,需要多少錢?「應該挺多的吧,」估計大部分人都會給出這樣的回答。然而,英特爾實驗室最近開源的 OpenBot,只需要 50 美元(一頓火鍋錢)和一臺從抽屜裡翻出來的舊手機(四捨五入成本為 0)。
  • 除了定位導航,北鬥還能授時?
    大家都知道北鬥其實就是導航衛星,用於定位導航。那北鬥是怎麼進行定位導航的呢?實際上,導航衛星(如北鬥)提供的是授時信息,手機從授時信息中導出位置信息,導航APP再根據位置信息提供日常的定位、導航功能。大家對導航定位都比較熟悉了,那麼授時是什麼呢?授時是什麼?授時就是傳遞時間信息,嚴格來說就是將某一標準時間信號傳遞給需要時間信息的用戶(包括手機、電腦、電視機等),以使得整個系統的時間同步。
  • 讓無人機自主避障教學研究邁向更高處slam導航避障算法
    基於該項理論的基礎上,卓翼智能聯合北航專業視覺導航團隊研發出,基於機器視覺無人平臺自主導航避障系統,具有立體視覺、運動估計、稠密重建、Slam導航、路徑規劃、自主避礙等功能。  4、Jetson TX2機載圖像處理板  Jetson TX2是無人機平臺搭載的深度學習目標檢測算法運行板,為後期將圖像處理移植於機載端進行處理,是深度學習、計算機視覺、圖像處理和GPU計算的優秀系統,非常適合於無人機、自主機器人、移動醫學成像等嵌入式系統應用。
  • 機器人應用部署——ROS簡介
    「機器人」一詞起源於捷克,本意是指「助理」或者「工人」。近100年來,機器人活躍在各行各業,比如工業裝配、食品準備、家庭援助,另外還有各種陸地、海上和空中自主車輛,而機器人技術也在得到不斷的完善。機器人產生的原因基本上都是為了自動執行環境骯髒、乏味、危險或困難的任務。這些機器人擁有「智慧的大腦」,可以獨立工作,或者只需要最低限度的人為幹預。
  • 思嵐科技發布SLAMWARE ROS SDK,全面支持ROS系統
    作為一家專注機器人自主定位導航技術的企業,思嵐科技不僅向市場提供RPLIDAR、SLAMWARE、ZEUS等「看得見」的產品,為方便用戶集成開發,同時也提供一系列的SDK(軟體開發工具包)。如果說思嵐科技的SLAMWARE是加速機器人實現自主行走的一扇門,那麼SDK便是開發者打開這扇門的鑰匙,SLAMWARE SDK針對用戶需求所提供的用以調用和定製相應導航定位系統功能的開發工具包,用戶可以通過使用SDK輕易獲得該平臺提供的功能服務。
  • 機器人作業系統從ROS升級到ROS2 部署不再是難題
    他為自動駕駛汽車、自動駕駛員、老年人和殘疾人提供#AccessibleOlli,在眾包、開源自主機動性方面做了很多研究。  ROS建立強大生態系統,ROS2從原型設計邁向部署  不管是開源軟體,還是開源硬體,一經推出在全球都受到開發者的熱捧,這些產品對科技的發展起到了巨大的推動作用。
  • 機器人課程系列:如何安裝ROS(Robot Operating System,機器人操作...
    維基上ROS的定義如下,ROS(機器人作業系統,RobotOperating System),是專為機器人軟體開發所設計出來的一套電腦作業系統架構。之前的課程裡分享了很多機器人的專案,很多夥伴也都有做各種不同的機器人,例如:雙足機器人、教育型機器人或是Arduino的關節型機器人。這些機器人有些沒有作業系統,且硬體設計都不一樣,如果在新的項目只是想用之前設計的一部分的話,代表要重複製作,才有辦法使用到別人早就做過的東西。
  • 掃地機器人哪個牌子好?精準導航高效掃拖才靠譜
    怎麼才能買到一款滿意的掃地機器人?這個問題相信很多朋友都想知道答案,表面看掃地機器人都大同小異,其實導航、掃地和拖地設計、續航時間等都會對掃地機器人的性能造成直接影響,只有從多個方面對掃地機器人進行全面考察,才能知道一款掃地機器人到底值不值得買。
  • 智造講堂:RFID定位導航技術
    基於RFID的導航技術RFID導航是指利用RFID導引機器人達到預定位置的技術。由於RFID相較視覺,具有ID識別及成本低的優點,RFID導航技術近年來逐漸受到廣大學者的關注。根據所利用射頻信息的不同,分為基於RSSI和基於相位兩大類,具體方法又分為:參考標籤法、旋轉天線法、RSSI梯度法、模糊控制法。
  • 機器人還能與我們做同事?
    機器人還能與我們做同事? 人工智慧實驗室 發表於 2020-12-27 10:09:58   高飛昌胡林是廣汽埃安新能源汽車有限公司製造部焊裝車間的一名管理人員。
  • ROS——機器人世界的Android
    在Willow Garage,團隊開始著手開發一個基本的機器人作業系統,能夠支持PR2研究平臺,其初始目標就是讓開發者不再疲於重新設計框架,解放了這種費時費力價值低的勞動力。雖然最初的目標用戶,只是高校的研究生們,為了簡化他們的工作,沒想到的是,他們竟然開發出了一套完整的機器人作業系統,即ROS。
  • 牛年春晚上的黑科技機器人,究竟是什麼來頭?
    (在科技面前,狗子都要失業了)最新的Spot機器人新增了自主導航功能,讓它可以在辦公室自由穿行,會主動避開障礙物,甚至還會爬樓梯。關於Spot機器人的自主導航,官方發布的視頻中寫了這麼一段話:「在測試之前,機器人在人類的指引下穿過空間,以便可以直接使用安裝在機器人正面、後面和側面的攝像機的可視數據來創建空間地圖。
  • 如何利用ROS MoveIt快速搭建機器人運動規劃平臺?
    用MoveIt官網(moveit.ros.org)的說法: 它是目前最先進的移動(坑)操作機器人軟體,整合了最先進的運動規劃、操作、3D感知、運動學、控制與導航算法。為這方面的開發人員提供了一個十分便利的開發平臺。 這個說法不太直觀,換個說法就是MoveIt = RobotGo,翻譯成中文就是「機器人,走你!」
  • 全球首發 EAI ROS教學移動機器人LEO在IROS震撼發布
    軟體上,LEO教學移動機器人支持ROS機器人作業系統,算法全部開源,並且附有全套EAI算法參數調試說明,此外,EAI還開發了集成式ROS開發IDE-RosStudio,以可視化窗口的形式有效地降低了ROS機器人的學習和研究門檻。
  • 掃地機器人好用嗎?四大方法幫你選對掃地機器人
    2.使用定位不同:掃地機器人屬於智能家電,主要用於家庭地面衛生的清掃;而吸塵器處於比較傳統的衛生清潔電器,除了可以清潔地面外,還能清潔沙發、衣櫃 、床、牆面等位置,搭配特殊刷頭,還能為家用電腦除塵。
  • 一文看懂SLAM導航技術分類、典型應用及國內發展現狀
    SLAM可以輔助機器人執行路徑規劃、自主探索、導航等任務。國內的科沃斯、塔米以及最新面世的嵐豹掃地機器人都可以通過用SLAM算法結合雷射雷達或者攝像頭的方法,讓掃地機高效繪製室內地圖,智能分析和規劃掃地環境,從而成功讓自己步入了智能導航的陣列。VR/AR方面:輔助增強視覺效果。
  • 中國自主研製美女機器人,搭配AI智能更高,比女朋友還完美
    一直以來,機器人的形象都是這種金屬制,冷冰冰的樣子,但是《超能陸戰隊》裡的大白改變了這一形象。大白是個白胖子,他是個話癆,他能感知人類的情緒,不開心的時候他會給你一個溫暖的擁抱,;他還能感知人類的疼痛,檢測人類的健康,他也可以收縮腹肌穿上鎧甲為人類戰鬥。大白的出世讓我們看到了未來機器人該有的樣子,他們不是統治人類,而是陪伴人類。