ROS2GO之慕課《機器人作業系統入門》配置與使用(2018-2019-2)
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
----