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