天天看點

ROS機器人程式設計(原書第2版)第1章 ROS Hydro系統入門

<b>第1章</b>

<b>ros hydro系統入門</b>

歡迎開始閱讀本書第1章。本章将介紹如何安裝ros系統,它是一種新的标準化機器人系統軟體架構。本書是基于ros fuerte的《ros機器人程式設計》一書的更新版。通過ros,你可以使用大量的示例代碼和開源程式輕松地完成機器人程式設計和控制。同時,你還能夠了解如何使用各種傳感器與執行器,并為你的機器人增加新的功能,如自動導航和視覺感覺等。得益于開源理念,以及持續開發最先進算法并不斷提供新功能的開源社群,ros不斷進步完善。

通過本書,你将學習到如下内容:

在特定版本的ubuntu系統下安裝ros hydro架構

ros的基本操作

調試以及資料可視化

在ros架構下進行機器人程式設計

連接配接傳感器、執行器和硬體裝置以建立機器人

創造三維(3d)模型并進行仿真

使用導航功能包集使機器人實作自主行駛

本章主要介紹怎樣在ubuntu系統中安裝完整版本的ros hydro。ubuntu不但能夠全面支援ros,而且是ros官方推薦的作業系統。當然,你也可以在其他的作業系統中安裝ros。這本書使用的ubuntu版本是12.04(precise pangolin),你可以在http://releases.ubuntu.com/12.04/免費下載下傳安裝。

在開始安裝之前,我們首先了解一下ros的曆史。

robot operating

system(ros)是一個得到廣泛使用的機器人系統的軟體架構。ros的基本原理是無需改動就能夠在不同的機器人上複用代碼。基于這些,我們就可以在不同的機器人上分享和複用已經實作的功能,而不需要做太多的工作,避免了重複勞動。

2007年,斯坦福大學人工智能實驗室(stanford artificial intelligence

laboratory,sail)在斯坦福ai機器人項目(stanford ai robot project)的支援下開發了ros。2008年之後,其主要在willow garage公司支援下與超過20多家研究機構聯合研發ros。

現在已經有很多家研究機構通過增加ros支援的硬體或開放軟體源代碼的方式加入ros系統的開發中。同樣,也有很多家公司将其産品逐漸進行軟體遷移并在ros系統中應用。一些完全支援ros系統的平台如下圖所示。這些平台往往會開放大量的代碼、示例和仿真環境,以便開發人員輕松地開展工作。前三個釋出代碼的機器人例子是人形機器人。最後一個是由拉斯帕爾馬斯大學開發的水下機器人,代碼尚未公布。你可以在http://wiki.ros.org/robots找到很多這樣的例子。

ros系統已經支援這些機器人中的傳感器和執行器,同時每天ros軟體架構支援的裝置也在增加。此外,得益于ros和開放硬體,大量公司正在建立更便宜和更強大的傳感器。arduino開發闆是一個很好的例子,使用廉價的電路闆可以添加很多類型的傳感器如編碼器、光和溫度傳感器等。

ros提供了一個标準的作業系統環境,包括硬體抽象、底層裝置控制、通用功能的實作、程序間消息轉發和功能包管理等。

它基于一個集中式拓撲的圖結構,在節點中接收許多傳感器、控制、狀态、規劃、執行器資料進行計算處理,并發送。它的各種庫與功能包都是面向類unix系統的。

*-ros-pkg作為一種社群化的軟體庫使開發進階庫更為容易。其中,很多功能是和ros系統綁定的,如導航庫和rviz可視化界面都基于這個庫。其中的一些庫包含很多強大的工具,可以幫助我們友善使用ros并了解機器人目前的實時狀态。其中,可視化工具、仿真環境和調試工具是最重要的幾個。在下圖中你可以看到兩個工具,rviz和rqt_plot。中間是rqt_plot的截圖,你可以看到由傳感器資料繪制的曲線。另外兩個截圖是rviz;截圖中可以看到真實機器人的三維顯示。

ros是一個使用bsd(berkeley software distribution)開源協定的開源軟體。無論是商業應用還是科學研究它都是免費的。*-ros-pkg包受到了多個開源協定的限制。

用ros你可以做更多工作。你可以使用庫中的代碼,改進後再次共享。這種觀念就是開源軟體的本質。

ros已經釋出了多個版本,最新的版本是indigo。在本書中,我們使用的版本是hydro,因為這個版本更加穩定,而indigo是實驗版本,可能存在錯誤。

下面會介紹如何安裝hydro版本的ros。即使在本書中我們使用hydro,但是在實際工作中,你仍然可能需要安裝老版本以便運作一些代碼。

如前所述,本書中所使用的作業系統是ubuntu,全書的内容及教程将以該系統為基礎。如果你習慣使用其他作業系統又想完成本書的學習,最好的選擇就是安裝一個帶有ubuntu的虛拟機。是以,本章末尾會介紹虛拟機的安裝方法。

當然,如果你想在其他系統中安裝ros,你可以根據連結http://wiki.ros.org/hydro/installation中的指導來完成。

繼續閱讀