注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)科學(xué)理論與基礎(chǔ)知識(shí)ROS與ROS2開(kāi)發(fā)指南

ROS與ROS2開(kāi)發(fā)指南

ROS與ROS2開(kāi)發(fā)指南

定 價(jià):¥88.00

作 者: 張銳
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787121458125 出版時(shí)間: 2023-07-01 包裝: 平塑
開(kāi)本: 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)是學(xué)習(xí)ROS的實(shí)用化書(shū)籍。從對(duì)機(jī)器人的介紹開(kāi)始,由淺入深依次講解ROS依賴的Linux系統(tǒng)、常用的高級(jí)編程語(yǔ)言Python、ROS環(huán)境和機(jī)器人編程開(kāi)發(fā)實(shí)訓(xùn)等內(nèi)容。在學(xué)習(xí)ROS開(kāi)發(fā)過(guò)程中,本書(shū)在實(shí)戰(zhàn)篇加入了SLAM建圖、視覺(jué)跟隨和物聯(lián)網(wǎng)控制等前沿知識(shí)的介紹,使讀者在學(xué)習(xí)編程技能的同時(shí),能夠更加深入地理解最新的機(jī)器人控制理論。為了發(fā)揮ROS與ROS2各自的優(yōu)勢(shì),本書(shū)提出了ROS與ROS2混合編程方法,并給出了翔實(shí)的實(shí)踐案例。 本書(shū)可供從事無(wú)人駕駛和移動(dòng)機(jī)器人研究的科研工作者、高校教師及相關(guān)專(zhuān)業(yè)學(xué)生使用。

作者簡(jiǎn)介

  張銳,北京鋼鐵俠科技有限公司創(chuàng)始人。榮獲北京市優(yōu)秀畢業(yè)生、北京市優(yōu)秀人才(青年骨干)、中關(guān)村雛鷹人才、北京市青年人才托舉工程、中關(guān)村高聚工程領(lǐng)軍人才、青島市拔尖人才,承擔(dān)過(guò)北京市科技重大專(zhuān)項(xiàng)等多項(xiàng)省部級(jí)項(xiàng)目。

圖書(shū)目錄

目 錄
預(yù) 備 篇
第1章 緒論 1
1.1 機(jī)器人的概念及特點(diǎn) 1
1.1.1 機(jī)器人的由來(lái) 1
1.1.2 機(jī)器人的定義 2
1.1.3 機(jī)器人的主要特點(diǎn) 3
1.2 機(jī)器人的組成與分類(lèi) 3
1.2.1 機(jī)器人的組成 3
1.2.2 機(jī)器人的分類(lèi) 4
1.3 智能機(jī)器人 10
1.3.1 智能機(jī)器人的定義 10
1.3.2 腦科學(xué)與智能機(jī)器人 11
1.3.3 人工智能在機(jī)器人中的應(yīng)用 11
第2章 Linux基礎(chǔ) 14
2.1 Linux簡(jiǎn)介 14
2.1.1 Linux的發(fā)行版 14
2.1.2 Linux應(yīng)用領(lǐng)域 15
2.2 Linux系統(tǒng)目錄結(jié)構(gòu) 15
2.3 Linux用戶及用戶組管理 18
2.4 Linux文件屬性管理 20
2.4.1 查看文件屬性 20
2.4.2 文件屬性修改 21
2.4.3 文件權(quán)限修改 22
2.5 Linux目錄管理 24
2.5.1 常用命令 24
2.5.2 文件內(nèi)容查看指令 27
2.5.3 重定向與追加 28
2.6 Linux包操作 29
第3章 Python基礎(chǔ) 31
3.1 Python簡(jiǎn)介 31
3.1.1 Python發(fā)行版 31
3.1.2 Python特點(diǎn) 32
3.2 Python基礎(chǔ)介紹 32
3.2.1 基礎(chǔ)導(dǎo)引 32
3.2.2 變量 33
3.2.3 數(shù)據(jù)類(lèi)型 34
3.2.4 條件語(yǔ)句 35
3.2.5 循環(huán)語(yǔ)句 36
3.2.6 切片操作 37
3.3 數(shù)據(jù)常用操作方法 38
3.3.1 字符串常見(jiàn)操作 38
3.3.2 列表常見(jiàn)操作 43
3.3.3 字典常見(jiàn)操作 46
3.3.4 集合常見(jiàn)操作 51
3.3.5 元組常見(jiàn)操作 52
3.3.6 邏輯運(yùn)算 54
3.4 函數(shù) 54
3.4.1 函數(shù)簡(jiǎn)介 54
3.4.2 參數(shù)(argument-list) 55
3.4.3 局部變量與全局變量 57
3.4.4 返回值 58
3.4.5 遞歸函數(shù) 59
3.4.6 匿名函數(shù) 59
3.4.7 列表推導(dǎo)式 59
3.4.8 字典推導(dǎo)式 60
3.4.9 常用內(nèi)置函數(shù) 61
3.5 面向?qū)ο?64
3.5.1 面向過(guò)程與面向?qū)ο?64
3.5.2 類(lèi)與實(shí)例 65
3.5.3 類(lèi)屬性與實(shí)例屬性 65
3.5.4 類(lèi)方法與靜態(tài)方法 68
3.5.5 魔法方法 69
3.5.6 面向?qū)ο蟮娜筇匦?71
3.6 常用術(shù)語(yǔ)介紹 74
基 礎(chǔ) 篇
第4章 ROS概述 76
4.1 初識(shí)ROS 76
4.2 PC安裝ROS 79
4.3 Raspberry 系統(tǒng)下安裝ROS的腳本 83
第5章 ROS基礎(chǔ) 84
5.1 文件系統(tǒng)級(jí) 84
5.2 計(jì)算圖級(jí) 86
5.3 開(kāi)源社區(qū)級(jí) 87
5.4 文件系統(tǒng)工具 87
5.4.1 使用rospack 87
5.4.2 使用roscd 88
5.4.3 使用rosls 89
5.4.4 使用rosed 89
5.4.5 使用roscp 89
5.5 創(chuàng)建工作空間 89
5.5.1 創(chuàng)建工作空間簡(jiǎn)介 90
5.5.2 工作空間目錄解析 90
5.6 功能包的創(chuàng)建與編譯 91
5.6.1 catkin功能包的組成 91
5.6.2 創(chuàng)建功能包 92
5.6.3 功能包依賴關(guān)系 92
5.6.4 功能包命名規(guī)范 93
5.6.5 刪除功能包 94
5.6.6 編譯功能包 94
5.7 ROS節(jié)點(diǎn) 96
5.7.1 啟動(dòng)ROS 97
5.7.2 使用rosnode 97
5.8 ROS主題與節(jié)點(diǎn)交互 98
5.8.1 控制turtle移動(dòng) 98
5.8.2 查看節(jié)點(diǎn)信息 99
5.8.3 查看主題信息 100
5.8.4 使用 rqt_graph 102
5.9 ROS服務(wù)和參數(shù) 103
5.10 創(chuàng)建ROS消息和ROS服務(wù) 106
5.10.1 消息(msg)和服務(wù)(srv)介紹 107
5.10.2 使用 msg 107
5.10.3 使用 srv 109
5.11 編寫(xiě)發(fā)布器與訂閱器 110
5.11.1 定義msg消息 110
5.11.2 編寫(xiě)發(fā)布器 112
5.11.3 編寫(xiě)訂閱器 114
5.11.4 啟動(dòng)rqt查看節(jié)點(diǎn)信息 115
5.12 編寫(xiě)服務(wù)端和客戶端 116
5.12.1 定義srv服務(wù) 116
5.12.2 編寫(xiě)服務(wù)端 118
5.12.3 編寫(xiě)客戶端 120
5.13 編寫(xiě)launch文件 122
5.13.1 roslaunch使用方法 122
5.13.2 編寫(xiě)launch文件介紹 125
實(shí) 戰(zhàn) 篇
第6章 ARTROBOT機(jī)器人移動(dòng)平臺(tái)搭建 127
6.1 三軸全向移動(dòng)機(jī)器人介紹 127
6.1.1 全向輪結(jié)構(gòu) 127
6.1.2 底盤(pán)結(jié)構(gòu)設(shè)計(jì) 127
6.1.3 直流電機(jī)的選擇 129
6.1.4 電機(jī)驅(qū)動(dòng)板 129
6.1.5 ROS的主控板 130
6.2 運(yùn)動(dòng)學(xué)建模和分析 130
6.2.1 機(jī)器人坐標(biāo)系系統(tǒng)分析 130
6.2.2 運(yùn)動(dòng)學(xué)模型分析 132
6.2.3 逆運(yùn)動(dòng)學(xué)模型方程推導(dǎo) 133
6.2.4 正運(yùn)動(dòng)學(xué)模型方程推導(dǎo) 135
6.2.5 航跡推算 136
6.3 ros_arduino_bridge功能包集 136
6.3.1 ros_arduino_bridge功能包集簡(jiǎn)介 137
6.3.2 安裝ros_arduino_bridge功能包集 139
6.3.3 安裝python-serial功能包 139
6.3.4 串口的操作權(quán)限 139
6.4 下位機(jī)Arduino代碼詳解 140
6.4.1 ros_arduino_bridge功能簡(jiǎn)介 140
6.4.2 創(chuàng)建ros_arduino_bridge項(xiàng)目 141
6.4.3 mobileBaseArduinoCode.ino 141
6.4.4 commands.h 147
6.4.5 encoder_driver.h 147
6.4.6 encoder_driver.ino 148
6.4.7 motor_driver.h 151
6.4.8 motor_driver.ino 151
6.4.9 omniWheel_controller.h 154
6.4.10 sensors.h 157
6.5 上位機(jī)ros_arduino_python代碼 158
6.5.1 ros_arduino_python功能簡(jiǎn)介 158
6.5.2 arduino.launch 159
6.5.3 my_arduino_params.yaml 159
6.5.4 arduino_node.py 160
6.5.5 base_controller.py 161
第7章 機(jī)器人傳感器配置與使用 167
7.1 慣性測(cè)量單元校準(zhǔn)和調(diào)試 167
7.1.1 慣性測(cè)量單元相關(guān)介紹 167
7.1.2 IMU功能包簡(jiǎn)介 167
7.1.3 在ROS環(huán)境下復(fù)制并編譯IMU源碼 168
7.1.4 IMU初始標(biāo)定 168
7.1.5 啟動(dòng)IMU測(cè)試 168
7.1.6 單獨(dú)運(yùn)行IMU 169
7.2 雷達(dá)調(diào)試 170
7.2.1 雷達(dá)選型 170
7.2.2 下載編譯ROS下驅(qū)動(dòng)源碼 171
7.2.3 生成掛載點(diǎn) 172
7.2.4 啟動(dòng)雷達(dá)測(cè)試 174
7.2.5 讀取雷達(dá)數(shù)據(jù) 174
7.3 udev串口配置 177
7.3.1 udev簡(jiǎn)介 177
7.3.2 udev規(guī)則 177
7.3.3 udev內(nèi)容 179
7.3.4 udev生效 183
7.4 ROS中TF變換 184
7.4.1 TF功能包 185
7.4.2 TF廣播與監(jiān)聽(tīng) 187
7.4.3 TF常用工具 193
第8章 SLAM及導(dǎo)航 198
8.1 SLAM簡(jiǎn)介 198
8.2 常見(jiàn)激光SLAM算法簡(jiǎn)介 199
8.3 應(yīng)用gmapping構(gòu)建機(jī)器人約束條件 200
8.4 slam_gmapping功能包 201
8.5 應(yīng)用gmapping構(gòu)建二維地圖 201
8.6 SLAM構(gòu)建地圖過(guò)程分析 205
8.6.1 地圖分析 205
8.6.2 SLAM執(zhí)行過(guò)程 206
8.6.3 gmapping參數(shù)設(shè)定 207
8.7 ROS機(jī)器人導(dǎo)航簡(jiǎn)介 209
8.8 機(jī)器人路徑規(guī)劃算法簡(jiǎn)介 212
8.9 應(yīng)用導(dǎo)航功能包實(shí)現(xiàn)自主路徑規(guī)劃 214
8.9.1 路徑規(guī)劃執(zhí)行過(guò)程 214
8.9.2 導(dǎo)航功能包參數(shù)設(shè)定 215
第9章 機(jī)器人功能擴(kuò)展實(shí)例 218
9.1 機(jī)器人視覺(jué)跟隨功能 218
9.1.1 ROS下攝像頭的標(biāo)定 218
9.1.2 ROS跟隨功能實(shí)現(xiàn) 226
9.1.3 launch啟動(dòng)及效果演示 236
9.2 機(jī)器人+物聯(lián)網(wǎng)功能 239
9.2.1 物聯(lián)網(wǎng)模塊介紹 240
9.2.2 物聯(lián)網(wǎng)模塊硬件接線 240
9.2.3 物聯(lián)網(wǎng)模塊協(xié)議 244
9.2.4 機(jī)器人+物聯(lián)網(wǎng)功能實(shí)現(xiàn) 244
9.2.5 launch啟動(dòng)及效果演示 246
第10章 ROS2簡(jiǎn)介 249
10.1 從ROS1到ROS2 249
10.1.1 ROS1的局限性 250
10.1.2 ROS2對(duì)ROS1的改進(jìn) 250
10.2 ROS2系統(tǒng)架構(gòu) 251
10.3 ROS2安裝 252
10.3.1 ROS2在Ubuntu上安裝 252
10.3.2 Ubuntu ROS2測(cè)試 253
10.4 ROS2通信 253
10.4.1 節(jié)點(diǎn) 254
10.4.2 主題 254
10.4.3 服務(wù) 256
10.4.4 參數(shù) 259
10.4.5 基本操作 261
10.5 ROS2編程 262
10.5.1 工作空間 262
10.5.2 ROS2功能包 263
10.5.3 發(fā)布者和訂閱者 264
10.5.4 編寫(xiě)簡(jiǎn)單的服務(wù)和客戶端節(jié)點(diǎn) 270
10.5.5 創(chuàng)建ROS2消息和服務(wù)類(lèi)型 275
10.6 ROS1和ROS2之間的橋接通信 283
10.6.1 ros1_bridge功能包 283
10.6.2 ros1_bridge之主題通信 283
10.6.3 ros1_bridge之服務(wù)通信 285
第11章 交叉編譯器 286
11.1 GNU toolchain介紹 286
11.1.1 gcc和g++ 286
11.1.2 as、ld和ar 287
11.2 從源碼制作gcc編譯器 288
11.3 交叉編譯器的制作 289

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)