機(jī)器人操作系統(tǒng)(ROS)及仿真應(yīng)用
定 價(jià):59 元
叢書(shū)名:普通高等教育人工智能與機(jī)器人工程專業(yè)系列教材
- 作者:劉相權(quán) 張萬(wàn)杰
- 出版時(shí)間:2022/9/1
- ISBN:9787111709718
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP242
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)首先對(duì)Ubuntu 20.04的安裝與使用、ROS安裝與系統(tǒng)架構(gòu)、ROS通信方式、ROS實(shí)用工具進(jìn)行了介紹,然后在仿真環(huán)境中對(duì)機(jī)器人建模與運(yùn)動(dòng)仿真、機(jī)器人建圖與導(dǎo)航仿真應(yīng)用、機(jī)器人平面視覺(jué)檢測(cè)仿真應(yīng)用、機(jī)器人三維視覺(jué)仿真實(shí)例等方面進(jìn)行了詳細(xì)介紹,*后通過(guò)一個(gè)完整的基于 ROS 的服務(wù)機(jī)器人的仿真應(yīng)用實(shí)例,講解如何實(shí)現(xiàn)地圖創(chuàng)建、航點(diǎn)設(shè)置、路徑規(guī)劃、視覺(jué)檢測(cè)、物品自動(dòng)抓取的綜合功能。
為了便于理解,書(shū)中列舉了大量應(yīng)用實(shí)例,所有實(shí)例均在ROS中調(diào)試通過(guò),可以直接運(yùn)行,且每個(gè)應(yīng)用實(shí)例均給出相應(yīng)的源代碼。本書(shū)在編寫(xiě)時(shí)力求做到通俗易懂、圖文并茂,針對(duì)應(yīng)用型本科院校學(xué)生的特點(diǎn),內(nèi)容講解在夠用的基礎(chǔ)上,突出實(shí)際應(yīng)用,同時(shí)提供豐富的配套資源。
本書(shū)可作為普通高等院校機(jī)器人、機(jī)械、車(chē)輛等工科專業(yè)的教材,也可供廣大從事機(jī)器人開(kāi)發(fā)的工程技術(shù)人員參考。
本書(shū)配有教學(xué)課件和源程序代碼,歡迎選用本書(shū)作教材的教師發(fā)郵件至jinacmp@163.com索取,或登錄www.cmpedu.com注冊(cè)下載。
機(jī)器人操作系統(tǒng)(ROS)作為一種開(kāi)源軟件,集成了全球機(jī)器人領(lǐng)域頂尖科研機(jī)構(gòu)的研究成果,成為世界上較先進(jìn)、通用的機(jī)器人與人工智能科研和教育平臺(tái)。其涵蓋了建圖與導(dǎo)航定位、物體識(shí)別、運(yùn)動(dòng)規(guī)劃、多關(guān)節(jié)機(jī)械臂運(yùn)動(dòng)控制、機(jī)器學(xué)習(xí)等內(nèi)容。國(guó)內(nèi)機(jī)器人企業(yè)、無(wú)人駕駛企業(yè)都紛紛加入ROS陣營(yíng),眾多企業(yè)在招募無(wú)人駕駛規(guī)劃算法工程師、自主導(dǎo)航工程師、機(jī)器人感知算法工程師等崗位時(shí),均要求“熟悉ROS”或者“具備ROS開(kāi)發(fā)經(jīng)驗(yàn)者優(yōu)先”。
辦公廳印發(fā)的《2019年教育信息化和網(wǎng)絡(luò)安全工作要點(diǎn)》指出:“推動(dòng)大數(shù)據(jù)、虛擬現(xiàn)實(shí)、人工智能等新技術(shù)在教育教學(xué)中的深入應(yīng)用!庇纱丝梢(jiàn),國(guó)家高度重視虛擬現(xiàn)實(shí)在教學(xué)方式方法改革中的應(yīng)用。本書(shū)針對(duì)機(jī)器人實(shí)踐教學(xué)存在的設(shè)備成本高昂、學(xué)生操作機(jī)會(huì)不足、操作危險(xiǎn)、創(chuàng)新能力培養(yǎng)困難等問(wèn)題,提供了ROS在機(jī)器人教學(xué)中可以實(shí)現(xiàn)的仿真應(yīng)用,以及相應(yīng)的教學(xué)資源,以促進(jìn)學(xué)生實(shí)踐動(dòng)手能力的提高,提升學(xué)生的職業(yè)競(jìng)爭(zhēng)力。
本書(shū)主要面向應(yīng)用型本科院校,編寫(xiě)內(nèi)容力求由淺入深,循序漸進(jìn)地介紹ROS的功能和操作步驟。本書(shū)內(nèi)容涉及Ubuntu 20.04的安裝與使用、ROS安裝與系列架構(gòu)、ROS通信方式、ROS實(shí)用工具、機(jī)器人建模、機(jī)器人建圖與導(dǎo)航、平面視覺(jué)檢測(cè)、三維視覺(jué)檢測(cè)、綜合應(yīng)用,每一個(gè)環(huán)節(jié)都結(jié)合了仿真應(yīng)用實(shí)例,并給出源代碼,便于讀者學(xué)習(xí);書(shū)中使用大量圖片,讓抽象的內(nèi)容立體化、形象化,非常便于讀者閱讀和按步驟對(duì)照學(xué)習(xí)機(jī)器人操作系統(tǒng)。讀者只需要擁有一臺(tái)運(yùn)行Ubuntu系統(tǒng)的計(jì)算機(jī),具備Linux的基本知識(shí),了解C++的編程方法,即可使用本書(shū)。
編著者編著本書(shū)過(guò)程中,參閱了大量的相關(guān)教材和專著,也在網(wǎng)上查找學(xué)習(xí)了很多資料,在此向各位作者表示感謝!
由于編著者水平有限,書(shū)中不足、疏漏之處在所難免,懇請(qǐng)廣大讀者批評(píng)、指正。
編著者
目錄
前言
第1章Linux Ubuntu入門(mén)基礎(chǔ)
1.1Ubuntu 簡(jiǎn)介
1.2安裝Ubuntu 20.04
1.2.1準(zhǔn)備工具
1.2.2制作Ubuntu系統(tǒng)安裝啟動(dòng)U盤(pán)
1.2.3在 Windows 10操作系統(tǒng)下創(chuàng)建空白磁盤(pán)分區(qū)
1.2.4利用U盤(pán)安裝Ubuntu系統(tǒng)
1.3Ubuntu 20.04使用入門(mén)
1.3.1截圖快捷鍵
1.3.2Ubuntu 20.04界面簡(jiǎn)介
1.3.3命令行使用入門(mén)
1.4本章小結(jié)
第2章ROS安裝與系統(tǒng)架構(gòu)
2.1ROS簡(jiǎn)介
2.2ROS安裝與配置
2.3ROS默認(rèn)安裝目錄
2.4ROS架構(gòu)
2.4.1ROS文件系統(tǒng)級(jí)
2.4.2ROS計(jì)算圖級(jí)
2.4.3ROS開(kāi)源社區(qū)級(jí)
2.4.4常用包管理指令
2.5Visual Studio Code安裝與配置
2.6Visual Studio Code卸載
2.7本章小結(jié)
第3章ROS通信方式
3.1主題
3.1.1概述
3.1.2發(fā)布器編程實(shí)例:小烏龜速度控制
3.1.3訂閱器編程實(shí)例:小烏龜速度接收
3.2服務(wù)
3.2.1概述
3.2.2自定義srv消息文件編程實(shí)例
3.2.3服務(wù)端編程實(shí)例
3.2.4客戶端編程實(shí)例
3.3動(dòng)作庫(kù)
3.3.1概述
3.3.2自定義action消息文件編程實(shí)例
3.3.3客戶端編程實(shí)例
3.3.4服務(wù)端編程實(shí)例
3.4參數(shù)服務(wù)器
3.4.1創(chuàng)建yaml文件
3.4.2加載yaml文件
3.4.3在節(jié)點(diǎn)中進(jìn)行參數(shù)讀取
3.5本章小結(jié)
第4章ROS實(shí)用工具
4.1坐標(biāo)變換
4.1.1廣播TF 變換
4.1.2監(jiān)聽(tīng)TF 變換
4.2啟動(dòng)文件
4.2.1編寫(xiě)launch文件
4.2.2Launch文件解析
4.3Gazebo仿真
4.3.1開(kāi)源項(xiàng)目的下載
4.3.2啟動(dòng)仿真軟件
4.3.3啟動(dòng)鍵盤(pán)控制
4.4Rviz三維可視化工具
4.4.1開(kāi)源項(xiàng)目的下載
4.4.2啟動(dòng)Rviz可視化工具
4.5本章小結(jié)
第5章機(jī)器人建模與運(yùn)動(dòng)仿真
5.1URDF的物理模型描述
5.1.1開(kāi)源項(xiàng)目示例
5.1.2URDF的結(jié)構(gòu)與慣性描述
5.1.3仿真中常用的慣性參數(shù)
5.2URDF的傳感器描述
5.2.1運(yùn)動(dòng)底盤(pán)仿真參數(shù)
5.2.2激光雷達(dá)仿真參數(shù)
5.2.3立體相機(jī)仿真參數(shù)
5.3機(jī)器人運(yùn)動(dòng)仿真
5.3.1運(yùn)動(dòng)控制仿真示例
5.3.2與ROS工具的連接
5.3.3基于傳感器的閉環(huán)控制仿真示例
5.4本章小結(jié)
第6章機(jī)器人建圖與導(dǎo)航仿真應(yīng)用
6.1在Gazebo中進(jìn)行SLAM建圖和導(dǎo)航仿真
6.1.1SLAM建圖仿真
6.1.2Navigation導(dǎo)航仿真
6.2ROS中的Navigation導(dǎo)航系統(tǒng)
6.2.1Navigation的使用
6.2.2全局規(guī)劃器
6.2.3局部規(guī)劃器
6.2.4AMCL
6.2.5move_base
6.2.6常見(jiàn)問(wèn)題
6.3開(kāi)源地圖導(dǎo)航插件簡(jiǎn)介
6.3.1常規(guī)的導(dǎo)航調(diào)用
6.3.2基于插件的導(dǎo)航調(diào)用
6.3.3在仿真環(huán)境中設(shè)置航點(diǎn)
6.3.4在仿真環(huán)境中使用插件導(dǎo)航
6.3.5航點(diǎn)信息的編輯修改
6.4語(yǔ)音識(shí)別和自主導(dǎo)航綜合實(shí)例
6.4.1下載語(yǔ)音識(shí)別包
6.4.2編寫(xiě)實(shí)例代碼
6.4.3對(duì)實(shí)例進(jìn)行仿真
6.5本章小結(jié)
第7章機(jī)器人平面視覺(jué)檢測(cè)仿真應(yīng)用
7.1使用OpenCV獲取機(jī)器人的視覺(jué)圖像
7.1.1編寫(xiě)例程代碼
7.1.2對(duì)例程進(jìn)行仿真
7.1.3在真機(jī)上運(yùn)行實(shí)例
7.2使用OpenCV進(jìn)行顏色特征提取和目標(biāo)定位
7.2.1編寫(xiě)例程代碼
7.2.2對(duì)例程進(jìn)行仿真
7.2.3在真機(jī)上運(yùn)行實(shí)例
7.3實(shí)現(xiàn)機(jī)器人的目標(biāo)跟隨
7.3.1編寫(xiě)例程代碼
7.3.2對(duì)例程進(jìn)行仿真
7.3.3在真機(jī)上運(yùn)行實(shí)例
7.4實(shí)現(xiàn)機(jī)器人的人臉檢測(cè)
7.4.1編寫(xiě)例程代碼
7.4.2對(duì)例程進(jìn)行仿真
7.4.3在真機(jī)上運(yùn)行實(shí)例
7.5本章小結(jié)
第8章機(jī)器人三維視覺(jué)仿真實(shí)例
8.1機(jī)器人的三維點(diǎn)云數(shù)據(jù)獲取
8.1.1編寫(xiě)例程代碼
8.1.2對(duì)例程進(jìn)行仿真
8.1.3在真機(jī)上運(yùn)行實(shí)例
8.2使用PCL點(diǎn)云庫(kù)進(jìn)行平面特征提取
8.2.1編寫(xiě)例程代碼
8.2.2對(duì)例程進(jìn)行仿真
8.2.3在真機(jī)上運(yùn)行實(shí)例
8.3使用PCL點(diǎn)云庫(kù)進(jìn)行點(diǎn)云聚類分割
8.3.1編寫(xiě)例程代碼
8.3.2對(duì)例程進(jìn)行仿真
8.3.3在真機(jī)上運(yùn)行實(shí)例
8.4基于三維視覺(jué)的物品檢測(cè)和抓取
8.4.1編寫(xiě)例程代碼
8.4.2對(duì)例程進(jìn)行仿真
8.4.3在真機(jī)上運(yùn)行實(shí)例
8.5本章小結(jié)
第9章基于ROS的服務(wù)機(jī)器人應(yīng)用實(shí)例
9.1環(huán)境地圖的創(chuàng)建
9.2關(guān)鍵航點(diǎn)的設(shè)置
9.3任務(wù)腳本代碼的編寫(xiě)
9.4完整實(shí)例的運(yùn)行
9.5在真機(jī)上運(yùn)行實(shí)例
9.6本章小結(jié)
參考文獻(xiàn)