ROS 開發 -安裝melodic

1. ROS 安裝

22 12
5 min readNov 10, 2019

首先我們環境使用的是VirtualBox6.0 + ubuntu18.04

目前ROS官方分別推薦兩種版本分別是ROS Kinetic 以及ROS Melodic 這邊我們選擇比較新的Melodic進行安裝

首先先開啟Treminal

第一步先設置讓電腦可以接受來自ROS的軟體

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

如下

設置服務器鑰匙

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

你也可以使用curl命令

curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

上方兩個擇一使用就可以了

然後確定目前的安裝包都是最新的

sudo apt-get update

然後就是安裝ROS套件包啦~
目前ROS有提供幾種安裝方式來給需要的使用者分別是

(1)全部安裝 裏面包含了ROS,rqt,rviz,機器人通用函式庫,2D / 3D模擬器等等安裝包,基本上沒有特殊需求全都安裝就對了

sudo apt install ros-melodic-desktop-full

(2)桌面安裝 裏面包含了ROS,rqt,rviz,機器人通用函式庫,基本上相比就是少了一些套件包,只保留了最常見最常使用的幾個安裝包

sudo apt install ros-melodic-desktop

(3)ROS Base 裡面包含了 ROS包,建立還有通訊函式庫並且沒有GUI工具

sudo apt install ros-melodic-ros-base

tips:注意你這邊如果使用的ROS版本不同,便需要更改中間參數

如選用的版本是Kinetic Kame 便須修改中間名子進行安裝

sudo apt install ros-kinetic-desktop-full

在使用ROS前必須要初始化rosdep

rosdep主要能夠讓你更輕鬆去安裝系統依賴項讓系統比較好去編譯

sudo rosdep init
rosdep update

環境設定

將ROS環境變量添加到bash

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

到目前為止已經安裝了運行ROS軟件包所需的核心軟體。為了創建和管理ROS工作區還必須建立ROS的依賴項

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

2.管理環境

使用

printenv | grep ROS
source /opt/ros/melodic/setup.bash

3.創建工作區

ROS 使用 catkin_make來編譯

catkin_make到底是甚麼呢?

我們拿最常見的cmake來相比較

cmake會依照CMakeLists.txt 生成makefiles和檔案再使用make獲得執行檔

而 catkin_make則是將cmake以及make做一個結合,像是懶人包的概念

傳統Cmake 流程

mkdir workspace
cd workspace
mkdir build
cd build
cmake ..
make

而catkin_make流程則是

mkdir -p workspace/src
cd workspace
catkin_make

首先我們先創建一個ROS工作區

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

如果沒有問題的話你的工作區應該生成了build以及devel文件夾

並執行

source devel/setup.bash

並且確保 ROS_PACKAGE_PATH環境變量包含您所在的目錄。

echo $ROS_PACKAGE_PATH

到這邊就完成啦~

--

--

22 12
22 12

Written by 22 12

目前擔任AI工程師 聯絡資訊: changrunlin@gmail.com

No responses yet