當前位置:
首頁 > 新聞 > Intel陸科進:ROS系統產品化的「柵欄」該如何跨越?

Intel陸科進:ROS系統產品化的「柵欄」該如何跨越?

【文/廖文清】ROS系統以其靈活性、專業性、分散式等特點被越來越多的企業所接受。

事實上,ROS節點並不一定只代表一個設備,它還可以用作一個演算法或者是一個程序,一個功能,它們可以位於不同的計算機上,甚至可以位於不同的網路上,使得ROS可以適應很多不同場合的應用。

再加上ROS積累了大量跟智能、運動、導航相關的演算法,使用ROS能夠快速做原型,因此在產品研發階段,被大量科研機構和研究院人員以及企業技術研發人員青睞。

然而,ROS在產品化過程中還有一些「柵欄」需要跨越,尤其是在工業應用領域,還存在實時性和可靠性等問題,而這也是ROS2.0版本需要解決的問題。

「ROS確實有一些問題存在,但是有個好處就是大家都可以為開源ROS系統的發展貢獻一份力量;從intel的角度出發,也是希望大家一起更加緊密的合作互動,提高ROS2.0的應用空間,提高代碼質量,提高產品的可能性。」 Intel 陸科進在接受《高工機器人網》的採訪中表示。對於如何實現ROS系統的產品化落地,陸科進也談了自己的看法,下面是採訪實錄:

高工機器人網:ROS1.0版本和ROS2.0版本最顯著的區別是什麼?

陸科進:區別一方面是代碼的優化以及代碼質量的提高。ROS2.0版本在代碼的組合和風格上跟之前的版本有些不一樣,因為ROS1.0版本是由一些愛好者和科研機構以及一些大學為了完成像PR2這樣的科研項目相關的機器人而創建的,節點的管理和開發來自不同的組織或個人,ROS2.0首先要解決的是提高核心節點庫的代碼質量以滿足產品化的需求。

另一方面是ROS2.0版本在通訊機制上面有很大的變動。 ROS2.0會使用通用的DDS通訊機制。實現DDS有很多開源和閉源的實現,比如像開源里有比較著名的OpenSplice,OpenDDS, ZeroMQ等,不同的實現有不同的優缺點,有點追求的是實時性,有些追求的是持久化,有的追求的是安全性等。

此外,為了滿足產品化的需求,ROS2.0在可靠性和實時性上面做了很大的完善,通過內存分配的優化、進程間通訊的標準化、節點生命周期管理的標準化等,使之更加適用於對於實時性和可靠性要求比較高的應用領域和比較苛刻的環境,更加容易實現產品化。

高工機器人網:大家都非常期待ROS2.0版本的推出,它大概什麼時候可以推出來?

陸科進:ROS 包的管理比較分散,數量也非常大,現在ROS2.0的主要核心任務是提高ROS1.0的核心部分代碼的質量,以及應用DDS這樣成熟標準化的技術提高穩定性和產品化的能力,ROS2.0的核心是由基金會的7個開發人員開發,在資源上可能投入的也不太多,所以開發進度比較慢。

ROS2.0大概分為兩個部分,一個是ROS2.0的核心,包括通訊機制和相關開發的工具(比如可視化,測試工具),以及跟導航相關的庫。核心的部分現在是ROS基金的小組織進行推進,ROS2.0正式版1.0按計劃是今年年底推出,但是到今年年底,導航相關的功能也不一定可以全部完成。

高工機器人網:據我的了解,ROS2.0版本也不能從根本上解決實時性的問題?

陸科進:其實,實時這個概念是相對的,工業應用的實時也是分級的,比如現場匯流排級,可能就是要達到10毫秒以下的響應速度,但是在工業物聯網這一級,可能就只需要毫秒級別的響應速度。實時性問題的解決要靠整個系統的設計和優化,比如說底層:Linux 系統的實時性,通過綜合考慮系統的硬體,操作系統層以及中間件才能最大程度的降低系統延遲,提高實時性。

Intel目前將側重於對底層實時系統做優化,使其能夠更好地完成實時性的工作,但是就算這些實時性的優化工作從硬體到軟體都實現的情況下,ROS2.0也只能用於特定的工作場景下,運用在工業前端現場匯流排這種要求ns級的場合里還是不太適合。但是在PLC和主控機以及工業路由器之間的通訊用ROS2.0,實時性應該完全沒有問題。

高工機器人網:針對實時性問題,業內人士有提出一些解決方案,就是在大腦控制方面用ROS系統,而在小腦控制方面不用ROS系統,您是怎麼看待的?

陸科進:這個概念其實並不是來自工業控制,因為工業控制還沒有「大腦」和「小腦」的概念,去年服務機器人興起的時候就有了大腦和小腦的概念,小腦更多的指的是運動控制,而大腦更多講得是智能。

在小腦的運動控制上,整個控制還是應該使用MCU和RTOS這種實時性比較好的的硬體和系統,但是這些運動控制子系統可以作為一個節點來接受大腦的控制;而大腦不需要那麼強的實時性要求,大腦主要用於做出智能的判斷,比如說物體的識別,語音的識別等。所以大腦可以根據上下文的情況進行決斷,然後通過ROS來控制一些小腦的微控器。

實現實時性有很多的解決方案,而且不僅僅是在機器人領域,還包括無人機這樣的應用領域,無人機的飛控對實時性要求是非常高的,所以無人機飛控系統一定是基於RTOS系統,而不是ROS系統。

但是這幾年的趨勢是:無人機飛控確實是一個實時性的系統,不過它可以偽裝成一個ROS系統的節點:在無人機上放一個大腦板,以實現拍攝視頻,跟蹤目標,對地面進行建模等需要大量智能計算的功能。大腦板可以作為ROS的主控器,來控制飛控器,現在比較著名的開源無人機系統都支持類似架構。

高工機器人網:「不過它可以偽裝成一個ROS系統的節點」 這句話怎麼理解呢?

陸科進:可能用偽裝這個詞不太正確和中聽,在無人機飛控裡邊,本身有一個消息匯流排,主要是用來交換感測器傳來的信息,然後由飛控的演算法,比如EKF演算法跟據感測器的數據產生PWM控制,這個消息隊列的實時性要求非常高,這個消息匯流排不是基於ROS的,因為ROS的實時性不達標。我看到有些人會做一個連接點,將飛控中的數據和ROS的數據相連接,從而進行數據和信息的交換。

高工機器人網:這樣做的好處是什麼呢?

陸科進:這樣做好處是在於,在飛控系統的代碼中,即有核心的飛控控制循環代碼,也有一些不是那麼核心的感測器採集代碼,將飛控的控制系統和大腦板打通了之後,有些「非實時」的數據處理可以放到大腦板上面,同時「實時數據」的處理可以放到小腦板上面,這樣使得整個架構更加靈活,解耦合,並且很容易進行數據交換。如果要集合一些新的功能軟體包,也會比較容易。

高工機器人網:據悉,ROS系統功能軟體包比較多,但是這也導致系統過於龐雜和冗餘,這是一個不可避免問題嗎?

陸科進:對,談到這個問題就涉及到ROS生態的控制力,包括ROS有沒有分類的可能,它的功能是怎樣分類的?現在ROS基金會比較重視的是ROS核心節點的設計,我希望後續能注重ROS軟體包的組織管理,按照不同的功能類型,感測器類型,演算法類型進行分類,這需要大家共同的配合,ROS的開源精神也體現在這裡,希望大家一起緊密配合併提出一些建議,與基金會一起進行改進。

高工機器人網:除了以上提到的一些問題,還有哪些因素阻礙了ROS在工業機器人領域的應用?

陸科進:工業機器人的市場規範早已根深蒂固,像OPC-UA,就是整個工業領域的標準的通訊協議;而ROS是基於科研和服務型機器人的研究發展起來的框架,這個框架從技術上來講就是對系統的功能解耦合,讓不同的軟體包互相通信,在技術背後隱藏的是開源合作。

工業機器人也分兩種,一種是機器人手臂,還有一種就是像AGV這樣的工業服務型機器人,這種更加適合用ROS,當然機械臂也有一些公司開始嘗試用ROS ,但是大部分還是不會用,因為對於它對實時性要求非常高。

高工機器人網:您剛剛提到,AGV更加適合用ROS系統,是不是因為它可以方便地集合像激光導航技術和SLAM技術?

陸科進:是的,激光導航技術和SLAM技術其實就是ROS上面比較核心的導航功能包,這些功能包在ROS上面已經非常成熟了,所以要攢一個AGV比較容易,如果基於ROS就可以大大提高開發和研發機器人的速度。

高工機器人網:我們了解到現在有小部分協作機器人在用ROS系統,是不是協作機器人用ROS也比較有優勢?

陸科進:是的,因為協作機器人小型化,並且需要更加智能,協作機器人更多考慮的是協作性和安全,因此對於數據處理,對智能的要求都比較苛刻,需要大量的演算法,需要整個科研機構研究的已有的ROS的功能,而不僅僅是運動控制功能,所以對於智能化要求越高的機器人,使用ROS 就越有優勢。我觀察到協作機器人在研發的時候大部分的科研人員會用ROS。

高工機器人網:協作機器人也會應用到一些工業領域,那麼ROS在可靠性上面是怎樣保證呢?

陸科進:可靠性問題不完全是因為ROS引起的,可靠性其實是系統的設計(包括硬體和軟體),當然ROS2.0自身也對代碼的質量進行了提高,非常注重可靠性和實時性的優化,譬如使用了標準化的節點生命周期管理和DDS。相信在未來2.0的正式版本中,可靠性和實時性在結合系統優化後會得到很大的提高。

高工機器人網:在ROS上進行二次開發,對於工程師的要求是不是比較高呢?

陸科進:我覺得從兩個方面來講這個問題。首先,從ROS本身的難度來講,因為ROS整體是一個系統的架構,通過架構將各種模塊結合,每個人都可以將各自擅長的領域集中在上面,ROS編程本身的調用和ROS節點的API 都是比較直接的,其實技術門檻沒有那麼高。

但是,ROS框架是各個複雜系統的集合,每個系統又有各種各樣的功能包,真正組裝成一個產品的話,會有大量的包,這些包可能被維護在各個不同的組織和個人的手裡。在這種情況下,節點管理就變得很分散,對於初學者來說,遇到問題的時候,很難搞清楚問題是出在哪個包里,因此產生困惑,感覺系統沒有辦法控制和產品化。

雖然ROS2.0在核心代碼設計上有所改進,功能包與功能包之間還是有太多的依賴,要搞清楚這些包之間的依賴關係,確實也不容易。

有些客戶和同仁反映,雖然ROS系統可以節省開發和原型時間,但是一旦產品出現了問題,就會很難定位,調試和修正。事實上,在有些第三方提供的功能包中,代碼的質量也不是很高。

高工機器人網:您對ROS系統的展望是怎樣的呢?

陸科進:從中國市場來看,去年很多機器人廠商是從平板廠商轉型過來的,因此他們更願意使用安卓系統,因為開發者一般也是使用JAVA來進行編程。

但是,一年之後,越來越多的機器人企業開始使用ROS,因為他們知道ROS確實更加專業,ROS提供的要素也比較豐富,尤其是能夠做更多智能型產品,再加上ROS2.0的定位長期來講也是為了產品化而服務的,相信未來ROS2.0將會被更多的市場接納。

陸科進個人簡介

英特爾亞太研發中心開源技術中心機器人團隊,高級軟體架構師。

畢業於東南大學計算機科學和工程系,工科碩士。

2005年加入英特爾亞太研發中心,曾參與系統固件框架,教育解決方案,數據中心伺服器系統,視覺計算的架構設計和研發。目前在開源技術中心機器人團隊擔任高級軟體/系統架構師,帶領團隊積極地參與ROS社區的開源開發。對系統性能優化,視覺計算,人工智慧,大型系統全棧架構設計有著豐富的經驗。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 intel 的精彩文章:

Intel披露下一代Ice Lake和Tiger Lake晶元路線圖
Intel證實第九代Core i系列處理器采10nm+製程設計
Intel強推300系列主板:200系年底將被取代
農企AMD太猖狂,牙膏廠Intel 加速發布新產品!
AMD重返榮耀!華碩ROG Zenith Extreme評測

TAG:intel |

您可能感興趣

「Off The Wall」,敢於翻過柵欄圍牆,就能找到 Lockwood
鐵柵欄再度孤獨?iPhone XS銷量遠低於預期,開售或迎來破發
XS/XS Max開售,蘇州直營店被擠爆,北京鐵柵欄又尷尬了
搞笑GIF:姑娘,你這爬柵欄的姿勢看得我膽戰心驚!
9種最in的現代花園圍牆和柵欄材料!
汪術強:防盜柵欄窗里托起生的希望
童瑤的「柵欄鞋」真乃神品,這增高效果絕了,能將腿拉長15cm
柵欄劉海是什麼樣的?柵欄劉海適合什麼人
精品繪畫:等待的柵欄 溫柔的花
大柵欄·中華老字號的集中誕生地
大柵欄:消失的廊房四條
庭院柵欄裝修效果圖,庭院柵欄裝修要注意什麼?
搞笑GIF:妹子,仗著腿長就翻柵欄,也不怕摔著!
為什麼步兵戰車的右側會有柵欄防護欄呢?原因竟是這樣
大柵欄出什麼事兒了?這麼大動靜,北京人知道嗎?
空間|柵欄 虛虛實實
一條柵欄隔出兩種生態,澳洲野狗如何改變沙漠的地形
狐狸爬柵欄一動不動,路人細看好笑又心疼,網友:造型適合做美甲
木柵欄隔斷加上中式風吊燈,好典雅大氣的家!
穎兒大開掛,一襲「柵欄裙」穿出仙女氣質,哪像是做媽的人啊!