用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
运维.售后
›
运维.售后
›
ubuntu 22 安装 ros2 humble + Gazebo
ubuntu 22 安装 ros2 humble + Gazebo
不到断气不罢休
金牌会员
|
2025-3-8 00:13:13
|
显示全部楼层
|
阅读模式
楼主
主题
971
|
帖子
971
|
积分
2913
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
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 [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
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
复制代码
报错处理
context mismatch in svga_surface_destroy
该题目大概是VMware对OpenGL3.3的支持存在题目导致的。
方法一:VMware中对相应捏造机关闭 3D 加快
方法二:禁用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企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
不到断气不罢休
金牌会员
这个人很懒什么都没写!
楼主热帖
Spark的一些重要概念
从SAP ECC升级到SAP S4HANA, 几个Key P ...
手绘地图深度解析:类型、风格、功能、 ...
数据库设计员工管理系统
【Redis高手修炼之路】初学Redis——概 ...
MySQL触发器
19.HVV溯源
物联网无线数传通信模块设备常见的几种 ...
【高效学数据库】第一范式、第二范式、 ...
用Python计算从1到500之间偶数的和 ...
标签云
运维
CIO
存储
服务器
浏览过的版块
数据仓库与分析
Nosql
快速回复
返回顶部
返回列表