ubuntu 22 安装 ros2 humble + Gazebo

打印 上一主题 下一主题

主题 961|帖子 961|积分 2883

1 ROS2 Humble 介绍


2 Gazebo 介绍

2.1 概述

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引擎。
2.2 发展历程



  • 2002年~2011年,Gazebo 是Player 项目的一部门。
  • 2011年,Gazebo 成为Willow Garage支持的独立项目。
  • 2012年,开源机器人基金会(OSRF) 成为 Gazebo 项目的管理者。OSRF于 2018 年更名为Open Robotics。
  • 2020年1月,Gazebo 11 发布,这是 Gazebo Classic 的最新也是最后一个紧张版本,计划于 2025 年 1 月停止生命周期。Gazebo 之前发布的全部版本也都获得了恒久支持,随着 Gazebo 11.0.0 的发布,Gazebo 9 和 10 也发布了小更新。
  • Gazebo 11 发布后,Open Robotics 将重点转向开发 Ignition,这是一个“旨在简化高性能应用步伐开发的开源软件库集合”,目的受众是机器人开发人员、设计师和教诲工作者。
  • 2019年2月,Ignition 的第一个版本发布。
  • 2022年4月,在一场商标纠纷之后,Ignition 品牌名称退役,并恢复为 Gazebo。Gazebo 的网站将最初的独立 Gazebo 模拟器称为 Gazebo Classic,以区别于 Gazebo。Open Robotics 提到 Gazebo 的代码需要举行重大的现代化改造,同时有机会从单片架构转变为疏松耦合库的集合。

2.3 Gazebo 开发遵照的核心原则



  • 通用性:Gazebo 并不专注于某一范例的机器人。其功能旨在尽大概适用于机器人领域的多种用例。
  • 稳固性:定期向社区提供稳固版本。稳固版本的后续改进力图保持 API、ABI 和举动的向后兼容性。重大更改将在即将发布的版本中发布。
  • 更新:只要有大概,就会将新的向后兼容功能添加到稳固版本中。这样,用户就可以利用新功能,而无需升级到更高版本,并且可以推迟升级工作,直到需要举行重大更改为止。
  • 易用性:默认举动应该对初学者友爱。例如,默认环境下,Gazebo 会开始运行图形界面。高级用户可以无头运行,但需要额外的配置才能实现此举动。
  • 模块化:Gazebo 软件包尽大概独立,以便它们可用于 Gazebo 之外的各种项目。例如,Gazebo Rendering 的用户不需要安装、编译,甚至不需要了解 Gazebo Physics。
  • 可扩展性:用户无需分叉核心库或从源代码编译即可添加功能。例如,可以将新的渲染引擎作为插件加载。
  • 机动性:用户可以在合理的环境下选择启用或停用某些功能。例如,物理学作为插件集成到 Gazebo 中,因此用户可以根据需要加载不带物理学的模拟,大概加载带其他物理学的模拟。
  • 可维护性:在开发过程中,我们会思量代码的恒久可维护性。为此,项目遵照严格的测试、文档、代码查抄和样式标准。
  • 可移植性:Gazebo 支持全部主流操作体系:Linux、macOS 和 Windows。这会影响依赖项的选择方式和功能的实现方式。
2.4 版本对应关系

https://gazebosim.org/docs/latest/ros_installation/

3 ubuntu 22 安装 ros2 humble

设置locale

首先要确保本地语言支持UTF-8
  1. sudo apt update && sudo apt install locales
  2. sudo locale-gen en_US en_US.UTF-8
  3. sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
  4. export LANG=en_US.UTF-8
复制代码
设置源

  1. sudo apt install software-properties-common
  2. sudo add-apt-repository universe
复制代码
添加ROS2密钥

  1. sudo apt update && sudo apt install curl -y
  2. sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
复制代码
添加软件源

  1. 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
复制代码
安装ROS

  1. sudo apt update && sudo apt upgrade
  2. // 完整安装
  3. sudo apt install ros-humble-desktop
  4. // 精简安装
  5. sudo apt install ros-humble-ros-base
复制代码
  发起安装桌面版(desktop)最全最通用,但也可以选择基础版(基础版不包含图形界面库)
  安装其他ROS工具

  1. sudo apt install ros-dev-tools
复制代码
配置rosdep

rosdep是 ROS2中的一个命令行工具,紧张用于主动安装和管理软件包的体系依赖项,它帮助开发者避免手动安装各种库和依赖包。临时不配置也不会影响ROS2的使用。
  1. // 开始配置
  2. sudo rosdep init
  3. // 更新
  4. rosdep update
复制代码
配置环境

  1. echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
  2. source ~/.bashrc
复制代码
查看是否生效
  1. grep "humble" ~/.bashrc
复制代码
测试

终端一:
  1. ros2 run demo_nodes_cpp talker
复制代码
终端二:
  1. ros2 run demo_nodes_py listener
复制代码
4 ubuntu 22 安装 Gazebo

   ros2 humble默认是使用 gazebo Fortress
  https://gazebosim.org/docs/latest/ros_installation/
更新源+安装基础工具

  1. sudo apt-get update
  2. sudo apt-get install lsb-release wget gnupg
复制代码
安装

  1. // 官网最推荐的安装方式
  2. sudo apt-get install ros-${ROS_DISTRO}-ros-gz
复制代码
安装单独运行gz指令工具

  1. sudo apt install ros-humble-gazebo-ros-pkgs
复制代码
测试

  1. ign gazebo shapes.sdf
复制代码

报错处理

context mismatch in svga_surface_destroy

该题目大概是VMware对OpenGL3.3的支持存在题目导致的。
方法一:VMware中对相应捏造机关闭 3D 加快

方法二:禁用OpenGL3.3,回退到使用OpenGL2.1【失败,放弃】
  1. echo "export SVGA_VGPU10=0" >> ~/.bashrc
复制代码
参考

1、官网–Gazebo
2、wiki–Gazebo (simulator)
3、物理引擎–Open Dynamics Engine(ODE)
4、机器人开发–常用仿真软件工具
5、Getting Started with Gazebo?
6、Getting Started with Gazebo?
7、体系ubuntu20.04-ROS2源码安装humble
8、ros2和gazebo
9、Ubuntu22.04安装ROS2 —— ROS2 humble 详细图文教程
10、ROS2-Gazebo

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表