幫助中心 | 我的帳號 | 關於我們

ROS2機器人開發(從入門到實踐)/機器人技術叢書

  • 作者:桑欣|責編:劉鋒//王華慶
  • 出版社:機械工業
  • ISBN:9787111758068
  • 出版日期:2024/07/01
  • 裝幀:平裝
  • 頁數:390
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    機器人開發是一項複雜的系統工程,ROS 2為智能機器人開發提供了強有力的支持,極大地提高了機器人軟體開發效率。本書首先對ROS 2的基礎概念、通信機制、常用庫和工具進行介紹,帶領讀者入門ROS 2機器人開發;接著引導讀者完成移動機器人的建模和模擬、建圖和導航、自定義控制器和規劃器等一系列實踐;然後在真機實戰環節,通過製作一個基於ROS 2的真實機器人,幫助讀者打通模擬與真機之間的壁壘;最後,本書深入講解了ROS 2進階使用的相關知識,為讀者進一步在實戰中使用ROS 2進行機器人開發打下夯實基礎。考慮讀者基礎,書中示例均以C++和Python兩種語言實現,同時加入了關於C++新特性、Git工具、多線程和回調函數等基礎知識的講解。

作者介紹
桑欣|責編:劉鋒//王華慶
    桑欣,「魚香ROS」機器人社區(公眾號、B站、知乎)發起人,「一鍵安裝ROS」等機器人開源庫作者,擁有多年機器人與自動化開發經驗。他在網上發布有「動手學ROS 2」等機器人教程,還製作了開源機器人FishBot,獲得了廣大機器人愛好者的一致好評,深受機器人開發者的喜愛。

目錄
推薦序一
推薦序二
前言
第1章  啟程——讓你的第一個機器人動起來
  1.1  ROS部落的自我介紹
    1.1.1  機器人與ROS
    1.1.2  ROS 2系統架構
    1.1.3  ROS 2的已發布版本
    1.1.4  ROS 2機器人開發特色
  1.2  開發環境搭建
    1.2.1  準備所需軟體
    1.2.2  安裝虛擬機VirtualBox
    1.2.4  安裝ROS 2
  1.3  運行你的第一個機器人
    1.3.1  啟動海龜模擬器
    1.3.2  使用鍵盤控制海龜
    1.3.3  海龜例子的簡單分析
  1.4  ROS 2基礎之Linux
    1.4.1  Linux終端基礎操作
    1.4.2  在Linux中安裝軟體
    1.4.3  在Linux中編寫Python程序
    1.4.4  在Linux中編寫C++程序
    1.4.5  Linux基礎之環境變數
  1.5  小結與點評
第2章  ROS 2基礎入門從第一個節點開始
  2.1  編寫你的第一個節點
    2.1.1  Python示例
    2.1.2  C++示例
  2.2  使用功能包組織Python節點
    2.2.1  在功能包中編寫Python節點
    2.2.2  功能包結構分析
  2.3  使用功能包組織C++節點
    2.3.1  在功能包中編寫C++節點
    2.3.2  功能包結構分析
  2.4  多功能包的最佳實踐Workspace
  2.5  ROS 2基礎之編程
    2.5.1  面向對象編程
    2.5.2  用得到的C++新特性
    2.5.3  多線程與回調函數
  2.6  小結與點評
第3章  訂閱和發布—話題通信探索
  3.1  話題通信介紹
  3.2  Python話題訂閱與發布
    3.2.1  通過話題發布小說
    3.2.2  訂閱小說併合成語音
  3.3  C++話題訂閱與發布
    3.3.1  發布速度控制海龜畫圓
    3.3.2  訂閱Pose實現閉環控制
  3.4  話題通信最佳實踐
    3.4.1  完成工程架構設計

    3.4.2  自定義通信介面
    3.4.3  系統信息獲取與發布
    3.4.4  在功能包中使用Qt
    3.4.5  訂閱數據並用Qt顯示
  3.5  ROS 2基礎之Git入門
    3.5.1  新建代碼倉庫
    3.5.2  學會提交代碼
    3.5.3  學會使用Git忽略文件
  3.6  小結與點評
第4章  服務和參數——深入ROS 2通信
  4.1  服務與參數通信介紹
    4.1.1  服務通信介紹
    4.1.2  基於服務的參數通信
  4.2  用Python服務通信實現人臉檢測
    4.2.1  自定義服務介面
    4.2.2  人臉檢測
    4.2.3  人臉檢測服務實現
    4.2.4  人臉檢測客戶端的實現
  4.3  用C++服務通信做一個巡邏海龜
    4.3.1  自定義服務介面
    4.3.2  服務端代碼實現
    4.3.3  客戶端代碼實現
  4.4  在Python節點中使用參數
    4.4.1  參數聲明與設置
    4.4.2  訂閱參數更新
    4.4.3  修改其他節點的參數
  4.5  在C++節點中使用參數
    4.5.1  參數聲明與設置
    4.5.2  接收參數事件
    4.5.3  修改其他節點的參數
  4.6  使用launch啟動腳本
    4.6.1  使用launch啟動多個節點
    4.6.2  使用launch傳遞參數
    4.6.3  launch使用進階
  4.7  小結與點評
第5章  ROS 2常用開發工具
  5.1  坐標變換工具介紹
    5.1.1  通過命令行使用TF
    5.1.2  對TF原理的簡單探究
  5.2  Python中的手眼坐標變換
    5.2.1  通過Python發布靜態TF
    5.2.2  通過Python發布動態TF
    5.2.3  通過Python查詢TF關係
  5.3  C++中的地圖坐標系變換
    5.3.1  通過C++發布靜態TF
    5.3.2  通過C++發布動態TF
    5.3.3  通過C++查詢TF關係
  5.4  常用可視化工具rqt與RViz
    5.4.1  GUI框架rqt
    5.4.2  數據可視化工具RViz

  5.5  數據記錄工具ros2 bag
  5.6  ROS 2基礎之Git進階
    5.6.1  查看修改內容
    5.6.2  學會撤銷代碼
    5.6.3  進階掌握Git分支
  5.7  小結與點評
第6章  建模與模擬——創建自己的機器人
  6.1  機器人建模與模擬概述
    6.1.1  移動機器人的結構介紹
    6.1.2  常用機器人模擬平台
  6.2  使用URDF創建機器人
    6.2.1  幫機器人創建一個身體
    6.2.2  在RViz中顯示機器人
    6.2.3  使用Xacro簡化URDF
    6.2.4  創建機器人及感測器部件
    6.2.5  完善機器人執行器部件
    6.2.6  貼合地面,添加虛擬部件
  6.3  添加物理屬性讓機器人更真實
    6.3.1  為機器人部件添加碰撞屬性
    6.3.2  為機器人部件添加質量與慣性
  6.4  在Gazebo中完成機器人模擬
    6.4.1  安裝與使用Gazebo構建世界
    6.4.2  在Gazebo中載入機器人模型
    6.4.3  使用Gazebo標籤擴展URDF
    6.4.4  使用兩輪差速插件控制機器人
    6.4.5  激光雷達感測器模擬
    6.4.6  慣性測量感測器模擬
    6.4.7  深度相機感測器模擬
  6.5  使用ros2_control驅動機器人
    6.5.1  ros2_control介紹與安裝
    6.5.2  使用Gazebo接入ros2_control
    6.5.3  使用關節狀態發布控制器
    6.5.4  使用力控制器控制輪子
    6.5.5  使用兩輪差速控制器控制機器人
  6.6  小結與點評
第7章  自主導航——讓機器人自己動起來
  7.1  機器人導航介紹
    7.1.1  同步定位與地圖構建
    7.1.2  機器人導航
  7.2  使用slam_toolbox完成建圖
    7.2.1  構建第一張導航地圖
    7.2.2  將地圖保存為文件
  7.3  機器人導航框架Navigation 2
    7.3.1  Navigation 2介紹與安裝
    7.3.2  配置Navigation 2參數
    7.3.3  編寫launch並啟動導航
    7.3.4  進行單點與路點導航
    7.3.5  導航過程中進行動態避障
    7.3.6  優化導航速度和膨脹半徑
    7.3.7  優化機器人到點精度

  7.4  導航應用開髮指南
    7.4.1  使用話題初始化機器人位姿
    7.4.2  使用TF獲取機器人實時位置
    7.4.3  調用介面進行單點導航
    7.4.4  使用介面完成路點導航
  7.5  導航最佳實踐之做一個自動巡檢機器人
    7.5.1  完成機器人系統架構設計
    7.5.2  編寫巡檢控制節點
    7.5.3  添加語音播報功能
    7.5.4  訂閱圖像並記錄
  7.6  ROS 2基礎之Git倉庫托管
    7.6.1  添加自描述文件
    7.6.2  將代碼托管在Gitee
    7.6.3  將代碼托管在GitHub
  7.7  小結與點評
第8章  使用自己的規劃器和控制器導航
  8.1  掌握ROS 2插件機制
    8.1.1  pluginlib介紹與安裝
    8.1.2  定義插件抽象類
    8.1.3  編寫並生成第一個插件
    8.1.4  編寫插件測試程序
  8.2  自定義導航規劃器
    8.2.1  自定義規劃器介紹
    8.2.2  搭建規劃器插件框架
    8.2.3  實現自定義規劃演算法
    8.2.4  配置導航參數並測試
  8.3  自定義導航控制器
    8.3.1  自定義控制器介紹
    8.3.2  搭建控制器插件框架
    8.3.3  實現自定義控制演算法
    8.3.4  配置導航參數並測試
  8.4  小結與點評
第9章  搭建一個實體移動機器人
  9.1  移動機器人系統設計
    9.1.1  機器人感測器
    9.1.2  機器人執行器
    9.1.3  機器人決策系統
  9.2  單片機開發基礎
    9.2.1  開發平台介紹與安裝
    9.2.2  第一個HelloWorld工程
    9.2.3  使用代碼點亮LED燈
    9.2.4  使用超聲波測量距離
    9.2.5  使用開源庫驅動IMU
  9.3  機器人控制系統的實現
    9.3.1  使用開源庫驅動多路電動機
    9.3.2  電動機速度測量與轉換
    9.3.3  使用PID控制輪子轉速
    9.3.4  運動學正逆解的實現
    9.3.5  機器人里程計計算
  9.4  使用micro-ROS接入ROS 2

    9.4.1  第一個節點
    9.4.2  訂閱話題控制機器人
    9.4.3  發布機器人里程計話題
  9.5  移動機器人建圖與導航實現
    9.5.1  驅動並顯示雷達點雲
    9.5.2  移動機器人的坐標系框架介紹
    9.5.3  準備機器人URDF
    9.5.4  發布里程計TF
    9.5.5  完成機器人建圖並保存地圖
    9.5.6  完成機器人導航
  9.6  小結與點評
第10章  ROS 2使用進階
  10.1  消息服務質量之QoS
    10.1.1  QoS策略介紹
    10.1.2  QoS的兼容性
    10.1.3  Python QoS兼容性測試
    10.1.4  C++ QoS兼容性測試
  10.2  執行器與回調組
    10.2.1  執行器與回調組介紹
    10.2.2  在Python中使用回調組
    10.2.3  在C++中使用回調組
  10.3  生命周期節點
    10.3.1  生命周期節點介紹
    10.3.2  在Python中編寫生命周期節點
    10.3.3  在C++中編寫生命周期節點
  10.4  同一進程組織多個節點
    10.4.1  使用執行器組織多個節點
    10.4.2  使用組件運行組合節點
    10.4.3  編寫自己的組件
  10.5  使用消息過濾器同步數據
    10.5.1  消息過濾器介紹
    10.5.2  在Python中同步感測器數據
    10.5.3  在C++中同步感測器數據
  10.6  DDS中間件進階
    10.6.1  使用不同的DDS進行通信
    10.6.2  配置區域網通信
    10.6.3  調整DDS配置
    10.6.4  使用DDS共享內存
  10.7  小結與點評

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032