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