-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

ROS機器人開發實踐

( 簡體 字)
作者:胡春旭類別:1. -> 電子工程 -> 機器人
譯者:
出版社:機械工業出版社ROS機器人開發實踐 3dWoo書號: 49248
詢問書籍請說出此書號!

缺書
NT售價: 495

出版日:6/16/2018
頁數:506
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111598237
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書在介紹ROS總體框架和理論要點的基礎上,講解ROS的通信機制、常用組件和進階功能;同時以實踐為主,講解機器視覺、機器聽覺、SLAM與導航、機械臂控制、機器學習等多種ROS應用的主要原理和實現方法;并分析基于ROS的機器人系統設計方法和典型實例;后論述ROS2的框架特點和使用方法,剖析ROS的發展方向。
目錄:

推薦序一
推薦序二
推薦序三
前言
第1章 初識ROS 1
1.1 ROS是什么 1
1.1.1 ROS的起源 1
1.1.2 ROS的設計目標 2
1.1.3 ROS的特點 3
1.2 如何安裝ROS 4
1.2.1 操作系統與ROS版本的選擇 4
1.2.2 配置系統軟件源 6
1.2.3 添加ROS軟件源 6
1.2.4 添加密鑰 7
1.2.5 安裝ROS 7
1.2.6 初始化rosdep 8
1.2.7 設置環境變量 8
1.2.8 完成安裝 9
1.3 本書源碼下載 9
1.4 本章小結 10
第2章 ROS架構 11
2.1 ROS架構設計 11
2.2 計算圖 12
2.2.1 節點 12
2.2.2 消息 13
2.2.3 話題 13
2.2.4 服務 13
2.2.5 節點管理器 14
2.3 文件系統 14
2.3.1 功能包 14
2.3.2 元功能包 16
2.4 開源社區 17
2.5 ROS的通信機制 17
2.5.1 話題通信機制 18
2.5.2 服務通信機制 19
2.5.3 參數管理機制 20
2.6 話題與服務的區別 20
2.7 本章小結 21
第3章 ROS基礎 22
3.1 第一個ROS例程——小烏龜仿真 23
3.1.1 turtlesim功能包 23
3.1.2 控制烏龜運動 24
3.2 創建工作空間和功能包 25
3.2.1 什么是工作空間 25
3.2.2 創建工作空間 26
3.2.3 創建功能包 27
3.3 工作空間的覆蓋 28
3.3.1 ROS中工作空間的覆蓋 28
3.3.2 工作空間覆蓋示例 28
3.4 搭建Eclipse開發環境 30
3.4.1 安裝Eclipse 30
3.4.2 創建Eclipse工程文件 30
3.4.3 將工程導入Eclipse 31
3.4.4 設置頭文件路徑 31
3.4.5 運行/調試程序 32
3.5 RoboWare簡介 35
3.5.1 RoboWare的特點 35
3.5.2 RoboWare的安裝與使用 36
3.6 話題中的Publisher與Subscriber 37
3.6.1 烏龜例程中的Publisher與Subscriber 37
3.6.2 如何創建Publisher 37
3.6.3 如何創建Subscriber 40
3.6.4 編譯功能包 41
3.6.5 運行Publisher與Subscriber 42
3.6.6 自定義話題消息 44
3.7 服務中的Server和Client 46
3.7.1 烏龜例程中的服務 46
3.7.2 如何自定義服務數據 47
3.7.3 如何創建Server 48
3.7.4 如何創建Client 49
3.7.5 編譯功能包 51
3.7.6 運行Server和Client 51
3.8 ROS中的命名空間 52
3.8.1 有效的命名 52
3.8.2 命名解析 53
3.8.3 命名重映射 54
3.9 分布式多機通信 54
3.9.1 設置IP地址 55
3.9.2 設置ROS_MASTER_URI 56
3.9.3 多機通信測試 56
3.10 本章小結 57
第4章 ROS中的常用組件 58
4.1 launch啟動文件 58
4.1.1 基本元素 58
4.1.2 參數設置 60
4.1.3 重映射機制 61
4.1.4 嵌套復用 61
4.2 TF坐標變換 62
4.2.1 TF功能包 62
4.2.2 TF工具 63
4.2.3 烏龜例程中的TF 65
4.2.4 創建TF廣播器 67
4.2.5 創建TF監聽器 68
4.2.6 實現烏龜跟隨運動 70
4.3 Qt工具箱 70
4.3.1 日志輸出工具(rqt_console) 71
4.3.2 計算圖可視化工具(rqt_graph) 71
4.3.3 數據繪圖工具(rqt_plot) 72
4.3.4 參數動態配置工具(rqt_reconfigure) 73
4.4 rviz三維可視化平臺 73
4.4.1 安裝并運行rviz 74
4.4.2 數據可視化 75
4.4.3 插件擴展機制 76
4.5 Gazebo仿真環境 78
4.5.1 Gazebo的特點 78
4.5.2 安裝并運行Gazebo 78
4.5.3 構建仿真環境 81
4.6 rosbag數據記錄與回放 82
4.6.1 記錄數據 82
4.6.2 回放數據 83
4.7 本章小結 84
第5章 機器人平臺搭建 85
5.1 機器人的定義 85
5.2 機器人的組成 86
5.2.1 執行機構 87
5.2.2 驅動系統 87
5.2.3 傳感系統 87
5.2.4 控制系統 87
5.3 機器人系統搭建 88
5.3.1 MRobot 88
5.3.2 執行機構的實現 88
5.3.3 驅動系統的實現 89
5.3.4 內部傳感系統的實現 90
5.4 基于Raspberry Pi的控制系統實現 90
5.4.1 硬件平臺Raspberry Pi 91
5.4.2 安裝Ubuntu 16.04 91
5.4.3 安裝ROS 93
5.4.4 控制系統與MRobot通信 94
5.4.5 PC端控制MRobot 97
5.5 為機器人裝配攝像頭 99
5.5.1 usb_cam功能包 99
5.5.2 PC端驅動攝像頭 100
5.5.3 Raspberry Pi驅動攝像頭 102
5.6 為機器人裝配Kinect 104
5.6.1 freenect_camera功能包 104
5.6.2 PC端驅動Kinect 106
5.6.3 Raspberry Pi驅動Kinect 109
5.6.4 Kinect電源改造 109
5.7 為機器人裝配激光雷達 110
5.7.1 rplidar功能包 110
5.7.2 PC端驅動rplidar 111
5.7.3 Raspberry Pi驅動rplidar 113
5.8 本章小結 113
第6章 機器人建模與仿真 114
6.1 統一機器人描述格式——URDF 114
6.1.1 標簽 114
6.1.2 標簽 115
6.1.3 標簽 116
6.1.4 標簽 116
6.2 創建機器人URDF模型 116
6.2.1 創建機器人描述功能包 116
6.2.2 創建URDF模型 117
6.2.3 URDF模型解析 120
6.2.4 在rviz中顯示模型 122
6.3 改進URDF模型 124
6.3.1 添加物理和碰撞屬性 124
6.3.2 使用xacro優化URDF 125
6.3.3 xacro文件引用 127
6.3.4 顯示優化后的模型 127
6.4 添加傳感器模型 128
6.4.1 添加攝像頭 128
6.4.2 添加Kinect 130
6.4.3 添加激光雷達 132
6.5 基于ArbotiX和rviz的仿真器 133
6.5.1 安裝ArbotiX 133
6.5.2 配置ArbotiX控制器 133
6.5.3 運行仿真環境 135
6.6 ros_control 136
6.6.1 ros_control框架 137
6.6.2 控制器 139
6.6.3 硬件接口 139
6.6.4 傳動系統 140
6.6.5 關節約束 140
6.6.6 控制器管理器 141
6.7 Gazebo仿真 142
6.7.1 機器人模型添加Gazebo屬性 142
6.7.2 在Gazebo中顯示機器人模型 145
6.7.3 控制機器人在Gazebo中運動 147
6.7.4 攝像頭仿真 147
6.7.5 Kinect仿真 150
6.7.6 激光雷達仿真 153
6.8 本章小結 155
第7章 機器視覺 156
7.1 ROS中的圖像數據 156
7.1.1 二維圖像數據 156
7.1.2 三維點云數據 158
7.2 攝像頭標定 159
7.2.1 camera_calibration功能包 159
7.2.2 啟動標定程序 159
7.2.3 標定攝像頭 160
7.2.4 標定Kinect 162
7.2.5 加載標定參數的配置文件 162
7.3 OpenCV庫 164
7.3.1 安裝OpenCV 164
7.3.2 在ROS中使用OpenCV 164
7.4 人臉識別 166
7.4.1 應用效果 167
7.4.2 源碼實現 168
7.5 物體跟蹤 170
7.5.1 應用效果 170
7.5.2 源碼實現 171
7.6 二維碼識別 173
7.6.1 ar_track_alvar功能包 173
7.6.2 創建二維碼 174
7.6.3 攝像頭識別二維碼 175
7.6.4 Kinect識別二維碼 178
7.7 物體識別 179
7.7.1 ORK功能包 179
7.7.2 建立物體模型庫 181
7.7.3 模型訓練 183
7.7.4 三維物體識別 184
7.8 本章小結 185
第8章 機器語音 186
8.1 讓機器人聽懂你說的話 187
8.1.1 pocketsphinx功能包 187
8.1.2 語音識別測試 188
8.1.3 創建語音庫 190
8.1.4 創建launch文件 192
8.1.5 語音指令識別 192
8.1.6 中文語音識別 192
8.2 通過語音控制機器人 193
8.2.1 編寫語音控制節點 193
8.2.2 語音控制小烏龜運動 194
8.3 讓機器人說話 195
8.3.1 sound_play功能包 195
8.3.2 語音播放測試 195
8.4 人工智能標記語言 196
8.4.1 AIML中的標簽 196
8.4.2 Python中的AIML解析器 197
8.5 與機器人對話 198
8.5.1 語音識別 199
8.5.2 智能匹配應答 201
8.5.3 文本轉語音 202
8.5.4 智能對話 203
8.6 讓機器人聽懂中文 204
8.6.1 下載科大訊飛SDK 204
8.6.2 測試SDK 206
8.6.3 語音聽寫 207
8.6.4 語音合成 209
8.6.5 智能語音助手 211
8.7 本章小結 213
第9章 機器人SLAM與自主導航 214
9.1 理論基礎 214
9.2 準備工作 216
9.2.1 傳感器信息 217
9.2.2 仿真平臺 219
9.2.3 真實機器人 222
9.3 gmapping 224
9.3.1 gmapping功能包 224
9.3.2 gmapping節點的配置與運行 227
9.3.3 在Gazebo中仿真SLAM 228
9.3.4 真實機器人SLAM 231
9.4 hector-slam 234
9.4.1 hector-slam功能包 234
9.4.2 hector_mapping節點的配置與運行 236
9.4.3 在Gazebo中仿真SLAM 237
9.4.4 真實機器人SLAM 238
9.5 cartographer 240
9.5.1 cartographer功能包 240
9.5.2 官方demo測試 241
9.5.3 cartographer節點的配置與運行 244
9.5.4 在Gazebo中仿真SLAM 246
9.5.5 真實機器人SLAM 247
9.6 rgbdslam 249
9.6.1 rgbdslam功能包 249
9.6.2 使用數據包實現SLAM 250
9.6.3 使用Kinect實現SLAM 252
9.7 ORB_SLAM 253
9.7.1 ORB_SLAM功能包 253
9.7.2 使用數據包實現單目SLAM 254
9.7.3 使用攝像頭實現單目SLAM 256
9.8 導航功能包 258
9.8.1 導航框架 258
9.8.2 move_base功能包 258
9.8.3 amcl功能包 260
9.8.4 代價地圖的配置 263
9.8.5 本地規劃器配置 266
9.9 在rviz中仿真機器人導航 267
9.9.1 創建launch文件 267
9.9.2 開始導航 268
9.9.3 自動導航 269
9.10 在Gazebo中仿真機器人導航 277
9.10.1 創建launch文件 277
9.10.2 運行效果 278
9.10.3 實時避障 279
9.11 真實機器人導航 280
9.11.1 創建launch文件 280
9.11.2 開始導航 282
9.12 自主探索SLAM 282
9.12.1 創建launch文件 282
9.12.2 通過rviz設置探索
????目標 283
9.12.3 實現自主探索SLAM 284
9.13 本章小結 286
第10章 MoveIt!機械臂控制 287
10.1 MoveIt!系統架構 288
10.1.1 運動組(move_group) 288
10.1.2 運動規劃器(motion_planner) 290
10.1.3 規劃場景 291
10.1.4 運動學求解器 291
10.1.5 碰撞檢測 291
10.2 如何使用MoveIt! 292
10.3 創建機械臂模型 292
10.3.1 聲明模型中的宏 292
10.3.2 創建六軸機械臂模型 294
10.3.3 加入Gazebo屬性 299
10.3.4 顯示機器人模型 300
10.4 使用Setup Assistant配置機械臂 302
10.4.1 加載機器人URDF模型 303
10.4.2 配置自碰撞矩陣 304
10.4.3 配置虛擬關節 304
10.4.4 創建規劃組 304
10.4.5 定義機器人位姿 307
10.4.6 配置終端夾爪 308
10.4.7 配置無用關節 309
10.4.8 設置作者信息 309
10.4.9 生成配置文件 309
10.5 啟動MoveIt! 310
10.5.1 拖動規劃 311
10.5.2 隨機目標規劃 311
10.5.3 初始位姿更新 313
10.5.4 碰撞檢測 314
10.6 配置文件 315
10.6.1 SRDF文件 315
10.6.2 fake_controllers.yaml 316
10.6.3 joint_limits.yaml 317
10.6.4 kinematics.yaml 317
10.6.5 ompl_planning.yaml 318
10.7 添加ArbotiX關節控制器 318
10.7.1 添加配置文件 318
10.7.2 運行ArbotiX節點 318
10.7.3 測試例程 319
10.7.4 運行效果 321
10.8 配置MoveIt!關節控制器 322
10.8.1 添加配置文件 323
10.8.2 啟動插件 324
10.9 MoveIt!編程學習 324
10.9.1 關節空間規劃 324
10.9.2 工作空間規劃 328
10.9.3 笛卡兒運動規劃 333
10.9.4 避障規劃 338
10.10 pick and place示例 345
10.10.1 應用效果 345
10.10.2 創建抓取的目標物體 346
10.10.3 設置目標物體的放置位置 346
10.10.4 生成抓取姿態 346
10.10.5 pick 348
10.10.6 place 348
10.11 Gazebo中的機械臂仿真 349
10.11.1 創建配置文件 350
10.11.2 創建launch文件 350
10.11.3 開始仿真 351
10.12 使用MoveIt!控制Gazebo中的機械臂 353
10.12.1 關節軌跡控制器 354
10.12.2 MoveIt!控制器 355
10.12.3 關節狀態控制器 356
10.12.4 運行效果 357
10.13 ROS-I 358
10.13.1 ROS-I的目標 359
10.13.2 ROS-I的安裝 359
10.13.3 ROS-I的架構 360
10.14 本章小結 362
第11章 ROS與機器學習 363
11.1 AlphaGo的大腦——Tensor-Flow 364
11.2 TensorFlow基礎 364
11.2.1 安裝TensorFlow 364
11.2.2 核心概念 366
11.2.3 第一個TensorFlow程序 367
11.3 線性回歸 369
11.3.1 理論基礎 369
11.3.2 創建數據集 371
11.3.3 使用TensorFlow解決線性回歸問題 372
11.4 手寫數字識別 374
11.4.1 理論基礎 374
11.4.2 TensorFlow中的MNIST例程 377
11.4.3 基于ROS實現MNIST 381
11.5 物體識別 384
11.5.1 安裝TensorFlow Object Detection API 385
11.5.2 基于ROS實現動態物體識別 388
11.6 本章小結 390
第12章 ROS進階功能 391
12.1 action 391
12.1.1 什么是action 391
12.1.2 action的工作機制 392
12.1.3 action的定義 392
12.1.4 實現action通信 393
12.2 plugin 396
12.2.1 工作原理 396
12.2.2 如何實現一個插件 396
12.2.3 創建基類 397
12.2.4 創建plugin類 398
12.2.5 注冊插件 399
12.2.6 編譯插件的動態鏈接庫 399
12.2.7 將插件加入ROS 399
12.2.8 調用插件 400
12.3 rviz plugin 401
12.3.1 速度控制插件 402
12.3.2 創建功能包 402
12.3.3 代碼實現 402
12.3.4 編譯插件 407
12.3.5 運行插件 408
12.4 動態配置參數 409
12.4.1 創建配置文件 410
12.4.2 創建服務器節點 412
12.4.3 參數動態配置 413
12.5 SMACH 414
12.5.1 什么是SMACH 415
12.5.2 狀態機“跑”起來 415
12.5.3 狀態機實現剖析 416
12.5.4 狀態間的數據傳遞 419
12.5.5 狀態機嵌套 421
12.5.6 多狀態并行 422
12.6 ROS-MATLAB 423
12.6.1 ROS-MATLAB是什么 423
12.6.2 ROS-MATLAB可以做什么 424
12.6.3 連接MATLAB和ROS 425
12.6.4 MATLAB可視化編程 428
12.6.5 創建可視化界面 429
12.6.6 編輯控件的回調函數 431
12.6.7 運行效果 434
12.7 Web GUI 435
12.7.1 ROS中的Web功能包 435
12.7.2 創建Web應用 436
12.7.3 使用Web瀏覽器控制機器人 439
12.8 本章小結 440
第13章 ROS機器人實例 441
13.1 PR2 441
13.1.1 PR2功能包 442
13.1.2 Gazebo中的PR2 443
13.1.3 使用PR2實現SLAM 446
13.1.4 PR2機械臂的使用 448
13.2 TurtleBot 450
13.2.1 TurtleBot功能包 451
13.2.2 Gazebo中的TurtleBot 451
13.2.3 使用TurtleBot實現導航功能 453
13.2.4 嘗試TurtleBot 3 456
13.3 Universal Robots 457
13.3.1 Universal Robots功能包 458
13.3.2 Gazebo中的UR機器人 459
13.3.3 使用MoveIt!控制UR機器人 460
13.4 catvehicle 462
13.4.1 構建無人駕駛仿真系統 463
13.4.2 運行無人駕駛仿真器 465
13.4.3 控制無人駕駛汽車 466
13.4.4 實現無人駕駛汽車的SLAM功能 467
13.5 HRMRP 469
13.5.1 總體架構設計 469
13.5.2 SLAM與導航 471
13.5.3 多機器人擴展 472
13.6 Kungfu Arm 474
13.6.1 總體架構設計 474
13.6.2 具體層次功能 475
13.6.3 功夫茶應用展示 478
13.7 本章小結 478
第14章 ROS 2 479
14.1 ROS 1存在的問題 480
14.2 什么是ROS 2 481
14.2.1 ROS 2的設計目標 481
14.2.2 ROS 2的系統架構 482
14.2.3 ROS 2的關鍵中間件——DDS 483
14.2.4 ROS 2的通信模型 483
14.2.5 ROS 2的編譯系統 485
14.3 在Ubuntu上安裝ROS 2 487
14.3.1 安裝步驟 487
14.3.2 運行talker和listener例程 488
14.4 在Windows上安裝ROS 2 489
14.4.1 安裝Chocolatey 489
14.4.2 安裝Python 490
14.4.3 安裝OpenSSL 490
14.4.4 安裝Visual StudioCommunity 2015 491
14.4.5 配置DDS 491
14.4.6 安裝OpenCV 492
14.4.7 安裝依賴包 492
14.4.8 下載并配置ROS 2 492
14.4.9 運行talker和listener例程 493
14.5 ROS 2中的話題通信 494
14.5.1 創建工作目錄和功能包 494
14.5.2 創建talker 495
14.5.3 創建listener 497
14.5.4 修改CMakeLists.txt 497
14.5.5 編譯并運行節點 498
14.6 自定義話題和服務 499
14.6.1 自定義話題 499
14.6.2 自定義服務 499
14.6.3 修改CMakeLists.txt和package.xml 499
14.6.4 編譯生成頭文件 499
14.7 ROS 2中的服務通信 500
14.7.1 創建Server 500
14.7.2 創建Client 501
14.7.3 修改CMakeLists.txt 503
14.7.4 編譯并運行節點 503
14.8 ROS 2與ROS 1的集成 504
14.8.1 ros1_bridge功能包 504
14.8.2 話題通信 504
14.8.3 服務通信 504
14.9 本章小結 505
序: