项目需要变更ROS2的版本,不是太低,是安装官网安装的版本太高了,有一些插件还不支持,所以这里介绍一下Ubuntu1804中安装ROS2-dashing 版本,并且运行小乌龟和倒立摆等实例。
安装步骤
- 确保有一个支持UTF-8的locale设置。locale设置例子如下:
$ sudo locale-gen en_US en_US.UTF-8
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
- 设置源:
$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
- 安装相关的工具包和依赖
$ sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
python3-colcon-common-extensions \
python3-lark-parser \
python3-pip \
python-rosdep \
python3-vcstool \
wget
# install some pip packages needed for testing
$ python3 -m pip install -U \
argcomplete \
flake8 \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest \
pytest-cov \
pytest-runner \
setuptools
# install Fast-RTPS dependencies
$ sudo apt install --no-install-recommends -y \
libasio-dev \
libtinyxml2-dev
- 创建工作空间并进行下载源码
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws
$ wget https://raw.githubusercontent.com/ros2/ros2/dashing/ros2.repos
$ vcs import src < ros2.repos
- 用rosdep安装依赖项
$ sudo rosdep init
$ rosdep update
$ rosdep install --from-paths src --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers"
- 编译所有包
$ cd ~/ros2_ws/
【特别注意:】如果在colcon build过程中出现报错,导致没有把所有的包全部编译,需要处理一下再重新colcon build。我的处理方式是,把报错的包在~/ros2_ws/src路径中搜到,并手动删除。然后重新开始colcon build --symlink-install。
完成之后,是全部的包都编译过,有些出错的但不影响编译后续包的可以不用去管。