ROS 2機器人操作系統(tǒng)與Gazebo機器人仿真(微課視頻版)
定 價:89 元
叢書名:跟我一起學人工智能
當前圖書已被 3 所學校薦購過!
查看明細
- 作者:侯偉、靳紫軒
- 出版時間:2024/12/1
- ISBN:9787302702535
- 出 版 社:清華大學出版社
- 中圖法分類:TP242
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書全面地介紹了ROS2機器人操作系統(tǒng)與Gazebo機器人仿真技術,內(nèi)容涵蓋了機器人技術的基礎知識、ROS2的運行原理、基本操作與編程方法,以及新一代Gazebo仿真工具的使用,通過詳細的操作步驟解析和豐富的實踐案例,幫助讀者快速掌握機器人開發(fā)與仿真的關鍵技能。書共9章,第1章介紹了機器人技術基礎知識,對機器人領域進行了全面概述;第2~4章重點介紹了ROS2的安裝、編程和仿真案例,以便讀者熟練掌握ROS2;第5章和第6章介紹了Gazebo的安裝、仿真環(huán)境和機器人建模方法,第7章介紹ROS2和Gazebo進行聯(lián)合仿真的方法,第8章以移動機器人的自主建圖和導航仿真介紹導航框架Nav2的使用方法,第9章介紹六足、四足、雙足機器人、多旋翼無人機、海面船舶和水平潛艇等6種機器人仿真方法和流程。本書內(nèi)容豐富,理論與實踐相結合,適合機器人技術初學者、高校計算機與機器人相關專業(yè)高年級本科生和研究生、科研院所的研究人員及從事機器人開發(fā)的工程師閱讀和參考。隨書附贈,本書中的所有仿真模型、全書源碼、授課PPT和授課視頻。
●內(nèi)容全面本書從基礎的Ubuntu系統(tǒng)的安裝與開發(fā)環(huán)境搭建起步,初學者易入門;全面介紹ROS2機器人操作系統(tǒng)的安裝、配置,以及命令行工具、rqt工具、TF2坐標系管理、Launch文件等重點內(nèi)容。通過豐富的案例和實踐,讀者可快速掌握ROS2的機器人開發(fā)方法。在機器人仿真方面,本書詳細介紹了Gazebo的使用方法,包括基于SDF的仿真環(huán)境與機器人構建、ROS2與Gazebo聯(lián)合仿真的全流程和7種不同類型機器人的仿真案例!窦夹g先進本書選用Ubuntu24.04長期版操作系統(tǒng)、ROS2Jazzy長期版和新一代GazeboHarmonic為主進行介紹。隨著老版本的退出,新版本憑借其的性能和豐富的新特性,將為機器人開發(fā)和仿真提供更強大的支持,滿足目前及未來機器人開發(fā)的需求!窠M織結構好本書遵循由易到難、由淺入深的原則,精心組織內(nèi)容。從機器人基礎理論與知識入手,逐步深入到ROS2機器人操作系統(tǒng)的詳細講解,再過渡到Gazebo仿真工具的運用,最后重點剖析ROS2與Gazebo聯(lián)合仿真的方法及7種不同類型機器人仿真案例,使讀者能夠循序漸進地構建知識體系。●學習資源豐富隨書附贈了全套教學課件、程序源碼,既方便自學,也便于教師用于課堂理論授課和實驗指導。此外,每章配備教學視頻,助力讀者輕松高效地學習。
前言
隨著人工智能技術的飛速發(fā)展,機器人領域正迎來前所未有的變革與機遇。機器人不再僅僅是工業(yè)生產(chǎn)中的自動化工具,而是正在逐漸融入人類生活的方方面面,從家庭服務到太空探索,從醫(yī)療到危險環(huán)境作業(yè),其應用場景不斷拓展。在這一背景下,掌握機器人開發(fā)與仿真技術已成為進入機器人行業(yè)的關鍵技能。
ROS(Robot Operating System,機器人操作系統(tǒng))作為機器人領域的主流開發(fā)框架,為機器人編程提供了一個高效、靈活且易于擴展的平臺。近年來,隨著ROS 2的推出,其在實時性、跨平臺支持、安全性等方面進行了全面升級,進一步推動了機器人技術的發(fā)展。與此同時,Gazebo作為一款強大的物理仿真工具,能夠高度逼真地模擬機器人與環(huán)境的交互,為機器人的設計、測試和優(yōu)化提供了有力支持。長期以來Gazebo作為仿真工具能夠與ROS 2進行聯(lián)合仿真,一方面作為ROS的默認仿真工具,解決了ROS缺乏機器人仿真工具的問題; 另一方面Gazebo仿真工具為ROS 2程序的實驗和驗證提供了平臺,可在程序部署到真實機器人前進行算法檢驗,提升ROS 2程序的開發(fā)效率。
目前ROS 2和Gazebo發(fā)展迅速,已成為機器人開發(fā)和仿真領域的核心工具。然而,國內(nèi)缺乏系統(tǒng)介紹二者特性的書籍和資料,鑒于這一現(xiàn)狀,本書精心選取了ROS 2在2024年5月發(fā)布的長期支持版本Jazzy和與之所配套的在2023年9月發(fā)布的新一代Gazebo的長期支持版本Harmonic作為核心內(nèi)容進行系統(tǒng)介紹。新的ROS 2和Gazebo不論在安裝、使用和編程方面均展現(xiàn)出易用性。同時,二者的聯(lián)合仿真也更加規(guī)范、合理,整體邏輯也更為清晰,極大地降低了學習和開發(fā)的門檻。基于以上優(yōu)勢,本書建議初學者直接從新的ROS 2和Gazebo入手,以便充分利用其強大的新特性,并在未來的開發(fā)中獲得長期技術支持和持續(xù)收益。對于有一定經(jīng)驗的讀者,可參考本書介紹的內(nèi)容,將現(xiàn)有項目遷移到新的ROS 2和Gazebo版本,確保項目在未來的開發(fā)和應用中保持高效和可持續(xù)性。無論是機器人技術的初學者,還是希望深入了解ROS 2與Gazebo高級應用的開發(fā)者,本書都將是一本極具價值的參考書。
本書旨在為讀者提供一本系統(tǒng)、全面且實用的教材和參考資料,幫助讀者快速地掌握ROS 2與Gazebo的基本原理與核心技術。第1章為機器人技術基礎知識,介紹了機器人的定義、發(fā)展歷史、分類、構成到產(chǎn)業(yè)現(xiàn)狀,是對機器人領域的概述。第2~4章全面地介紹了ROS 2機器人操作系統(tǒng)。第2章介紹了ROS 2的基本原理、安裝方法、命令行工具和rqt的使用方法等基礎內(nèi)容。第3章以Python語言為主介紹了ROS 2工作空間的結構、rclpy庫的使用、坐標系管理、Launch文件編寫和URDF的使用等內(nèi)容。第4章通過TurtleSim仿真環(huán)境介紹了ROS 2基礎仿真,通過豐富的案例展示了話題控制、服務調(diào)用、動作反饋及群機器人仿真等內(nèi)容。第5章和第6章細致地介紹了新一代Gazebo仿真工具。第5章介紹了Gazebo的架構、安裝、圖形用戶界面,以及命令行工具的使用方法等基礎知識。第6章詳細地介紹了使用SDF構建仿真環(huán)境、創(chuàng)建模型和機器人等內(nèi)容。第7~9章介紹了ROS 2和Gazebo聯(lián)合仿真的方法和實際應用案例。第7章介紹了ROS 2和Gazebo聯(lián)合仿真的基本原理和一般流程。第8章詳細地介紹了Nav2無人車導航框架的基本原理和仿真方法。第9章介紹了六足機器人、四足機器人、雙足機器人、四旋翼無人機、海面船舶和水下潛艇6種不同類型的機器人仿真方法,展示了ROS 2與Gazebo聯(lián)合仿真的一般流程和步驟,以及二者在多樣化機器人開發(fā)和應用中的廣泛前景。隨書附贈的全部代碼均經(jīng)過驗證,方便讀者運行和修改。
資源下載提示
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
視頻等資源: 掃描封底的文泉云盤防盜碼,再掃描書中相應章節(jié)的二維碼,可以在線學習。
在編寫本書的過程中,筆者力求做到內(nèi)容翔實、語言通俗易懂,并通過大量實例和詳細的步驟解析,幫助讀者更好地理解和掌握相關知識。同時,我們也注意到機器人技術的快速發(fā)展,在內(nèi)容選擇上注重前沿性與實用性,確保本書能夠滿足當前機器人開發(fā)與仿真的實際需求。
最后,感謝所有支持本書編寫工作的同事和朋友,也期待讀者在學習過程中提出寶貴意見和建議。
作者
2025年5月5日
侯偉,華北理工大學理學院教師,工學博士,碩士研究生導師。長期從事圖像處理和計算機視覺、人工智能、大數(shù)據(jù)、機器人控制等方面的教研工作。主持和參與科研項目多項,完成企業(yè)技術攻關2項。目前已發(fā)表學術論文6篇,授權發(fā)明專利2項,授權軟件著作權3項,編寫和參編教材3本。指導學生參加科技競賽10余項,指導學生創(chuàng)新創(chuàng)業(yè)項目5項,獲得、省級獎多項。靳紫軒,北京科技大學計算機與通信工程學院2024級碩士研究生,本科畢業(yè)于華北理工大學智能科學與技術專業(yè)。碩士研究生期間專注于多智能體系統(tǒng)涌現(xiàn)行為建模與仿真、基于深度強化學習的分布式群體行為控制算法及多智能體通用系統(tǒng)編程框架設計等方向的研究。在群智能體控制領域具有較豐富的理論和實踐經(jīng)驗。
目錄
教學課件(PPT)
本書源碼
第1章機器人概述(93min)
1.1機器人定義
1.2機器人發(fā)展歷史
1.2.1萌芽時期
1.2.2近代時期
1.2.3信息時期
1.2.4智能時期
1.3機器人分類
1.4機器人構成
1.5機器人產(chǎn)業(yè)
1.5.1各國政策
1.5.2機器人產(chǎn)業(yè)鏈
1.6本章小結
第2章ROS 2機器人操作系統(tǒng)(185min)
2.1ROS 2基本原理
2.1.1ROS 2和ROS 1的比較
2.1.2ROS 2架構
2.1.3ROS 2的核心概念
2.2ROS 2的安裝
2.2.1VirtualBox安裝
2.2.2Ubuntu 24.04安裝與配置
2.2.3ROS 2 Jazzy安裝
2.2.4ROS 2第三方功能包
2.3ROS 2命令行工具
2.3.1節(jié)點管理
2.3.2話題操作
2.3.3服務操作
2.3.4參數(shù)操作
2.3.5動作操作
2.3.6記錄與重播操作
2.3.7功能包管理
2.4rqt工具
2.4.1rqt簡介
2.4.2rqt的使用
2.4.3案例: 繪制奧運五環(huán)旗
2.5RViz簡介
2.6本章小結
第3章ROS 2編程基礎(231min)
3.1ROS 2項目
3.1.1工作空間
3.1.2創(chuàng)建功能包
3.1.3編寫程序
3.1.4編譯功能包
3.1.5運行功能包
3.1.6功能包的結構
3.2rclpy庫的使用
3.2.1節(jié)點
3.2.2話題
3.2.3服務
3.2.4動作
3.2.5參數(shù)
3.2.6消息接口
3.2.7案例: 創(chuàng)建話題發(fā)布者
3.2.8案例: 創(chuàng)建話題訂閱者
3.2.9案例: 創(chuàng)建服務器
3.2.10案例: 創(chuàng)建客戶端
3.2.11案例: 創(chuàng)建動作服務器
3.2.12案例: 創(chuàng)建動作客戶端
3.2.13案例: 創(chuàng)建參數(shù)服務
3.2.14案例: 創(chuàng)建自定義消息類型
3.3坐標系管理
3.3.1坐標變換原理
3.3.2TF2簡介
3.3.3案例: 發(fā)布靜態(tài)坐標系
3.3.4案例: 發(fā)布動態(tài)坐標系
3.3.5案例: 查詢坐標系變換
3.4Launch文件
3.4.1Launch文件簡介
3.4.2常用類介紹
3.4.3案例: Launch文件編寫
3.4.4案例: 命名空間與節(jié)點名稱設置
3.4.5案例: 參數(shù)設置
3.4.6案例: 話題重映射
3.5URDF簡介
3.5.1機器人狀態(tài)發(fā)布器
3.5.2案例: URDF可視化
3.6本章小結
第4章ROS 2仿真基礎(42min)
4.1TurtleSim仿真環(huán)境簡介
4.2基礎仿真
4.2.1案例: 話題控制
4.2.2案例: 服務調(diào)用
4.2.3案例: 動作反饋
4.3群機器人仿真
4.3.1案例: 隨機游走
4.3.2案例: 繪制奧運五環(huán)
4.4機器人移動與TF2
4.4.1案例: 坐標廣播
4.4.2案例: 移動至目標點
4.4.3案例: 小海龜跟隨
4.5本章小結
第5章Gazebo基礎(75min)
5.1Gazebo簡介
5.1.1相關術語
5.1.2Gazebo架構
5.1.3與ROS、RViz和rqt間的區(qū)別與聯(lián)系
5.2安裝與運行
5.2.1Gazebo安裝
5.2.2Gazebo運行
5.3GUI功能簡介
5.3.1GUI
5.3.2案例: 利用GUI控制小車
5.4Gazebo命令行工具
5.4.1話題
5.4.2服務
5.4.3消息類型
5.5在線模型與本地模型庫
5.6本章小結
第6章SDF基礎(113min)
6.1SDF簡介
6.1.1SDF、URDF與XACRO
6.1.2SDF的結構
6.2環(huán)境仿真
6.2.1基礎插件
6.2.2物理要素仿真
6.2.3環(huán)境顯示效果
6.2.4光源
6.2.5演員
6.3模型
6.3.1模型的結構
6.3.2模型的引入
6.3.3從三維模型創(chuàng)建
6.3.4從簡單幾何體創(chuàng)建
6.4機器人仿真
6.4.1關節(jié)簡介
6.4.2JointController控制器
6.4.3JointPositionController控制器
6.4.4JointTractoryController控制器
6.4.5專用控制器
6.5傳感器仿真
6.5.1激光雷達
6.5.2接觸傳感器
6.5.3IMU傳感器
6.5.4相機
6.5.5深度相機
6.5.6RGBD相機
6.5.7BoundingBox相機
6.5.8Segmentation相機
6.6案例: 視覺輪式移動機器人建模
6.7本章小結
第7章Gazebo與ROS 2聯(lián)合仿真(60min)
7.1簡介
7.2ros_gz_sim功能包
7.2.1啟動仿真環(huán)境
7.2.2添加模型
7.3ros_gz_bridge功能包
7.3.1bridge_parameter節(jié)點
7.3.2案例: 橋接單個話題
7.3.3案例: 橋接多個話題
7.4其他注意事項
7.4.1實體的控制
7.4.2話題消息類型
7.4.3相機話題
7.4.4RViz可視化SDF模型
7.5案例: 視覺巡線移動輪式機器人
7.6本章小結
第8章輪式機器人的建圖與導航(69min)
8.1Nav2概述
8.1.1Nav2結構
8.1.2Nav2核心功能
8.2Nav2相關概念
8.2.1動作服務器
8.2.2生命周期節(jié)點
8.2.3行為樹
8.2.4狀態(tài)估計
8.2.5環(huán)境表示
8.3Nav2的安裝
8.4slam_toolbox建圖
8.4.1slam_toolbox簡介
8.4.2slam_toolbox建圖流程
8.4.3地圖的保存
8.4.4地圖的發(fā)布
8.5Cartographer建圖
8.5.1Cartographer簡介
8.5.2Cartographer建圖流程
8.6路徑規(guī)劃
8.6.1路徑規(guī)劃簡介
8.6.2路徑規(guī)劃算法
8.6.3案例: A*路徑規(guī)劃算法
8.7案例: 自建地圖的導航
8.8案例: 自定義路徑規(guī)劃的導航
8.9本章小結
第9章其他類型機器人仿真簡介(31min)
9.1六足機器人仿真
9.1.1建模
9.1.2步態(tài)
9.1.3仿真
9.2四足機器人仿真
9.2.1建模
9.2.2仿真
9.3雙足機器人仿真
9.3.1建模
9.3.2仿真
9.4四旋翼無人機仿真
9.4.1建模
9.4.2仿真
9.5海面船舶仿真
9.5.1建模
9.5.2仿真
9.6水下潛艇仿真
9.6.1建模
9.6.2仿真
9.7本章小結