Ubuntu 22 安装 ROS2 Humble 及 Gazebo
详细记录了在 Ubuntu 22.04 操作系统上部署 ROS2 Humble 版本及其配套仿真器 Gazebo 的全过程。内容包括系统语言环境配置、ROS2 软件源添加与密钥导入、核心包安装、环境变量持久化设置以及基础功能测试。此外,还针对虚拟机环境下常见的 OpenGL 渲染错误提供了排查方案,为机器人开发环境的搭建提供标准化参考。

详细记录了在 Ubuntu 22.04 操作系统上部署 ROS2 Humble 版本及其配套仿真器 Gazebo 的全过程。内容包括系统语言环境配置、ROS2 软件源添加与密钥导入、核心包安装、环境变量持久化设置以及基础功能测试。此外,还针对虚拟机环境下常见的 OpenGL 渲染错误提供了排查方案,为机器人开发环境的搭建提供标准化参考。

Gazebo 是三维物理仿真平台,强调的是创建一个虚拟的仿真环境。只能在 Linux 系统下使用。
Gazebo 是一组开源软件库,旨在简化高性能应用程序的开发。Gazebo 的主要受众是机器人开发人员、设计师和教育工作者。但是,Gazebo 的结构可以满足许多不同的用例。Gazebo 中的每个库都具有最低限度的依赖性,因此它们可用于从解决数学变换到视频编码,再到模拟和流程管理等各种任务。只需为您的应用程序选择所需的库,而无需投入整个生态系统。
Gazebo 是一款开源 2D/3D 机器人模拟器,于 2002 年开始开发。2017 年,开发分为两个版本,称为'Gazebo'(原始单片架构)和'Ignition'(已转变为松散耦合库的现代化集合)。在 2022 年因使用'Ignition'名称而出现商标障碍后,Open Robotics 借此机会更改了版本名称,将原始分支命名为'Gazebo Classic',将新的现代分支命名为'Gazebo'。
Gazebo Classic 集成了 ODE 物理引擎、OpenGL 渲染以及传感器模拟和执行器控制的支持代码。
Gazebo Classic 可以使用多种高性能物理引擎,例如 ODE、Bullet 等(默认为 ODE)。它提供包括高质量照明、阴影和纹理在内的逼真环境渲染。它可以模拟'看到'模拟环境的传感器,例如激光测距仪、相机(包括广角)、Kinect 风格的传感器等。
对于 3D 渲染,Gazebo Classic 使用 OGRE 引擎。
首先要确保本地语言支持 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
sudo apt install software-properties-common
sudo add-apt-repository universe
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
sudo apt update && sudo apt upgrade
# 完整安装
sudo apt install ros-humble-desktop
# 精简安装
sudo apt install ros-humble-ros-base
建议安装桌面版 (desktop) 最全最通用,但也可以选择基础版(基础版不包含图形界面库)
sudo apt install ros-dev-tools
rosdep 是 ROS2 中的一个命令行工具,主要用于自动安装和管理软件包的系统依赖项,它帮助开发者避免手动安装各种库和依赖包。暂时不配置也不会影响 ROS2 的使用。
# 开始配置
sudo rosdep init
# 更新
rosdep update
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
查看是否生效
grep "humble" ~/.bashrc
终端一:
ros2 run demo_nodes_cpp talker
终端二:
ros2 run demo_nodes_py listener
ros2 humble 默认是使用 gazebo Fortress
sudo apt-get update
sudo apt-get install lsb-release wget gnupg
# 官网最推荐的安装方式
sudo apt-get install ros-${ROS_DISTRO}-ros-gz
sudo apt install ros-humble-gazebo-ros-pkgs
ign gazebo shapes.sdf
该问题可能是 VMware 对 OpenGL3.3 的支持存在问题导致的。
方法一:VMware 中对相应虚拟机关闭 3D 加速
方法二:禁用 OpenGL3.3,回退到使用 OpenGL2.1【失败,放弃】
echo "export SVGA_VGPU10=0" >> ~/.bashrc

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online