版本介绍
下表为目前主流的ROS版本,及项目计划终止时间,推进的Ubuntu系统版本。
版本 | 发布日期 | EOL Date | Ubuntu系统推荐 |
---|---|---|---|
ROS Noetic Ninjemys | May 23rd, 2020 | May 2025 | Ubuntu 20.04 (Focal) |
ROS Melodic Morenia | May 23rd, 2018 | May 2023 | Ubuntu 18.04 (Bionic) |
ROS Kinetic Kame | May 23rd, 2016 | Aprl, 2021 | Ubuntu 16.04 (Xenial) |
ROS安装
依赖
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo rosdep init
rosdep update
配置源
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
Kinetic Kame安装(Ubuntu 16)
#更新
sudo apt update
#完全版
sudo apt install ros-kinetic-desktop-full
#桌面版
sudo apt install ros-kinetic-desktop
#基础版
sudo apt install ros-kinetic-ros-base
Melodic Morenia安装(Ubuntu 18)
#更新
sudo apt update
#完全版
sudo apt install ros-melodic-desktop-full
#桌面版
sudo apt install ros-melodic-desktop
#基础版
sudo apt install ros-melodic-ros-base
环境变量配置
#所有shell启动后
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
#当前shell启动后,当由多个版本的ROS情况下:
source /opt/ros/melodic/setup.bash
切换默认python及优先级
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
安装依赖
#安装依赖
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
#初始化
sudo rosdep init
rosdep update
工作空间
ros采用catkin工作空间的概念。
创建工作空间
#创建目录,并执行catkin_make命令
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make
#source一下
source devel/setup.bash
#查看当前工作路径是否正常添加进来
$ echo $ROS_PACKAGE_PATH
ROS包定义
通常一个package定义如下:
my_package/
CMakeLists.txt
package.xml
一个catkin工作空间定义如下:
workspace_folder/ -- WORKSPACE
src/ -- SOURCE SPACE
CMakeLists.txt -- 'Toplevel' CMake file, provided by catkin
package_1/
CMakeLists.txt -- CMakeLists.txt file for package_1
package.xml -- Package manifest for package_1
...
package_n/
CMakeLists.txt -- CMakeLists.txt file for package_n
package.xml -- Package manifest for package_n
创建ROS包
进入目录
# You should have created this in the Creating a Workspace Tutorial
$ cd ~/catkin_ws/src
#创建名为beginner_tutorials的包,依赖std_msgs rospy roscpp
$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
构建工作空间及添加环境变量
$ cd ~/catkin_ws
$ catkin_make
#添加环境变量
$ . ~/catkin_ws/devel/setup.bash
查看包依赖
$ rospack depends1 beginner_tutorials
输出
roscpp
rospy
std_msgs