官术网_书友最值得收藏!

前言

機器人操作系統(Robot Operating System,ROS),是目前最流行的機器人學中間件,在全世界諸多大學和與機器人相關的行業中得到了廣泛應用。自從ROS推出以來,許許多多搭載了ROS的機器人進入市場,用戶能夠通過其應用程序輕松使用這些機器人。ROS的一個主要特點是它的開源特性。ROS不需要用戶重新發明“輪子”;相反,ROS中標準化的機器人操作和應用程序開發十分簡單。

本書全面更新和修訂了第1版,將介紹更新的ROS功能包、更引人入勝的項目案例以及一些新增特性。本書中的項目案例均基于ROS Melodic Morenia,對應的Ubuntu版本為Ubuntu Bionic 18.04。

通過本書,讀者將理解機器人是怎樣應用于各行各業的,并將一步步地了解構建異構機器人解決方案的流程與步驟。除了介紹ROS中的服務調用和動作特性之外,本書還將介紹一些更酷的技術,讓機器人以智能的方式處理復雜的任務。這些知識將為讀者構建更智能、更具自主化能力的機器人鋪平道路。此外,我們還將介紹ROS-2,以便讀者能夠了解此版本與以前的ROS版本之間的差異,并在為應用程序選擇特定中間件方面提供幫助。

企業和研究機構主要關注計算機視覺和自然語言處理領域。雖然本書的第1版介紹了一些簡單的視覺應用程序,如物體檢測和人臉跟蹤,但本版還將介紹行業中使用最廣泛的智能揚聲器平臺之一——亞馬遜的Alexa,以及如何使用它控制機器人。同時,我們將引入新的硬件,如NVIDIA Jetson Nano、華碩Tinkerboard和BeagleBone Black,并探索它們與ROS融合應用的能力。

雖然人們可能知道如何控制單臺機器人,但ROS社區用戶面臨的最常見問題之一是使用多個機器人協同工作,無論它們是否屬于同一類型。在這種情況下,控制問題將變得十分復雜,因為機器人可能遵循相似的話題名稱,并可能導致操作序列的混亂。本書將重點針對可能的沖突提出相應的解決方案。

本書還涉及強化學習,包括如何將強化學習應用于機器人學和ROS之中。此外,讀者還將發現其他更有趣的項目,如構建自動駕駛汽車、使用ROS進行深度學習,以及使用虛擬現實頭盔(VR頭盔)和Leap Motion(一種體感控制器)構建遙操作解決方案。目前這些領域的技術還處于發展之中,相應的研究人員正在不斷地進行研究。

讀者對象

本書主要面向學生、機器人技術愛好者、相關領域的專業人員。此外,本書還適用于那些對從頭開始學習和編寫運動控制與傳感器感知程序、算法感興趣的人。本書甚至可能有助于初創企業開發新產品,或幫助研究人員利用現有資源創造新的創新成果。本書也適用于那些想在軟件領域工作或成為機器人軟件工程師的人。

本書主要內容

第1章主要向初學者概述ROS的基礎知識。本章將幫助讀者理解ROS軟件框架的基本思想和概念。

第2章介紹ROS的最新框架——ROS-2。基于該框架,讀者將能夠使用ROS進行實時應用程序的開發。本章的結構與第1章類似,主要是幫助讀者厘清ROS-1與ROS-2之間的區別,同時理解兩個版本的能力與局限。

第3章介紹怎樣在模擬環境下構建移動機器人以及機械臂,并將兩者結合起來,通過ROS對其進行控制。

第4章介紹基于狀態機進行復雜機器人任務處理的技術,這些技術使得讀者可以在使用機器人執行連續和復雜的任務管理時進行策略調整。

第5章是第3章、第4章內容的綜合應用,基于這兩章內容構建一個用戶應用程序。該應用程序的功能是控制移動機械臂運送物品。本章將詳細介紹上述應用程序的構建過程。

第6章介紹通過ROS在多個機器人間進行通信的方法,其中的機器人既可以是同類型的,也可以是不同類型的(即異構多機器人系統)。在此基礎上,還將介紹對一組多機器人進行單獨或同時控制的方法。

第7章介紹新型的嵌入式控制器及處理器板,例如基于STM32的控制器、Tinkerboard、Jetson Nano以及其他類似產品。本章還將介紹怎樣通過ROS控制這些板卡的GPIO(General-Purpose Input/Output,通用輸入/輸出接口),以及如何通過Alexa提供的語音交互功能進行語音控制。

第8章介紹機器人學領域最重要的學習技術之一——強化學習。本章將介紹強化學習的內涵,并通過實例介紹強化學習背后的數學知識。此外,還將通過一系列實例展示強化學習技術是如何在ROS中進行應用的。

第9章介紹深度學習在機器人領域的應用。本章將介紹如何使用深度學習實現圖像識別,還將介紹使用SVM(Support Vector Machine,支持向量機)的應用程序。

第10章是本書中最有趣的內容之一。本章將展示如何使用ROS和Gazebo構建一輛模擬的自動駕駛汽車。

第11章展示如何通過VR頭盔和體感控制器Leap Motion實現對機器人的遠程操控。本章將介紹VR頭盔的應用,這是當前最流行的技術之一。

第12章通過一個項目展示如何在ROS下使用OpenCV庫。在本項目中,將構建一個最基本的人臉跟蹤器,實現攝像頭對人臉的實時跟蹤。本章將使用諸如Dynamixel的智能伺服系統實現機器人的旋轉。

充分利用本書

·讀者需要一臺運行Linux系統(最佳版本為Ubuntu 18.04)的個人計算機。

·個人計算機配置需求為:具有顯卡,內存不小于4GB(8GB更佳)。這主要是為了更好地運行Gazebo,也是為了更好地進行點云和計算機視覺處理。

·讀者最好能夠擁有書中提到的傳感器、執行器以及I/O板,并且能夠將這些硬件連接到自己的計算機上,同時為了能夠復制相關代碼,讀者需要安裝Git。

·如果讀者使用Windows系統,則推薦下載VirtualBox,并在其中安裝和配置Ubuntu。不過,需要提醒的一點是,在虛擬機中運行ROS相關程序、連接某些硬件時可能存在某些問題。

下載示例代碼及彩色圖像

本書的示例代碼及所有截圖和樣圖,可以從http://www.packtpub.com通過個人賬號下載,也可以訪問華章圖書官網http://www.hzbook.com,通過注冊并登錄個人賬號下載。

下載完成后,讀者可以將代碼壓縮包解壓到本地(請確保已經安裝了解壓縮軟件),具體操作系統的相應解壓縮軟件如下:

·Windows下為WinRAR/7-Zip。

·Mac下為Zipeg/iZip/UnRarX。

·Linux下為7-Zip/PeaZip。

此外,讀者還可以通過GitHub下載本書代碼,網址為:

https://github.com/PacktPublishing/ROS-Robotics-Projects-SecondEdition

如果代碼有所更新,則上述網址相應的倉庫代碼也會進行更新。

本書約定

代碼段示例:

輸入或輸出命令行示例:

表示警告或重要的說明。

表示提示和技巧。

主站蜘蛛池模板: 遂川县| 巴青县| 北辰区| 普兰县| 襄垣县| 仙居县| 平邑县| 来凤县| 二连浩特市| 揭东县| 宜城市| 吉水县| 内丘县| 五寨县| 西藏| 彭水| 宁强县| 渝中区| 安陆市| 丰台区| 怀柔区| 电白县| 康平县| 蚌埠市| 达日县| 衡阳市| 石柱| 绥棱县| 北海市| 杂多县| 新巴尔虎左旗| 大方县| 泗洪县| 沭阳县| 甘南县| 屯昌县| 文昌市| 河池市| 天镇县| 乌审旗| 轮台县|