自1961年發明家George Devol將第一臺工業機器人Unimate出售給通用汽車(GM)以來的數十年間,機器人操作系統(OS)有了飛躍式的進步;以創造者所工作的制造領域為起點,它們后來變成學界的關注焦點,然后又回歸工業界。
“在過去,有一段時間在操作系統技術領域有深入且活躍的研究;”美國俄亥俄州立大學(The Ohio State University,OSU)工程學院院長Ayanna Howard接受《EE Times》采訪時表示:“但我會說,大多數人現在認為更困難的問題已經解決,這也是為什么會有更多的專有OS,因為就是要針對特定應用讓它更好、更快。”

Ayanna Howard (右二)是美國俄亥俄州立大學工程學院院長。(來源:OSU)
Howard指出,那些關于OS──特別是對機器人系統的支援──的更困難問題,部分與數據、以及指令被處理的應用有關,包括平行處理、將數據從RAM傳送到微處理器,以及處理來自傳感器數據的各種各樣芯片上運算等等。
OS專有化趨勢
為特定應用開發專有操作系統的廠商,包括工業自動化暨電子零組件供應商歐姆龍(Omron);該公司機器人暨安全技術部門首席軟件工程師Luke Broyer對《EE Times》表示:“我們在所有操作系統中大量使用Linux。”

Luke Broyer,Omron機器人暨安全技術部門首席軟件工程師(來源:Omron)
來自Broyer及其團隊的一部份OS軟件,是為Omron的自主移動機器人(AMR)所開發;該公司AMR的硬體包括一臺x86電腦,負責高端路徑規劃,以及一般自主功能。該機器人也配備了微控制器(MCU),支援更需要即時回饋的必備功能,像是與放大器、取得回饋還有進行幾何運算。
電腦與微處理器透過不同的通信方法溝通,包括序列通信,以及MQTT協議,但Broyer表示他們打算改用DDS協議──這是一種特別適合生產品質數據的中介軟件標準。
“DDS更適合控制,以及時序(timing)相關的東西,“他解釋:”這也是我們想轉換的原因,那將會很強大,能讓我們所有的傳感器將數據饋入匯流排,而且如果有人想看那些數據,都能夠讀取…我們不需要個別發送。“
Broyer指出,Omron以往習慣在AMR的MCU采用即時操作系統(RTOS),但對于他們的目的來說并非必須:“因此,我們轉向一些更強大的Arm處理器,讓我們可以利用名為Yocto的工具打造自己的定制化Linux變體。“
Arm處理器是一個以精簡指令集電腦架構為基礎的CPU系列;利用Yocto,Omron可以只用需要的一部份Linux,并因此保留AMR的處理能量在需要的地方。
另一個專有OS則是在Dusty Robotics的建筑布局繪圖機器人上執勤;一開始該公司是使用被稱為ROS (Robot Operating System)的開放源碼中介軟件。
“讓我們很驚訝的是,很多機器人公司都愛ROS,它幾乎無所不在;”Dusty Robotics Tessa Lau接受《EE Times》采訪時表示:“我們放棄它是一個非常具爭議性的決定,因為我們有點是逆勢而行。”

Tessa Lau,Dusty Robotics首席執行官(來源: Dusty Robotics)
讓全世界的機器人運作
全球科技情報公司ABI Research策略性技術副總裁Malik Saadi接受《EE Times》采訪時表示,有超過740家公司采用以ROS為基礎的機器人,“包括老牌廠商如Bear Robotics、Canvas、Clearpath Robotics、Fetch Robotics 、Gideon、John Deere、Locus Robotics、MiR、Ocado與Vecna Robotics。”
他進一步指出:“最近幾年,像是Amazon、Google、Microsoft等大公司,也開始對系統業務顯露興趣,并展示對ROS的支援;這些趨勢讓ABI Research認為,到2030年,全球將有四分之三的商用機器人將內含某種形式的ROS套件。”
ROS在2017年被更新到ROS2,更新版本是每年發布。產業組織ROS-Industrial (ROS-I)將ROS的功能延伸到制造領域,并在2012年在GitHub上發表。
Lau并未對Saadi的看法──即ROS的強大──提出異議,但她們家的機器人就是不需要ROS。她指出,ROS源自于美國史丹佛大學(Stanford University),以及機器人公司Willow Garage,很適合原型制作與研發。
“但當你要打造一款產品,就像Dusty,我們的產品如同一輛車子;”Lau形容:“若運轉不順利,你不能發動車子而得重開機,或者你也不會想煩惱得花多少時間才能初始化操作系統。這些都是ROS的本質。”

Dusty Robotics在建筑工地現場印制布局圖。(來源:Dusty Robotics)
Lau和她的團隊已經完成以自有定制化軟件堆疊取代ROS的工作;“我們的機器人只做一件事情:它就是一臺印表機。當你開啟印表機并預期它會開始列印,其實有95%的ROS功能都用不到,但那些東西還是會被加載到你的系統,占據存儲器空間,拖慢整體運作。”
ROS真的是ROS嗎?
Lau所言并未觸及ROS具爭議性的本質,有一篇概述該開放源碼軟件的論文指出,ROS其實“在傳統概念上”并非機器人OS;而ROS-I美洲專案經理Matt Robinson也這樣認為。
Robinson接受《EE Times》采訪時表示:“那是一個讓不同部份零件能夠非同步互動、以實現某些目標動作──像是拾取物品,或是在我們的案例中通常是噴涂、打磨或焊接──的中介軟件框架。”
他指出,在Linux之上,ROS-I能協助機器人實現分析、工具路徑規劃、碰撞檢查等任務;ROS的隨插即用本質以及無所不在,已經為程式設計師建立了一些既有標準。
“一開始,ROS在介接不同傳感器方面具備價值;”先進制造機器人(Advanced Robotics for Manufacturing,ARM)研究所工程總監Larry Sweet對《EE Times》表示,“也因為如此,每一位系統整合者不用一次次重復編寫介面程式碼。”
Lau總結她的觀點:“在一般機器人中,會有硬件,有Linux操作系統,而在那之上則有ROS;所以你可以將之視為操作系統的一部分,那也是它為何被叫做‘機器人操作系統’;而你也能把它看成是在Linux操作系統之上的中介軟件,就像你可以把番茄(Tomato)叫成‘toh-mah-toh’那樣。”
