zhangrelay博士在高校開設ROS相關課程已經積累了一年多的經驗,在課程開設、備課和教學過程中,遇到了非常多的困難和問題,需要自身不斷努力克服和改進,這樣才能使課程不斷完善。
目前,機器人工程專業在全國而言都屬於比較新的本科專業。在教材、課程規劃等方面,國內並沒有太多可借鑑的案例,只能向外求索,不斷積累成長。本來以為提供了安裝鏡像和虛擬機能上新手在非常短的時間內入門ROS,最後發現如果經驗積累不夠,學習不夠系統,遇到問題多茫然,為了進一步優化課程降低學習門檻,只需一臺能上網的電腦就能學習ROS,終於發現了 實驗樓 這個平臺。
因此就有了《ROS機器人作業系統的安裝、配置與初級教程》這門課程。課程將通過20個實驗帶大家入門ROS機器人作業系統,全部免費,而且後續會有更多ROS機器人作業系統的課程上線。希望想學習這門新興、且非常有前景的技術的人,可以在實驗樓系統地掌握這門知識。
本課程以ROS官網的安裝、入門以及初級教程為模版製作(原滋原味,一脈相承),包括安裝ROS、學習並理解相關概念以及技術要點等;結合初級教程,提供每一步詳細操作命令,邊學邊練。 ROS (Robot Operating System, 機器人作業系統)是一個適用於機器人的開源的元作業系統。它提供了作業系統應有的服務,包括硬體抽象,底層設備控制,常用函數的實現,進程間消息傳遞,以及包管理。它也提供用於獲取、編譯、編寫、和跨計算機運行代碼所需的工具和庫函數。在某些方面ROS相當於一種「機器人框架」。
下面將介紹第一節的內容:
1. 內容簡介此課程為ROS配置與使用介紹,如果為已經並安裝配置好的環境,本課程可作為ROS基礎知識進行學習和掌握,不用重新進行配置。實驗樓已經為你配置好在線環境。
二、安裝
1 系統更新$ sudo apt-get update
upgrade
$ sudo apt-get upgrade
2 安裝 ROS依據網頁:http://wiki.ros.org/cn/indigo/Installation/Ubuntu 進行配置,具體步驟如下:
2.1 添加 sources.list配置你的電腦使其能夠安裝來自 packages.ros.org 的軟體。 ROS Indigo 僅 支持 Saucy (13.10) 和 Trusty (14.04)。
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
註:強烈建議使用國內或者新加坡的鏡像源,這樣能夠大大提高安裝下載速度。
USTC (China)
$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2.2 添加 keys$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$ sudo apt-get update
桌面完整版安裝:(推薦)
$ sudo apt-get install ros-indigo-desktop-full
2.4 初始化 rosdep在開始使用ROS之前你還需要初始化rosdep。rosdep可以方便在你需要編譯某些源碼的時候為其安裝一些系統依賴,同時也是某些ROS核心功能組件所必需用到的工具。
$ sudo rosdep init
$ rosdep update
如果每次打開一個新的終端時ROS環境變量都能夠自動配置好(即添加到bash會話中),那將會方便得多:
$ echo "source /opt/ros/indigo/setup.zsh" >> ~/.zshrc
$ source ~/.zshrc
2.6 安裝 rosinstallrosinstall 是ROS中一個獨立分開的常用命令行工具,它可以方便讓你通過一條命令就可以給某個ROS軟體包下載很多源碼樹。要在ubuntu上安裝這個工具,請運行:
$ sudo apt-get install python-rosinstall
3 ROS測試測試已經安裝好的ROS是否可以正常使用。
3.1 測試 roscore打開一個終端測試roscore是否能正常啟動,使用ROS必須保證roscore運行:
$ roscore
啟動一個turtlesim節點並通過鍵盤控制其運動,新開啟一個終端,執行以下命令:
$ rosrun turtlesim turtlesim_node
然後,再開啟一個終端:
$ rosrun turtlesim turtle_teleop_key
新開啟一個終端輸入:
$ rviz
新開啟一個終端輸入:
$ gazebo
這時就可以正常使用ROS了。測試完畢。
4 學習ROS根據你的學習風格和偏好,你可以採用兩種方式來學習ROS:
開始學習教程 - 立刻進入和開始使用ROS http://wiki.ros.org/cn/ROS/Tutorials 。
概覽 - 通讀ROS和它的功能的這個概覽 http://wiki.ros.org/cn/ROS/Introduction 。
有關ROS架構的更多詳細信息,請參考ROS核心文檔 http://wiki.ros.org/cn/ROS 。
如果你不能找到你的問題的解決方法,就嘗試搜索 http://answers.ros.org 或者郵件列表歸檔。或者在 http://answers.ros.org/questions/ask/ 上提出問題。
查看支持頁面獲取更多信息 http://wiki.ros.org/Support 。
你也可以通過瀏覽公開的ROS代碼庫的這個列表來尋找做相似工作的群組 http://wiki.ros.org/RecommendedRepositoryUsage/CommonGitHubOrganizations 。
做到這裡,項目只完成了一半,後續步驟及詳細代碼請點擊閱讀原文觀看。學編程,當然是要一遍敲一遍看啦!
猛戳「閱讀原文」
查看完整《ROS機器人作業系統的安裝、配置與初級教程》