官术网_书友最值得收藏!

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 不同公司重復造輪子的時間和開展新研究的時間占比

主站蜘蛛池模板: 汉源县| 天等县| 嘉黎县| 綦江县| 安陆市| 灵石县| 嵩明县| 大港区| 运城市| 页游| 呼玛县| 临桂县| 屏山县| 琼海市| 九江市| 山丹县| 博客| 博湖县| 正镶白旗| 庄河市| 城市| 禹州市| 房山区| 内乡县| 北辰区| 安福县| 双流县| 资讯 | 卓尼县| 敦化市| 汾阳市| 柘荣县| 三台县| 万州区| 芒康县| 吴川市| 温宿县| 大厂| 宣化县| 旌德县| 土默特右旗|