当前位置: 首页 > news >正文

Ubuntu 22.04 的 ROS 2 和 Carla 设置指南(其一)

重点介绍适用于 Ubuntu 22.04 的全面 ROS 2 和 Carla 设置指南。我们将首先安装 Terminator 终端,然后安装 ROS 2 依赖项,然后继续安装 ROS 2 Humble。接下来,我们将介绍如何在 Ubuntu 22.04 上安装 Carla,最后通过设置 Carla ROS Bridge 将 ROS 2 与 Carla 集成。此外,我们将探索如何在支持 NVIDIA Container Toolkit 的 Docker 上安装 Carla,最后介绍如何从 Ubuntu 中删除 ROS 2 和 Carla。

ROS 2 或 Robot Operating System 2 是一个开源机器人中间件框架。这是一个由 Open Robotics 维护的十年前的项目,由于可用的开源中间件框架很少,因此在许多机器人公司中广泛使用。

CARLA 是一个用于自动驾驶研究的开源模拟器。它使用 Unreal Engine 构建,提供了一系列功能,例如运行模仿学习模型、强化学习模型以及与 AutoWare AV 堆栈、ROS 等集成。


  1. 安装 Terminator
     
  2. 如何在 Ubuntu 22.04 上安装 ROS 2 Humble
  3. Carla Simulator 安装 Ubuntu 22.04
  4. Carla ROS 2 Bridge 设置
  5. 使用 Docker 设置 Carla
  6. 在 Ubuntu 22.04 中安装适用于 Docker 的 NVIDIA Container Toolkit
  7. 在 Docker 中安装 Carla
  8. 卸载 ROS 2 Humble
  9. 卸载 Carla 和 ros-bridge
  10. 从 Ubuntu 22.04 中删除 Docker 镜像和卸载 Docker
  11. 结论
  12. 引用

每年的世界海龟日,都会发布一个新的 ROS 版本。然而,将 ROS 与 Carla 集成的发展速度一直很慢。因此,即使 ROS 2 已经升级到 Jazzy Jalisco(截至 2024 年 5 月 23 日),Carla 也不支持此版本。此外,不支持 ROS 2 Humble 或 Galactic。目前,Carla 仅支持 Ubuntu 20.04 上的 ROS 2 Foxy。

提供有关 ROS 2 和 Carla 的详细文章,从而进入最终项目:构建用于静态避障的 6DoF 自动驾驶汽车

  • 在继续安装过程之前,我假设您有一个带有 Nvidia RTX 系列 GPU 的系统,>= 6GB GPU RAM,Ubuntu 22.04 作为您的作系统,并且您已经安装了 Nvidia-driver 和 cuda-toolkit。
  • 如果您在遵循此 ROS 2 和 Carla 设置指南时遇到任何意外问题,请查看本文底部的官方文档。
安装 Terminator

Terminator Terminal Emulator 或简称 Terminator 是一个用 python 编写的开源 GNOME 终端,比简单的 Ubuntu 终端具有更多的功能。这已被机器人社区广泛使用,因为它易于使用 key-binding,并且能够以网格状结构排列终端。要安装它,请运行以下命令。

$ sudo apt install terminator

如何在 Ubuntu 22.04 上安装 ROS 2 Humble

以下是在 Ubuntu 22.04 上安装 ROS 2 Humble 的说明。下面的代码单元格包含所有需要执行的命令。如果您对任何命令有任何疑问,请务必阅读单元格下方的说明。

1. 安装 ROS 2 Humble

1.1 检查 utf-8:

使用命令检查 UTF-8 编码 ;如果不存在,请执行命令 。无论是否具有 UTF-8,您都可以运行以下所有命令。localelocale

# if locale shows below output, no need to execute 
# below commands# Expected output from command `locale`
# LANG=en_US.UTF-8
# LANGUAGE=en_IN:en
# LC_CTYPE="en_US.UTF-8"
# LC_NUMERIC="en_US.UTF-8"
# LC_TIME="en_US.UTF-8"
# LC_COLLATE="en_US.UTF-8"
# LC_MONETARY="en_US.UTF-8"
# LC_MESSAGES="en_US.UTF-8"
# LC_PAPER="en_US.UTF-8"
# LC_NAME="en_US.UTF-8"
# LC_ADDRESS="en_US.UTF-8"
# LC_TELEPHONE="en_US.UTF-8"
# LC_MEASUREMENT="en_US.UTF-8"
# LC_IDENTIFICATION="en_US.UTF-8"
# LC_ALL=en_US.UTF-8$ locale  # check for UTF-8$ sudo apt update && 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
$ locale  # verify settings
1.2 添加 ROS 2 apt 仓库

您需要将 ROS 2 apt 存储库添加到您的系统中。首先,确保已启用 Ubuntu Universe 存储库。

$ sudo apt install software-properties-common
$ sudo add-apt-repository universe

现在使用 apt 添加 ROS 2 GPG 密钥。

$ sudo apt update && sudo apt install curl -y
$ 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 $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
1.3. apt 软件包更新:

执行 apt package update 和 upgrade,

$ sudo apt update
$ sudo apt upgrade

在 Ubuntu 22.04 上,要使 humble 正常工作,您需要并进行更新。要查看这些软件包是否为最新版本,请使用以下命令systemdudev

$ sudo apt-get install --only-upgrade udev systemd
1.4 安装 ROS 2 Humble:

现在,让我们使用 apt 包管理器安装 ROS 2。官方文档建议安装该软件包,因为它包括 ROS 2、RViz、演示、Gazebo、教程等,所有这些都捆绑在一起。但是,如果您更喜欢单独安装 Gazebo,则可以改用该软件包。ros-humble-desktop-fullros-humble-desktop

$ sudo apt install ros-humble-desktop-full# OR$ sudo apt install ros-humble-desktop
1.5 获取 .bashrc 文件:

添加以下命令以在打开终端时自动加载 humble,.bashrc

# open ~/.bashrc and add this line
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc# close gedit and source `.bashrc`
$ source ~/.bashrc

运行 ,以验证安装是否正确完成。$ ros2

相关文章:

  • ComfyUI 学习笔记,案例3:img2img
  • Grounding DINO
  • (A2A Agent通信故障诊断体系)
  • JWT GenTokenParseToken
  • MATLAB小试牛刀系列(3)
  • 【RAG 框架部署】LangChain-Chatchat (原 Langchain-ChatGLM) + Ollama
  • Verilog仿真模块--真随机数生成器
  • 小程序中的页面跳转
  • 【C++】数据结构 九种排序算法的实现
  • 目标检测YOLO实战应用案例100讲-基于多级特征融合的小目标深度检测网络
  • Kafka-可视化工具-Offset Explorer
  • C# 实现列式存储数据
  • 如何正确使用日程表
  • Docker搜索镜像报错
  • 字符串模式匹配之KMP算法的理解和应用
  • ​​智能制造中的预测性维护:基于深度学习的设备故障预测​​
  • day006-实战练习题-参考答案
  • spring中的@Configuration注解详解
  • 操作系统学习
  • 小米MiMo推理大模型开源:7B参数规模超越更大规模模型
  • 证监会:坚决拥护党中央对王建军进行纪律审查和监察调查决定
  • “80后”商洛市委副书记、市政府党组副书记赵孝任商洛市副市长
  • 宋徽宗《芙蓉锦鸡图》亮相,故宫首展历代动物绘画
  • 辽宁省全力开展辽阳一饭店火灾事故救援处置工作
  • 十四届全国人大常委会第十五次会议继续审议民营经济促进法草案
  • 亮剑浦江丨上海网信部门处罚一批医疗服务类互联网企业,三大类问题值得关注