機(jī)器人操作系統(tǒng)或更廣為人知的 ROS 是一個(gè)完全開源的機(jī)器人操作系統(tǒng)。它更像是一個(gè)元操作系統(tǒng),有助于從軟件中抽象出硬件。它背后的主要思想是避免不斷地重新發(fā)明輪子并提供標(biāo)準(zhǔn)化的功能,因此您不會(huì)因?yàn)槠渌艘呀?jīng)做過(guò),而從頭開始浪費(fèi)時(shí)間進(jìn)行硬件抽象。它為業(yè)余愛好者和非專業(yè)人士進(jìn)入機(jī)器人編程領(lǐng)域提供了便利。
入門非常輕松,門檻低
ROS 由加利福尼亞公司 Willow Garage 于 2006 年開發(fā)。目的是建立一個(gè)可用于一般目的的框架,從那時(shí)起,它由他們維護(hù)和開發(fā)。ROS 有許多版本或發(fā)行版(稱為發(fā)行版),它們隨每個(gè)新的 Ubuntu 操作系統(tǒng)版本一起出現(xiàn)。最新的是針對(duì) Ubuntu 20.04 LTS 版本的 ROS Noetic Ninjemys。(2021年)
2022年ros2 humble
為什么要選擇機(jī)器人操作系統(tǒng)?
有許多替代品,例如 MRPT、CARMEN、LCM、Player、Microsoft RDS。盡管如此,它們還是在設(shè)計(jì)缺陷方面失敗了,例如語(yǔ)言支持限制、未優(yōu)化的通信或缺乏對(duì)各種設(shè)備的硬件支持,這又是一個(gè)相當(dāng)大的問(wèn)題。ROS 使軟件開發(fā)人員無(wú)需研究硬件設(shè)計(jì)或硬件如何工作即可創(chuàng)建程序。它提供了一種將進(jìn)程網(wǎng)絡(luò)與中央集線器或主集線器連接的方法。除此之外,ROS 支持許多編程語(yǔ)言,這使得它比其他框架更加靈活。
ROS 還使開發(fā)人員可以輕松地集成其他人已經(jīng)開發(fā)的節(jié)點(diǎn)。舉個(gè)例子,假設(shè)已經(jīng)構(gòu)建了一個(gè)包含運(yùn)動(dòng)節(jié)點(diǎn)和控制節(jié)點(diǎn)的機(jī)械臂。假設(shè)其他人制造了一個(gè)基于視覺(jué)的物體跟蹤車,它由一個(gè)視覺(jué)節(jié)點(diǎn)和一個(gè)運(yùn)動(dòng)節(jié)點(diǎn)組成。如果愿意,可以將汽車的視覺(jué)節(jié)點(diǎn)包含在機(jī)械臂中,然后就擁有了一個(gè)具有物體檢測(cè)功能的機(jī)械臂。它是如此簡(jiǎn)單。
ROS 正慢慢致力于成為機(jī)器人中間件的行業(yè)標(biāo)準(zhǔn)。根據(jù)ABI Research的數(shù)據(jù),“到 2024 年,將近 55% 的商用機(jī)器人出貨量(超過(guò) 915,000 臺(tái))將至少安裝一個(gè) ROS 軟件包”,從而為支持 ROS 的機(jī)器人創(chuàng)造了相當(dāng)大的安裝基礎(chǔ)?!癛OS 的成功歸功于其廣泛的互操作性以及與其他開源項(xiàng)目的兼容性。ROS 1.0 利用 Orocos 進(jìn)行實(shí)時(shí)通信,利用 opencv 進(jìn)行機(jī)器視覺(jué)模型,”ABI Research 首席分析師 Lian Jye Su 說(shuō)。
“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.
成熟的物理模擬能力
機(jī)器人操作系統(tǒng)有許多有用的工具,可以幫助用戶了解系統(tǒng)在現(xiàn)實(shí)世界中的工作方式。其中之一是 RViz,它是一種流行的 3-D 可視化工具。它將軟件參數(shù)作為輸入,并根據(jù)輸入的類型將它們可視化。這有助于我們從機(jī)器人的角度看待環(huán)境。
可視化效果良好后,可以在具有所有物理參數(shù)的 3-D 世界中對(duì)其進(jìn)行模擬。該模擬是在 Gazebo 的幫助下完成的,它是一個(gè) 3-D 模擬器并支持 ROS。通過(guò)在這些模擬中快速測(cè)試我們的算法和設(shè)計(jì),可以節(jié)省大量時(shí)間和金錢。
支持ROS的硬件產(chǎn)品
機(jī)器人操作系統(tǒng)需要一個(gè)基于 Linux 的環(huán)境才能運(yùn)行。處理器類型和內(nèi)存要求完全取決于項(xiàng)目。一般來(lái)說(shuō),小型 ROS 項(xiàng)目最常用的計(jì)算機(jī)是樹莓派。這是由于它對(duì) Linux 內(nèi)核的支持和電路板的低成本。最近,RP2040的樹莓派 Pico出來(lái)了,它也支持 micro-ROS。假設(shè)項(xiàng)目需要大量計(jì)算,例如基于 SLAM 的自主導(dǎo)航或計(jì)算機(jī)視覺(jué)應(yīng)用程序。在這種情況下,應(yīng)該選擇功能強(qiáng)大的主板,例如 Nvidia Jetson TX2 或 Intel NUC。
至于傳感器,ROS 擁有使其與大多數(shù)傳感器兼容的庫(kù)。許多產(chǎn)品都支持 ROS,例如 RPLIDAR A1M8 360 度激光掃描儀、英特爾實(shí)感深度攝像頭等等。