機器人操作系統或更廣為人知的 ROS 是一個完全開源的機器人操作系統。它更像是一個元操作系統,有助于從軟件中抽象出硬件。它背后的主要思想是避免不斷地重新發明輪子并提供標準化的功能,因此您不會因為其他人已經做過,而從頭開始浪費時間進行硬件抽象。它為業余愛好者和非專業人士進入機器人編程領域提供了便利。
入門非常輕松,門檻低
ROS 由加利福尼亞公司 Willow Garage 于 2006 年開發。目的是建立一個可用于一般目的的框架,從那時起,它由他們維護和開發。ROS 有許多版本或發行版(稱為發行版),它們隨每個新的 Ubuntu 操作系統版本一起出現。最新的是針對 Ubuntu 20.04 LTS 版本的 ROS Noetic Ninjemys。(2021年)
2022年ros2 humble
為什么要選擇機器人操作系統?
有許多替代品,例如 MRPT、CARMEN、LCM、Player、Microsoft RDS。盡管如此,它們還是在設計缺陷方面失敗了,例如語言支持限制、未優化的通信或缺乏對各種設備的硬件支持,這又是一個相當大的問題。ROS 使軟件開發人員無需研究硬件設計或硬件如何工作即可創建程序。它提供了一種將進程網絡與中央集線器或主集線器連接的方法。除此之外,ROS 支持許多編程語言,這使得它比其他框架更加靈活。
ROS 還使開發人員可以輕松地集成其他人已經開發的節點。舉個例子,假設已經構建了一個包含運動節點和控制節點的機械臂。假設其他人制造了一個基于視覺的物體跟蹤車,它由一個視覺節點和一個運動節點組成。如果愿意,可以將汽車的視覺節點包含在機械臂中,然后就擁有了一個具有物體檢測功能的機械臂。它是如此簡單。
ROS 正慢慢致力于成為機器人中間件的行業標準。根據ABI Research的數據,“到 2024 年,將近 55% 的商用機器人出貨量(超過 915,000 臺)將至少安裝一個 ROS 軟件包”,從而為支持 ROS 的機器人創造了相當大的安裝基礎。“ROS 的成功歸功于其廣泛的互操作性以及與其他開源項目的兼容性。ROS 1.0 利用 Orocos 進行實時通信,利用 opencv 進行機器視覺模型,”ABI Research 首席分析師 Lian Jye Su 說。
“nearly 55% of total commercial robots shipped in 2024, over 915,000 units, will have at least one ROS package installed,” creating a sizeable installed base of ROS-enabled robots. “The success of ROS is due to its wide range of interoperability and compatibility with other open-source projects. ROS 1.0 leverages Orocos for real-time communication and OpenCV for machine vision models,” said Lian Jye Su, Principal Analyst of ABI Research.
成熟的物理模擬能力
機器人操作系統有許多有用的工具,可以幫助用戶了解系統在現實世界中的工作方式。其中之一是 RViz,它是一種流行的 3-D 可視化工具。它將軟件參數作為輸入,并根據輸入的類型將它們可視化。這有助于我們從機器人的角度看待環境。
可視化效果良好后,可以在具有所有物理參數的 3-D 世界中對其進行模擬。該模擬是在 Gazebo 的幫助下完成的,它是一個 3-D 模擬器并支持 ROS。通過在這些模擬中快速測試我們的算法和設計,可以節省大量時間和金錢。
支持ROS的硬件產品
機器人操作系統需要一個基于 Linux 的環境才能運行。處理器類型和內存要求完全取決于項目。一般來說,小型 ROS 項目最常用的計算機是樹莓派。這是由于它對 Linux 內核的支持和電路板的低成本。最近,RP2040的樹莓派 Pico出來了,它也支持 micro-ROS。假設項目需要大量計算,例如基于 SLAM 的自主導航或計算機視覺應用程序。在這種情況下,應該選擇功能強大的主板,例如 Nvidia Jetson TX2 或 Intel NUC。
至于傳感器,ROS 擁有使其與大多數傳感器兼容的庫。許多產品都支持 ROS,例如 RPLIDAR A1M8 360 度激光掃描儀、英特爾實感深度攝像頭等等。