TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
ROS機械臂開發與實踐(簡體書)
滿額折

ROS機械臂開發與實踐(簡體書)

人民幣定價:78 元
定  價:NT$ 468 元
優惠價:87407
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:12 點
相關商品
商品簡介
目次

商品簡介

本書包含ROS 基礎以及ROS 機械臂全過程開發和實踐等內容,是編著者在結合國內外方法和技術,總結自己多年機器人開發經驗以及教學科研成果的基礎上完成的。本書第1~4 章簡單概述了機械臂基礎和ROS 基礎,結合具體實踐詳細講解了ROS 通信機制、常用組件、TF2 等進階功能;第5~7 章基於機械臂控制系統開發的工程實踐,詳細講解了ROS 機械臂建模、MoveIt!基礎、MoveIt!的編程;第8、第9 章介紹了機械臂的視覺系統和視覺抓取。本書理論與實踐相結合,仿真與實物相結合,配有開源教學軟件包和課後習題答疑解析,所有教學示例均提供C 和Python 兩種編程實現,方便讀者更好地理解和實踐書中內容。本書可作為普通高校自動化、機器人工程、人工智能等相關專業的教材,也可作為機器人開發者和工程師的技術參考書。

機器人系統比較複雜,包含機械、驅動、感知和控制等子系統,涉及機械、電子、自動控制、人機交互、通信、軟件工程、人工智能等多個領域,給機器人開發者和研究者帶來了很大的挑戰。為了提高開發效率,避免“重復造輪子”,ROS(Robot Operating System,機器人操作系統)應運而生,為機器人開發提供了一套標準框架。
ROS 可應用在機械臂、無人車、無人機、人形機器人等不同種類的機器人上。越來越多的機器人開發者、實驗室和企業公司選擇ROS 作為機器人開發框架,用於機器人仿真和真機的研發測試。根據ROS Index 官方統計數據,截至2022 年10 月,共有開源ROS 倉庫2000 余個、功能包7000 余個,且每天都在增加。
本書基於“如何從零開始搭建機械臂的ROS 控制系統”這一問題,由淺入深,由易到難,理論結合實踐,詳細介紹了ROS 機械臂開發過程中使用的技術,並通過大量工程實例,幫助讀者深入理解ROS 框架,學會將ROS 和MoveIt!應用到具體的機器人開發實踐中。
本書共分為9 章:第1 章對機械臂的系統組成、技術參數、正/逆運動學等進行簡單介紹,讓讀者了解機械臂的基礎知識和基本概念;第2 章介紹ROS 的功能、安裝、文件系統、通信架構和計算圖等基礎知識,並詳細介紹ROS 工作空間的創建和本書教學示例代碼包的下載安裝;第3 章學習ROS 中基本的通信方式(消息、話題、服務和參數服務器)以及相關實踐,為後續章節頻繁使用ROS 通信機制打下基礎;第4 章學習ROS 的Action 通信、常用組件工具、動態參數配置和TF2,是ROS 的進階實踐;第5 章詳細介紹URDF 和xacro 語法規範,深入學習機器人(機械臂)URDF 模型的搭建過程和原理;第6 章介紹MoveIt!的系統架構和功能模塊以及機械臂系統的通信機制,學習配置助手(Setup Assistant)配置機器人的過程,通過MotionPlanning 插件和命令行工具測試機械臂的運動規劃等功能;第7 章通過大量實踐示例,學習機械臂的目標規劃、笛卡兒路徑規劃、避障規劃、機械臂抓取和放置等任務的編程實現;第8 章介紹相機驅動和ROS中的圖像、點云消息,並學習搭建簡易的ROS 視覺系統,實現顏色檢測和物體檢測功能;第9 章分析視覺抓取應用中用到的關鍵技術,通過具體的自動抓取應用示例,學習視覺抓取系統的基本組成和編程實現。
書中部分理論講解參考ROS 和MoveIt!官方文檔,幾乎所有的教學實踐示例均由編著者根據工程經驗自行設計和實現,前後連貫,系統性強,便於讀者理解掌握並快速應用到實際機器人的開發工作中。通讀全書,可以發現所有章節按照前後順序,剛好回答了前面提出的問題——如何從零開始搭建機械臂的ROS 控制系統,這也是本書編寫的初衷。本書配套開源教學軟件包和課後習題答疑解析,正文講解以ROS Melodic Morenia 版本為準,同時在開源倉庫提供Kinetic Kame和Noetic Ninjemys 版本代碼,便於讀者測試。書中教學示例均提供C 和Python 兩種編程實現方式,方便不同編程基礎的讀者入門和使用。本書配套的資源包,讀者可掃描封底二維碼查看或下載。
本書編著者來自中國科學院軟件研究所、重慶郵電大學自動化學院和江蘇中科重德智能科技有限公司,長期從事移動機器人和機械臂的開發工作,積累了大量的工程經驗和科研成果。本書第1、2 章由蔣暢江、常先明和鄒術杰編著,第3、4 章由武延軍、常先明、王曉云和劉朋編著,第5~7 章由王曉云和武延軍編著,第8、9 章由王曉云、武延軍、常先明和蔣暢江編著。全書由王曉云和武延軍統稿並組織編著。感謝化學工業出版社對本書的大力支持,感謝方洋、譚建、汪鵬、鄒術杰、劉朋、劉晨等參與了教學示例的編寫測試工作,感謝鄒術杰和劉朋參與了課後習題的答案解析工作。
因編著者水平有限,書中難免有疏漏或不足之處,歡迎讀者批評指正。

編著者
2023 年3 月

目次

第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

參考文獻

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 407
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區