如何安裝ROS


  本篇文章以安裝ROS Kinetic為例進行講解。

1.設置網絡時間協議(NTP,Network Time Protocol)

  在ROS官方安裝項目中雖然沒有包括NTP,但為了縮小PC間通信中的ROS Time的誤差,下面我們設置NTP。設置方法是安裝chrony之后用ntpdate命令指定ntp服務器即可。這樣一來會表示服務器和當前計算機之間的時間誤差,進而會調到服務器的時間。這就是通過給不同的PC指定相同的NTP服務器,將時間誤差縮短到最小的方法。

sudo apt-get install -y chrony ntpdate
sudo ntpdate -q ntp.ubuntu.com

  ps:有些時候,有些朋友會遇到SLAM導航時控制不了機器人,可能與這個有關。需要做的就是讓主從機時間同步。

2.添加代碼列表

  在ros-latest.list添加ROS版本庫。打開新的終端窗口,輸入如下命令。

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'

3.設置公鑰(Key)

  為了從ROS存儲庫下載功能包,下面添加公鑰 。作為參考,以下公鑰可以根據服務器的操作發生變更,請參考官方wiki頁面

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

4.更新軟件包索引

  現在用戶已經將ROS版本庫地址放在代碼列表中,我們建議在安裝ROS之前刷新軟件包列表的索引並升級所有當前安裝的Ubuntu軟件包,但這不是必選項。

sudo apt-get update

5.安裝ROS Kinetic Kame

  使用以下命令安裝台式機的ROS功能包。這包括ROS、rqt、RViz、機器人相關的庫、仿真和導航等等。

 sudo apt-get install ros-kinetic-desktop-full

  上面的安裝只包含基本的rqt,但是筆者將安裝所有額外的rqt相關的功能包。用下面的命令安裝所有rqt相關的功能包,可以很方便地使用各種rqt插件。

sudo apt-get install ros-kinetic-rqt*

6.初始化rosdep

  在使用ROS之前,必須初始化rosdep。rosdep是一個通過在使用或編譯ros的核心組件時輕松安裝依賴包來增強用戶便利的功能。

sudo rosdep init
rosdep update

7.安裝rosinstall

  這是安裝ROS的各種功能包的程序。它是被頻繁使用的有用的工具,因此務必要安裝它。

sudo apt-get install python-rosinstall

8.加載環境設置文件

  下面加載環境設置文件。里面定義着ROS_ROOT和ROS_PACKAGE_PATH等環境變量。

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

9.創建並初始化工作目錄

  ROS使用一個名為catkin的ROS專用構建系統。為了使用它,用戶需要創建並初始化catkin工作目錄,如下所示。除非用戶創建新的工作目錄,否則此設置只需設置一次。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

  如果用戶已經創建了一個catkin工作目錄,下面我們來進行構建。目前,只有src目錄和CMakeLists.txt文件在catkin工作目錄中,但讓我們嘗試使用catkin_make命令來構建吧。

cd ~/catkin_ws/
catkin_make

  當用戶構建沒有問題時,運行ls命令。除了自己創建的src目錄之外,還出現了一個新的build和devel目錄。catkin的構建系統的相關文件保存在build目錄中,構建后的可執行文件保存在devel目錄中。

ls
build
devel
src

  最后,我們加載與catkin構建系統相關的環境文件。

echo “source ~/catkin_ws/devel/setup.bash”>> ~/.bashrc
source .bashrc

10.測試安裝結果

  所有ROS安裝已完成。要測試它是否正確安裝,請關閉所有終端窗口並運行一個新的終端窗口。現在通過輸入以下命令來運行roscore。

roscore

  如果運行之后像下面沒有出現錯誤,則說明成功安裝。退出是[Ctrl+c]。

... logging to /home/pyo/.ros/log/9e24585a-60c8-11e7-b113-08d40c80c500/roslaunch-pyo-5207.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://localhost:38345/
ros_comm version 1.12.7
SUMMARY
========
PARAMETERS
* /rosdistro: kinetic
* /rosversion: 1.12.7
NODES
auto-starting new master
process[master]: started with pid [5218]
ROS_MASTER_URI=http://localhost:11311/
setting /run_id to 9e24585a-60c8-11e7-b113-08d40c80c500
process[rosout-1]: started with pid [5231]
started core service [/rosout]

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM