本文主要是介绍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
更新:
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环境
这篇关于Ubuntu18.04 安装ROS Melodic Ros2 Dashing踩坑笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!