ROS——機器人世界的Android

2021-01-09 雷鋒網

文/劉婧 速感科技 新媒體運營官

大多數時候,開發機器人是一件很困難的事情。

如果你不只是想玩玩,而是想在某個領域開發出具有分量的產品,你至少需要做以下幾樣工作,來實現你最基本的想法:

1.  硬體設備:包括驅動模塊,電源模塊,傳感器模塊等電路設計部分,以及友好的機械設計,保證強度、韌性、疲勞性的滿足等。整個硬體設備需要消耗掉你電路分析,機械製造,力學分析,電路製作,敏捷組裝等各種優良的腦細胞。

2.  軟體架構:根據你選擇的核心板,寫出高效的成熟的簡潔的代碼,最優化地實現現有庫的調用,以及考慮硬體來進一步修改代碼,加入各種閉環來穩定整個系統的運行。

3.  界面接口:實現人與機器很好的交互,雖然還是十分複雜。

4.  測試檢測工具

這四條真的不多,可是足夠你研究好一陣子,因為幾乎沒有什麼現成的設備與參考,你大量的精力就這樣耗費在了基礎的配置和研究當中,甚至還沒有開始應用的開發,你就已經精疲力竭了。

於是,TA應聲而來……

真巧,Gerkey在攻讀博士學位的時候,遇到了和你一樣的問題。在疲憊於複雜卻重複的軟體設計之後,終於建立了一個自己的框架,叫做Player,開原始碼庫Sourceforge也成為了他的夥伴,他樂此不疲地上傳自己的作品以及研究他人的作品。

他對開源工具越來越痴迷,導致導師的強烈抗議,認為他沒有將時間花在真正有助於拿到博士學位的科研工作之上,而他的觀點是:「開發這些工具,讓我更有動力!」

機會總會垂青有準備的人,不久以後,Willow Garage提供給他一個機會:做出來一個比Player更大更好的工具,能夠處理所有不同的用例。

在Willow Garage,團隊開始著手開發一個基本的機器人作業系統,能夠支持PR2研究平臺,其初始目標就是讓開發者不再疲於重新設計框架,解放了這種費時費力價值低的勞動力。

雖然最初的目標用戶,只是高校的研究生們,為了簡化他們的工作,沒想到的是,他們竟然開發出了一套完整的機器人作業系統,即ROS。

TA是什麼?

ROS(Robot Operating System)即機器人作業系統,為開發者提供一個自由而寬鬆的框架,專門用來開發機器人的應用。TA集成了各種工具、庫以及規定,以便簡化在各種平臺下進行機器人開發的複雜性。

為什麼要開發出來TA?

簡單來說,對於那些勤勤懇懇任勞任怨,黑燈瞎火也要繼續開發的開發者們,最不願意看到的悲劇就是辛辛苦苦的成果,換了一個環境,無論是軟體還是硬體還是場景,就失去了大部分引以為傲的功能。

作為一個聰明的開發者,自然不能讓這樣的悲劇持續,為了應對這種多變的環境和多元的任務,為了克服原有的解決方案多變而導致的措手不及,研究機構和實驗室都對ROS持有樂觀的態度。於是,就有了前文所述的ROS的誕生。

TA究竟能做什麼?

它最大的特點就是靈活性非常強,不僅僅被研究人員們所接受,機器人初創公司也很快開始應用ROS,這是開發者們始料未及的驚喜。

舉個例子吧!一個團隊開發出來一種機器人室內定位的算法,可以得到地圖;而另一個團隊比較擅長對已知地圖的導航。ROS就是這樣一個高效的平臺,可以讓兩個團隊彼此進行很好的合作,可以基於對方的成果進一步開發自己的需求。

TA的未來?

像Clearpath,Rethink,Unbounded,Neurala,Blue River這樣的機器人初創公司等等,均成為了ROS下一代產品的使用者隊伍中的一員。這種良性循環,意味著市場上有更多使用ROS的用戶,對於構建ROS就越有利。機器人變得開放與標準化,可以方便地組合在一起。

Clearpath在2012年底開始應用ROS,這是一款全自動無人駕駛越野車,可以通過最高6寸起伏的地面

Rethink公司的工業機器人能夠處理普通機器人無法處理的高精度工業任務:比如測試電路板

2012年,ROS團隊從Willow Garage獨立出來,成為一個非盈利組織,OSRF,負責維護和促進ROS的發展,並且為機器人社群提供其他的開源工具。

大量的初創公司都在利用ROS做一些神奇的有意義的事情,而機器人作業系統,也在一步一步地走入開發者及用戶的世界裡。而且,已經近在咫尺了。另一款由速感科技研發的機器人作業系統 Ulbrain 即將上線,敬請關注!


【作者簡介】劉婧 速感科技 新媒體運營官。速感科技是以機器視覺為核心的人工智慧團隊,正在努力製造一個智慧的機器人作業系統。微信公眾號:  qfeeltech

雷鋒網特約稿件,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 機器人課程系列:如何安裝ROS(Robot Operating System,機器人操作...
    維基上ROS的定義如下,ROS(機器人作業系統,RobotOperating System),是專為機器人軟體開發所設計出來的一套電腦作業系統架構。之前的課程裡分享了很多機器人的專案,很多夥伴也都有做各種不同的機器人,例如:雙足機器人、教育型機器人或是Arduino的關節型機器人。這些機器人有些沒有作業系統,且硬體設計都不一樣,如果在新的項目只是想用之前設計的一部分的話,代表要重複製作,才有辦法使用到別人早就做過的東西。
  • 乾貨:機器人開源作業系統ROS
    合作化ROS則致力於在不同的機器人平臺之間,簡化創建機器人軟體任務的複雜性。其實,創建一個健壯、通用的機器人軟體,並不是那麼簡單。從機器人的角度講,即使對於人類來講微不足道的問題,也會由於任務或者環境的不同,而變得很複雜。
  • 機器人作業系統從ROS升級到ROS2 部署不再是難題
    目前,全球機器人市場持續增長,工業機器人市場持續穩定增長,服務機器人市場則呈現快速發展趨勢。伴隨著人工智慧技術的逐步成熟,人機協作的不斷深度,機器人產品應用產業不斷拓展,全球機器人行業將迎來新一輪的增長。機器人領域之所以快速增長,有一部分原因是得益於開源開發和機器人作業系統ROS或ROS2的發展。
  • 機器人應用部署——ROS簡介
    「機器人」一詞起源於捷克,本意是指「助理」或者「工人」。近100年來,機器人活躍在各行各業,比如工業裝配、食品準備、家庭援助,另外還有各種陸地、海上和空中自主車輛,而機器人技術也在得到不斷的完善。機器人產生的原因基本上都是為了自動執行環境骯髒、乏味、危險或困難的任務。這些機器人擁有「智慧的大腦」,可以獨立工作,或者只需要最低限度的人為幹預。
  • 除了ROS ,機器人自主定位導航還能怎麼做?
    隨著這兩年國內機器人的升溫,自主定位導航技術作為機器人智能化的第一步正不斷引起行業內的重視。為了實現這一功能,不少廠家選擇採用機器人作業系統ROS(Robot Operation System),今天我們就聊一聊ROS系統。
  • 如何利用ROS MoveIt快速搭建機器人運動規劃平臺?
    用MoveIt官網(moveit.ros.org)的說法: 它是目前最先進的移動(坑)操作機器人軟體,整合了最先進的運動規劃、操作、3D感知、運動學、控制與導航算法。為這方面的開發人員提供了一個十分便利的開發平臺。 這個說法不太直觀,換個說法就是MoveIt = RobotGo,翻譯成中文就是「機器人,走你!」
  • 機器人作業系統——ROS
    ROS為Robot Operating System(機器人作業系統)的簡寫,是一個面向機器人的開源元作業系統(open-source,meta-operating system)。它能夠提供類似傳統作業系統的諸多功能,如硬體抽象、底層設備控制、進程間消息傳遞和程序包管理等。
  • 迷迭香 Rosmarin
    德語裡迷迭香叫做Rosmarin, 英語裡是很接近的rosemary, 都是來自於拉丁語兩個詞的組合,ros(露珠,dew,Tau)和 marinus(海,sea,Meeres),直譯的話是『海洋之露』,描述了它耐旱,在乾燥環境下頑強的生命力,只需要富集夜裡海邊的露珠就可以茁壯成長。所以,林奈在給這個屬命名的時候,就延用了rosmarinus,迷迭香屬有4個種和兩個雜交種。
  • 詳細解讀:什麼是機器人作業系統ROS
    目前,以美國西南研究院為首的幾位大佬開始嘗試將ROS應用在工業機器人中,上面這個視頻就是ROS-I項目一周年的進展情況。  為了說明講清楚ROS,我就從ROS是什麼,為什麼使用ROS,如何使用ROS三個方面展開。
  • Android View 動畫
    ><layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"    android:animation="@anim/anim_file"    android:animationOrder="normal"    android:delay="0.5">
  • Android TV開發簡介
    簡單來看,TV端具有Phone和Pad都不具備的大屏,是移動端的一個大屏擴展。但是,竊以為還不止於此,TV側的內容,不同於強調私密性的移動側內容,更加強調多人共享的屬性。移動網際網路的發展,方便人們生活的同時,也割裂了人與人在現實世界中的交流,我們似乎缺少了一種能在現實生活中互相交流的手段,而用戶對TV的使用習慣恰恰可以幫助人們聚在一起。
  • android studio布局嵌套_android studio相對布局和線性布局嵌套...
    ><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical
  • 全球首發 EAI ROS教學移動機器人LEO在IROS震撼發布
    而IROS是機器人領域參與人數最多,影響力最為深遠的頂級學術會議,本次會議吸引了超過3000名來自世界各地的教授、學者、學生及相關從業人員共襄盛舉,探討機器人行業熱門研究方向。深圳越登智能技術有限公司(EAI科技在教育領域的全資子公司,以下簡稱EAI越登智能)受邀出席本次盛會,並於現場隆重發布LEO教學移動機器人,掀起了行業熱潮。
  • Android之屬性動畫Animator
    ><objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"android:duration="2000"android:propertyName="alpha"android:valueFrom="0.1"android:valueTo="1.0"android
  • 機器人定義
    該定義強調了機器人的仿人特點,即用手進行作業,用腳實現移動,由腦來完成統一指揮的功能。非接觸傳感器和接觸傳感器相當於人的五官,用於識別外界環境,平衡覺傳感器和固有覺傳感器則是機器人感知自身狀態不可或缺的。這裡的機器人是指自主式機器人,而不是自動機械或工業機器人。
  • Android自定義View-視圖動畫
    ="http://schemas.android.com/apk/res/android" * android:duration="1000" * android:fillAfter="true" * android:fillBefore="false" * android:fillEnabled="false" * android:fromXScale="1.5
  • 為什麼我選擇並且推崇用ROS開發機器人?
    ROS雖然全名是Robot Operating System,但本質上不是作業系統,是Linux發行版Ubuntu下的一個用來開發機器人的Middleware,這個沒有什麼好辯駁的。Android雖然意思是人形機器人,但是我覺得這就只是名字而已,Andy Rubin難道真的是想通過智慧型手機探秘智慧機器人?而且機器人學裡的人形機器人一般寫成Humanoid。
  • Android開發Fragment
    ><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal"    android:layout_width="match_parent"    android:layout_height="match_parent
  • 為Android 2.2系統優化!搶先直擊酷狗音樂2011手機版
    Android一詞本指「機器人」,但更被大眾熟知的還是Google於2007年11月5日宣布的基於Linux平臺的開源手機作業系統的名稱,號稱是首個為移動終端打造的真正開放和完整的移動軟體。目前,最新版本為Android 2.4 薑餅(Gingerbread)和Android 3.0蜂巢 (Honeycomb)。
  • Android 轉場動畫
    在android.transition包下提供關於transitionAnimation的過渡框架, Transiton框架是在api19引入, 但是轉場動畫卻是在api21引入.:windowExitTransition">@transition/explode</item><item name="android:windowEnterAnimation">@transition/explode</item><item name="android:windowReenterTransition">@transition