ubuntu 22 安装 ros2 humble + Gazebo
1 ROS2 Humble 介绍https://i-blog.csdnimg.cn/direct/250e8419ec3e4e4490dfcedd07fcfd42.png
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 的代码需要举行重大的现代化改造,同时有机会从单片架构转变为疏松耦合库的集合。
https://i-blog.csdnimg.cn/direct/e5e3f4a290fe4a15a34c49cae22d45cb.png
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/
https://i-blog.csdnimg.cn/direct/4ed4cbc4f5a74a4885fe5fc3729044ae.png
3 ubuntu 22 安装 ros2 humble
设置locale
首先要确保本地语言支持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
添加ROS2密钥
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 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
sudo apt update && sudo apt upgrade
// 完整安装
sudo apt install ros-humble-desktop
// 精简安装
sudo apt install ros-humble-ros-base
发起安装桌面版(desktop)最全最通用,但也可以选择基础版(基础版不包含图形界面库)
安装其他ROS工具
sudo apt install ros-dev-tools
配置rosdep
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
4 ubuntu 22 安装 Gazebo
ros2 humble默认是使用 gazebo Fortress
https://gazebosim.org/docs/latest/ros_installation/
更新源+安装基础工具
sudo apt-get update
sudo apt-get install lsb-release wget gnupg
安装
// 官网最推荐的安装方式
sudo apt-get install ros-${ROS_DISTRO}-ros-gz
安装单独运行gz指令工具
sudo apt install ros-humble-gazebo-ros-pkgs
测试
ign gazebo shapes.sdf
https://i-blog.csdnimg.cn/direct/b3c5d092f7724ec3937b790e0c4940f5.png
报错处理
context mismatch in svga_surface_destroy
该题目大概是VMware对OpenGL3.3的支持存在题目导致的。
方法一:VMware中对相应捏造机关闭 3D 加快
https://i-blog.csdnimg.cn/direct/09e26bf764144dca839cc0d8b91de257.png
方法二:禁用OpenGL3.3,回退到使用OpenGL2.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企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]