發表於2024-12-23
本書是《ROS入門實例》的進階篇,介紹一批ROS程序包以及一些在真實機器人上編程所必需的工具:使用SMAC和Behavior Trees這樣的可執行任務管理工具,為不同的機器人創造定製的URDF模型,用ROS診斷來監控機器人的健康狀況,多控製輸入以及為這些控製輸入設定優先級,控製多關節機械臂實現移動到指定點和抓取的動作,通過網絡瀏覽器監控和控製機器人,以及在Garebo中運行真實機器人的模擬版。
R.帕特裏剋·戈貝爾(R. Patrick Goebel)於1991年獲得認知心理學博士學位,現擔任美國斯坦佛大學網絡工程師職務,對機器人的設計構建與編程要深入的研究,並撰寫瞭多部有關ROS(機器人操作係統)的暢銷書。
Juan Rojas,墨西哥籍,廣東工業大學機電工程學院副教授,從事機器人領域研究超過14年;在範德堡大學(位於美國田納西州納什維爾)獲學士、碩士及博士學位;2011-2012年在日本産業技術綜閤研究所(AIST)從事博士後工作,2012-2015年在中山大學任助理教授。
前言
關於本書的紙質版和電子版的說明
從HYDRO到現版本的演變
1. 這一捲書的範圍
2. 安裝ROS-BY-EXAMPLE代碼
3. 使用ROS執行任務
3.1 一個虛擬電池模擬器
3.2 運行案例所需的一套常規設定
3.3 ROS動作的簡短迴顧
3.4 一個巡邏機器人的案例
3.5 使用標準腳本實現的巡邏機器人
3.6 腳本方法存在的問題
3.7 SMACH還是行為樹?
3.8 SMACH:將任務作為狀態機
3.8.1 SMACH迴顧
3.8.2 使用SMACH巡邏一個正方形區域
3.8.3 在ArbotiX模擬器中測試SMACH導航
3.8.4 從SimpleActionState中獲取結果
3.8.5 SMACH迭代器
3.8.6 在每個轉移上執行命令
3.8.7 與ROS主題和服務進行交互
3.8.8 迴調函數與自省
3.8.9 並發任務:將電池檢查加入巡邏程序中
3.8.10 對進行電池檢查的巡邏機器人的注解
3.8.11 在狀態與狀態機之間傳遞用戶數據
3.8.12 子任務與分層狀態機
3.8.13 為房屋清潔機器人添加電池檢查
3.8.14 狀態機的缺點
3.9 行為樹
3.9.1 行為樹與分層狀態機的對比
3.9.2 行為樹的關鍵屬性
3.9.3 建立一棵行為樹
3.9.4 選擇器與序列器 59
3.9.5 使用修飾器(元行為)對行為進行自定義
3.10 為ROS 和行為樹編程
3.10.1 安裝pi_trees 程序庫
3.10.2 pi_trees 程序庫基本部件
3.10.3 ROS-專用行為樹類
3.10.4 一個使用行為樹的Patrol Bot例子
3.10.5 一個使用行為樹的居傢清潔機器人
3.10.6 並行任務
3.10.7 添加和移除任務
4. 為你的機器人創建一個URDF模型
4.1 從底座和輪子開始
4.1.1 robot_state_publisher和joint_state_publisher節點
4.1.2 底座的URDF/Xacro文件
4.1.3 替代/base_footprint坐標係的方法
4.1.4 把底座加到機器人模型中
4.1.5 查看機器人的變換樹(tf樹)
4.1.6 使用網格模型創建底座
4.2 簡化你的網格模型
4.3 添加一個軀乾
4.3.1 為軀乾建模
4.3.2 把軀乾附著到底座上
4.3.3 使用網格模型為軀乾建模
4.3.4 把網格軀乾附著到網格底座上
4.4 測量、計算和調整
4.5 添加一個相機
4.5.1 相機的位置
4.5.2 為相機建模
4.5.3 在軀乾和底座上添加相機
4.5.4 查看有軀乾和相機情況下的變換樹
4.5.5 使用網格模型為相機建模
4.5.6 使用Asus Xtion Pro替換Kinect
4.6 添加一個激光掃描儀(或其他傳感器)
4.6.1 為激光掃描儀建模
4.6.2 添加一個激光掃描儀(或其他傳感器)到一個網格底座
4.6.3 配置激光節點的啓動文件
4.7 添加一個可搖移和傾斜的頭部
4.7.1 用Asus Xtion Pro取代Kinect
4.7.2 對搖移和傾斜頭建模
4.7.3 理解鏇轉軸
4.7.4 使用網格模型的Pi機器人雲颱頭
4.7.5 在Pi機器人上使用Asus Xtion Pro網格取代Kinect
4.8 添加一條或兩條機械臂
4.8.1 機械臂的放置
4.8.2 機械臂的建模
4.8.3 為計劃增加一個夾持器坐標係
4.8.4 增加第二個機械臂
4.8.5 使用機械臂電機和支架的網格
4.9 為Box機器人增加一個可伸縮軀乾
4.10 為Pi機器人增加一個可伸縮軀乾
4.11 一個桌麵的單臂Pi機器人
4.12 用ArbotiX仿真器來測試你的模型
4.12.1 虛擬Box機器人
4.12.2 一個虛擬的Pi機器人
4.13 創建你自己機器人的描述程序包
4.13.1 從rbx2_description程序包中復製文件
4.13.2 創建一個測試啓動文件
5. 控製伺服電機: 再一次
5.1 安裝ArbotiX程序包
5.2 啓動ArbotiX節點
5.3 ArbotiX配置文件
5.4 在模擬模式中測試ArbotiX關節控製器
5.5 在真實伺服電機中測試ArbotiX關節控製器
5.6 鬆弛所有的伺服電機
5.7 啓用或禁用所有的伺服電機
6. 機器診斷
6.1 DiagnosticStatus 信息
6.2 分析器配置文件
6.3 監控Dynamixel伺服電機溫度
6.3.1 為雲颱監控伺服電機
6.3.2 查看在/diagnostics主題上的信息
6.3.3 通過監控/diagnostics主題來保護伺服電機
6.4 監控筆記本的電池
6.5 創造屬於你自己的診斷信息
6.6 監控其他硬件狀態
7. 動態重置
7.1 添加動態參數到你的節點
7.1.1 創建.cfg文件
7.1.2 讓.cfg文件可執行
7.1.3 配置CMakeLists.txt文件
7.1.4 構建程序包
7.2 將動態重置容量加入到電池仿真器節點中
7.3 添加動態重配置客戶端支持到ROS節點
7.4 從命令行動態重配置
8. 多話題 with mux & yocs
8.1 為mux話題設置啓動文件
8.2 用虛擬TurtleBot機器人測試mux
8.3 使用mux服務切換輸入
8.4 優先處理mux輸入的ROS節點
8.5 Yujin機器人的YOCS控製器
8.5.1 添加輸入源
9. 3D世界中的頭部追蹤
9.1 追蹤虛構的3D目標
9.2 在機器人上追蹤一個點
9.3 3D頭部追蹤節點
9.3.1 真實的以及虛擬的頭部追蹤
9.3.2 將目標映射到攝像頭平麵
9.4 用真實的伺服電機做頭部追蹤
9.4.1 真實伺服電機以及虛擬目標
9.4.2 真實的伺服電機,真實的目標
9.4.3 節點和啓動文件
10. 檢測與跟蹤 AR 標簽
10.1 安裝與測試ar_track_alvar 包
10.1.1 創建你自己的AR標簽
10.1.2 生成並打印AR標簽
10.1.3 啓動攝像頭驅動和ar_track_alvar節點
10.1.4 測試標記檢測
10.1.5 理解/ar_pose_marker主題
10.1.6 觀察在RViz中的標記
10.2 訪問你的程序中的 AR 標簽姿態
10.2.1 ar_tags_cog.py腳本
10.2.2 用平移和傾斜頭跟蹤標簽
10.3 使用標記束跟蹤多個標簽
10.4 跟隨一個帶有移動機器人的標簽
10.4.1 在TurtleBot上運行AR跟隨者腳本
10.5 練習:使用AR標簽定位
11. 用MoveIt!做機械臂導航
11.1 我需要一颱有機械臂的實體機器人嗎?
11.2 自由度
11.3 關節類型
11.4 關節軌跡和關節軌跡動作控製器
11.5 正嚮和逆嚮機械臂運動學
11.6 逆運動學的數值解法和分析解法
11.7 MoveIt!的架構
11.8 安裝MoveIt!
11.9 為你的機器人創建靜態URDF模型
11.10 運行MoveIt!設置助手
11.10.1 加載機器人的URDF模型
11.10.2 生成碰撞矩陣
11.10.3 添加base_odom虛擬關節
11.10.4 添加右臂規劃組
11.10.5 添加右夾持器規劃組
11.10.6 定義機器人位姿
11.10.7 定義末端執行器
11.10.8 定義被動關節
11.10.9 生成配置文件
11.11 用MoveIt!設置助手創建的配置文件
11.11.1 SRDF文件(<機器人名>.srdf)
11.11.2 fake_controllers.yaml文件
11.11.3 joint_limits.yaml文件
11.11.4 kinematics.yaml文件
11.12 move_group節點和啓動文件
11.13 在演示模式下測試MoveIt!
11.13.1 探索Motion Planning插件的額外功能
11.13.2 重新運行設置助手
11.14 用命令行測試MoveIt!
11.15 確定關節配置和末端執行器位姿
11.16 使用ArbotiX關節軌跡動作控製器
11.16.1 在仿真環境裏測試ArbotiX關節軌跡動作控製器
11.16.2 用真實的電機測試ArbotiX關節軌跡控製器
11.17 配置MoveIt!關節控製器
11.17.1 創建contorllers.yaml文件
11.17.2 創建控製器管理器啓動文件
11.18 MoveIt!的API
11.19 正嚮運動學:在關節空間進行規劃
11.20 逆嚮運動學: 在笛卡爾空間內的規劃
11.21 把手指嚮或伸嚮一個視覺目標
11.22 為規劃的軌跡設置限製
11.22.1 執行笛卡爾路徑
11.22.2 設置其他路徑限製
11.23 調整軌跡速度
11.24 為規劃添加障礙
11.25 把物體與工具附在機器人上
11.26 拾取和放置
11.27 添加一個傳感器控製器
11.28 在一個真實機械臂上運行MoveIt!
11.28.1 創建自己的啓動文件和腳本
11.28.2 運行機器人的啓動文件
11.28.3 真實機械臂上的正運動學
11.28.4 真實機械臂上的逆運動學
11.28.5 真實機械臂上的笛卡爾路徑
11.28.6 真實機械臂上的拾取-放置
11.28.7 指嚮或伸嚮一個視覺目標
12. Gazebo:模擬世界與機器人
12.1 安裝Gazebo
12.2 硬件圖形加速
12.3 安裝 ROS Gazebo包
12.4 安裝 Kobuki ROS包
12.5 安裝 Fetch Robot ROS包
12.6 使用Gazebo GUI
12.7 在Gazebo裏測試Kobuki機器人
12.7.1 訪問模擬傳感器數據
12.7.2 為Kobuki添加安全控製
12.7.3 運行來自第一捲書的nav_square.py腳本
12.8 加載其他世界和對象
12.9 在Gazebo測試Fetch機器人
12.9.1 Fetch的關節軌跡
12.9.2 Fetch和MoveIt!
12.9.3 Fetch的取和放
12.10 使用simple_grasping感知管道的現實取和放
12.10.1 深度攝像頭的局限性
12.10.2 運行演示
12.10.3 理解real_pick_and_place.py腳本
12.11 運行Gazebo Headless + RViz
13. ROSBRIDGE:為你的機器人構建WEB圖形用戶界麵
13.1 安裝rosbridge程序包
13.2 安裝web_video_server程序包
13.3 安裝一個簡單的Web服務器(mini-httpd)
13.4 啓動mini-httpd、rosbridge和web_video_server
13.5 一個簡單的rosbridge HTML/Javascript圖形用戶界麵
13.6 在模擬TurtleBot中測試圖形用戶界麵
13.7 在真實的機器人中測試圖形用戶界麵
13.8 在網絡中的另外一颱設備上查看Web圖形用戶界麵
13.9 使用瀏覽器調試控製颱
13.10 理解簡單的圖形用戶界麵
13.10.1 HTML布局:simple_gui.html
13.10.2 JavaScript代碼:simple_gui.js
13.11 一個使用jQuery、jqWidgets和KineticJS的更高級的圖形用戶界麵 405
13.12 Rosbridge總結
附錄:ROS的附件及使用USB設備:創建 udev Rules
13.13 將你的賬戶加入dialout組
13.14 刪除設備的序列號
13.15 UDEV 規則
13.16 測試一條UDEV規則
13.17 在ROS配置文件中使用設備名
2013年2月,ROS的管理人員從WillowGarage遷移到瞭OpenSourceRoboticFoundation(OSRF)。OSRF的使命是“支持發展、分發和接收開源軟件以供機器人研究、教育和産品開發使用”。OSRF主要監視的兩個項目分彆是ROS和Gazebo,Gazebo是一款先進的3D機器人模擬器。
新的ROS包繼續定期地由個人和來自大學實驗室以及機器人産業的團隊發布。人們學習ROS的興趣在繼續提升,本書第一捲的受歡迎程度超齣瞭我的預期。然而,要超越基礎部分繼續學習的成本麯綫是很陡的,並且現有更加高級的實例也不是經常容易找到。
這本第二捲的總體目標是介紹一批ROS包以及一些在真實機器人上編程所必需的工具。這些ROS包和工具包括:使用SMACH和BehaviorTrees這樣的可執行任務管理工具,為不同的機器人創造定製的URDF模型,用ROS診斷來監控機器人的健康狀況,多控製輸入以及為這些控製輸入設定優先級,控製多關節機械臂實現移動到指定點和抓取的動作,通過網絡瀏覽器監控和控製機器人,和在Gazebo中運行真實機器人的模擬版。當我們完成瞭這些的時候,你將擁有為一個“始終在綫”的機器人編程的必要工具,它將自動監控它的子係統和一係列任務的運行狀況,而不需要人工的乾預。
請注意本書中所寫的代碼都是運行在ROS的Indigo版本上的。雖然其中很多也有可能可以運行在較早版本的ROS操作係統中,但強烈建議讀者在閱讀這本書的時候使用ROSIndigo版本。
ROS進階實例 下載 mobi pdf epub txt 電子書 格式 2024
ROS進階實例 下載 mobi epub pdf 電子書書太貴瞭,一點點厚,坑die啊
評分標準內容,沒什麼不好的。
評分ROS手冊的翻譯吧,紙質非常一般,參考手冊而已吧。
評分挺好的~~喜歡~~~~~~~~
評分書的質量很好,一次買瞭兩本。
評分書的質量不錯,應該是正品,快遞給力!
評分還不錯
評分此用戶未填寫評價內容
評分還不錯
ROS進階實例 mobi epub pdf txt 電子書 格式下載 2024