|
| ROS機械臂開發與實踐
作者:王曉雲
出版社:化學工業出版社
出版日期:2023-06-01
語言:簡體中文 規格:平裝 / 331頁 / 19 x 26 x 1.66 cm / 普通級/ 1-1
|
圖書介紹 - 資料來源:博客來 目前評分: 評分:
圖書名稱:ROS機械臂開發與實踐 內容簡介
本書含ROS 基礎以及ROS 機械臂全過程開發和實踐等內容,是編著者在結合國內外新方法和技術,總結自己多年機器人開發經驗以及教學科研成果的基礎上完成的。本書第1~4 章簡單概述了機械臂基礎和ROS 基礎,結合具體實踐詳細講解了ROS 通信機制、常用組件、TF2 等進功能;第5~7 章基於機械臂控制系統開發的工程實踐,詳細講解了ROS 機械臂建模、MoveIt!基礎、MoveIt!的編程;第8、第9 章介紹了機械臂的視覺系統和視覺抓取。
本書理論與實踐相結合,與實物相結合,配有開源教學軟體和課後題答疑解析,所有教學示例均提供C++和Python 兩種編程實現,方便讀者更好地理解和實踐書中內容。
本書可作為普通高校自動化、機器人工程、人工智慧等相關業的教材,也可作為機器人和工程師的技術參考書。
目錄
第1章 機械臂基礎
1.1 機械臂系統組成 001
1.1.1 機械系統 001
1.1.2 驅動系統 001
1.1.3 感知系統 002
1.1.4 控制系統 002
1.2 機械臂主要技術參數 002
1.2.1 自由度 002
1.2.2 定位度 003
1.2.3 工作空間 003
1.2.4 速度和加速度 004
1.2.5 承載 004
1.3 空間描述和變換 004
1.3.1 位置描述 005
1.3.2 姿態描述 005
1.3.3 機器人位姿 007
1.3.4 座標變換 007
1.4 機械臂正、逆運動學 008
1.4.1 關節空間和笛卡兒空間 008
1.4.2 正運動學 009
1.4.3 逆運動學 009
1.5 推薦閱讀 009
本章小結 009
題1 010
第2章 認識ROS
2.1 什麼是ROS 011
2.2 ROS 的安裝與測試 011
2.2.1 作系統和ROS 版本選擇 011
2.2.2 安裝ROS Melodic Morenia 版本 012
2.2.3 測試ROS 015
2.3 ROS 檔案系統 015
2.3.1 catkin 工作空間和ROS 功能 015
2.3.2 創建工作空間 017
2.4 教學代碼 018
2.4.1 下載安裝教學代碼 018
2.4.2 Qt Creator 開發環境 019
2.4.3 教學代碼簡要說明 025
2.5 ROS 的通信架構 026
2.5.1 節點與ROS Master 027
2.5.2 消息 027
2.5.3 話題 027
2.5.4 服務 028
2.5.5 動作 028
2.5.6 話題、服務和動作對比 028
2.5.7 參數伺服器 028
2.6 ROS 計算圖和命名空間 029
本章小結 029
題2 030
第3章 ROS 基礎實踐
3.1 消息的定義和使用 031
3.1.1 消息的描述和類型 031
3.1.2 自訂消息類型 033
3.1.3 消息的使用 035
3.2 rospy 和roscpp 用戶端 035
3.3 話題通信和編程實現 036
3.3.1 話題的發佈節點(Python) 036
3.3.2 話題的訂閱節點(Python) 040
3.3.3 話題的發佈節點(C++) 042
3.3.4 話題的訂閱節點(C++) 046
3.3.5 話題通信測試 049
3.4 服務通信和編程實現 052
3.4.1 服務的定義 052
3.4.2 自訂服務類型 053
3.4.3 服務的服務端節點(Python) 055
3.4.4 服務的用戶端節點(Python) 057
3.4.5 服務的服務端節點(C++) 059
3.4.6 服務的用戶端節點(C++) 061
3.4.7 服務通信測試 062
3.5 ROS 中的參數 064
3.5.1 rosparam 命令列工具 064
3.5.2 參數伺服器(Python) 066
3.5.3 參數伺服器(C++) 068
本章小結 071
題3 071
第4章 ROS 進實踐
4.1 動作通信和編程實現 073
4.1.1 Action 的定義 073
4.1.2 Action 的服務端節點(Python) 076
4.1.3 Action 的用戶端節點(Python) 079
4.1.4 Action 的服務端節點(C++) 081
4.1.5 Action 的用戶端節點(C++) 084
4.1.6 Action 通信測試 085
4.2 ROS 常用元件和工具 089
4.2.1 XML 語法規範 089
4.2.2 launch 開機檔案 090
4.2.3 RViz 視覺化平臺 096
4.2.4 rqt 工具箱 101
4.2.5 rosbag 資料記錄與重播 101
4.3 動態參數配置 101
4.3.1 編寫.cfg 文件 102
4.3.2 設置動態參數節點(Python) 103
4.3.3 設置動態參數節點(C++) 107
4.3.4 測試動態參數配置 108
4.4 ROS 中的坐標系和TF2 110
4.4.1 ROS 中的TF 110
4.4.2 編寫TF2 廣播節點(Python) 113
4.4.3 編寫TF2 監聽節點(Python) 117
4.4.4 編寫TF2 廣播節點(C++) 119
4.4.5 編寫TF2 監聽節點(C++) 121
4.4.6 TF 測試和常用工具 123
4.5 擴展閱讀 126
本章小結 127
題4 127
第5章 ROS 機械臂建模
5.1 URDF 建模原理和語法規範 128
5.1.1 什麼是URDF 128
5.1.2 urdf 功能 128
5.1.3 URDF 語法規範 129
5.2 機械臂URDF 建模 133
5.2.1 創建機械臂描述功能 134
5.2.2 創建機械臂URDF 模型 134
5.2.3 添加機械臂夾爪模型 136
5.2.4 URDF 調試工具 139
5.2.5 在RViz 中視覺化模型 140
5.3 xacro 語言簡化URDF 模型 142
5.3.1 xacro 模型檔常用語法 143
5.3.2 使用xacro 簡化機械臂URDF 模型 145
5.3.3 為機械臂添加移動底盤 148
5.4 sw2urdf 件 149
5.4.1 sw2urdf 件簡介 150
5.4.2 sw2urdf 件匯出的功能 150
5.4.3 XBot-Arm 機械臂的URDF 模型 153
5.5 robot_state_publisher 發佈TF 157
5.5.1 robot_state_publisher 原理簡介 157
5.5.2 編寫/joint_states 話題發佈節點 160
本章小結 163
題5 163
第6章 MoveIt!基礎
6.1 MoveIt!軟體架構 164
6.1.1 move_group 節點 165
6.1.2 運動學求解器 166
6.1.3 運動規劃器 166
6.1.4 規劃場景 168
6.1.5 碰撞檢測 168
6.2 MoveIt!視覺化配置 168
6.2.1 安裝MoveIt!並啟動配置助手 169
6.2.2 生成自碰撞矩陣 170
6.2.3 添加虛擬關節 171
6.2.4 添加規劃組 173
6.2.5 添加機器人位姿 176
6.2.6 添加末端執行器 179
6.2.7 添加被動關節 180
6.2.8 ROS 控制 181
6.2.9 Simulation 182
6.2.10 設置3D 感測器 182
6.2.11 添加作者資訊 182
6.2.12 自動生成設定檔 182
6.3 使用RViz 快速上手MoveIt! 183
6.3.1 啟動Demo 並配置RViz 件 184
6.3.2 使用MotionPlanning 交互 187
6.3.3 設置規劃場景測試碰撞檢測 189
6.4 MoveIt!配置功能解析 193
6.4.1 SRDF 文件 193
6.4.2 kinematics.yaml 文件 195
6.4.3 joint_limits.yaml 文件 195
6.4.4 ompl_planning.yaml 文件 196
6.4.5 fake_controllers.yaml 文件 196
6.4.6 demo.launch 開機檔案 196
6.4.7 move_group.launch 文件 198
6.4.8 setup_assistant.launch 文件 200
6.5 MoveIt!控制真實機械臂 201
6.5.1 通信機制和系統架構 201
6.5.2 添加MoveIt!開機檔案 204
6.5.3 真實機械臂測試 205
6.6 使用MoveIt!的命令列工具 206
本章小結 210
題6 210
第7章 MoveIt!的編程
7.1 關節目標和位元姿目標規劃 211
7.1.1 演示模式下測試 212
7.1.2 關節目標規劃示例(Python) 213
7.1.3 關節目標規劃示例(C++) 216
7.1.4 位元姿目標規劃示例(Python) 218
7.1.5 位元姿目標規劃示例(C++) 222
7.2 笛卡兒路徑規劃 223
7.2.1 演示模式下測試 224
7.2.2 直線運動示例(Python) 226
7.2.3 直線運動示例(C++) 230
7.2.4 圓弧運動示例(Python) 232
7.2.5 圓弧運動示例(C++) 235
7.3 避障規劃 237
7.3.1 演示模式下測試 237
7.3.2 避障規劃示例(Python) 240
7.3.3 避障規劃示例(C++) 245
7.4 物品抓取與放置 247
7.4.1 演示模式下測試 247
7.4.2 pick 和place 編程介面 250
7.4.3 編程實現物品抓取與放置(Python) 252
7.4.4 編程實現物品抓取與放置(C++) 257
本章小結 260
題7 260
第8章 機械臂的視覺系統
8.1 視覺系統概述 261
8.2 ROS 圖像介面和相機驅動 261
8.2.1 使用usb_cam 功能測試USB攝像頭 262
8.2.2 Image 和CompressedImage圖像消息 264
8.2.3 RealSense 相機的驅動安裝和測試 265
8.2.4 PointCloud2 點雲消息 269
8.3 相機的標定 270
8.3.1 camera_calibration 簡介和安裝 270
8.3.2 camera_calibration 的相機標定 270
8.4 cv_bridge 功能 275
8.4.1 cv_bridge 安裝和測試 275
8.4.2 cv_bridge 的使用示例(Python) 277
8.4.3 cv_bridge 的使用示例(C++) 279
8.5 顏色檢測 282
8.5.1 HSV 顏色檢測和測試 282
8.5.2 編程實現HSV 顏色檢測(Python) 285
8.5.3 編程實現HSV 顏色檢測(C++) 288
8.6 ROS 中的物體檢測 289
8.6.1 物體檢測簡述 289
8.6.2 find_object_2d 節點的測試 291
8.6.3 find_object_3d 節點的測試 293
8.6.4 darknet_ros 的安裝和測試 295
本章小結 297
題8 297
第9章 機械臂的視覺抓取
9.1 視覺抓取關鍵技術分析 298
9.2 AR 標籤檢測與定位 302
9.2.1 ar_track_alvar 的簡介與安裝 302
9.2.2 創建AR 標籤 303
9.2.3 檢測AR 標籤 304
9.3 機械臂手眼標定 306
9.3.1 手眼標定的基本原理 306
9.3.2 easy_handeye 的安裝和準備工作 308
9.3.3 眼在手外的手眼標定 312
9.3.4 手眼標定結果的發佈和使用 318
9.4 基於AR 標籤識別的自動抓取 319
9.4.1 應用系統原理 319
9.4.2 應用測試 322
9.4.3 編程實現自動抓取(Python) 324
9.4.4 編程實現自動抓取(C++) 327
本章小結 330
題9 330
參考文獻
詳細資料
- ISBN:9787122425928
- 規格:平裝 / 331頁 / 19 x 26 x 1.66 cm / 普通級 / 1-1
- 出版地:中國
|
|
|
| 66折: $ 238 | | 66折: $ 990 | | 作者:段張取藝 出版社:任性出版有限公司 出版日期:2024-02-23 66折: $ 257 | | 作者:戴夫.亞斯普雷 出版社:木馬文化事業有限公司 出版日期:2022-06-08 66折: $ 297 | |
|
| 作者:泉朝樹 出版社:台灣角川股份有限公司 出版日期:2024-11-07 $ 111 | | 作者:蔡康永 出版社:如何出版社 出版日期:2024-08-01 $ 316 | | $ 315 | | 作者:周冠男 出版社:天下文化 出版日期:2024-07-31 $ 355 | |
|
| 作者:奧浩哉 出版社:尖端漫畫 出版日期:2024-11-15 $ 128 | | $ 750 | | 作者:Nabiyassi(柳孝姃) 出版社:小漫遊文化 出版日期:2024-11-11 $ 252 | | 作者:美川絵子 出版社:東立出版社 出版日期:2024-12-31 $ 105 | |
|
|
|
|