本書共有 11 章,分為三個(gè)部分:第一部分(第 1~6 章)是機(jī)器人操作系統(tǒng)(ROS)的基礎(chǔ),內(nèi)容包含 ROS 簡(jiǎn)介、編程基礎(chǔ)知識(shí)、ROS 概述、ROS 環(huán)境搭建、ROS 編程基礎(chǔ)和 ROS 常用工具,該部分循序漸進(jìn)地幫助讀者熟悉使用 ROS;第二部分(第 7~10 章)設(shè)置了不同類型的應(yīng)用實(shí)驗(yàn),幫助讀者掌握并使用ROS;第三部分(第 11 章)介紹了新一代機(jī)器人操作系統(tǒng) ROS 2,涉及 ROS 2 的架構(gòu)、原理和使用方法。 本書注重理論與實(shí)踐相結(jié)合,理論部分講解 ROS 的基礎(chǔ)知識(shí),包括編程基礎(chǔ)知識(shí)、Linux 入門基礎(chǔ)知識(shí)和 ROS 相關(guān)基礎(chǔ)知識(shí);實(shí)踐部分設(shè)置了不同類型的應(yīng)用實(shí)驗(yàn),便于讀者入門了解并運(yùn)用 ROS,并配有相關(guān)講解 PPT、代碼等,幫助讀者深入理解 ROS 知識(shí),并應(yīng)用于實(shí)踐。本書可供學(xué)習(xí)基于 ROS 的機(jī)器人編程的人員使用,也可作為高等院校相關(guān)專業(yè)學(xué)生的參考書。
曾慶喜,南京航空航天大學(xué)副教授,主要研究方向?yàn)闄C(jī)器人導(dǎo)航、環(huán)境感知及控制技術(shù),在國(guó)內(nèi)外期刊和會(huì)議上發(fā)表論文五十余篇,其中SCI和EI檢索三十余篇。申請(qǐng)發(fā)明專利60余項(xiàng)、授權(quán)16項(xiàng),出版機(jī)器人操作系統(tǒng)(ROS)專著一本。近年來主持完成國(guó)家自然科學(xué)基金青年基金、中國(guó)博士后基金、江蘇省企業(yè)博士集聚計(jì)劃項(xiàng)目、江蘇省科技支撐計(jì)劃項(xiàng)目、中央高;究蒲袠I(yè)務(wù)費(fèi)項(xiàng)目以及10余項(xiàng)企業(yè)橫向合作課題。
第 1 章 ROS 簡(jiǎn)介···································································································1
1.1 ROS 初識(shí)··································································································1
1.1.1 ROS 是什么························································································1
1.1.2 ROS 的特點(diǎn)························································································1
1.1.3 ROS 發(fā)行版························································································2
1.2 本書的 ROS 資源 ························································································3
1.3 本章小結(jié) ··································································································3
第 2 章 編程基礎(chǔ)知識(shí)······························································································4
2.1 C++基礎(chǔ)知識(shí) ·····························································································4
2.1.1 在 Linux 中使用 C++··············································································4
2.1.2 從實(shí)例中學(xué)習(xí) C++ ·············································································.12
2.2 Python 基礎(chǔ)知識(shí) ······················································································.22
2.2.1 在 Linux 中使用 Python········································································.22
2.2.2 從實(shí)例中學(xué)習(xí) Python ··········································································.26
2.3 本章小結(jié) ·······························································································.39
第 3 章 ROS 概述································································································.40
3.1 ROS 文件系統(tǒng)級(jí)······················································································.40
3.1.1 工作空間························································································.41
3.1.2 功能包 ··························································································.41
3.1.3 元功能包························································································.42
3.2 計(jì)算圖級(jí) ·······························································································.43
3.2.1 節(jié)點(diǎn) ·····························································································.43
3.2.2 消息 ·····························································································.44
3.2.3 話題 ·····························································································.44
3.2.4 服務(wù) ·····························································································.45
3.2.5 節(jié)點(diǎn)管理器 ·····················································································.45
3.2.6 參數(shù)服務(wù)器 ·····················································································.45
3.2.7 消息記錄包 ·····················································································.46
3.3 ROS 開源社區(qū)·························································································.46
3.4 本章小結(jié) ·······························································································.46
第 4 章 ROS 環(huán)境搭建··························································································.47
4.1 Ubuntu 安裝····························································································.47
4.1.1 制作 Ubuntu 系統(tǒng)盤············································································.47
4.1.2 安裝 Ubuntu ····················································································.48
4.1.3 Linux 常用操作指令 ···········································································.53
4.1.4 Shell 基礎(chǔ)認(rèn)識(shí)··················································································.55
4.1.5 使用文本編輯器················································································.56
4.1.6 Linux 下 ssh 的使用 ············································································.60
4.2 ROS 安裝·······························································································.63
4.3 本章小結(jié) ·····································································