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