ROS 機器人開發實踐

ROS 機器人開發實踐

作者: 胡春旭
出版社: 機械工業
出版在: 2018-05-01
ISBN-13: 9787111598237
ISBN-10: 7111598237
裝訂格式: 平裝
總頁數: 506 頁





內容描述


本書在介紹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 <link>標籤114 
6.1.2 <joint>標籤115 
6.1.3 <robot>標籤116 
6.1.4 <gazebo>標籤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




相關書籍

樹莓派機器人實戰秘笈 第3版

作者 [美]理乍得·格裡梅特

2018-05-01

Chipless RFID Sensors (Hardcover)

作者 Nemai Chandra Karmakar Emran Md Amin Jhantu Kumar Saha

2018-05-01

Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed (Wiley - IEEE)

作者 Perry Xiao

2018-05-01