Ubuntu18下安装ROS2 Dashing

ROS2也有多个版本,根据自己需求安装,我安装的是dashing版本。

一、前提

ROS2要在ROS1的前提下安装,所以要先安装了才可以安装ROS2,ROS1的教程就自己找啦,也可以参考我之前的博文Ubuntu18安装ROS melodic_KingL_wu的博客-CSDN博客_ubuntu18安装ros

安装的是简版的,不过安装过程都差不多。

二、ROS2安装

1. 设置编码

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 -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'

 运行第二个命令时可能会报错:gpg: 找不到有效的 OpenPGP 数据

参考:ubuntu20.04安装ROS2提示 gpg: 找不到有效的 OpenPGP 数据._入门中....的博客-CSDN博客_找不到有效的openpgp数据

原因可能是外网地址无法下载,可以直接到github下载这个证书,或者打开网址下载:https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc

我两个都打不开,所以直接抠了博主的证书内容:

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc
VFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro
u5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4
K/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG
aIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+
TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz
pwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p
V5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT
hM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/
/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV
okdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB
tCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQoA
PhYhBMHPbjHmut6IaLFytPQu1vurF8ZUBQJc7yaWAhsDBQkDwmcABQsJCAcCBhUK
CQgLAgQWAgMBAh4BAheAAAoJEPQu1vurF8ZUkhIP/RbZY1ErvCEUy8iLJm9aSpLQ
nDZl5xILOxyZlzpg+Ml5bb0EkQDr92foCgcvLeANKARNCaGLyNIWkuyDovPV0xZJ
rEy0kgBrDNb3++NmdI/+GA92pkedMXXioQvqdsxUagXAIB/sNGByJEhs37F05AnF
vZbjUhceq3xTlvAMcrBWrgB4NwBivZY6IgLvl/CRQpVYwANShIQdbvHvZSxRonWh
NXr6v/Wcf8rsp7g2VqJ2N2AcWT84aa9BLQ3Oe/SgrNx4QEhA1y7rc3oaqPVu5ZXO
K+4O14JrpbEZ3Xs9YEjrcOuEDEpYktA8qqUDTdFyZrxb9S6BquUKrA6jZgT913kj
J4e7YAZobC4rH0w4u0PrqDgYOkXA9Mo7L601/7ZaDJob80UcK+Z12ZSw73IgBix6
DiJVfXuWkk5PM2zsFn6UOQXUNlZlDAOj5NC01V0fJ8P0v6GO9YOSSQx0j5UtkUbR
fp/4W7uCPFvwAatWEHJhlM3sQNiMNStJFegr56xQu1a/cbJH7GdbseMhG/f0BaKQ
qXCI3ffB5y5AOLc9Hw7PYiTFQsuY1ePRhE+J9mejgWRZxkjAH/FlAubqXkDgterC
h+sLkzGf+my2IbsMCuc+3aeNMJ5Ej/vlXefCH/MpPWAHCqpQhe2DET/jRSaM53US
AHNx8kw4MPUkxExgI7Sd
=4Ofr
-----END PGP PUBLIC KEY BLOCK-----
保存成ros.asc文件,放到主目录下。

然后执行:

sudo apt-key add ros.asc

显示OK说明已经加入了,然后再执行第三条命令。

3.安装ROS2

sudo apt update
sudo apt install ros-dashing-desktop

注意第二条命令: ros-dashing-desktop,当前安装的是dashing桌面版本,功能较全,也可以安装简版:ros-dashing-ros-base,如果是其他版本的要检查好这里。安装时间挺长的,耐心等待......最后需要输入yes or no来确认安装。

4.设置环境变量

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

 执行第一条命令时会有一个提示:ROS_DISTRO was set to 'dashing' before .Please make sure that the environment does not mix paths from different distributions.

或者ROS_DISTRO was set to 'melodic' before .Please make sure that the environment does not mix paths from different distributions.

或者每次打开终端都会提示。

这是因为ROS1和ROS2冲突而出现的bug,可以通过修改环境变量来解决冲突。

(1)打开ROS1的配置文件:/opt/ros/melodic/share/ros_environment/catkin_env_hook/1.ros_distro.sh,将内容全部注释

# generated from ros_environment/env-hooks/1.ros_distro.sh.in
#if [ -n "$ROS_DISTRO" -a "$ROS_DISTRO" != "melodic" ]; then
#  echo "ROS_DISTRO was set to '$ROS_DISTRO' before. Please make sure that the environment does not mix paths from different distributions."
#fi
#export ROS_DISTRO=melodic

(2)打开ROS2的配置文件:/opt/ros/dashing/share/ros_environment/catkin_env_hook/1.ros_distro.sh,将内容全部注释

# generated from ros_environment/env-hooks/1.ros_distro.sh.in
#if [ -n "$ROS_DISTRO" -a "$ROS_DISTRO" != "dashing" ]; then
#  echo "ROS_DISTRO was set to '$ROS_DISTRO' before. Please make sure that the environment does not mix paths from different distributions."
#fi
#export ROS_DISTRO=dashing

5.安装依赖

sudo apt install python3-argcomplete ros-dashing-rmw-opensplice-cpp ros-dashing-rmw-connext-cpp ros-dashing-ros1-bridge python3-colcon-common-extensions

此时已经安装了ROS1和ROS2,可以在.bashrc文件中修改自己常用的ROS版本。也可以在开启终端时手动选择版本。打开.bashrc文件,将原来的source /opt/ros/melodic/setup.bash和source /opt/ros/dashing/setup.bash先注释,修改如下:

#source /opt/ros/melodic/setup.bash
#source /opt/ros/dashing/setup.bash
# ROS 1.0 melodic or ROS 2.0 Dashing
echo 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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值