Ubuntu18.04 安装ROS Melodic && Ros2 Dashing

https://blog.csdn.net/qq_44717317/article/details/104547474

一、Ubuntu 18.04的安装

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

Ubuntu2Go制作使用和资料说明(LinuxtoGo)
制作ubuntu2go步骤详解
Ubuntu、Windows双系统共存的制作
系统信息


美化后

新安装的系统可能遇到的问题
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


三、安装 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

这里下载比较麻烦,需要那心等待,可能需要不停地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

第二个终端

rosrun turtlesim turtlesim_node

再开起一个终端控制,使用键盘上下左右键控制小乌龟移动

rosrun turtlesim turtle_teleop_key


四、安装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

这是一个很漫长的过程,需要耐心的等待…


4. 安装自动补全工具
ros2的命令行使用argcomplete工具进行补全:

sudo apt install python3-argcomplete

导入配置脚本
source /opt/ros/dashing/setup.bash

通过如下命令添加到.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

可能会遇见的问题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


仿真(运行小海龟画矩形)
第一个终端

ros2 run turtlesim turtlesim_node

第二个终端

ros2 run turtlesim draw_square

五、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

使用Dashing

不使用ros环境

————————————————
版权声明:本文为CSDN博主「Lukey Alvin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44717317/article/details/104547474

原文地址:https://www.cnblogs.com/lvdongjie/p/15786926.html