ROS 機器人程式設計 ROS机器人程序设计

馬丁內斯 (Aaron Martinez)

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

商品描述

<內容簡介>

《ROS機器人程序設計》是一本ROS的入門手冊,從ROS系統的安裝到主要功能包裡各項工具的使用方法如先進的計算機視覺和導航工具等都進行細緻的介紹和說明,並且提供全面的相關示例代碼及詳細的解釋,讀者可以按照《ROS機器人程序設計》指導進行相關練習。《ROS機器人程序設計》適用於機械、自動化、計算機等相關專業高年級本科生及研究生學習,也適合於準備學習ROS的科研人員及企業研發人員學習和使用。

<章節目錄>

譯者序
前言
第1章ROS系統入門
1.1使用軟件源安裝ROS Electric
1.1.1添加軟件源到sources.list文件中
1.1.2設置密碼
1.1.3安裝
1.1.4環境配置
1.2使用軟件源安裝ROS Fuerte
1.2.1配置Ubuntu軟件源
1.2.2配置source.list文件
1.2.3設置密碼
1.2.4安裝
1.2.5環境配置
1.2.6獨立工 ​​具
1.3如何安裝VirtualBox和Ubuntu
1.3.1下載VirtualBox
1.3.2創建虛擬機
1.4本章小結
第2章ROS系統架構及示例
2.1理解ROS文件系統級
2.1.1功能包
2.1.2功能包集
2.1.3消息類型
2.1.4服務類型
2.2理解ROS計算圖級
2.2.1節點
2.2 .2主題
2.2.3服務
2.2.4消息
2.2.5消息記錄包
2.2.6節點管理器
2.2.7參數服務器
2.3理解ROS開源社區級
2.4 ROS系統試用練習
2.4.1ROS文件系統導覽
2.4.2創建工作空間
2.4.3創建ROS功能包
2.4.4編譯ROS功能包
2.4.5使用ROS節點
2.4.6使用主題與節點交互
2.4.7學習如何使用服務
2.4.8使用參數服務器
2.4.9創建節點
2.4. 10編譯節點
2.4.11創建msg和srv文件
2.4.12使用新建的srv和msg文件
2.5本章小結
第3章調試和可視化
3.1調試ROS節點
3.1.1使用GDB調試器調試ROS節點
3.1.2ROS節點啟動時調用GDB調試器
3.1.3設置ROS節點core文件轉存
3.2調試信息
3.2.1輸出調試信息
3.2.2設置調試信息級別
3.2.3為特定節點配置調試信息級別
3.2.4信息命名
3.2.5條件顯示信息與過濾信息
3.2.6信息的更多功能——單次顯示、可調、組合
3.2.7使用rosconsole和rxconsole在運行時修改調試級別
3.3監視系統狀態
3.3.1節點、主題與服務列表
3.3. 2使用rxgraph在線監視節點狀態圖
3.4當奇怪的事情發生——使用roswtf
3.5畫標量數據圖
3.5.1用rxplot畫出時間趨勢曲線
3.5.2另一個畫圖工具rxtools
3.6圖像可視化
3.6.1顯示單一圖片
3.6.2 FireWire接口攝像頭
3.6.3使用雙目立體視覺
3.73D可視化
3.7.1使用rviz在3D世界中實現數據可視化
3.7.2主題與坐標系的關係
3.7.3可視化坐標變換
3.8保存與回放數據
3.8 .1什麼是消息記錄包文件
3.8.2使用rosbag在包文件中記錄數據
3.8.3回放消息記錄文件
3.8.4使用rxbag檢查消息記錄包的主題和消息
3.9 rqt插件與rx應用
3.10本章小結
第4章在ROS下使用傳感器和執行機構
4.1使用遊戲桿或遊戲手柄
4.1.1joy_node如何發送遊戲桿動作消息
4.1.2使用遊戲桿數據在turtlesim中移動海龜
4.2使用激光雷達—HokuyoURG—04lx
4.2.1瞭解激光雷達如何在ROS中發送數據
4.2.2訪問和修改激光雷達數據
4.3使用Kinect傳感器查看3D環境
4.3.1如何發送和查看Kinect數據
4.3.2創建和使用Kinect示例
4.4使用伺服電動機——DynaInixel
4.4.1 Dynamixel如何發送和接收運動命令
4.4.2創建和使用伺服電動機示例
4.5使用Arduino添加更多的傳感器和執行機構
4.6使用慣性測量模組——XsenSMTi
4.6.1Xsens如何在ROS中發送數據
4.6.2創建和使用Xsens示例
4.7使用低成本慣性測量模組IMU—10自由度
4.7.1下載加速度傳感器庫
4.7.2Arduino Nano和10自由度傳感器編程
4.7.3創建ROS節點並使用10自由度傳感器數據
4.8本章小結
第5章3D建模與模擬
5.1自定義機器人在ROS中的3D模型
5.2創建第一個URDF文件
5.2.1解釋文件格式
5.2.2在rviz裡查看3D模型
5.2.3加載圖形到機器人模型
5.2.4使機器人模型運動
5.2.5物理和碰撞屬性
5.3 xacro——一個寫機器人模型的更好方法
5.3.1使用常量
5.3.2使用數學方法
5.3.3使用宏
5.3.4使用代碼移動機器人
5.3.5使用SketchUp進行3D建模
5.4在ROS中模擬
5.4.1在Gazebo中使用URDF3D模型
5.4.2在Gazebo中添加傳感器
5.4.3在Gazebo中加載和使用地圖
5.4.4在Gazebo中移動機器人
5.5本章小結
第6章機器視覺
6.1連接和運行攝像頭
6.1.1 FireWire IEEE1394攝像頭
6.1.2USB攝像頭
6.2使用OpenCV製作USB攝像頭驅動程序
6.2.1創建USB攝像頭驅動功能包
6.2.2使用ImageTransport API發布攝像頭幀
6.2.3使用cv_bridge進行OpenCV和ROS圖像處理
6.2.4使用ImageTransport發布圖像
6.2.5在ROS中使用OpenCV
6.2.6顯示攝像頭輸入的圖像
6.3如何標定攝像頭
6.4 ROS圖像管道
6.5對於計算機視覺任務有用的ROS功能包
6.6使用vis02執行視覺測距
6.6.1攝像頭住姿標定
6.6.2運行vis02在線演示
6.6.3使用低成本雙目攝像頭運行viso2
6.7本章小結
第7章導航功能包集入門
7.1 ROS導航功能包集
7.2創建轉換
7.2.1創建廣播機構
7.2.2創建偵聽器
7.2.3查看坐標變換樹
7.3發布傳感器信息
7.4發布里程數據
7.4.1 Gazebo如何獲取里程數據
7.4.2創建自定義里程數據
7.5創建基礎控制器
7.5.1使用Gazebo創建里程數據
7.5.2創建基礎控制器
7.6使用ROS創建地圖
7.6.1使用map_server保存地圖
7.6.2使用map_server加載地圖
7.7本章小結
第8章導航功能包集進階
8.1創建功能包
8.2創建機器人配置
8.3配置全局和局部代價地圖
8.3.1基本參數的配置
8.3.2全局代價地圖的配置
8.3.3局部代價地圖的配置
8.4基本局部規劃器配置
8.5為導航功能包集創建啟動文件
8.6為導航功能包集設置rviz
8.6.12D位姿估計
8.6.22D導航目標
8.6.3靜態地圖
8.6.4點雲
8.6.5機器人立足點
8.6.6障礙
8.6.7膨脹障礙
8.6.8全局規劃
8.6.9局部規劃
8.6. 10規劃器規劃
8.6.11當前目標
8.7自適應蒙特卡羅定位
8.8避免障礙
8.9發送目標
8.10本章小結
……
第9章在實踐中學習