注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計ROS 2機器人編程實戰(zhàn):基于現(xiàn)代C++和Python 3

ROS 2機器人編程實戰(zhàn):基于現(xiàn)代C++和Python 3

ROS 2機器人編程實戰(zhàn):基于現(xiàn)代C++和Python 3

定 價:¥119.00

作 者: 徐海望 高佳麗 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111715504 出版時間: 2022-11-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  本書介紹了基于ROS 2編程所需的各方面知識,并通過結合基本概念、設計思想、工程實踐、編程調試和應用技巧等多面一體進行闡述,使讀者可以更加快速地掌握ROS 2機器人編程的核心思想。書中包含大量的代碼和實戰(zhàn)案例,同時還會講述開源項目及其相關規(guī)范和注意事項,結合作者實際的工程經(jīng)驗、與時俱進的 ROS 2設計思想和源碼案例,讀者可以學習到不拘泥于軟件版本與軟件環(huán)境的編程知識。此外,本書的*后一章還給出了ROS 2在實際項目中落地的應用策略和實用建議。書中所有源碼都已按照ROS 2的相關規(guī)范進行開源,并與讀者共同維護。本書為讀者提供了全部案例源代碼下載和高清學習視頻,讀者可以直接掃描二維碼觀看。本書適合機械、自動化、機器人、計算機、自動駕駛和人工智能等行業(yè)的從業(yè)者、學生和研究人員,以及 DIY 愛好者和極客等閱讀學習。

作者簡介

  徐海望,機器人軟硬件研發(fā)工程師、社區(qū)貢獻者、機器人愛好者。曾就職于小米機器人實驗室,鐵蛋創(chuàng)始團隊成員之一,曾參與若干機器人的設計、研發(fā),并負責鐵蛋的開源社區(qū)運營。擅長移動機器人的軟硬件架構設計與實現(xiàn)。高佳麗,機器人軟硬件研發(fā)工程師,機器人愛好者。曾就職于小米,鐵蛋創(chuàng)始團隊成員之一,并參與多項小米自研穿戴類產(chǎn)品開發(fā)。擅長嵌入式軟件驅動的開發(fā),多傳感器系統(tǒng)中間件的開發(fā)與調試;擅長機器人上層應用的設計與實現(xiàn)。

圖書目錄

第1章 構建與部署ROS 2
1.1 ROS 2的開發(fā)環(huán)境配置
1.1.1 ROS 2的發(fā)行方式
1.1.2 解決依賴問題
1.1.3 從源碼安裝ROS 2的技巧
1.1.4 便于開發(fā)的環(huán)境配置
1.2 ROS 2的架構體系
1.2.1 核心組件
1.2.2 機器人基礎應用組件
1.2.3 可視化組件、示例組件和擴展組件
1.3 ROS 2的構建體系
1.3.1 vcstool的使用
1.3.2 colcon工具鏈的簡介
1.3.3 colcon的構建、測試和查閱
1.4 實戰(zhàn):定制特定功能的ROS 2軟件堆棧
第2章 模塊化的功能包和節(jié)點
2.1 軟件功能包的構建
2.1.1 功能包的配置方法
2.1.2 功能包的構建與測試流程
2.1.3 運行指定功能包中的程序
2.2 節(jié)點的構建方法與基本操作
2.2.1 節(jié)點與節(jié)點執(zhí)行器
2.2.2 建立節(jié)點的方法
2.2.3 調試節(jié)點的方法
2.2.4 進程、線程與節(jié)點的關系
2.3 節(jié)點的常見擴展功能
2.3.1 DDS的作用域
2.3.2 ROS的命名空間
2.3.3 生命周期節(jié)點
2.4 實戰(zhàn):功能包的打包與發(fā)行
第3章 節(jié)點的體系化與擴展
3.1 節(jié)點的日志系統(tǒng)
3.1.1 日志的基本分類
3.1.2 收集和查閱歷史日志
3.1.3 日志的應用技巧
3.2 使用啟動腳本
3.2.1 構建啟動系統(tǒng)
3.2.2 同時運行多個進程
3.2.3 配置啟動腳本
3.3 節(jié)點的參數(shù)系統(tǒng)
3.3.1 為節(jié)點加入?yún)?shù)
3.3.2 YAML的基本語法
3.3.3 在launch文件中引入?yún)?shù)
3.4 通用的插件系統(tǒng)
3.4.1 創(chuàng)建插件
3.4.2 動態(tài)加載插件
3.4.3 插件的使用案例
3.5 ROS 2的組件系統(tǒng)
3.5.1 單組件的實現(xiàn)流程
3.5.2 實現(xiàn)自定義的組件
3.5.3 使用組件容器加載多個組件
3.6 實戰(zhàn):RealSense與ROS的橋接
第4章 ROS 2的基礎通信
4.1 基于發(fā)布訂閱模式的topic通信
4.1.1 嘗試發(fā)布和訂閱
4.1.2 調試topic的方法
4.1.3 消息的服務質量
4.1.4 進程內高效通信
4.1.5 嘗試共享內存
4.1.6 統(tǒng)計Topic狀態(tài)
4.2 基于主從式架構的service通信
4.2.1 實現(xiàn)service服務端和客戶端
4.2.2 在客戶端處理應答
4.2.3 service的局限性
4.3 實戰(zhàn):級聯(lián)生命周期節(jié)點
第5章 ROS 2的擴展通信
5.1 基于主從式架構的action通信
5.1.1 實現(xiàn)action服務端和客戶端
5.1.2 在客戶端獲取反饋、狀態(tài)和結果
5.1.3 action的搶占和隊列
5.2 接口的使用及其自定義
5.2.1 自定義接口
5.2.2 使用自定義接口
5.2.3 消息編寫的基本規(guī)范
5.2.4 接口的使用技巧
5.3 基于topic實現(xiàn)的坐標系統(tǒng)
5.3.1 廣播靜態(tài)坐標變換
5.3.2 廣播動態(tài)坐標變換
5.3.3 監(jiān)聽坐標變換
5.4 實戰(zhàn):模塊化的導航功能框架
第6章 面向ROS 2的調試與測試
6.1 調試ROS 2的代碼
6.1.1 使用GDB調試
6.1.2 使用ros2_tracing
6.2 使用rosbag2實現(xiàn)持久記錄
6.2.1 使用ros2bag錄制消息
6.2.2 播放和處理bag文件
6.2.3 在程序中調用rosbag2的API
6.3 實現(xiàn)單元測試
6.3.1 編寫簡單的單元測試
6.3.2 斷言的種類
6.3.3 統(tǒng)計測試覆蓋率
第7章 探索ROS 2的擴展功能
7.1 了解開源協(xié)議與版權
7.1.1 開源協(xié)議介紹
7.1.2 版權信息的重要性
7.1.3 項目中的Notice文件
7.2 構建ROS 2的vendor功能包
7.2.1 辨識項目的構建方式
7.2.2 CMake項目的引入
7.2.3 Autoconf項目的引入
7.3 使用ROS 2規(guī)范傳感器接口
7.3.1 傳感器數(shù)據(jù)的分類
7.3.2 同步多源數(shù)據(jù)
7.4 實現(xiàn)軟硬件診斷系統(tǒng)
7.4.1 更新診斷數(shù)據(jù)
7.4.2 分析診斷數(shù)據(jù)
第8章 ROS 2的產(chǎn)品落地指導
8.1 架構設計與硬件選型
8.1.1 硬件平臺與外設的選型
8.1.2 軟件架構的層次化
8.2 軟件實現(xiàn)的注意事項
8.2.1 支持ROS 2的軟件平臺
8.2.2 原型環(huán)境與交付環(huán)境
8.2.3 自啟動與下電保護
8.3 集成與交付
8.3.1 構建環(huán)境的可重復部署
8.3.2 持續(xù)集成與持續(xù)交付
8.3.3 開放平臺中的CI/CD

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號