本書主要介紹樹莓派及其配置、基本操作,以及智能終端應用開發(fā)的環(huán)境搭建和開發(fā)過程。不僅涵蓋了智能終端的基礎技術,還詳細介紹了智能終端應用開發(fā)過程。主要是結(jié)合樹莓派做智能終端應用開發(fā),而且加入了ROS機器人開發(fā)。本書適用于高等職業(yè)院校人工智能技術應用專業(yè)、物聯(lián)網(wǎng)專業(yè)及其他相關專業(yè)的學生,也可作為智能終端應用開發(fā)愛好者的參考書。讀者參考本書,可以在樹莓派上外接傳感器做智能終端應用開發(fā),也可以部署ROS做智能機器人應用開發(fā),從而自己制作智能終端產(chǎn)品。
在當今數(shù)字化時代,智能終端技術正以前所未有的速度發(fā)展,深刻地影響和改變著我們的生活和工作方式。從智能家居到工業(yè)自動化,從智慧城市到無人駕駛,智能終端技術的應用前景無限廣闊。為了滿足這一領域日益增長的人才需求,培養(yǎng)具有創(chuàng)新精神和實踐能力的智能終端應用開發(fā)者,編寫了這本教材。
本書旨在為讀者提供一個全面、系統(tǒng)的智能終端應用開發(fā)學習路徑。無論是初學者還是有一定基礎的專業(yè)人士,都能通過本書的學習,掌握智能終端開發(fā)的核心知識與技能。本書特別注重理論與實踐相結(jié)合,強調(diào)動手操作能力的培養(yǎng),以期讀者能夠?qū)W以致用,解決實際問題。
本書共分為14章,內(nèi)容涵蓋樹莓派的簡介與操作、編程環(huán)境搭建、文件傳輸與串口通信以及K210和YOLO v3等先進技術。書中還深入講解了ROS的基礎知識、常用組件、機器人平臺、SLAM建圖與自主導航、機器人視覺、MoveIt!與機械臂控制以及語音功能和多機器人系統(tǒng)的綜合應用。本書具有以下特色。
(1) 系統(tǒng)性: 從智能終端的基本概念到復雜系統(tǒng)的應用開發(fā),本書提供了一個連貫的學習路徑,幫助讀者逐步建立起完整的知識體系。
(2) 實用性: 每章都配有實踐指導和案例分析,使讀者能夠通過動手實踐鞏固理論知識。
(3) 前沿性: 涵蓋了當前智能終端領域的最新技術,如ROS(機器人操作系統(tǒng))、機器人視覺、語音識別等,確保讀者能夠掌握行業(yè)最新動態(tài)。
(4) 擴展性: 本書不僅介紹了基礎開發(fā)技能,還探討了多機器人系統(tǒng)的綜合應用,為讀者提供了廣闊的技術視野和發(fā)展空間。
在本書編寫過程中,得到了許多同行和專家的寶貴意見與支持,在此向所有提供幫助和支持的個人和機構(gòu)表示衷心的感謝。
最后,希望本書能夠成為讀者在智能終端應用開發(fā)領域的良師益友,激發(fā)創(chuàng)新思維,培養(yǎng)實踐技能,共同推動智能科技的發(fā)展。
編者
2025年5月
第1章樹莓派概述
1.1樹莓派
1.1.1樹莓派發(fā)展歷史
1.1.2樹莓派家族
1.2樹莓派擴展板
1.2.1HiFi DAC擴展板
1.2.2樹莓派瑞士軍刀擴展板
1.2.3其他擴展板
1.3操作系統(tǒng)的選擇與安裝
1.3.1Raspberry Pi OS
1.3.2NOOBS
1.3.3Ubuntu MATE
1.3.4Snappy Ubuntu Core
1.3.5DietPi
1.3.6RISC OS
1.3.7Windows 10 IoT
1.3.8系統(tǒng)的安裝
1.4操作系統(tǒng)初始化
1.4.1顯示設置
1.4.2更改區(qū)域
1.4.3修改密碼
1.4.4其他工作
1.4.5關閉樹莓派
第2章樹莓派的網(wǎng)絡連接
2.1有線網(wǎng)絡配置
2.1.1有線連接路由器
2.1.2直連計算機
2.2無線網(wǎng)絡配置
2.2.1通過圖形化用戶界面配置
2.2.2通過修改配置文件連接WiFi
2.3樹莓派靜態(tài)IP地址配置
2.3.1通過圖形化界面設置靜態(tài)IP地址
2.3.2通過修改網(wǎng)絡接口文件設置靜態(tài)IP地址
2.4利用SSH遠程控制樹莓派
2.4.1SSH簡介
2.4.2SSH認證
2.4.3無顯示屏啟用SSH
2.4.4使用圖形化用戶界面啟用SSH
2.4.5使用終端啟用SSH
2.4.6PuTTY通過密碼建立SSH連接
2.4.7PuTTY通過SSH key建立SSH連接
2.5利用VNC遠程控制樹莓派
2.5.1VNC簡介
2.5.2安裝VNC
2.5.3開啟VNC
2.5.4使用VNC遠程登錄樹莓派
2.5.5無法顯示桌面的問題
第3章樹莓派的基本操作
3.1系統(tǒng)目錄
3.2常用的Linux終端快捷鍵
3.3磁盤管理
3.3.1df命令
3.3.2fdisk命令
3.3.3du命令
3.4文件管理
3.4.1SSH遠程連接下的文件管理
3.4.2VNC遠程連接下的文件管理
3.5配置NFS服務端
3.5.1NFS簡介
3.5.2NFS的工作原理
3.5.3安裝NFS服務器組件
3.5.4啟動NFS服務
3.6配置NFS客戶端
3.6.1安裝NFS客戶端組件
3.6.2從服務端掛載共享文件
3.6.3卸載文件
第4章樹莓派編程環(huán)境
4.1Python概述
4.1.1什么是Python
4.1.2Python的特點
4.2Python程序開發(fā)
4.2.1部分控制語句
4.2.2迭代器和生成器
4.2.3表達式
4.2.4對象的方法
4.3運行Python程序
4.3.1Thonny Python的界面
4.3.2Thonny的View選項
4.3.3Thonny的Options選項
4.3.4編寫Python程序
第5章WinSCP
5.1WinSCP的安裝
5.2導入文件至樹莓派
5.3從樹莓派中導出文件
第6章樹莓派的串口通信
6.1什么是串口通信
6.1.1串口通信的原理
6.1.2串口通信的方式
6.1.3串口通信接口標準
6.2樹莓派串口
6.3利用串口與計算機通信
第7章K210芯片和YOLO v3簡介
7.1K210
7.1.1K210簡介
7.1.2基于K210芯片的開發(fā)環(huán)境搭建
7.1.3K210芯片的基礎功能
7.1.4K210芯片的高級功能
7.2YOLO v3
7.2.1YOLO v3簡介
7.2.2訓練YOLO v3模型
第8章ROS簡介與基礎
8.1初識ROS
8.1.1ROS簡介
8.1.2ROS的歷史
8.1.3ROS的特點
8.2ROS的安裝與配置
8.3ROS架構(gòu)
8.3.1ROS架構(gòu)簡介
8.3.2文件系統(tǒng)
8.3.3計算圖
8.3.4開源社區(qū)
8.4通信機制
8.4.1話題通信機制
8.4.2服務通信機制
8.4.3參數(shù)管理機制
8.4.4話題和服務的區(qū)別
8.5ROS開發(fā)基礎
8.5.1小烏龜例程
8.5.2創(chuàng)建工作空間和功能包
8.5.3自定義軟件包
8.5.4深入工作空間
8.5.5創(chuàng)建自定義的ROS消息和服務
8.5.6話題通信的開發(fā)
8.5.7服務通信的開發(fā)
第9章ROS常用組件
9.1rosbag數(shù)據(jù)記錄與回放
9.1.1錄制數(shù)據(jù)(創(chuàng)建.bag文件)
9.1.2錄制所有發(fā)布的話題
9.1.3檢查并回放.bag文件
9.1.4錄制數(shù)據(jù)子集
9.1.5rosbag錄制和回放的局限性
9.2launch文件
9.2.1介紹
9.2.2命令用法
9.2.3傳遞參數(shù)
9.2.4解析 launch 文件
9.3TF
9.3.1TF的作用
9.3.2TF示例
9.3.3TF的使用方法
9.4rqt工具箱
9.4.1日志輸出工具(rqt_console)
9.4.2計算圖可視化工具(rqt_graph)
9.4.3數(shù)據(jù)繪圖工具(rqt_plot)
9.4.4參數(shù)動態(tài)配置工具
9.5RViz三維可視化工具
9.5.1安裝并運行RViz
9.5.2數(shù)據(jù)可視化
9.5.3插件擴展機制
第10章機器人平臺
10.1機器人的定義與組成
10.1.1機器人的定義
10.1.2機器人的組成
10.2激光雷達
10.2.1激光雷達簡介
10.2.2激光雷達的參數(shù)
10.3深度相機
10.3.1深度相機簡介
10.3.2深度相機分類
10.4機器人教學平臺介紹
10.5運行機器人
10.5.1配置環(huán)境變量
10.5.2遠程連接機器人
10.5.3驗證配置
10.5.4鍵盤控制機器人移動
第11章SLAM建圖與自主導航
11.1基礎理論
11.1.1SLAM簡介
11.1.2傳感器簡介
11.2準備工作
11.3傳感器信息
11.3.1環(huán)境深度信息
11.3.2里程計信息
11.4SLAM建圖算法
11.4.1GMapping算法
11.4.2Hector算法
11.4.3cartographer
11.5機器人導航
11.5.1導航功能包
11.5.2機器人的導航配置
11.5.3機器人導航實踐
11.5.4多點連續(xù)導航
第12章機器人視覺
12.1攝像頭標定
12.2ROS圖像數(shù)據(jù)
12.2.1機器人的二維圖像數(shù)據(jù)
12.2.2三維點云數(shù)據(jù)
12.3OpenCV庫
12.3.1OpenCV安裝
12.3.2機器人中的文件結(jié)構(gòu)
12.3.3OpenCV 圖像處理示例
12.4二維碼識別
12.4.1識別功能包
12.4.2生成二維碼標簽
12.4.3攝像頭識別二維碼
12.5視覺目標追蹤
12.5.1KCF算法簡介
12.5.2KCF物體跟蹤算法使用
12.6深度相機與VSLAM
12.6.1深度相機模擬激光雷達
12.6.2ORBSLAM
12.6.3ORBSLAM 2
12.7RTABSLAM三維建圖
12.7.1RTABSLAM介紹
12.7.2機器人RTAB建圖
12.7.3機器人RTAB導航
第13章語音功能
13.1語音識別框架
13.2TTS文字轉(zhuǎn)語音
13.2.1獲取科大訊飛公司授權(quán)ID
13.2.2配置xtark_audio功能包
13.2.3運行xtark_audio功能包
13.3配置語音識別功能包
13.3.1下載SDK
13.3.2替換資源
13.3.3配置語音參數(shù)
13.4語音識別功能包
13.4.1功能介紹
13.4.2使用語音識別功能包
13.4.3語音識別功能包使用技巧
第14章綜合應用多機器人系統(tǒng)
14.1網(wǎng)絡配置
14.2軟件包部署
14.3文件說明
14.4軟件包應用
14.4.1多機器人驅(qū)動
14.4.2多機器人通信示例
14.4.3多機器人獨立控制/同時控制
14.4.4多機器人導航框架
參考文獻