立即下單

【全彩圖解】大疆TT教育無人機從入門到精通+從ROS1到ROS2無人機編程實戰指南(共2冊)
NT$ 1998  

【全彩圖解】大疆TT教育無人機從入門到精通+從ROS1到ROS2無人機編程實戰指南(共2冊)

免郵費 貨到付款 七天鑒賞期

大疆TT教育無人機從入門到精通

作者: 蔡冬冬

出版社:清華大學出版社

出版日期:2021/07/01

ISBN:9787302584728

規格:平裝 / 16k / 19 x 26 x 1 cm /

頁碼:203

內容簡介

以大疆TT教育無人機為載體,採用Mind圖形化程式設計軟體為無人機設計飛行程式。

本書詳細講述無人機的飛行原理、飛行安全、遙控飛行、程式設計飛行、編隊飛行和場景應用等知識,並將這些知識融入近100個項目式的探究活動,可使讀者通過實驗探究和無人機程式設計活動體驗飛行的樂趣。

本書最後講述無人機競賽方面的內容,包含無人機競賽的策略以及競賽程式設計的方法。

目錄

第1章

無人機飛行

1.1 認識無人機 2

1.1.1 飛行器的歷史 2

1.1.2 無人機的概念 3

1.1.3 無人機的應用 5

1.2 TT無人機 11

1.2.1 旋翼無人機 11

1.2.2 TT無人機的組成 12

1.3 無人機的飛行原理 17

1.3.1 飛行器的翼 17

1.3.2 空氣的黏性 18

1.3.3 看不見的大氣壓 20

1.3.4 附壁效應 21

1.3.5 伯努利原理 23

1.3.6 翼的升力 24

1.3.7 無人機的運動原理 25

1.4 安全飛行 27

1.4.1 無人機的飛行環境 27

1.4.2 無人機的飛行區域 29

1.4.3 無人機的飛行法規與條例 31

1.5 無人機遙控飛行 33

1.5.1 連接TT無人機 33

1.5.2 遙控起飛無人機 34

1.5.3 無人機遙控飛行練習 42

1.5.4 無人機航拍 44


第2章

無人機程式設計

2.1 無人機程式設計基礎 48

2.1.1 拓展模組 48

2.1.2 無人機與Mind 程式設計 49

2.1.3 拓展模組程式設計 51

2.1.4 走進程式設計世界:Hello World 53

2.1.5 程式按順序運行 54

2.1.6 程式的往復迴圈 55

2.1.7 程式的條件選擇 56

2.1.8 計算“2 3=?” 57

2.1.9 倒計時 58

2.1.10 計數器 59

2.1.11 TOF測距感測器測量長度 60

2.2 無人機運動程式設計 62

2.2.1 電腦連接無人機 63

2.2.2 無人機的運動模組 66

2.2.3 個無人機飛行程式 68

2.2.4 矩形航線飛行 70

2.2.5 鍵盤遙控飛行 72

2.3 無人機遙控杆量程式設計 73

2.3.1 遙控杆量模組 73

2.3.2 Tello攝像頭模組 74

2.3.3 程式設計探究遙控杆量模組 74

2.8 無人機飛行特技與交互 122

2.8.1 特技飛行 122

2.8.2 TT無人機的特技飛行 124

2.8.3 無人機姿態檢測 124

2.8.4 計時拋飛 125

2.8.5 跟無人機打招呼 126

2.8.6 左右躲閃的無人機 127

2.8.7 掌上降落 128

2.8.8 尋找主人 130

2.8.9 聽從挑戰卡的指揮 131

2.9 保護無人機 132

2.9.1 保護飛行的無人機 132

2.9.2 緊急懸停與降落 133

2.9.3 無人機接觸式避障 133

2.9.4 萬一故障發生時—冗餘系統 136

2.10 無人機測繪程式設計 138

2.10.1 測繪 138

2.10.2 氣壓高度感測器 139

2.10.3 測量天花板的高度 140

2.10.4 地形高度測繪 142

2.10.5 無人機仿地飛行 143

2.10.6 無人機測繪 145

2.10.7 古建築測繪 146

2.11 無人機自主返航 148

2.11.1 超視距飛行與自動返航 148

2.11.2 原航線返航 148

2.11.3 座標返航 150

2.11.4 無人機起降平臺 151

2.12 無人機的飛行資料 155

2.12.1 飛行資料模組 155

2.12.2 探究無人機俯仰姿態角 157

2.12.3 探究無人機低速撞擊資料 159

.............

4.2.4 探索迷宮 196

4.3 無人機迷宮競賽 198

4.3.1 無人機迷宮競賽概況 198

4.3.2 無人機的探索和穿越 199

4.3.3 迷宮座標與探索飛行 199

4.3.4 迷宮探索與穿越 201

4.3.5 旋翼賽迷宮挑戰賽競賽規則(XMT) 203

從ROS1到ROS2無人機編程實戰指南

ISBN13:9787122427984

出版社:化學工業出版社

作者:馬培立; 卞舒豪; 陳紹平

出版日:2023/11/01

裝訂/頁數:平裝/570頁

規格:24cm*17cm (高/寬)

版次:一版

內容介紹

本書全面介紹了ROS機器人操作系統及其在無人機編程中的應用,內容涵蓋智能機器人和無人機等從入門到精通所需的技術開發知識要點。本書從ROS基礎知識入手,由ROS1過渡到ROS2再到兩者的移植與轉換,由淺入深、逐級進階,以無人機的編程應用為平臺,就目前流行的機器人SLAM定位算法、深度學習識別算法、基於運動控制學的控制算法以及全域加局部的軌跡規劃算法等重點和難點,進行了詳細闡述。全書語言通俗易懂,輔以程序案例及注釋,並通過仿真的形式,讓讀者能夠輕鬆地學習ROS及無人機編程。 本書可供智能機器人及無人機等相關行業技術工作者閱讀參考,也是ROS愛好者的實戰寶典,還可作為高校相關專業師生的參考書。

目錄

第1章 ROS-智慧機器人開端 001

1.1 ROS的節點(node) 001

1.1.1 節點 001

1.1.2 節點管理器 001

1.1.3 與節點有關的指令 002

1.2 ROS命令指令與使用 007

1.2.1 與msg相關的命令 007

1.2.2 與topic相關的命令 009

1.2.3 與service相關的命令 015

1.2.4 訊息記錄與回放指令 017

1.2.5 故障診斷指令 018

1.3 工作空間與功能包的創建 019

1.3.1  工作空間和功能包的組成 020

1.3.2  工作空間的創建 021

1.3.3  編譯工作空間 021

1.3.4  設定環境變數 023

1.3.5  檢查環境變數 023

1.3.6  功能包的創建 023

1.3.7  package.xml檔案內容 025

1.3.8 CMakeLists.txt檔案作用 026

1.4 可視化參數指令(Parameter)的使用 029

1.4.1 Parameter Server的使用 029

1.4.2 透過程式實現參數的靜態調節 033

1.4.3 實現參數的動態調節 041

1.5  Visual Studio Code環境建置與美化 045

1.5.1  環境搭建 045

1.5.2  Visual Studio Code 美化 049

1.6  Docker-ROS安裝 050

1.6.1  了解Docker 050

1.6.2  Docker的安裝 051

1.6.3 在Docker內安裝ROS 054

1.6.4 在Docker內安裝vncserver 055

1.6.5 測試Docker中ROS及其GUI介面 055

1.7  ROS搭建VSC調試環境 058

1.7.1  安裝插件 058

1.7.2  在VScode中設定ROS環境 058

1.7.3  在VScode中debug代碼 059


第2章 ROS程式設計及插件二次開發 065

2.1  發布者(Publisher)的程式設計與實作 065

2.1.1 learning_topic功能包的建立 065

2.1.2 ROS中如何實作一個Publisher 066

2.1.3 用C 實作Publisher及程式碼講解 066

2.1.4 用Python實作Publisher及程式碼講解 069

2.2 訂閱者(Subscriber)的程式設計與實作 071

2.2.1 ROS中如何實作一個Subscriber 072

2.2.2 用C 實作Subscriber及程式碼講解 072

2.2.3 用Python實作Subscriber及程式碼講解 074

2.3 自訂話題(Topic)實作 076

2.3.1 自訂訊息類型的建立 076

2.3.2 程式實作主題(C ) 079

2.3.3 程式實作話題(Python) 082

2.4 客戶端(Client)的程式設計與實作 084

2.4.1 learning_service功能包的建立 085

2.4.2 srv文件的理解 085

2.4.3 ROS中如何實作一個Client 086

2.4.4 用C 實作Client及程式碼講解 086

2.4.5 用C 實作Python及程式碼講解 088

2.5 服務端(Server)的程式設計與實作 091

2.5.1 Trigger型檔 091

2.5.2 ROS中如何實作一個Server 092

2.5.3 用C 實作Server及程式碼講解 092

2.5.4 用Python實作Server及程式碼講解 095

2.6 自訂服務(Service)實作 098

2.6.1 自訂服務類型的建立 098

2.6.2 程式設計實現服務(C ) 100

2.6.3 程式實作服務(Python) 104

2.7 行為(Action)程式設計與實作 108

2.7.1 Action的工作機制 108

2.7.2 learning_action功能包的建立 112

2.7.3 程式實現動作(C ) 113

2.7.4 程式實現動作(Python) 121

2.8 多節點啟動腳本(launch)檔案的程式設計與實作 123

2.8.1 launch文件 123

2.8.2 launch檔案的基本成分 123

2.8.3 launch檔案程式設計 126

2.9 ROS設定plugin插件 128

2.9.1 什麼是plugin 128

2.9.2 pluginlib的工作原理 128

2.9.3 實現plugin的步驟 128

2.9.4 plugin的實現 129

2.9.5 在ROS中使用創建的plugin 132

2.10 基於RVIZ的二次開發-plugin 134

2.10.1 plugin的創建 134

2.10.2 補充編譯規則 140

2.10.3 實現結果 141

2.11 ROS多訊息同步與多訊息回呼 142

2.11.1 什麼是多訊息同步與多訊息回呼 142

2.11.2 實作步驟 142

2.11.3 功能包的創建 143

2.11.4 全域變數形式 :TimeSynchronizer 143

2.11.5 類別成員的形式:message_filters::Synchronizer 144


第3章 ROS視覺化功能包與拓展 148

3.1 日誌輸出工具(rqt_console) 148

3.1.1 rqt_console 148

3.1.2 日誌的等級 150

3.1.3 rqt_logger_level 151

3.2 資料繪圖工具(rqt_plot) 152

3.3 計算圖視覺化工具(rqt_graph) 155

3.4 影像渲染工具(rqt_image_view) 157

3.5 PlotJuggler 157

3.5.1 PlotJuggler簡介 157

3.5.2 ROS系統中安裝PlotJuggler 158

3.5.3 初識PlotJuggler 158

3.6 三維視覺化工具(rviz) 162

3.6.1 Displays側邊欄 163

3.6.2 Views側邊欄 164

3.6.3 工具列 165

3.7 三維實體模擬平台(Gazebo) 165

3.7.1 視圖介面 165

3.7.2 模型列表 166

3.7.3 模型屬性區 167

3.7.4 上工具列 167

3.7.5 下工具列 168

3.8 ROS人機互動軟體介紹 168

3.8.1 ROS與QT的交互 169

3.8.2 ROS與Web的交互-rosbridge 170

3.8.3 ROS與Java的交互-rosjava 171

3.9 ROS包選擇、過濾與裁切 172

3.9.1 依topic過濾 172

3.9.2 依時間過濾 172

3.9.3 同時過濾topic與時間 173

3.9.4 透過rosbag完成ros包操作 173

3.10 常見GUI快速查詢 174

3.10.1 rqt_tf_tree 174

3.10.2 rqt_bag 174

3.10.3 rqt_topic 175

3.10.4 rqt_reconfigure 175

3.10.5 rqt_publisher 176

3.10.6 rqt_top 176

3.10.7 rqt_runtime_monitor 177

第4章 ROS2-智慧機器人新起點 178

4.1 ROS2的新特性 1

4.1.1 ROS1與ROS2程式所寫的不同 178

4.1.2 ROS1與ROS2通訊機制的不同 179

4.1.3 ROS1與ROS2功能包、工作空間、環境的不同 180

4.2 ROS2之DDS 180

4.2.1 什麼是DDS 181

4.2.2 DDS多機通訊 181

4.2.3 中間件RMW 182

4.2.4 DDS調優 183

4.3 Docker—ROS2安裝 184

4.3.1 安裝 184

4.3.2 安裝測試 185

4.3.3 編譯並執行範例程式 186

4.3.4 ROS2 docker 安裝 187

4.4 ROS2搭建VSC調試環境 191

4.4.1 編譯設定 191

4.4.2 Debug設定 192

4.4.3 開啟Debug 194

4.5 ROS2工作空間介紹 195

4.5.1 工作空間組成 195

4.5.2 創建一個簡單的功能包 196

4.5.3 編譯功能包 197

4.6 ROS2的POP和OOP 198

4.6.1 POP和OOP是什麼 198

4.6.2 POP與OOP對比 199

4.6.3 小結 199

4.7 發布者(Publisher)的程式設計與實作 200

4.7.1 ROS2發布者功能確定 200

4.7.2 編寫程式碼(C++實作) 201

4.7.3 編寫程式碼(Python實作) 203

4.7.4 編譯程式碼 204

4.7.5 運行代碼 204

4.8 訂閱者(Subscriber)的程式設計與實作 205

4.8.1 ROS2訂閱者功能確定 205

4.8.2 編寫程式碼(C++實作) 205

4.8.3 編寫程式碼(Python實作) 207

4.8.4 編譯程式碼 208

4.8.5 運行代碼 208

4.9 客戶(Client)的程式設計與實作 209

4.9.1 ROS2服務的簡單呼叫 209

4.9.2 ROS2客戶功能確定 210

4.9.3 編寫程式碼(C++實作) 210

4.9.4 編寫程式碼(Python實作) 212

4.9.5 運行代碼 213

4.10 服務(Service)的程式設計與實作 214

4.10.1 ROS2服務任務確定 214

4.10.2 編寫程式碼(C++實作) 214

4.10.3 編寫程式碼(Python實作) 216

4.10.4 運行代碼 217

4.11 自訂msg以及srv 218

4.11.1 自訂msg以及srv的意義 218

4.11.2 創建自己的msg、srv檔案 218

4.11.3 在其他功能包中引用 219

4.12 ROS2參數(Parameter) 220

4.12.1 參數是什麼 220

4.12.2 任務確定 220

4.12.3 程式編寫(C++) 220

4.12.4 程式編寫(Python) 221

4.12.5 編譯並執行程式碼 222

4.13 ROS2如何一鍵啟動多個腳本 223

4.13.1 ROS2的launch系統 223

4.13.2 在自己的功能包中新增launch檔(C++) 225

4.13.3 在自己的功能包中加入launch檔(Python) 226

4.13.4 編譯及運行 227

4.14 Action(server & client)的程式設計與實作 227

4.14.1 任務確定 228

4.14.2 根據任務建立對應的Action 228

4.14.3 程式編寫(C++) 229

4.14.4 程式編寫(Python) 233

4.14.5 程序執行 235

4.15 ROS2子節點以及多執行緒 236

4.15.1 ROS1—Node 和 Nodelets 236

4.15.2 ROS2—統一API 237

4.15.3 component初步體驗 237

4.15.4 自訂component 239

4.15.5 ROS2中的多執行緒—callbackgroup 241

4.15.6 多執行緒的大致流程 242

4.15.7 自訂多執行緒程式 243

4.16 ROS2中常用命令列工具 243

4.16.1 功能包 243

4.16.2 節點 244

4.16.3 ROS2話題 245

4.16.4 參數(param)指令 247

4.16.5 action指令 248

4.16.6 interface工具 248

4.16.7 doctor工具 250

4.16.8 ROS2可視化GUI與模擬工具 251

【全彩圖解】大疆TT教育無人機從入門到精通+從ROS1到ROS2無人機編程實戰指南(共2冊)
NT$1998
注: 我們會宅配送貨到您府上,請您注意查收。