ROS軟體平臺對服務機器人的運算與控制

2020-12-08 電子發燒友

ROS軟體平臺對服務機器人的運算與控制

工程師曾玲 發表於 2018-10-20 10:29:54

20世紀以來隨著電子技術的不斷發展,以及人類對於自身的不斷了解,機器人的研究也在不斷的深入。現階段能做出外表接近人類的機器人,走路接近人類的機器人……但這些都屬於很前沿的領域,研究門檻高,實際的商業用途不是很廣,所以大多還停留在樣品階段,走進市場的很少。隨著網際網路和智慧型手機的大潮,嵌入式處理器正在完成以前臺式處理器做不到的事情,於是乎機器人現階段又被重新定義。在現在的消費領域,某些配備智能處理器和具有網際網路功能的產品也被成為了機器人,下面列舉一些成熟產品的例子:

        下圖是兩款國內廠家生產的機器人的產品,屬於生活工具的類別,一般放置在家中,無法自行移動,採用嵌入式處理器,帶有攝像頭、無線網絡模塊、顯示模塊,可以連接手機,通過手機APP端對機器人進行相關設置,同時機器人攝像頭採集到的圖像也能實時傳給手機,也可以和手機進行語音對講。機器人也帶有語音識別模塊,如可以向它詢問「明天天氣如何」,他會從網絡獲取天氣信息然後回答你。這些放置在家中的機器人也可以實現安全監測的功能,通過手機實時查看家中的監控影像是一點,也可以適配各種傳感器,比如貼在門窗後面的加速度傳感器,當門窗被動作時傳感器給機器人發出信號,機器人隨即通過設定的方式進行報警。
 



        下圖是兩款國外生產的機器人,最主要的特點是可以運動,屬於智能玩具的範疇。它們都是可以連接智慧型手機,通過手機對機器人進行設置,然後把手機當做機器人的操作杆,操作機器人做出各種運動,達到娛樂的目的,機器上裝有攝像頭,也可以在手機上同步看到機器人攝像頭拍攝到的視頻畫面。在玩法也有一些創新,如左邊的機器人在星戰電影裡有原形,用手機的攝像頭對準該機器人,通過手機端的AR技術,在手機屏幕裡可以給機器人加上各種效果,增加娛樂性。
 



        還有一些具有特殊用途的機器人,比如掃地機器人,根據內部的路徑算法清潔地面,同時能自動避開障礙物,快沒電的時候能自動返回充電樁充電。

        以後服務機器人的趨勢會是以上列舉的這些機器人的集大成者,即在軟體智能和機械運動上不斷發展。軟體智能方面通過高性能的嵌入式處理器實現視頻處理、網絡連接和語音識別等技術。機械運動方面先搭配單片機和步進電機通過輪子的滾動實現移動,通過機械零件的增加和算法的改進,逐漸實現動物甚至人體的肢體行走。下面的框圖列出了實現這樣的一個機器人需要採用的可能的技術:
 



        高性能嵌入式處理器上運行著機器人的核心系統。攝像頭採集視頻圖像,會對圖像中的事物進行一些簡單的判別,比如識別人臉,對靜態事物的圖像採集也能讓機器人辨別障礙物,或者計算出靜態事物的大致幾何圖形甚至尺寸,對動態事物的圖像採集,機器人可以計算出動態事物的運動軌跡甚至速度。4G和WIFI&BT模塊屬於無線通信模塊,有了無線通信機器人才能得到自身之外的更多信號,也可將自身的信息傳達給別人。語音識別模塊能讓機器人識別聲音,顯示&觸控螢幕只是機器人與外界交互的一種方式,GPS模塊能讓機器人知道自己的位置信息,存儲模塊除了存儲機器人的系統和各類軟體外,也讓機器人有了記憶功能,前面講的攝像頭採集視頻圖像並計算,計算的結果可以存儲在存儲模塊中,當遇到類似的計算的時候就可以判別事物,同時通過網絡模塊可以將這類信息傳遞出去分享給更多的機器人。單片機管理著機器人各類基礎的模塊,步進電機控制機器人的運動,各類傳感器讓機器人有了感知外界環境的能力。紅外模塊可以實現對一些外部電器的操控,電池和電池管理模塊給整個機器人的運轉提供能量。
        
        硬體結構是實現服務機器人運算和控制的基礎,在高性能嵌入式處理器上運行的作業系統,進行著服務機器人具體的運算和控制,相當於機器人的靈魂,目前主流的三大機器人作業系統有Ubuntu,Android和ROS,Android軟體平臺使用較廣泛,ROS為專用的機器人的軟體平臺。要實現對服務機器人的運算和控制,軟體平臺需要解決以下這些問題:

        分布式計算現代機器人系統往往需要多個計算機同時運行多個進程,當多個機器人需要協同完成一個任務時,往往需要互相通信來支撐任務的完成;

        用戶通常通過臺式機、筆記本或者行動裝置發送指令控制機器人,這種人機互動接口可以認為是機器人軟體的一部分。

        軟體復用隨著機器人研究的快速推進,誕生了一批應對導航、路徑規劃、建圖等通用任務的算法。當然,任何一個算法實用的前提是其能夠應用於新的領域,且不必重複實現。

        快速測試為機器人開發軟體比其他軟體開發更具挑戰性,主要是因為調試準備時間長,且調試過程複雜。況且,因為硬體維修、經費有限等因素,不一定隨時有機器人可供使用。

        ROS作為機器人專用的軟體平臺,可在ARM搭配Ubuntu的環境下運行,對服務機器人的運算和控制有著很多優化和實用性,ROS軟體平臺有以下的優點:

        (1)點對點設計
 



        一個使用ROS的系統包括一系列進程,這些進程存在於多個不同的主機並且在運行過程中通過端對端的拓撲結構進行聯繫。雖然基於中心伺服器的那些軟體框架也可以實現多進程和多主機的優勢,但是在這些框架中,當各電腦通過不同的網絡進行連接時,中心數據伺服器就會發生問題。

        ROS的點對點設計以及服務和節點管理器等機制可以分散由計算機視覺和語音識別等功能帶來的實時計算壓力,能夠適應多機器人遇到的挑戰。

        (2)多語言支持
        
        在寫代碼的時候,許多編程者會比較偏向某一些程式語言。這些偏好是個人在每種語言的編程時間、調試效果、語法、執行效率以及各種技術和文化的原因導致的結果。為了解決這些問題,我們將ROS設計成了語言中立性的框架結構。ROS現在支持許多種不同的語言,例如C++、Python、Octave和LISP,也包含其他語言的多種接口實現。

        (3)精簡與集成

        大多數已經存在的機器人軟體工程都包含了可以在工程外重複使用的驅動和算法,不幸的是,由於多方面的原因,大部分代碼的中間層都過於混亂,以至於很困難提取出它的功能,也很難把它們從原型中提取出來應用到其他方面。

        為了應對這種趨勢,我們鼓勵將所有的驅動和算法逐漸發展成為和ROS沒有依賴性單獨的庫。ROS建立的系統具有模塊化的特點,各模塊中的代碼可以單獨編譯,而且編譯使用的CMake工具使它很容易的就實現精簡的理念。ROS基本將複雜的代碼封裝在庫裡,只是創建了一些小的應用程式為ROS顯示庫的功能,就允許了對簡單的代碼超越原型進行移植和重新使用。作為一種新加入的有優勢,單元測試當代碼在庫中分散後也變得非常的容易,一個單獨的測試程序可以測試庫中很多的特點。

        (4)工具包豐富

        為了管理複雜的ROS軟體框架,利用了大量的小工具去編譯和運行多種多樣的ROS組建,從而設計成了內核,而不是構建一個龐大的開發和運行環境。
 



        (5)免費並且開源

        ROS所有的原始碼都是公開發布的。我們相信這將必定促進ROS軟體各層次的調試,不斷的改正錯誤。雖然像Microsoft Robotics Studio和Webots這樣的非開源軟體也有很多值得讚美的屬性,但是我們認為一個開源的平臺也是無可為替代的。當硬體和各層次的軟體同時設計和調試的時候這一點是尤其真實的。

        現階段高性能嵌入式處理器在手機平板電腦上運用較多,但這類處理器由於向著手機的行業方向發展,接口方面比較傳統和固定,很難滿足機器人的設計需求。工業方向的高性能嵌入式處理器不算多,飛思卡爾的imx系列可以算一個不錯的平臺,主要是接口豐富,可定製化的形態較多,滿足機器人多元化接口的需求。同時imx系列對Ubuntu,Android這兩大作業系統的支持良好,系統在該平臺上運行穩定,通過Ubuntu可以支持ROS軟體平臺,ROS軟體平臺的優點能很好的解決掉上述機器人軟體開發的一些問題。辰漢電子作為專攻飛思卡爾imx平臺設計研發的上市公司,在對平臺定製方面有著多年的經驗和成功案例,在工業機器人市場有著穩定出貨的產品,公司也在服務機器人市場有著務實的準備。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 機器人課程系列:如何安裝ROS(Robot Operating System,機器人操作...
    維基上ROS的定義如下,ROS(機器人作業系統,RobotOperating System),是專為機器人軟體開發所設計出來的一套電腦作業系統架構。它是一個開源的元級作業系統(後作業系統),提供類似於作業系統的服務,包括硬體抽象描述、底層驅動程序管理、共享功能的執行、程序間消息傳遞、程序發行包管理,它也提供一些工具和庫用於獲取、建立、編寫和執行多機融合的程序。之前的課程裡分享了很多機器人的專案,很多夥伴也都有做各種不同的機器人,例如:雙足機器人、教育型機器人或是Arduino的關節型機器人。
  • 機器人作業系統 ROS | 工業百條
    在未來,動態的和更具協作性的工業生產環境將使得具有適應性的機器人擁有巨大的市場。  如果沒有ROS,就沒有最近流行的無人服務、物流機器人、飛行器及自動駕駛,正是機器人操作平臺ROS 為這些技術帶來了飛速的進步。ROS 並非其字面意義上的作業系統,而更多的是一個中間件,它能夠讓你根據現有的代碼知識構建你的想法,並共享各種模塊來解決一些常見問題,從而使機器人更快、更經濟、更高效地工作。
  • 如何利用ROS MoveIt快速搭建機器人運動規劃平臺?
    用MoveIt官網(moveit.ros.org)的說法: 它是目前最先進的移動(坑)操作機器人軟體,整合了最先進的運動規劃、操作、3D感知、運動學、控制與導航算法。為這方面的開發人員提供了一個十分便利的開發平臺。 這個說法不太直觀,換個說法就是MoveIt = RobotGo,翻譯成中文就是「機器人,走你!」
  • 如何利用ROSMoveIt快速搭建機器人運動規劃平臺?
    用MoveIt官網(moveit.ros.org)的說法:它是目前最先進的移動(坑)操作機器人軟體,整合了最先進的運動規劃、操作、3D感知、運動學、控制與導航算法。為這方面的開發人員提供了一個十分便利的開發平臺。這個說法不太直觀,換個說法就是MoveIt = RobotGo,翻譯成中文就是「機器人,走你!」
  • 機器人作業系統從ROS升級到ROS2 部署不再是難題
    目前,全球機器人市場持續增長,工業機器人市場持續穩定增長,服務機器人市場則呈現快速發展趨勢。伴隨著人工智慧技術的逐步成熟,人機協作的不斷深度,機器人產品應用產業不斷拓展,全球機器人行業將迎來新一輪的增長。
  • 2019年全球十大基於ROS的機器人公司
    基於ROS的機器人具有3個特點:第一,可以直接從公司購買機器人;第二,機器人從第1分鐘開始運行ROS;第三,可以隨意給機器人編程。以下是基於ROS操作平臺的十大機器人公司列表:1.事實上,它製造的ROS機器人數量與榜單上的第一家公司一樣多。Robotnik公司為工業應用和物流領域創造和設計了移動機器人、不同類型的無人地面車輛和多種類型的移動機器人。該公司還通過將第三方機器人部件集成到最終的基於ros的機器人中來滿足您的需求,從而使您的機器人個性化。5.
  • 嵌入式的我們為什麼要學ROS
    您不必替換主框架與系統,因為ROS編寫的代碼可以用於其他機器人軟體框架中。毫無疑問的,ROS更易於集成與其他機器人軟體框架。事實上ROS已完成與OpenRAVE、Orocos和Player的整合。ROS-agnostic庫:【agnostic:不可知論】建議的開發模型是使用clear的函數接口書寫ROS-agnostic庫。語言獨立性:ROS框架很容易在任何程式語言中執行。
  • ROS 2 Crystal Clemmys版本上線,歡迎廣大工程師試用並反饋
    關於此版本的主要內容與功能,請參照:https://index.ros.org/doc/ros2/Release-Crystal-Clemmys/。   Crystal Clemmys是ROS 2的第三個版本,支持為期一年的錯誤修復與平臺更新(特別是依賴於Windows和MacOS等的滾動更新),此技術支持於2019年12月結束。雖然項目團隊會爭取保持API最大的穩定性,但不能保證ROS各版本間實現100%API兼容。
  • Energid的Actin控制軟體應用於中國核檢修機器人
    在由法國原子能與可替代能源委員會(French Atomic Energy and Alternative Energies Commission,簡稱CEA)下屬的磁約束核聚變研究所(Institute for Magnetic Fusion Research,簡稱IRFM),以及中國科學院等離子體物理研究所開發的多關節檢修機械臂(Articulated Inspection Arm,簡稱AIA)機器人上部署軟體
  • 盤點全球十大機器人運動控制品牌
    泰道精通且致力服務於各類用戶:從最簡單到最複雜的應用,如通用自動化、機器人控制、半導體生產線自動化、各類工具機自動化,醫藥、包裝生產流水線自動化…… 隨處可見泰道的身影。DeltaTau以使用最先進的SMT製造工藝、自動檢測和自動測試設備製造和測試他們全部的機器控制產品為傲,並且努力在快速的貨期內交付最高質量的產 品。
  • 機器人越來越火,我們來談談它的那些「ROS龜」們
    ROS在某些程度上和其他常見的機器人架構有些相似之處,如:Player、Orocos、CARMEN、Orca和Microsoft Robotics Studio。對於簡單的無機械手的移動平臺來說,Player是非常不錯的選擇。ROS則不同,它被設計為適用於有機械臂和運動傳感器的移動平臺(傾角雷射、雲臺、機械臂傳感器)。
  • 詳細解讀:什麼是機器人作業系統ROS
    目前,以美國西南研究院為首的幾位大佬開始嘗試將ROS應用在工業機器人中,上面這個視頻就是ROS-I項目一周年的進展情況。  為了說明講清楚ROS,我就從ROS是什麼,為什麼使用ROS,如何使用ROS三個方面展開。
  • 解讀「機器人管家」智慧酒店服務機器人解決方案
    」房地產智慧社區服務機器人解決方案;   5「機器人基地」特色文旅小鎮服務機器人解決方案;   6「買蘿蔔」家庭陪伴娛樂服務機器人解決方案   每個行業應用領域的服務機器人解決方案均有自己完整的方案設計、機器人產品選型、應用軟體選型和配置方案、部署流程、服務規範、培訓課程,是一個完整的系統方案交付。
  • 機器人程序設計之如何正確入門ROS | 雷鋒網公開課
    不同節點的進程能接收、發布各種信息(例如傳感,控制,狀態,規劃等等)。與Android一樣,ROS也是業界公認的機器人三大作業系統之一(另一個為Ubuntu),不過ROS的開發門檻相對較高。Top博士自2009年第一次接觸到ROS後,便認識到其在機器人開發中的重要性,並不遺餘力在國內進行推廣。
  • 智能鑄造機器人應用_鑄造管理軟體 - CSDN
    robot)是一種高級機器人平臺,它可以通過使用微創的方法,實施複雜的外科手術。莫拉維克悖論對應的是機器人的運動控制和感知系統,而人工智慧則對應於機器人的控制和信息處理中樞。如果把人工智慧對應於機器人的大腦,那麼莫拉維克悖論對應的運動控制和感知系統則對應於機器人的小腦。只有大腦小腦系統發展,機器人才能更好的服務人類。
  • 從安裝到做項目一步步教你ROS學習入門
    第一次接觸ROS是在瀋陽自動化所做項目的時候,那時候我才知道自己非常感興趣的機器人領域有一個叫做ROS(Robot Operating System)的平臺。仔細了解之後才知道ROS被機器人界看作是一套準標準平臺,很多人將其比作是手機界的安卓,電腦界的微軟。在我看來ROS最大的優點在於靈活、低耦合、分布式、開源以及功能強大而豐富的第三方功能包(類似於程式語言中的庫)。
  • 國產ROS作業系統來了,你怎麼看
    一人HK:zhinegn人形機器人人工智慧的發展,帶來了機器人的火爆,於是,機器人系統,機器人編程,以前我們從未關注的東西開始流行起來本文中提到的ROS是指機器人作業系統的英文簡稱。雖然說是系統,其實算是一個開源的標準化的機器人軟體框架平臺,使用面向服務的軟體技術;稱之為OS是因為它具有類似作業系統的功能,提供硬體抽象、底層設備控制等OS相關功能。也就是說,機器人作業系統依舊需要我們日常用的桌面作業系統做大環境。
  • 希格斯動力怎樣用能力開放平臺引爆服務機器人市場
    在峰會論壇上,希格斯動力CEO張名舉為粵港澳大灣區夥伴帶來了 「用能力開放平臺引爆服務機器人市場」的現場主題分享。香港經濟師學會科技委員會科技代表希格斯動力CEO張名舉帶來了 「用能力開放平臺引爆服務機器人市場」的現場主題分享:中國製造-服務機器人四眼超人跨境服務商業案例CEO張名舉展示並講述了,8月在香港發布的希格斯動力四眼超人餐飲服務機器人快速落地香港與內地多地案例。
  • 機器人和3D印表機的架構有哪些相似之處
    ,一旦設備定型採購,無法對控制器硬體進行升級(提供擴展的運算性能)。為提高3D列印的效率和精度,某團隊開發了一種名為「FBS振動補償」的軟體算法,可以有效地將3D列印速度提高一倍,但是,因為某些3D印表機控制器「的計算能力和內存都很低,不能支持用戶的算法。又比如,多臺機器人協同運動(RoboTeam)的場景,受限於目前機器人控制器的計算能力,一般只能支持4臺機器人的同步運動,無法擴展到更多數量的機器人協同運動。
  • 「機器人總動員」,服務機器人走進尋常百姓家
    走進服務機器人展區,來自長沙行深智能科技有限公司系列機器人產品十分搶眼。該公司營運長李睿介紹,公司深耕無人駕駛多年,此次重磅推出「行深無人車家族」。 其中,作為「行深無人車家族」目前最小巧精緻的成員,「布衣」系列微型機器人定位為生活服務助手,針對社區場景進行了優化,具有室內外無界通行能力,可以上下電梯,打通社區最後一公裡配送服務等難題,幫助老人搬運物品。