- ROS 2機器人開發(fā):從入門到實踐
- 桑欣
- 768字
- 2024-10-14 16:11:32
1.1.1 機器人與ROS
記得我剛開始找工作參加面試時,面試官問:“你認為機器人是什么?”我的回答是“像人一樣,可以自動完成某些任務(wù)(如搬運和清潔)的機器”。之所以這樣回答,是因為機器人的組成和行為與人體十分相似,舉一個最簡單的例子,當你感到熱的時候就會打開空調(diào),我們將這個行為過程與機器人進行類比。如圖1-1所示,你的皮膚相當于機器人的傳感器,比如溫度傳感器就可以測量溫度;你的肌肉相當于機器人的執(zhí)行器,比如可以控制角度的舵機;大腦相當于機器人的決策系統(tǒng),將皮膚和肌肉與大腦相連的則是神經(jīng)網(wǎng)絡(luò)。不難看出,ROS在機器人中的作用就是將傳感器的數(shù)據(jù)發(fā)送給決策系統(tǒng),然后將決策系統(tǒng)的輸出發(fā)送給執(zhí)行器執(zhí)行。

圖1-1 機器人與人體行為類比
2006年,Eric Berger和Keenan Wyrobek通過調(diào)查發(fā)現(xiàn),當時的機器人公司在開發(fā)機器人時把八成的精力都花在了搭建機器人的通信機制和基礎(chǔ)工具上,反而沒時間完善機器人的決策系統(tǒng)。更奇怪的是,即使是同一個組織,在開發(fā)不同的機器人時也會從零開始構(gòu)建機器人的通信機制和工具,花費大量時間重復造輪子,不同公司重復造輪子[1]的時間和開展新研究的時間占比如圖1-2所示。
ROS就是在這種背景下出現(xiàn)的。聰明的你應(yīng)該已經(jīng)猜到,ROS本質(zhì)上就是用于快速搭建機器人的軟件庫(核心是通信)和工具集。它的出現(xiàn)雖然解決了機器人開發(fā)中重復造輪子的問題,但隨著機器人軟硬件不斷進步,應(yīng)用場景不斷豐富,ROS暴露出了在通信上缺乏穩(wěn)定性、實時性和安全性等問題,因此ROS 2開始登上舞臺。
ROS 2采用第三方的通信組件代替ROS 1中的通信組件,使得數(shù)據(jù)傳輸更加穩(wěn)定和強大。同時ROS 2引入了新的C++標準,在代碼規(guī)范性、接口一致性上都有了不小的提升。因此在本書中我們將基于最新的ROS 2進行介紹。
ROS 2是如何在ROS 1的基礎(chǔ)上更進一步的呢?帶著好奇心,我們一起來看下ROS 2的系統(tǒng)架構(gòu),揭開它的神秘面紗吧。

圖1-2 不同公司重復造輪子的時間和開展新研究的時間占比
- 城堡里學無人機:原理、系統(tǒng)與實現(xiàn)
- 知識圖譜從0到1:原理與Python實戰(zhàn)
- Python元學習:通用人工智能的實現(xiàn)
- 人工智能產(chǎn)品經(jīng)理:AI時代PM修煉手冊(修訂版)
- 深入淺出AI算法:基礎(chǔ)概覽
- 基于機器學習的行為識別技術(shù)研究
- 物聯(lián)網(wǎng)+智能家居:移動互聯(lián)技術(shù)應(yīng)用
- 賢二機器僧漫游人工智能
- AI自媒體寫作超簡單
- DeepSeek實戰(zhàn):操作攻略與商業(yè)應(yīng)用
- Joy RL:強化學習實踐教程
- 人工智能的進化
- 科學+預見人工智能
- 智能物聯(lián)網(wǎng)的存儲器設(shè)計與實現(xiàn)
- 未來之地