開源機器人操作系統-ROS 开源机器人操作系统:ROS

張建偉等

  • 開源機器人操作系統-ROS-preview-1
  • 開源機器人操作系統-ROS-preview-2
  • 開源機器人操作系統-ROS-preview-3
  • 開源機器人操作系統-ROS-preview-4
  • 開源機器人操作系統-ROS-preview-5
開源機器人操作系統-ROS-preview-1

買這商品的人也買了...

相關主題

商品描述

<內容簡介>

目前,ROS(robot operating system)逐步成為機器人研發領域的通用性軟件平臺。由張建偉、張立偉、胡穎、張俊編著的《開源機器人操作系統——ROS(附光盤)》是國內第一本全面介紹ROS的中文版圖書。
    ROS是開源的用於機器人的一種後操作系統,或者說次級操作系統。它提供類似操作系統所提供的功能,包含硬件抽象描述、底層驅動程序管理、共享功能的執行、程序間的消息傳遞、程序發行包管理,它也提供一些工具程序和庫用於獲取、建立、編寫和運行多機整合的程序。
    本書附光盤一張,內容包括書中的部分例子源代碼和DiamondbackElectric版本安裝後在本地硬盤上的全部程序,以便於讀者對照自己的安裝版本進行調試。
    《開源機器人操作系統--ROS(附光盤)》可作為機器人研究者以及機器人愛好者應用ROS構建機器人軟件系統的參考手冊。

目錄大綱

目錄
前言
術語列表
第一章 ROS簡介 1
1.1 ROS簡介 1
1.2 ROS安裝 4
1.3 ROS支持的機器人 6
1.4 ROS網上資源 6
第二章 ROS總體框架及基本命令 7
2.1 ROS總體框架 7
2.1.1 文件系統級 7
2.1.2 計算圖級 9
2.1.3 社區級 11
2.1.4 更高層概念 12
2.1.5 名稱 12
2.2 ROS基本命令 15
2.2.1 ROS文件系統命令 15
2.2.2 ROS核心命令 26
2.3 工具 35
2.3.1 3D可視化工具:rviz 35
2.3.2 傳感器數據記錄與可視化工具:rosbag和rxbag 45
2.3.3 畫圖工具:rxplot 47
2.3.4 系統可視化工具:rxgraph 49
2.3.5 rxconsole 49
2.3.6 tf命令 51
2.4 例子 52
2.4.1 創建ROS消息和服務 52
2.4.2 記錄和回放數據 54
2.4.3 手工創建ROS功能包 59
2.4.4 大項目上運行roslaunch 60
2.4.5 在多台機器上運行ROS系統 66
2.4.6 定義客戶消息 68
第三章 ROS客戶端庫 70
3.1 概述 70
3.2 roscpp客戶端庫 71
3.2.1 簡單的主題發布者和主題訂閱者 72
3.2.2 簡單的服務器端和客戶端 78
3.2.3 roscpp中參數的使用 81
3.2.4 從節點句柄存取私有名稱 83
3.2.5 用類方法訂閱和回調服務 84
3.2.6 計時器 85
3.2.7 帶動態可重配置及參數服務器的主題發布者/訂閱者節點(C++) 87
3.2.8 帶動態可重配置及參數服務器的主題發布者/訂閱者節點(Python) 95
3.2.9 組合C++/Python主題發布者/訂閱者節點 101
3.3 rospy客戶端庫 101
3.3.1 簡單的主題發布者/訂閱者 101
3.3.2 簡單的服務端和客戶端 105
3.3.3 rospy中參數的使用 108
3.3.4 rospy中numpy的使用 109
3.3.5 rospy運行日誌 113
3.3.6 ROSPython Makefile 文件 115
3.3.7 設置PYTHONPATH 116
3.3.8 發布消息 116
3.4 roslisp客戶端庫 117
3.5 實驗階段的客戶端庫 117
3.5.1 rosjava 117
3.5.2 roslua 117
第四章 OpenCV 119
4.1 image common功能包集 119
4.1.1 image transport功能包 119
4.1.2 camera calibration parsers功能包 124
4.1.3 camera info manager功能包 126
4.1.4 polled camera功能包 127
4.2 image pipeline功能包集 127
4.3 vision opencv功能包集 128
4.3.1 opencv2 128
4.3.2 cv bridge 128
4.3.3 image geometry 139
4.4 投影tf坐標繫到圖像(C++) 140
4.5 演示例子 145
4.5.1 使用顏色追蹤物體 145
4.5.2 識別物體 148
第五章 SLAM和導航 150
5.1 使用tf配置機器人 150
5.2 通過ROS發布里程計信息 154
5.3 通過ROS發布傳感器數據流 158
5.4 SLAM 163
5.4.1 SLAM簡介 163
5.4.2 slam gmapping功能包 163
5.4.3 使用記錄的數據建立地圖 167
5.4.4 模擬器中建立地圖 168
5.4.5 模擬器中使用客戶定製地圖 170
5.5 配置和使用導航功能包集 172
5.5.1 導航功能包集基本操作 172
5.5.2 在機器人上設置和配置導航功能包集 173
5.5.3 rviz與導航功能包集配合使用 176
5.5.4 發送目標到導航功能包集 178
第六章 抓取操作 182
6.1 機器人手臂的運動規劃 182
6.1.1 安裝和配置 182
6.1.2 編譯手臂導航功能包集 182
6.1.3 啟動模擬器和模擬環境 183
6.1.4 啟動相關節點 183
6.1.5 控制手臂運動 185
6.2 運動規劃的環境表示 203
6.2.1 基於自濾波數據構建碰撞地圖 203
6.2.2 檢測關節軌跡碰撞 208
6.2.3 給定機器人狀態下的碰撞檢測 212
6.2.4 添加已知點到運動規劃環境 219
6.2.5 添加物體到機器人本體 224
6.3 用於PR2機器人手臂的運動學 230
6.3.1 從PR2運動學開始 230
6.3.2 從運動學節點獲取運動學求解器信息 231
6.3.3 PR2手臂運動學正解 233
6.3.4 PR2手臂運動學逆解 237
6.3.5 PR2手臂無碰撞運動學逆解 240
6.4 用於PR2機器人手臂的安全軌跡控制 245
6.5 使用軌跡濾波節點進行軌跡濾波 247
6.5.1 生成無碰撞三次樣條軌跡 247
6.5.2 使用軌跡濾波服務器對關節軌跡進行濾波 248
6.5.3 學習如何創建自己的軌跡濾波 253
6.6 機器人狀態和軌跡可視化 256
第七章 Kinect 260
7.1 Kinect簡介 260
7.2 安裝驅動 261
7.2.1 Ubuntu系統上安裝Kinect 261
7.2.2 基於源的安裝 261
7.3 測試 263
7.3.1 測試Kinect彩色攝像機 263
7.3.2 測試Kinect深度攝像機 263
7.3.3 測試Kinect馬達 264
7.4 openni camera 264
7.5 openni tracker 268
第八章 點雲庫 270
8.1 PCL簡介 270
8.1.1 PCL架構 270
8.1.2 PCL數據結構 272
8.1.3 PCL與ROS的集成 273
8.2 PCL可視化庫 273
8.3 PCL與Kinect連接 279
8.4 例子 284
第九章 綜合演示示例 288
9.1 實驗一:SLAM(即時定位與地圖構建) 288
9.2 實驗二:機器人導航 294
9.3 實驗三:識別並抓取物體 300
參考文獻 303
彩圖