作者:創客萊吧MakerLab
ROS 到底是一個什麼樣的系統?這必須先從機器人的發展說起,歷史可以回朔到 1950 年代的美國, George Devol 首先提出了工業機器人的概念。此後的 20 年,開始進入了機器人發展的黃金時代。
下圖的機器人是由美國斯坦福國際研究所(Stanford Research Institute, SRI)開發研製的機器人–Shakey。它是首台採用人工智慧並能夠進行自主感知、建造環境模組,更能依據人類所下達的指令,發現並抓取積木。它裝備了攝影機、三角法距測儀、碰撞感測器等,是一部能夠感知外部訊息的機器人。但當時控制它的電腦跟一間普通的房間一樣大,運算速度緩慢,導致Shakey需要數小時來分析環境並規劃行動的路線,但Shakey的實現的成果影響了日後機器人的研究。
然而,在 Shakey之後的數十年, 機器人的研發進入了一個相對冷淡時期。Shakey出世以後各國爭相發表的機器人,其功能皆與 Shakey 機器人大同小異。直到 2007 年,Willow Garage 公司組織有感於機器人的研發進度緩慢,推測主要原因在於每個公司或企業所研發的機器人,其系統皆為封閉式,說白一點就是每個公司研發的機器人系統與技術,皆無法與其他人共享。
因此,Willow Garage 公司便開發出了 「機器人操作系統(Robot Operating System, ROS)」 , 期盼讓世界上的機器人開發者,都能夠使用這套系統來開發機器人,以便加快世界整體的機器人研發進度。也因為懷抱這遠大的夢想,因此 Willow Garage 便讓 ROS 系統成為一個開源的系統,讓世界所有人都可以使用 ROS 系統,進行研究、開發,甚至是商業的活動。
為了讓世界所有人都可以使用 ROS 系統開發機器人,並且互相分享相關的技術與資源,Willow Garage 公司便讓 ROS 系統擁有以下的特點:
- 可用於絕大部分的活動,如研究、開發、教育甚至是商業活動。因為 ROS 系統採用的是 BSD 授權條款。
- 擁有眾多的可視化工具協助,讓開發者可以不必再只透過一長串的英文字母,去一一檢查問題的發生原因。
- 方便的通訊架構讓不同機器間的通訊使用較為便利,使得一般民眾也能夠快速地上手遠端傳輸與遙控等遠端通訊功能。ROS 的通訊架構採用的是 TCP / IP 通訊架構(也就是一般人常使用的 IP位置 )。
- 可使用多種程式語言進行開發,讓開發者能夠使用自己熟悉的語言開發機器人。目前可支援的程式語言有:C++、Python、java、lisp ……等。
- 統一的資料格式,讓使用不同程式語言開發的人員,能夠快速地分享彼此的技術與訊息。比如說 1號人員 使用 C++ 來撰寫影像辨識的程式碼,則2號人員可以利用 python ,直接使用 1 號人員的影像辨識成果。這加快了1號人員與2號人員之間的技術與資訊交流。
經由上述幾點的特性,讓 ROS 系統快速地在世界各地發芽茁壯。根據 ROS指標報告 ,從 2011 年統計開始,直到 2018 年 7月為止,每年訪問 ROS 官方網站的人數成長率,皆有 21% 以上;其餘如 ROS系統下載數、ROS問答數、ROS的 package 下載數,年增長率也都 擁有 15 % 以上的數據。此外,目前社群採用ROS驅動的機器人種類已達近140種了。
除此之外,在世界工業界領域裡,也成立了使用 ROS 系統解決工業問題的組織: ROS-Industrial Consortium 。台灣有一家上市公司也參與了 ROS-Industrial Consortium ,是為 「 凌華科技股份有限公司(ADLINK)」。
而微軟也在 2018 年時加入了 ROS-Industrial Consortium,並且宣布 ROS 也將可在Win 10 系統上使用 ,相信這將會讓更多人開始使用 ROS 系統。
由此可見,ROS 系統在世界上,的確是越來越多人知道,並且開始使用 來開發機器人呢 !。 接下來,創客萊吧 Makerlab 將會使用 「霹靂車」,一款 ROS 教學移動平台,來開始教導大家踏入如何使用 ROS 系統的世界囉!
- 【CIRCUS Pi】使用 Arduino UNO R4 WiFi 輕鬆製作 LED Matrix 動畫 - 2024/10/14
- 【CIRCUS Pi】不寫程式做物聯網-Adafruit.io WipperSnapper - 2024/08/09
- 【CIRCUS Pi】ESP32專題——mmWAVE 毫米波雷達心率感測 - 2024/05/27