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

一、Ubuntu 18.04的安装

ubuntu2go的制作

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

系统信息

在这里插入图片描述

美化后

在这里插入图片描述

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

二、安装前的准备

必须安装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

更新:

sduo 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
  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

在这里插入图片描述

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

在这里插入图片描述

发布了82 篇原创文章 · 获赞 124 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_44717317/article/details/104547474