ROS 機器人開發技術基礎

ROS 機器人開發技術基礎

作者: 蔣暢江
出版社: 化學工業
出版在: 2022-04-01
ISBN-13: 9787122405203
ISBN-10: 7122405206
裝訂格式: 平裝
總頁數: 264 頁





內容描述


本書是內容全面、偏重基礎的ROS機器人開發入門書籍,
是作結多年科研教學成果並在吸收國內外理論、方的基礎上完成的。
本書詳細介紹了ROS機器人基礎和ROS常用開發工具,
詳細講解了ROS系統架構、ROS客戶端庫和機器人建模與仿真;
以工程開發為重心,詳細講解機器視覺、機器語音、SLAM和導航等多方面ROS應用的實現原理和方法。
本書結合大量實例,幫助讀者在實現ROS能的同時深入理解基於ROS的機器人開發技術,將書中的內容用於實踐。
本書注重運用CDIO工程教育理念,立足培養實際動手能力、綜合應用能力、創新思維能力。
本書配有免費教學軟,幫助讀者更好理解和實踐書中內容;配有免費電子課件,歡迎選用本書作教材的師生下載使用。
本書可作為普通高等院校機器人工程、自動化、人工智能、電子信息工程、
軟件工程等相關專業的教材,也可供廣大科技工作者和工程技術人員參考使用。


目錄大綱


第1章 ROS機器人基礎
1.1 機器人時代與ROS的誕生
1.2 初識ROS
1.3 ROS的安裝及測試
1.3.1 選擇操作系統與ROS版本
1.3.2 ROS的安裝步驟
1.3.3 測試ROS
1.4 安裝教
1.5 與源代
1.6 本章小結
習題一
第2章 ROS系統架構
2.1 ROS文件系統
2.1.1 catkin工作空間
2.1.2 catkin編譯系統
2.1.3 packa
2.1.4 CMakeLists.txt文件
2.1.5 package.xml文件
2.1.6 其他常見文件類型
2.1.7 Metapackag
2.2 ROS通信架構
2.2.1 Node與Node Master
2.2.2 launc件
2.2.3 話題
2.2.4 服務
2.2.5 參數服務器
2.2.6 動作庫
2.3 本章小結
習題二
第3章 ROS常用組件和開發工具
3.1 Gazebo仿真工具
3.1.1 認識Gazebo
3.1.2 操作演示
3.2 Rviz可視台
3.2.1 認識Rviz
3.2.2 操作演示
3.3 rqt可視化工具
3.3.1 認識rqt
3.3.2 操作演示
3.4 ro
3.4.1 認識roag
3.4.2 操作演示
3.5 Robo Ware Studio集成開發環境
3.5.1 安裝Robo Ware Studio
3.5.2 操作演示
3.6 代碼管理Git
3.6.1 認識Git
3.6.2 操作演示
3.7 本章小結
習題三
第4章 ROS客戶端庫
4.1 Client Library簡介
4.2 roscpp
4.2.1 節點
4.2.2 topic
4.2.3 service
4.2.4 param
4.2.5 時鐘
4.2.6 日誌和異常
4.3 rospy
4.3.1 rospy與roscpp的比較
4.3.2 rospy結構
4.3.3 rospy API
4.3.4 topic
4.3.5 service
4.3.6 param與Time
4.4 本章小結
習題四
第5章 坐標變換TF及編程
5.1 認識TF
5.1.1 簡介
5.1.2 ROS中的TF
5.1.3 ROS中TF坐標的基本規則
5.2 TF原理和TF消息
5.2.1 TF基本原理
5.2.2 TF數據類型
5.2.3 TF特點
5.2.4 TF消息
5.3 TF編程基礎
5.3.1 及官方實例
5.3.2 TF編程基礎
5.4 TF in C++
5.4.1 簡介
5.4.2 數據類型
5.4.3 數據轉換
5.4.4 TF類
5.5 TF in Python
5.5.1 簡介
5.5.2 數據類型
5.5.3 TF庫
5.5.4 TF類
5.6 TF相關工具命令
5.7 本章小結
習題五
第6章 機器人建模與仿真
6.1 機器人URDF模型
6.2 創建與顯示URDF模型
6.2.1 機器人
6.2.2 創建URDF模型
6.2.3 解析URDF模型
6.2.4 在Rviz中顯示模型
6.2.5 讓機器人動起來
6.3 添加碰撞和物理屬性
6.4 xacro文件簡化URDF模型
6.5 添加傳感器模型
6.5.1 添加攝像頭
6.5.2 添加Kinect
6.5.3 添加激光雷達
6.6 ArbotiX+Rviz機器人運動仿真
6.6.1 安裝ArbotiX
6.6.2 配置ArbotiX控制器
6.6.3 運行仿真環境
6.7 ros_control
6.7.1 ros_control框架
6.7.2 ros_control安裝
6.7.3 控制器
6.7.4 硬件接口
6.7.5 傳動裝置
6.7.6 關節約束
6.7.7 控制器管理器
6.8 機器人Gazebo仿真
6.8.1 在Gazebo中顯示機器人模型
6.8.2 Gazebor/> 6.8.3 Gazebo傳動裝置
6.8.4 攝像頭仿真
6.8.5 Kinect仿真
6.8.6 激光雷達仿真
6.9 本章小結
習題六
第7章 機器視覺開發技術
7.1 ROS圖像數據
7.1.1 二維圖像數據
7.1.2 三維點雲和深度圖像
7.1.3 查看點雲圖像
7.1.4 ROS-PCL開發接口
7.2 攝像頭標定
7.2.1 camera_calibrati
7.2.2 啟動標定程序
7.2.3 標定攝像頭
7.2.4 Kinect相機的標定
7.2.5 加載標定參數的配置文件
7.2.6 校正圖像
7.3 OpenCV庫和人臉識別
7.3.1 安裝OpenCV庫
7.3.2 使用OpenCV庫
7.3.3 使用OpenCV實現人臉識別
7.4 二維碼識別
7.4.1 ar_track_alv
7.4.2 創建二維碼
7.4.3 攝像頭識別二維碼
7.4.4 物體姿態估計與AR標記檢測
7.5 物體檢測
7.5.1 findobject
7.5.2 物體檢測實例
7.5.3 話題和參數
7.6 本章小結
習題七
第8章 機器語音開發技術
8.1 語音識別
8.1.1 PocketSphi
8.1.2 PocketSphi測試
8.1.3 添加語音庫
8.1.4 創建PocketSphinx的launc件
8.2 語音播放
8.2.1 播放文件
8.2.2 將輸入的文字轉化為語音
8.3 通過語音控制機器人
8.3.1 語音控制小海龜
8.3.2 XBot對話和語音控制
8.3.3 自定義對話內容
8.3.4 監控talk的運行狀態
8.4 在ROS上使用科大訊飛
8.4.1 下載科大訊飛SDK
8.4.2 SD測試
8.4.3 ROS結合科大訊行語音聽寫
8.5 智能語音對話
8.5.1 tts語音合成實現對話
8.5.2 行語義理解
8.5.3 與機器人對話
8.6 本章小結
習題八
第9章 機器人SLAM與自航開發技術
9.1 理論基礎
9.1.1 傳感器
9.1.2 地圖
9.2 Gmapping算法
9.2.1 Gmappi
9.2.2 Gmapping計算圖
9.2.3 話題和服務
9.2.4 參數
9.2.5 里程計誤差及修正
9.3 Hector算法
9.3.1 Hect
9.3.2 Hector計算圖
9.3.3 話題和服務
9.3.4 參數
9.4 Cartographer算法
9.4.1 Cartograph
9.4.2 Cartographe體框架
9.4.3 Cartographer測試
9.4.4 Cartographer節點的配置與運行
9.5 自航
9.5.1
9.5.2 工作框架
9.5.3 move_bar/> 9.5.4 move_base的service
9.5.5 導航案例
9.6 costmap和map_server
9.6.1 代價地圖
9.6.2 地圖插件的選擇
9.6.3 map_server
9.7 AMCL定位算法
9.7.1 AMCL計算圖
9.7.2 話題和服務
9.7.3 參數
9.7.4 AMCL測試
9.8 本章小結
習題九
第10章 ROS機器人開發實例
10.1 TurtleBot
10.1.1 TurtleBot的配置與使用
10.1.2 Gazebo中的TurtleBot
10.1.3 使用TurtleBot實現能
10.2 XBot-U
10.2.1 XBot-U特點
10.2.2 初步上手XBot-U機器人
10.2.3 智能交互
10.2.4 自航
10.2.5 XBot仿真與教學
10.3 Unitree A1
10.3.1 Unitree A能與結構
10.3.2 Unitree A1關節電機的配置
10.3.3 讓Unitree A1機器人站起來
10.4 本章小結
參考文獻




相關書籍

仿人機器人原理與設計 — 運動學、神經力學與運動規劃

作者 Etienne Burdet David W. Franklin Theodore E.

2022-04-01

物聯網工程應用技術

作者 廖建尚 蘇詠梅 桑世慶

2022-04-01

The Robotic Process Aut omation Handbook: A Guide to Implementing RPA Systems (English)

作者 Taulli Tom

2022-04-01