Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记

一、Ubuntu 18.04的安装

ubuntu2go的制作

关于Ubuntu2go:为了便利学习,采用把Ubuntu安装在U盘中在电脑上运行的方式是最佳的选择,当然你可以选择在你的电脑里安装双系统,之前对与Ubuntu2go的制作已经在参考Zhangrelay老师博客的基础上做了更详细的补充(其实张老师已经说的非常详细了,我算是把它白话了一下),这里附上链接:

  • Ubuntu2Go制作使用和资料说明(LinuxtoGo)

  • 制作ubuntu2go步骤详解

  • Ubuntu、Windows双系统共存的制作

系统信息

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第1张图片

美化后

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第2张图片

新安装的系统可能遇到的问题

  • Ubuntu18.04未发现WiFi适配器解决方案汇总

二、安装前的准备

必须安装ROS1?

ROS 2的功能还不是很全面,很多功能包需要依赖ROS 1,所以Ros2安装之前,需要安装Ros1

国内镜像源准备

推荐使用中科大镜像源,尝试了很多种,都已连接超时屡屡失败告终
方法如下:
可以使用gedit编辑sources.list,打开

sudo gedit /etc/apt/sources.list

将中科大的源添加进去

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

更新:

sudo apt-get update

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第3张图片

三、安装 ROS Melodic

详细参考官网:http://wiki.ros.org/melodic/Installation/Ubuntu

1.安装源

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'

2.设置key

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

3.更新

sudo apt-get update

4.桌面完整安装(推荐)

ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知

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

5.初始化rosdep

sudo rosdep init
rosdep update

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第4张图片
Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第5张图片这里下载比较麻烦,需要那心等待,可能需要不停地rosdep update,尽量使用手机热点,请注意!失败可能就是网络问题,你可以尝试先sudo apt-get update然后使用rosdep update

6.环境设置

如果ROS环境变量在每次启动新shell时自动添加到bash会话中,则很方便:

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

如果安装了多个ROS分发版,~/.bashrc只能为当前使用的版本提供setup.bash。

如果只是想改变当前shell的环境,而不是上面的,可以输入:

source /opt/ros/melodic/setup.bash

7.构建软件包的依赖关系

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

8.测试

打开一个终端

roscore

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第6张图片
第二个终端

rosrun turtlesim turtlesim_node

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第7张图片
再开起一个终端控制,使用键盘上下左右键控制小乌龟移动

rosrun turtlesim turtle_teleop_key

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第8张图片

四、安装ROS 2 Dashing

参考官网地址:https://index.ros.org/doc/ros2/Installation/Crystal/Linux-Install-Binary/

1. 设置UTF-8编码

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

2. 更新软件源

sudo apt update && sudo apt install curl gnupg2 lsb-release
curl http://repo.ros2.org/repos.key | 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'

3. 安装ros2

  • 桌面版 : 包含ROS, RViz, demos, tutorials [推荐]
sudo apt install ros-dashing-desktop
  • 基础版:(包含通讯库、消息包、命令行工具,没有GUI工具)
sudo apt install ros-dashing-ros-base

这是一个很漫长的过程,需要耐心的等待…
Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第9张图片

4. 安装自动补全工具

ros2的命令行使用argcomplete工具进行补全:

 sudo apt install python3-argcomplete
  1. 导入配置脚本
source /opt/ros/dashing/setup.bash
  1. 通过如下命令添加到.bashrc
echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc

5.安装附加RMW实现

sudo apt update
sudo apt install ros-dashing-rmw-opensplice-cpp # for OpenSplice
sudo apt install ros-dashing-rmw-connext-cpp # for RTI Connext (requires license agreement)

6.ROS 2和ROS 1之间通过ros-bridge通信

sudo apt update
sudo apt install ros-dashing-ros1-bridge

测试

创建工作空间,Clone并编译

mkdir  ~/ros2_ws
cd /ros2_ws
git clone https://github.com/zhangrelay/ros2_tutorials
cd ros2_tutorials
colcon build

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第10张图片

  • 可能会遇见的问题colcon:command not found

这里Ros软件包编译工具是colcon。ROS编译工具目前经历了三个阶段:1. catkin 2. ament 3. colcon。
使用以下命令进行安装:

sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
python3-colcon-common-extensions \
python3-pip \
python-rosdep \
python3-vcstool \
wget
# install some pip packages needed for testing
sudo -H 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
# [Ubuntu 16.04] install extra packages not available or recent enough on Xenial
python3 -m pip install -U \
pytest \
pytest-cov \
pytest-runner \
setuptools
# install Fast-RTPS dependencies
sudo apt install --no-install-recommends -y \
libasio-dev \
libtinyxml2-dev

设置环境变量

source /install/setup.sh 

运行第一个终端

cd /ros_ws/ros2_tutorials/install
ros2 run demo_nodes_cpp listener

第二个终端

ros2 run demo_nodes_cpp talker

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第11张图片

仿真(运行小海龟画矩形)

第一个终端

ros2 run turtlesim turtlesim_node 

第二个终端

ros2 run turtlesim draw_square 

Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第12张图片

五、ROS1和ROS2环境变量设置

打开根目录下隐藏文件.bash将ros1和ros2环境变量做选择处理

#source /opt/ros/melodic/setup.bash
#source /opt/ros/dashing/setup.bash
# ROS 1.0 melodic or ROS 2.0 Dashing
echo Hello alvin! ROS 1.0 or ROS 2.0? 1=Melodic 2=Dashing 
read ROS
if (($ROS==1));then
source /opt/ros/melodic/setup.bash
echo "Melodic"
elif (($ROS==2));then
source /opt/ros/dashing/setup.bash
echo "Dashing"
else
echo "Non-ROS"
fi

每次打开终端

  • 使用Melodic
    Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第13张图片
  • 使用Dashing
    Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第14张图片
  • 不使用ros环境
    Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记_第15张图片

你可能感兴趣的:(ROS,notes)