ROS探索總結(三)——ROS新手教程

來源:互聯網
上載者:User

        前面我們介紹了ROS的特點和結構,接下來就要開始準備動手感受一下ROS的強大了。ROS官網的wiki上針對新手的教程很詳細,最好把所有的新手教程都搞清楚,這是後面開發最基礎的東西。儘管如此,ROS對於新手來說還是很難上手,這裡,我就來總結一下我當時學習的曆程,也為其他新手作為一個參考。

一、ROS的安裝
        ROS的安裝當然是我們開始動手的第一步了,這裡我們使用的作業系統是ubuntu,因為ROS在ubuntu上的支援是最好的。        如果是新手,我建議使用”apt-get“的方法進行安裝,不走很簡單,按照wiki上說的,大概半個小時就可以安裝完畢完全版的ROS:(現在最新版的ROS是groovy,但是我還是習慣使用fuerte)        http://ros.org/wiki/fuerte/Installation/Ubuntu
        如果想挑戰源碼編譯,當然也沒有問題:       

http://ros.org/wiki/fuerte/Installation/Ubuntu/Source
        安裝完畢之後運行一下“roscore”,如果沒有問題,安裝就成功了!
註:groovy版本的安裝:       “apt-get”:http://www.ros.org/wiki/groovy/Installation/Ubuntu            源碼編譯:http://www.ros.org/wiki/groovy/Installation/Source二、ROS的新手教程
        wiki上的新手教程還是很詳細的,對代碼都有解釋,新手一定要把這些例子和代碼搞明白:        http://www.ros.org/wiki/ROS/Tutorials
        上面的教程都是英文的,如果感覺略有壓力(本人就是),可以參考下面這兩個部落格中的部分翻譯:              http://blog.sina.com.cn/s/articlelist_1712413141_0_1.html           不過往後面的學習都是英文的資料了,還是要努力適應看英文的文檔。        ROS使用的程式設計語言主要是C++和python,所以也有針對這兩種語言的功能包roscpp和rospy,這兩個包的教程與上面的教程基本相似,看完上面的教程也可以看看這兩個包的教程:       

http://www.ros.org/wiki/rospy_tutorials
       

http://www.ros.org/wiki/roscpp/Tutorials        努力學習完上面的這些教程,你至少應該明白ROS裡面的節點和訊息是幹什麼用的了吧,如果還沒理解,那就再多看幾遍吧!
三、ROS中的常用功能         ROS中提供了很多強大的功能,我們學習完上面的基本知識之後要繼續進行深入。         1、rviz                rviz是ROS中一款強大的3D視覺化檢視,這個玩意在後面可是要頻繁用到的,是必須要弄明白的,詳細的教程可以參考wiki:         http://www.ros.org/wiki/rviz            我們可以在裡面建立自己的機器人,並且讓機器人動起來。還可以建立地圖,顯示3D點雲等等,總之,想在ROS中顯示的東東都可以在這裡顯示出來。當然這些顯示都是通過訊息的訂閱來完成的,機器人通過ROS發布資料,rviz訂閱訊息接收資料,然後顯示,這些資料也是有一定的資料格式的,可以參考下面的連結:         http://www.ros.org/wiki/rviz/DisplayTypes
                            看到上面的機器人了吧,是不是很酷,在rviz中,這樣的機器人模型是通過urdf檔案描述的,具體urdf檔案怎麼寫,參考wiki:         http://www.ros.org/wiki/urdf
          2、tf          tf是ROS中的座標變換系統,在機器人的建模模擬中經常用到。
         ROS中主要有兩種座標系:        (1)固定座標系:用於表示世界的參考座標系;        (2)目標座標系:相對於攝像機視角的參考座標系。        教程見:http://www.ros.org/wiki/tf        3、gazebo        這個工具是ROS中的物理模擬環境,gazebo本身就是一款機器人的模擬軟體,基於ODE的物理引擎,可以類比機器人以及環境中的很多物理特性,這個軟體可以稍作瞭解,並不是後面開發所必須要的。        教程見:http://www.ros.org/wiki/simulator_gazebo/Tutorials四、ROS常用機器人        1、PR2            看ROS的應用時,最常見到的機器人就是PR2。這個機器人是ROS的主要維護者(Willow Garage)針對ROS量身定做的機器人,有兩個運行ubuntu和ROS的電腦,和兩個機器臂以及很多牛逼的感應器,功能是非常強大的,但是售價那是相當的昂貴,國內很少見到,基本都是在國外的研究所裡。這款機器人的ROS包比較多,從模擬到導航,所以代碼具有比較高的參考價值,當然新手還是先看看其他機器人的代碼再來挑戰PR2吧,代碼比較龐雜。       wiki:http://www.ros.org/wiki/Robots/PR2        2、TurtleBot                  這個機器人應該算是應用ROS小型移動機器人的典型代表了,資料、文檔和代碼比較多,主要在建立模型和導航定位方面,代碼比較容易理解,可以作為新手參考的最佳機器人了,上面rviz中顯示的那個機器人就是它了。        wiki:http://www.ros.org/wiki/Robots/TurtleBot        3、Husky、Erratic                      這兩款機器人和TurtleBot機器人差不多,都是小型的輪式移動機器人,同樣可以作為新手學習的參考:
          http://www.ros.org/wiki/Robots/Husky          http://www.ros.org/wiki/Robots/Erratic                這些教程和機器人基本都是我當時學習的時候研究和瞭解過的,總結在此也讓那些比較迷茫的初學者作為參考,可以儘快瞭解和掌握ROS。再次強調一下,wiki上的新手教程是一定要先熟悉的,後面的內容在後續學習過程中可以一邊做一邊學習。         *此文只代表個人觀點,僅作為參考

----------------------------------------------------------------

歡迎大家轉載我的文章。

轉載請註明:轉自古-月

http://blog.csdn.net/hcx25909

歡迎繼續關注我的部落格

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.