Ros2 学习02- ubuntu22.04 安装ros2

56 篇文章 49 订阅

ros2不同版本的差异 foxy galactic humble rolling

ROS2的每个版本都有其特点和改进。以下是关于Foxy, Galactic, Humble和Rolling版本的一些关键差异:

  • Foxy Fitzroy (2020-06-05)
    针对LTS(长期支持)版本,支持时间为3年。
    引入了许多新的特性和改进,包括组件生命周期、许多新的质量等级1(Quality Level 1)的软件包以及对Windows平台的改进。
    支持Ubuntu 20.04 (Focal Fossa)、macOS 10.15 (Catalina) 和 Windows 10。

  • Galactic Geochelone (2021-05-23)
    非LTS版本,支持时间为1年。
    提供了对DDS中间件的更广泛支持,例如通过引入Cyclone DDS的默认支持。
    改进了跨平台兼容性,加强了许多质量等级1的软件包。
    支持Ubuntu 20.04 (Focal Fossa)、macOS 10.15 (Catalina) 和 Windows 10。

  • Humble Hawksbill (2022-11-18)
    针对LTS(长期支持)版本,支持时间为5年。
    更加稳定且易于维护,包括许多新的质量等级1的软件包,以及对不同平台和体系结构的改进。
    改进了安全性,引入了对DDS安全插件的支持。
    支持Ubuntu 22.04 (Jammy Jellyfish)、macOS 12 (Monterey) 和 Windows 11。

  • Rolling Ridley (持续更新)
    一种持续更新的开发分支,为开发者提供了最新的功能和改进。
    不推荐用于生产环境,因为它可能包含尚未完全测试的新功能。
    对于那些希望紧跟ROS2开发进度的用户来说,Rolling版本是一个很好的选择。

根据您的需求(稳定性、新功能、支持时间等),您可以选择合适的ROS2版本。对于生产环境,建议选择LTS版本,如Foxy或Humble,因为它们提供了长期支持和更加稳定的性能。

在这里插入图片描述

设置镜像源

sudo vim /etc/apt/sources.list
#阿里源
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

搞定,接下来执行这两个命令就完事啦。

sudo apt-get update
sudo apt-get upgrade

1. 设置编码

sudo apt install locales
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 install curl gnupg lsb-release 
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg 
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3. 安装ROS2

sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop

ROS2安装的默认目录在/opt/ros/下,根据版本的名字进行区分。我们安装的是Humble版本的ROS2,所以安装目录在/opt/ros/humble下。

第一次运行安装是正常的,换第二次安装居然报这个错,莫名其妙了。

在这里插入图片描述
于是打开百度查了下,第一个查到的说是 ubuntu 版本的原因,说ubuntu20.4 就是有这个问题,按照上面的版本对照图 的话确实可能,于是查了下版本号

lsb release -a

在这里插入图片描述
查了版本之后发现并不是这个问题。

网上找了一圈还是没找到问题,那估计就是网络的问题了,所有把我本机电脑的vpn 打开,然后到我的虚拟机 继续执行了一下 2,3 两个步骤,
发现可以正常安装了,记个坑
在这里插入图片描述

4. 设置环境变量

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

至此,ROS2就已经在系统中安装好了。

ROS2示例测试

为了验证ROS2安装成功,我们可以通过以下示例进行测试。

示例一:命令行示例
先来试试ROS2最为重要的底层通信系统DDS是否正常吧。

启动第一个终端,通过以下命令启动一个数据的发布者节点:

ros2 run demo_nodes_cpp talker

在这里插入图片描述
启动第二个终端,通过以下命令启动一个数据的订阅者节点:

ros2 run demo_nodes_py listener

如果“Hello World”字符串在两个终端中正常传输,说明通信系统没有问题。

示例二:小海龟仿真示例
再来试一试ROS中的经典示例——小海龟仿真器。

启动两个终端,分别运行如下指令:

ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key

第一句指令将启动一个蓝色背景的海龟仿真器,第二句指令将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键,就可以控制小海龟运动啦。

发布话题消息
想要控制海龟动起来,我们还可以直接通过命令行发布话题指令:

ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

在这里插入图片描述

在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小海聊智造

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值