ROS2GO之慕課《機器人作業系統入門》配置與使用(2018-2019-2)

icourse163中國大學MOOC《機器人作業系統入門》第二次開課!

開課時間: 2018年11月20日 ~ 2019年02月12日  學時安排: 1-3小時每週

預備知識

    基本Linux操作

    C++與Python程式設計基礎


證書要求

評分:

課程滿分100分。

平時測驗佔60%(每週單元測試);

課程討論(討論只能對在“課堂討論”中回覆教師的帖子計分)佔10%;

期末測驗佔30%。

證書:

60-80分獲得合格證書,80-100分獲得優秀證書。

----

使用ROS2GO可以快速開啟《機器人作業系統入門》的學習旅程。

(全部環境配置只需不到5分鐘和10行命令)

1. 安裝catkin工具

$ sudo apt install python-catkin-tools

方便使用catkin build等。

 

2. 更新Gazebo7到最新版本

[email protected]:~$ gazebo -v
Gazebo multi-robot simulator, version 7.0.0
Copyright (C) 2012-2016 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org
----具體過程----

$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'

$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

$ sudo apt-get update

$ sudo apt-get upgrade

安裝完成後,檢視一下:

 

3. 編譯原始碼

新建BeginnersROS_ws/src檔案下,並下載原始碼:

$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git

等待下載完成,或者下載安裝包解壓放入對應資料夾:

安裝教學功能包對應的依賴選項:

$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

有可能會出現提示?如下:

[email protected]:~/BeginnersROS_ws$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

ERROR: your rosdep installation has not been initialized yet.  Please run:

    rosdep update

輸入:rosdep update,等待完成。

再次輸入:rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

確保所有依賴都完成安裝!!!

編譯::使用catkin_make或catkin build。

耐心等待編譯全部完成!

 

4. 配置與使用

更新環境,或寫入.bashrc:

[email protected]:~/BeginnersROS_ws$ source devel/setup.bash

測試:

在每個學習功能包資料夾中,仔細閱讀README.md。robot_sim_demo如下:

檢視:

執行並使用:

$ roslaunch robot_sim_demo robot_spawn.launch

速度非常快!!!

啟動鍵盤控制機器人:

$ rosrun robot_sim_demo robot_keyboard_teleop.py

更多案例,請學習對應課程視訊並認真閱讀原始碼。

----

----Github原版介紹----

《機器人作業系統入門》課程程式碼示例

前言

歡迎來到中國大學MOOC ---《機器人作業系統入門》課程,本ROS軟體包是課程的程式碼示例,課程中使用的例子均出自本程式碼包。除了程式碼包,課程還提供講義,歡迎各位朋友下載、學習和分享。

本示例包含了XBot機器人和中科院軟體博物館模擬、ROS通訊示例程式、導航與SLAM功能演示,在每個軟體包下都有相應的功能介紹。

如果你遇到任何問題,可以在Github上方的issues欄目中提問,我們課程團隊會耐心回答。本示例將長期維護,不斷更新,如果你認可我們的工作,請點選右上角的star按鈕,您的鼓勵是我們的動力。
示例介紹

本倉庫為ROS入門教程的程式碼示例,包括以下ROS軟體包:
軟體包     內容
robot_sim_demo     機器人模擬程式,大部分示例會用到這個軟體包
topic_demo     topic通訊,自定義msg,包括C++和python兩個版本實現
service_demo     service通訊,自定義srv,分別以C++和python兩種語言實現
action_demo     action通訊,自定義action,C++和python兩種語言實現
param_demo     param操作,分別以C++和python兩種語言實現
msgs_demo     演示msg、srv、action檔案的格式規範
tf_demo     tf相關API操作演示,tf示例包括C++和python兩個版本
name_demo     演示全域性名稱空間和區域性名稱空間下引數的提取
tf_follower     製作mybot機器人 實現mybot跟隨xbot的功能
urdf_demo     建立機器人urdf模型,在RViz中顯示
navigation_sim_demo     導航演示工具包,包括AMCL, Odometry Navigation等演示
slam_sim_demo     同步定位與建圖演示,包括Gmapping, Karto, Hector等SLAM演示
robot_orbslam2_demo     ORB_SLAM2的演示
ros_academy_for_beginners     Metapacakge示例,依賴了本倉庫所有的pacakge
下載和編譯

    克隆或下載ROS-Academy-for-Beginners教學包到工作空間的/src目錄下,例如 ~/catkin_ws/src

$ cd ~/catkin_ws/src
$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git

    安裝教學包所需的依賴

$ cd ~/catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

    編譯並更新環境

$ catkin_make
$ source ~/catkin_ws/devel/setup.bash

    執行示例

執行須知

    建議在本地Ubuntu 16.04下執行模擬程式。目前Gazebo模擬器的相容性是一大問題,在虛擬機器或配置較低的電腦上可能無法執行。如果你的顯示卡是N卡,建議安裝Ubuntu下的顯示卡驅動。

    執行Gazebo模擬程式robot_sim_demo前,請將Gazebo升級到7.x版本以上(推薦7.9版本)。

檢視Gazebo版本方法

$ gazebo -v   #確認7.0以上,推薦7.9

升級方法

$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo7

確保所有依賴都已安裝,如gazebo_ros, gmapping, slam_karto, amcl。

----

Fin

----