ROS 和Web 帶來更智慧的機器人
隨著AI的發展,機器人必然變得越來越智慧。然而要實現智慧化,除了需要豐富的AI演算法外,還需要強大的作業系統支援——ROS就是這樣一款非常受歡迎的機器人系統。ROS目前已經建立了龐大的生態系統,其參與者包括來自全球機器人行業的眾多開發者,而英特爾開源技術中心(OTC)的Web團隊也是其中重要一員。他們在客戶端、 edge、雲、IoT、W3C標準、機器人技術等領域開發及應用web技術,致力於保持web開放、安全、特性豐富且效能強大。
對於機器人設計廠商來講,他們在極力尋求更好的軟硬體解決方案,所以有人自然想到將ROS和Web相結合從而得到更好的機器人解決方案。或許有人會問:為什麼要在機器人技術中使用Node.js 和Web?它們各自有什麼特點?先看Node.js,其具有高效能 (JIT)特性,效能高於Python語言,從而使系統在同一機器人硬體平臺上可實現更多功能;另外,Node.js擁有強大的生態系統和社群支援,是Github*上最流行的語言,而且擁有世界上最大的包分發系統——npm。Node.js設計時易於部署和除錯,適合應用於web 介面。再看Web技術,它是遠端控制和儀表板的最佳選擇,可以進行狀態檢查、運動控制、姿勢視覺化、視訊流等工作,而且可以在任何瀏覽器裡執行,易於嵌入,擁有海量資源。
基於兩者各自的優勢,工程師要考慮的是如何將web引入到ROS中?首先,RWT* 已經將ROS 1.0 APIs 在web中暴露,但在2017年年中之前還沒有針對ROS 2.0的解決方案,因此OTC的Web團隊開發了一套新模組應用於ROS 2.0。當然我們還需要考慮這是不是在web中暴露ROS API 的最佳方式呢? 比如:服務;另一種做法是Node.js web 伺服器,就是在務器中暴露ROS API,這種方式靈活而有效,web頁面中只保留業務邏輯(RaaS)。其實工程師也不必害怕,因為web伺服器在 Node.js中只不過需要幾行程式碼,並且前端和後端具有同樣的技術棧,因此更易於除錯。
ROS2.0路線圖
我們目前取得的兩個成果是GitHub RWT 的兩個軟體包,其中一個是rclnodejs (github repo),它是一個ROS 2.0的Node.js 客戶端,它可以提供快速、便捷而強大的ROS 2.0的JavaScript介面;另一個是ros2-web-bridge (github repo),能夠實現在web頁面中呼叫ROS 2.0 API ,且與 roslibjs*相容。下面我們來看看這兩個模組各自的工作原理。
如上圖所示,其展示了rclnodejs軟體架構設計,其原則是對rcl層薄封裝,從而快速而輕鬆地適應變化。軟體介面採用事件驅動和非阻塞(Promise/Event)模式 ,使得程式可以擁有高併發特性;另外包本身無需重新編譯即可使用新的ROS訊息,一切都在執行過程中處理。如此一來,使用者就能夠輕鬆、有效地編寫 ROS 應用。
如上圖所示,展示ros2-web-bridge 是如何將ROS 2.0引入到瀏覽器中。其與ROS 1.0 bridge (rosbridge_suite)現有的JSON訊息協議 相容,從而現有的 Web Tools 可以直接使用,例如 :2D/3D 視覺化。保持開發的快速簡單,使用者友好的除錯。如此一來,RWT ROS 1.0元件便可與 ROS 2.0透明相容。
除了Node.js,C++ 和 Python也是ROS開發中常用的兩種語言,我們不妨將三者進行效能對比:釋出一條ROS訊息,測量所用的時間和記憶體。當執行次數增加時,趨勢趨於穩定,其它型別的測試中也能觀察到同樣的趨勢,兩種趨勢都與語言常識相符。可以看出,Node.js 的速度2倍於Python,但是在執行時會消耗更多記憶體。
在Turtlebot* 3 + ROS 2.0應用案例中,採用了Intel® RealSense™ 相機和Intel Atom®的Up Board* ,用一個web應用作為遠端控制,可以看出roslibjs + ros2-web-bridge易於建立強大的UI,可執行於任何瀏覽器中,其原始碼在github上,ROS 2.0 的訊息型別是geometry_msgs/msg/Twist。
在機器人領域,英特爾還做出了很多其它貢獻,包括推出面向ROS 2.0的AI/ML/CV軟體;通過Movidius NCS提供專用 AI 硬體;用RealSense深度相機,以3D的方式感知世界;採用改進的ROS MoveIt*實現更佳的操縱;以及對ROS 2.0 導航的重新設計。我們相信隨著硬體和軟體的不斷髮展,機器人會變得越來越智慧。
相關文章
- 機器人託管2.0,更智慧、更個性的AI客服機器人機器人AI
- 智慧電話機器人給企業帶來的好處機器人
- ROS | ROS機器人開發案例(古月)學習ROS機器人
- 智慧語音機器人,溝通更方便機器人
- ROS2GO之手機連線Cozmo人工智慧機器人玩具ROSGo人工智慧機器人
- ROS2GO+Cozmo=口袋機器人之人工智慧模擬和實驗平臺ROSGo機器人人工智慧
- ROS機器人導航一 : 從英雄聯盟到ROS導航ROS機器人
- Vector人工智慧情感機器人SDK釋出和說明(ROS2GO 2.0 + Vector 2.0)人工智慧機器人ROSGo
- 實現ARM+ROS(機器人作業系統)之執行ROS!ROS機器人作業系統
- 無人機、無人車與機器人,未來誰更適合當快遞員?無人機機器人
- 實在智慧RPA機器人帶你瞭解人工智慧的前世今生機器人人工智慧
- 電銷機器人能帶來什麼好處?機器人
- BFT機器人帶你走進智慧生活 ——探索遨博機器人i系列的多種應用機器人
- 實在智慧RPA機器人帶你走進元宇宙的殿堂機器人元宇宙
- Google AI負責人Jeff Dean:機器學習讓計算機更智慧GoAI機器學習計算機
- 馬雲:AI應該翻譯為機器智慧,機器和人有不同的智慧邏輯AI
- ROS 機器人技術 - 廣播與接收 TF 座標ROS機器人
- 實在智慧RPA機器人帶你走進人工智慧小課堂機器人人工智慧
- 具身智慧和機器人學習資料機器人
- Tello無人機版之使用Scratch2和ROS進行機器人圖形化程式設計學習無人機ROS機器人程式設計
- WinUI(WASDK)使用ChatGPT和攝像頭手勢識別結合TTS讓機器人更智慧UIChatGPTTTS機器人
- 機器學習的趨勢和人工智慧的未來機器學習人工智慧
- 如何最佳化產品設計,讓對話機器人更智慧?機器人
- 自主移動機器人技術給AGV市場帶來的挑戰機器人
- 釋出 ROS 機器人課程 | 免費 | 零基礎ROS機器人
- Human vs AI,人類和機器的學習究竟誰更勝一籌?AI
- ROS——無人機ROS模擬包 rotors_simulator 編譯教程ROS無人機編譯
- 實在智慧RPA帶你瞭解什麼是RPA機器人機器人
- win10自帶虛擬機器和vmware哪個更流暢 win10自帶虛擬機器和vm哪個好用Win10虛擬機
- 智慧電話機器人的好處機器人
- 寶鋼寶山基地來了只智慧機器狗,它會幫皮帶機智慧巡檢
- “御”MavicAir亮相上海:更便攜、更智慧、更平衡的新一代無人機AI無人機
- 智慧家居給年輕人帶來了什麼?
- 人機對話,不再尬聊:聊天機器人的未來機器人
- 為什麼電話機器人能為企業帶來更高的利潤?機器人
- 智慧城市的成人禮:城市智慧體帶來的變革與機遇智慧體
- 搭建智慧問答機器人機器人
- 智慧配送機器人現狀機器人