注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)工業(yè)技術(shù)自動(dòng)化技術(shù)、計(jì)算技術(shù)ROS機(jī)器人程序設(shè)計(jì)(原書(shū)第2版)

ROS機(jī)器人程序設(shè)計(jì)(原書(shū)第2版)

ROS機(jī)器人程序設(shè)計(jì)(原書(shū)第2版)

定 價(jià):¥69.00

作 者: [西班牙] 恩里克·費(fèi)爾南德斯 等 著;劉錦濤 譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 機(jī)器人設(shè)計(jì)與制作系列
標(biāo) 簽: 工業(yè)技術(shù) 自動(dòng)化技術(shù)

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111551058 出版時(shí)間: 2016-10-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 296 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  無(wú)論是業(yè)余愛(ài)好者還是專(zhuān)業(yè)的機(jī)器人開(kāi)發(fā)人員,在開(kāi)始進(jìn)行機(jī)器人系統(tǒng)及程序設(shè)計(jì)時(shí),首先要面對(duì)的問(wèn)題都是基本的如何驅(qū)動(dòng)機(jī)器人的輪子的設(shè)計(jì)。ROS通過(guò)軟件代碼復(fù)用集成了眾多已經(jīng)開(kāi)發(fā)完成的功能組件。本書(shū)專(zhuān)門(mén)幫助讀者從對(duì)ROS一無(wú)所知到能夠通過(guò)ROS系統(tǒng)完成小型機(jī)器人系統(tǒng)的開(kāi)發(fā)和編程工作。本書(shū)提供了各種實(shí)際的示例代碼供讀者學(xué)習(xí)和理解ROS的軟件框架。你可以在仿真環(huán)境中自行構(gòu)建機(jī)器人相應(yīng)的功能程序。本書(shū)第2版在第1版的基礎(chǔ)上增加了與ROSHydro一起工作,如何創(chuàng)建、可視化和處理不同傳感器的點(diǎn)云信息,如何控制和利用多關(guān)節(jié)機(jī)械臂,并提供簡(jiǎn)單易懂的實(shí)用教程編寫(xiě)自己的機(jī)器人。

作者簡(jiǎn)介

  About the Authors作者簡(jiǎn)介Enrique Fernández在拉斯帕爾馬斯大學(xué)獲得計(jì)算機(jī)工程博士學(xué)位,目前是Clearpath Robotics公司高級(jí)機(jī)器人工程師。2009年他完成了關(guān)于SLAM的碩士學(xué)位論文。2013年他的博士論文解決了自主水下滑翔器(AUG)的路徑規(guī)劃問(wèn)題。那段時(shí)間,他還研究了計(jì)算機(jī)視覺(jué)、人工智能以及其他機(jī)器人學(xué)課題,例如赫羅納大學(xué)的CIRS/ViCOROB研究實(shí)驗(yàn)室AUV的慣性導(dǎo)航系統(tǒng)和視覺(jué)SLAM。他在2012年參加了歐洲學(xué)生自主水下航行器設(shè)計(jì)挑戰(zhàn)賽(Student Autonomous Underwater Challenge-Europe,SAUC-E)并獲獎(jiǎng),在2013年作為合作者參與了SAUC-E?!~@得博士學(xué)位后,Enrique作為高級(jí)機(jī)器人工程師在2013年6月加入PAL Robotics公司的自主導(dǎo)航部門(mén)。在那里,他開(kāi)發(fā)了用于REEM、REEM-C和移動(dòng)機(jī)器人以及相關(guān)項(xiàng)目的軟件,如使用ROS框架的Stockbot。他的研究方向包括運(yùn)動(dòng)規(guī)劃(路徑規(guī)劃和移動(dòng)機(jī)器人控制)、機(jī)器人定位和SLAM。在2015年,他作為高級(jí)自主系統(tǒng)開(kāi)發(fā)人員加盟Clearpath Robotics公司的自主系統(tǒng)部門(mén)從事SLAM相關(guān)工作。 在學(xué)術(shù)方面,Enrique發(fā)表了多篇會(huì)議論文,其中兩篇于2011年發(fā)表在《International Conference of Robotics and Automation》(ICRA)上。他是Packt Publishing出版的第1版《ROS機(jī)器人程序設(shè)計(jì)》和其他一些書(shū)部分章節(jié)的作者。他的碩士學(xué)位論文是關(guān)于室內(nèi)機(jī)器人的FastSLAM算法,此機(jī)器人裝備了SICK激光掃描儀以及Pioneer差動(dòng)平臺(tái)的輪式里程計(jì)。他的博士學(xué)位論文是關(guān)于AUG的路徑規(guī)劃算法和工具。他還擁有電子和嵌入式系統(tǒng)(如PC104和Arduino)的開(kāi)發(fā)經(jīng)驗(yàn)。他的研究背景包括SLAM、計(jì)算機(jī)視覺(jué)、路徑規(guī)劃、優(yōu)化、機(jī)器人學(xué)和人工智能。 我要感謝這本書(shū)的合著者,感謝他們?yōu)橥瓿蛇@本書(shū)所付出的努力以及提供了無(wú)數(shù)示例的代碼。我還要感謝博士論文期間大學(xué)智能系統(tǒng)和計(jì)算工程研究所(University Institute of Intelligent Systems and Computational Engineering,SIANI)和水下機(jī)器人研究中心(Center of Underwater Robotics Research,CIRS/ViCOROB)的研究小組成員。我也要感謝在PAL機(jī)器人公司的同事,在那里我學(xué)到很多關(guān)于ROS、機(jī)器人運(yùn)動(dòng)以及仿人雙足機(jī)器人的知識(shí),不僅有軟件,還有電子和硬件設(shè)計(jì)。后,我要感謝我的家人和朋友的幫助與支持?!uis Sánchez Crespo在拉斯帕爾馬斯大學(xué)獲得了電子與電信工程的雙碩士學(xué)位。他曾在技術(shù)開(kāi)發(fā)和創(chuàng)新研究所(IDETIC)、加那利群島海洋平臺(tái)(PLOCAN)和應(yīng)用微電子研究所(IUMA)與不同的研究小組合作,進(jìn)行超分辨率算法成像研究?!∷膶?zhuān)業(yè)興趣包括應(yīng)用于機(jī)器人系統(tǒng)的計(jì)算機(jī)視覺(jué)、信號(hào)處理和電子設(shè)計(jì)。因此,他加入了AVORA團(tuán)隊(duì),這批年輕的工程師和學(xué)生從零開(kāi)始從事自主水下航行器(AUV)的開(kāi)發(fā)工作。在這個(gè)項(xiàng)目中,Luis開(kāi)始開(kāi)發(fā)聲學(xué)和計(jì)算機(jī)視覺(jué)系統(tǒng),用于提取不同傳感器的信息,例如水聽(tīng)器、聲吶和攝像頭?!∫劳泻Q蠹夹g(shù)的強(qiáng)大背景,Luis與人合作創(chuàng)辦了一家新的初創(chuàng)公司Subsea Mechatronics,致力于為水下環(huán)境開(kāi)發(fā)遙控操作和自主航行器?!∠旅媸呛Q蠹夹g(shù)工程師和企業(yè)家(LPA Fabrika:Gran Canaria Maker Space的聯(lián)合創(chuàng)始人和制造商)Dario Sosa Cabrera對(duì)Luis的評(píng)價(jià): “他很熱情,是一個(gè)多學(xué)科的工程師。他對(duì)工作負(fù)責(zé)。他可以自我管理,并承擔(dān)一個(gè)團(tuán)隊(duì)領(lǐng)導(dǎo)者的責(zé)任,如在SAUC-E競(jìng)賽中領(lǐng)導(dǎo)了AVORA團(tuán)隊(duì)。他在電子和電信領(lǐng)域的背景讓其具備從信號(hào)處理和軟件到電子設(shè)計(jì)和制造的廣泛專(zhuān)業(yè)知識(shí)?!薄uis作為技術(shù)審校者參與了Packt Publishing出版的第1版《ROS機(jī)器人程序設(shè)計(jì)》的相關(guān)工作。 首先,我要感謝Aaron、Anil以及Enrique邀請(qǐng)我參與編寫(xiě)這本書(shū)。和他們一起工作非??鞓?lè)。同時(shí),我也要感謝水下機(jī)電團(tuán)隊(duì)關(guān)于重型水下機(jī)器人的豐富經(jīng)驗(yàn),這些年我們一起成長(zhǎng)。我必須提到LPA Fabrika:Gran Canaria Maker Space,他們備課和講授教育機(jī)器人及技術(shù)項(xiàng)目極富熱情,與他們共享工作環(huán)境也非常令人激動(dòng)?!『?,我要感謝我的家人和女朋友對(duì)我參與的每個(gè)項(xiàng)目的大力支持和鼓勵(lì)?!nil Mahtani是一名從事水下機(jī)器人工作5年的計(jì)算機(jī)科學(xué)家。他在該領(lǐng)域工作是在完成碩士論文期間為低成本ROV開(kāi)發(fā)軟件架構(gòu)。在此期間,他也成為AVORA的團(tuán)隊(duì)領(lǐng)導(dǎo)者和主要開(kāi)發(fā)人員,這個(gè)團(tuán)隊(duì)的高校學(xué)生設(shè)計(jì)和開(kāi)發(fā)了一個(gè)自主水下航行器并參加了2012年的SAUC-E。同年,他完成了論文并獲得了拉斯帕爾馬斯大學(xué)的計(jì)算機(jī)科學(xué)碩士學(xué)位。此后不久,他成為SeeByte公司的軟件工程師,這家公司是水下系統(tǒng)智能軟件解決方案的全球領(lǐng)導(dǎo)者。 在SeeByte公司工作期間,Anil參與了軍方、石油和天然氣公司的一些半自主和自主水下系統(tǒng)的核心開(kāi)發(fā)。在這些項(xiàng)目中,他積極參與自主系統(tǒng)開(kāi)發(fā)、分布式軟件體系結(jié)構(gòu)設(shè)計(jì)和底層軟件開(kāi)發(fā),同時(shí)也為前視聲吶圖像提供計(jì)算機(jī)視覺(jué)解決方案。他還獲得了項(xiàng)目經(jīng)理職位,管理一個(gè)開(kāi)發(fā)和維護(hù)內(nèi)核C++庫(kù)的工程師團(tuán)隊(duì)?!∷膶?zhuān)業(yè)興趣主要包括軟件工程、算法、分布式系統(tǒng)、網(wǎng)絡(luò)和操作系統(tǒng)。Anil在機(jī)器人方向主要負(fù)責(zé)提供高效和健壯的軟件解決方案,不僅解決當(dāng)前存在的問(wèn)題,還預(yù)見(jiàn)未來(lái)的問(wèn)題或可能的改進(jìn)。鑒于他的經(jīng)驗(yàn),他在計(jì)算機(jī)視覺(jué)、機(jī)器學(xué)習(xí)和控制問(wèn)題上也有獨(dú)特的見(jiàn)解。Anil對(duì)DIY和電子學(xué)有興趣,并且開(kāi)發(fā)了一些Arduino庫(kù)回饋社區(qū)?!∈紫龋乙兄x我的家人和朋友的支持,他們總是在我需要的時(shí)候幫助我。我也要感謝我的同事和朋友David Rubio Vidal、Emilio Miguelá?ez Martín和John Brydon給我大的支持,他們以專(zhuān)業(yè)的方式教我很多知識(shí)。我還要感謝我在SeeByte和AVORA團(tuán)隊(duì)的同事,這些年從他們那里學(xué)習(xí)并經(jīng)歷很多。后,我要特別感謝Jorge Cabrera Gámez,他的指導(dǎo)和建議成就了我自己從未想象到的職業(yè)生涯?!aron Martinez是數(shù)字化制造領(lǐng)域的電腦工程師、企業(yè)家和專(zhuān)家。他于2010年在拉斯帕爾馬斯大學(xué)的Instituto Universitario de Cienciasy Tecnologias Ciberneticas(IUCTC)完成碩士論文。他在遠(yuǎn)程監(jiān)控領(lǐng)域使用沉浸式設(shè)備和機(jī)器人平臺(tái)準(zhǔn)備碩士論文。得到學(xué)位后,他參加了在奧地利林茨開(kāi)普勒大學(xué)研究所的機(jī)器人學(xué)實(shí)習(xí)計(jì)劃。在實(shí)習(xí)期間,他作為團(tuán)隊(duì)的一員使用ROS和導(dǎo)航包集進(jìn)行移動(dòng)平臺(tái)開(kāi)發(fā)。之后,他參與了有關(guān)機(jī)器人的項(xiàng)目,其中一個(gè)是拉斯帕爾馬斯大學(xué)的AVORA項(xiàng)目。在這個(gè)項(xiàng)目中,他參與自主水下航行器制作,并參與意大利的SAUC-E。2012年,他負(fù)責(zé)維護(hù)這個(gè)項(xiàng)目;2013年,他幫助從ROS向機(jī)器人平臺(tái)移植導(dǎo)航包集和其他算法?!〗珹aron與人共同創(chuàng)立了一家名為SubSeaMechatronics SL的公司。這家公司從事與水下機(jī)器人和遙控系統(tǒng)相關(guān)的項(xiàng)目,還設(shè)計(jì)和制造水下傳感器。公司的主要目標(biāo)是開(kāi)發(fā)用于研發(fā)原型和重型機(jī)械手的定制解決方案?!aron有許多領(lǐng)域的經(jīng)驗(yàn),比如編程、機(jī)器人、機(jī)電一體化、數(shù)字化制造以及Arduino、BeagleBone、服務(wù)器和激光雷達(dá)等設(shè)備。如今,他在SubSeaMechatronics SL公司從事水下和空中環(huán)境的機(jī)器人平臺(tái)設(shè)計(jì)。 我要感謝我的女朋友,她在我寫(xiě)這本書(shū)時(shí)給我支持以及給我繼續(xù)成長(zhǎng)的動(dòng)力。我還要感謝Donato Monopoli(加那利群島技術(shù)研究所(ITC)生物醫(yī)學(xué)工程部門(mén)的主管),以及ITC所有的工作人員,感謝他們使我懂得數(shù)字制造、機(jī)械以及組織工程,我在此度過(guò)了生命中美好的時(shí)光?!「兄x我大學(xué)的同事,特別是Alexis Quesada,他給了我在準(zhǔn)備碩士論文時(shí)創(chuàng)建我第壹個(gè)機(jī)器人的機(jī)會(huì)。和他們一起工作,使我學(xué)習(xí)到很多關(guān)于機(jī)器人的知識(shí)?!∽詈?,我要感謝家人和朋友的幫助與支持。

圖書(shū)目錄

推薦序一
推薦序二
譯者序
前言
作者簡(jiǎn)介
審校者簡(jiǎn)介
第1章 ROS Hydro系統(tǒng)入門(mén) 1
1.1 PC安裝教程 3
1.2 使用軟件庫(kù)安裝ROS Hydro 3
1.2.1配置Ubuntu軟件庫(kù) 4
1.2.2添加軟件庫(kù)到sources.list文件中 4
1.2.3設(shè)置密鑰 5
1.2.4安裝ROS 5
1.2.5初始化rosdep 6
1.2.6配置環(huán)境 6
1.2.7安裝rosinstall 7
1.3 如何安裝VirtualBox和Ubuntu 8
1.3.1下載VirtualBox 8
1.3.2創(chuàng)建虛擬機(jī) 8
1.4在BeagleBone Black上安裝ROS Hydro 11
1.4.1準(zhǔn)備工作 12
1.4.2配置主機(jī)和source.list文件 13
1.4.3設(shè)置密鑰 14
1.4.4安裝ROS功能包 14
1.4.5初始化rosdep 15
1.4.6在BeagleBone Black中配置環(huán)境 15
1.4.7在BeagleBone Black中安裝rosinstall 15
1.5 本章小結(jié) 15
第2章 ROS系統(tǒng)架構(gòu)及概念 16
2.1 理解ROS文件系統(tǒng)級(jí) 16
2.1.1工作空間 17
2.1.2功能包 18
2.1.3綜合功能包 19
2.1.4消息 20
2.1.5服務(wù) 21
2.2 理解ROS計(jì)算圖級(jí) 22
2.2.1節(jié)點(diǎn)與nodelet 23
2.2.2主題 24
2.2.3服務(wù) 25
2.2.4消息 26
2.2.5消息記錄包 26
2.2.6節(jié)點(diǎn)管理器 26
2.2.7參數(shù)服務(wù)器 27
2.3 理解ROS開(kāi)源社區(qū)級(jí) 27
2.4 ROS系統(tǒng)試用練習(xí) 28
2.4.1ROS文件系統(tǒng)導(dǎo)覽 28
2.4.2創(chuàng)建工作空間 29
2.4.3創(chuàng)建ROS功能包和綜合功能包 30
2.4.4編譯ROS功能包 30
2.4.5使用ROS節(jié)點(diǎn) 31
2.4.6如何使用主題與節(jié)點(diǎn)交互 33
2.4.7如何使用服務(wù) 36
2.4.8使用參數(shù)服務(wù)器 38
2.4.9創(chuàng)建節(jié)點(diǎn) 38
2.4.10 編譯節(jié)點(diǎn) 41
2.4.11創(chuàng)建msg和srv文件 42
2.4.12使用新建的srv和msg文件 44
2.4.13啟動(dòng)文件 48
2.4.14動(dòng)態(tài)參數(shù) 50
2.5 本章小結(jié) 54
第3章 可視化和調(diào)試工具 55
3.1 調(diào)試ROS節(jié)點(diǎn) 57
3.1.1使用gdb調(diào)試器調(diào)試ROS節(jié)點(diǎn) 57
3.1.2ROS節(jié)點(diǎn)啟動(dòng)時(shí)調(diào)用gdb調(diào)試器 58
3.1.3ROS節(jié)點(diǎn)啟動(dòng)時(shí)調(diào)用valgrind分析節(jié)點(diǎn) 59
3.1.4設(shè)置ROS節(jié)點(diǎn)core文件轉(zhuǎn)儲(chǔ) 59
3.2 日志信息 59
3.2.1輸出日志信息 59
3.2.2設(shè)置調(diào)試信息級(jí)別 60
3.2.3為特定節(jié)點(diǎn)配置調(diào)試信息級(jí)別 61
3.2.4信息命名 62
3.2.5按條件顯示信息與過(guò)濾信息 62
3.2.6顯示信息的方式——單次、可調(diào)、組合 63
3.2.7使用rqt_console和rqt_logger_level在運(yùn)行時(shí)修改調(diào)試級(jí)別 63
3.3 檢測(cè)系統(tǒng)狀態(tài) 66
3.3.1檢測(cè)節(jié)點(diǎn)、主題、服務(wù)和參數(shù) 67
3.3.2使用rqt_graph在線檢測(cè)節(jié)點(diǎn)狀態(tài)圖 70
3.4 設(shè)置動(dòng)態(tài)參數(shù) 71
3.5 當(dāng)出現(xiàn)異常狀況時(shí)使用   roswtf 72
3.6 可視化節(jié)點(diǎn)診斷 74
3.7 繪制標(biāo)量數(shù)據(jù)圖 75
3.8 圖像可視化 77
3.9 3D可視化 79
3.9.1使用rqt_rviz在3D世界中實(shí)現(xiàn)數(shù)據(jù)可視化 79
3.9.2主題與坐標(biāo)系的關(guān)系 82
3.9.3可視化坐標(biāo)變換 82
3.10 保存與回放數(shù)據(jù) 83
3.10.1什么是消息記錄包文件 84
3.10.2使用rosbag在消息記錄包中記錄數(shù)據(jù) 84
3.10.3回放消息記錄包文件 85
3.10.4檢查消息記錄包文件的主題和消息 86
3.11 應(yīng)用rqt與rqt_gui插件 88
3.12 本章小結(jié) 88
第4章 在ROS下使用傳感器和執(zhí)行器 90
4.1 使用游戲桿或游戲手柄 90
4.1.1joy_node如何發(fā)送游戲桿動(dòng)作消息 91
4.1.2使用游戲桿數(shù)據(jù)在turtlesim中移動(dòng)海龜 92
4.2 使用激光雷達(dá)——Hokuyo URG-04lx 95
4.2.1了解激光雷達(dá)如何在ROS中發(fā)送數(shù)據(jù) 96
4.2.2訪問(wèn)和修改激光雷達(dá)數(shù)據(jù) 98
4.3 使用Kinect傳感器查看3D環(huán)境中的對(duì)象 100
4.3.1如何發(fā)送和查看Kinect數(shù)據(jù) 101
4.3.2創(chuàng)建使用Kinect的示例 102
4.4 使用伺服電動(dòng)機(jī)——Dynamixel 104
4.5 使用Arduino添加更多的傳感器和
 執(zhí)行器 107
4.6 在Arduino上使用超聲波傳感器 111
4.7 距離傳感器如何發(fā)送消息 113
4.7.1創(chuàng)建使用超聲波的示例 113
4.7.2Xsens如何在ROS中發(fā)送數(shù)據(jù) 116
4.7.3創(chuàng)建使用Xsens的示例 116
4.8 使用10自由度低成本慣性測(cè)量模組IMU 118
4.8.1下載加速度傳感器庫(kù) 119
4.8.2Arduino Nano和10自由度傳感器編程 120
4.8.3創(chuàng)建ROS節(jié)點(diǎn)以使用10自由度傳感器數(shù)據(jù) 121
4.9 GPS的使用 123
4.9.1GPS如何發(fā)送信息 125
4.9.2創(chuàng)建一個(gè)使用GPS的工程實(shí)例 126
4.10 本章小結(jié) 127
第5章 計(jì)算機(jī)視覺(jué) 128
5.1 連接和運(yùn)行攝像頭 129
5.1.1FireWire IEEE1394攝像頭 129
5.1.2USB攝像頭 133
5.2 使用OpenCV制作USB攝像頭 驅(qū)動(dòng)程序 134
5.2.1通過(guò)cv_bridge使用OpenCV處理ROS圖像 139
5.2.2使用image transport發(fā)布圖像 139
5.2.3在ROS中使用OpenCV 140
5.2.4顯示攝像頭輸入的圖像 140
5.3 標(biāo)定攝像頭 141
5.4 ROS圖像管道 148
5.5 計(jì)算機(jī)視覺(jué)任務(wù)中有用的ROS功能包 152
5.6 使用viso2實(shí)現(xiàn)視覺(jué)里程計(jì) 153
5.6.1攝像頭位姿標(biāo)定 154
5.6.2運(yùn)行viso2在線演示 157
5.6.3使用低成本雙目攝像頭運(yùn)行viso2 159
5.7 使用RGBD深度攝像頭實(shí)現(xiàn)視覺(jué)里程計(jì) 160
5.7.1安裝fovis 160
5.7.2用Kinect RGBD深度攝像頭運(yùn)行fovis 160
5.8 計(jì)算兩幅圖像的單應(yīng)性 161
5.9 本章小結(jié) 162
第6章 點(diǎn)云 163
6.1 理解點(diǎn)云庫(kù) 163

本目錄推薦

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