本書系統(tǒng)地論述了智能機器人系統(tǒng)的原理及其應(yīng)用技術(shù),從創(chuàng)新能力較強的應(yīng)用型人才培養(yǎng)角度出發(fā),重視ROS機器人基礎(chǔ)理論與應(yīng)用技術(shù)相結(jié)合,力求反映國內(nèi)外機器人研究領(lǐng)域的新進展,將最新開源的、通用的機器人軟件ROS開發(fā)平臺與智能機器人的人體跟蹤技術(shù),Slam地圖構(gòu)建技術(shù),navigation導航技術(shù),語音合成與識別技術(shù)等內(nèi)容引入教學中。真正地將理論學習與實際應(yīng)用相結(jié)合。
本書力求深入淺出,并將系統(tǒng)性、實用性和前沿性結(jié)合起來,既可作為高等院校機器人工程、智能科學與技術(shù)、智能控制技術(shù)、計算機、自動化、電子信息與機械電子
本書以實戰(zhàn)為重心,講解ROS基礎(chǔ)、機器語音、SLAM和導航等方面ROS應(yīng)用的實現(xiàn)原理和方法,并配有大量ROS圖表、代碼等,幫助讀者在實現(xiàn)ROS基礎(chǔ)功能的同時深入理解基于ROS的機器人應(yīng)用和開發(fā),從而將書中的內(nèi)容用于實踐。
本書力求遵循由淺入深,由易到難、由簡到繁、循序漸進的教學規(guī)律,較為系統(tǒng)地介紹了智能機器人的原理及其應(yīng)用技術(shù),第1章~第4章講解了ROS機器人操作系統(tǒng)的基礎(chǔ)知識,通過對ROS的歷史、工程架構(gòu)、通信架構(gòu)、launch文件等內(nèi)容和相關(guān)實例的介紹,幫助讀者為第5章~第9章的應(yīng)用技術(shù)學習奠定堅實的基礎(chǔ)。第5章~第9章將最新開源的、通用的機器人軟件ROS開發(fā)平臺與智能機器人的人體跟蹤技術(shù)、Slam地圖構(gòu)建技術(shù)、Navigation導航技術(shù)、語音合成與識別技術(shù)等引入實踐教學中,真正做到了理實一體化教學。
智能機器人是一個新興的研究領(lǐng)域,隨著科技的不斷發(fā)展,該領(lǐng)域?qū)霈F(xiàn)更多創(chuàng)新性的理論、方法和技術(shù)。本書以職業(yè)崗位核心能力培養(yǎng)為目標,精選教學內(nèi)容,力求內(nèi)容新穎、敘述簡練、應(yīng)用靈活、學用結(jié)合,本書的發(fā)行可以一定程度上緩解國內(nèi)ROS服務(wù)類機器人教材匱乏等問題。本書重點介紹了ROS機器人操作系統(tǒng)的基本原理和相關(guān)專業(yè)基礎(chǔ)知識,希望為讀者提供一個面向智能機器人領(lǐng)域的技術(shù)參考,可作為高等職業(yè)院校機器人工程、智能科學與技術(shù)、智能控制技術(shù)、計算機、自動化、電子信息與機械電子工程等專業(yè)學生的教材或參考書,也可作為本、專科生機器人創(chuàng)新實踐活動及相關(guān)學科競賽的培訓教材或供有關(guān)工程技術(shù)人員參考。
本書是筆者所在的教學科研團隊在智能機器人控制領(lǐng)域歷年教學與科研實踐工作的基礎(chǔ)上,結(jié)合國內(nèi)外相關(guān)文獻的一個總結(jié)。主要編寫人員有:許曉艷、張智軍、陳銳。同時,課題組李福運、楊大春、林雪梅等在材料收集、學術(shù)討論、圖表繪制和代碼編寫上完成了大量工作。
本書編寫工作得到了廣東松山職業(yè)技術(shù)學院電氣工程學院田亞娟院長、胡貴平書記以及自動化教研室同事的鼎力支持和無私幫助。同時,本書在編寫過程中得到了深圳市元創(chuàng)興科技有限公司的大力支持和幫助。
本書的出版得到了2020年度廣東省教育廳重點領(lǐng)域項目“基于ROS的智能餐廳服務(wù)機器人的研發(fā)與應(yīng)用”(項目編號:2020ZDZX3110)、2021年度廣東省教育廳重點領(lǐng)域項目“智能居家養(yǎng)老看護機器人的研發(fā)與應(yīng)用”(項目編號:2021ZDZX1145)等課題的資助。北京航空航天大學出版社為本書的順利出版做了大量細致的審校工作,作者對此表示衷心的感謝。
受限于筆者之能力,本書的錯誤和不妥之處,懇請讀者批評指正,使之完善提高。
第1章 初識ROS
1.1 什么是ROS?
1.2 ROS特點
1.3 ROS歷史
1.4 本章習題
第2章 ROS基礎(chǔ)
2.1 ROS總體架構(gòu)
2.1.1 文件系統(tǒng)級
2.1.2 計算圖級
2.1.3 社區(qū)級
2.2 ROS基本命令
2.2.1 ROS文件系統(tǒng)命令
2.2.2 ROS核心命令
2.3 ROS基本工具
2.3.1 Gazebo仿真環(huán)境
2.3.2 Rviz三維可視化平臺
2.3.3 rosbag數(shù)據(jù)記錄與回放
2.3.4 QT工具箱
2.3.5 TF坐標變換
2.4 第一個ROS例程
2.4.1 turtlesim功能包
2.4.2 控制烏龜運動
2.5 創(chuàng)建工作空間及功能包
2.5.1 什么是工作空間
2.5.2 創(chuàng)建工作空間
2.5.3 創(chuàng)建功能包
2.6 本章習題
第3章 ROS通信架構(gòu)
3.1 話題通信
3.1.1 topic簡介
3.1.2 工作原理
3.1.3 操作命令
3.1.4 應(yīng)用實例
3.2 Message
3.2.1 簡介
3.2.2 結(jié)構(gòu)與類型
3.2.3 操作命令
3.2.4 常見Message
3.2.5 創(chuàng)建消息
3.3 服務(wù)通信
3. 3.1 service簡介
3.3.2 工作原理
3.3.3 topic與service的對比
3.3.4 操作命令
3.3.5 創(chuàng)建服務(wù)1
3.3.6 應(yīng)用實例
3.4 Parameter server
3.5 Action
3.5.1 簡介
3.5.2 通信原理
3.5.3 Action規(guī)范
3.5.4 Action規(guī)范文件格式
3.6 本章習題
第4章 ROS之Launch文件
4.1 簡介
4.2 寫法與格式
4.3 示例
4.4 launch應(yīng)用
4.5 本章小結(jié)
第5章 機器人動起來
5.1 手柄信息采集
5.1.1 實驗原理
5.1.2 實驗步驟
5.2 機器人動起來
5.2.1 實驗原理
……
第6章 機器人常用仿真工具
第7章 機器人人體跟蹤
第8章 機器人SLAM地圖構(gòu)建和自主導航
第9章 機器人語音功能
參考文獻