gazebo软件创造.world文件。

news2024/11/17 23:37:00

        Gazebo可以创造数据。在Gazebo中创建一个机器人世界,不仅可以仿真机器人的运动功能,还可以仿真机器人的传感器数据。

背景:我是个新接触ros2的小白,变学习试用成功后分享狭窄的片面知识,必然不全,请多包含。

目录

1. Gazebo模型来源

1.1 Solidworks模型导入Gazebo

     1.2 把官方库直接下载到本地gazebo模型库中

     1.3 自己创建模型加入到模型库中

2. 自己创建一个带摄像头的小车模型加入到模型库中,然后导出world文件。

步骤一:把官方库直接下载到本地gazebo模型库中

步骤二:自己创建一个带摄像头的小车模型。

步骤三:小车模型加入到模型库中, 点击 Add Path, 添加模型路径;然后直接在Insert 找到自己画的模型,点击 放到场景中。

步骤四:File -> Save World As 保存到 自己想要保存的位置。

步骤五:查看自己刚才保存的world文件。

步骤六:在原有的world 增加模型

步骤七:让场景动起来。


1. Gazebo模型来源

1.1 Solidworks模型导入Gazebo

.urdf

https://www.cnblogs.com/vcan123/p/14264202.htm

Solidworks制作单体模型(无关节)并导入gazebo方法_惟岸可居的博客-CSDN博客

solidworks 导出双足机器人urdf及在rviz、gazebo中的可视化 - 知乎

.stl

Gazebo导入SolidWorks模型_MAVER1CK的博客-CSDN博客

     1.2 把官方库直接下载到本地gazebo模型库中

https://gitee.com/shu-peixuan/gazebo_models
https://blog.csdn.net/qq_42758421/article/details/109876276?spm=1001.2014.3001.550

$ cd /home/xxx_name/.gazebo/models
$ git clone https://gitee.com/shu-peixuan/gazebo_models.git

     1.3 自己创建模型加入到模型库中

2. 自己创建一个带摄像头的小车模型加入到模型库中,然后导出world文件。

步骤一:把官方库直接下载到本地gazebo模型库中

步骤二:自己创建一个带摄像头的小车模型。

参考官方文档,我是利用页面翻译看的中文,嘿嘿。
https://classic.gazebosim.org/tutorials?tut=guided_b3&cat=
它保存成了/home/xxx_name/model_editor_models/

其中,可以看到其他模型中全都是model. config和model.sdf

步骤三:小车模型加入到模型库中, 点击 Add Path, 添加模型路径;然后直接在Insert 找到自己画的模型,点击 放到场景中。

步骤四:File -> Save World As 保存到 自己想要保存的位置。

假如/home/xxx_name/worlds/my_world.world

步骤五:查看自己刚才保存的world文件。

$ gazebo /home/xxx_name/worlds/my_world.world

顺便看看 model.sdf 和 my_world.world 长的不一样的地方

步骤六:在原有的world 增加模型

结合我自己之前学的 《ros2内结合gazebo和rviz进行yolov8检测记录》

https://blog.csdn.net/we34dfg/article/details/131448587?spm=1001.2014.3001.5502
此时不去联合之前的pathfinder,https://github.com/hcdiekmann/ultralytics_ros2,只是利用gazebo去在原来的YOLO.world, 里去添加一些别的小部件,先不改它自带的launch,
项目就剩下yolo检测和rviz显示了。
添加一些别的小部件步骤:

$ gazebo /home/xxx_name/worlds/YOLO.world
# Insert 其它想要的模型 
# File -> Save World 

重新编译 ros2 下的包,然后运行识别

$ colcon build
$ . install/setup.bash
$ ros2 launch ultralytics_ros2 yolov8.launch.py

步骤七:让场景动起来。

再新起终端输入:

$ ros2 run teleop_twist_keyboard teleop_twist_keyboard

就在这个终端界面按键盘上的字符可以控制小车或者机器人的移动。

其他的gazebo 的参数的了解。
●Gazebo Tutorials
https://classic.gazebosim.org/tutorials
https://classic.gazebosim.org/tutorials/browse
● 制作移动机器人
https://classic.gazebosim.org/tutorials?tut=build_robot&cat=build_robot
https://classic.gazebosim.org/tutorials?tut=attach_meshes&cat=build_robot
https://classic.gazebosim.org/tutorials?tut=camera_save&cat=sensors传感器
https://classic.gazebosim.org/tutorials?tut=friction&cat=physics   摩擦力
https://classic.gazebosim.org/tutorials?tut=building_editor&cat=build_world 2D 视图,3D 视图
https://classic.gazebosim.org/tutorials?tut=color_model&cat= 颜色和纹理模型
https://classic.gazebosim.org/tutorials?tut=ros_overview&cat=connect_ros 教程:ROS 集成概述
https://classic.gazebosim.org/tutorials?tut=ros_control&cat=connect_ros 教程:ROS 控制
https://classic.gazebosim.org/tutorials?tut=ros_depth_camera&cat=connect_ros 将 Gazebo 深度相机与 ROS 结合使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/727173.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高精度算法

&#xff08;一&#xff09;算法笔记 &#xff08;二&#xff09;算法的代码 2.1 大数加法的运算 #include<iostream> #include<vector> using namespace std;vector<int> add(vector<int> &a,vector<int> &b){if(a.size()<b.size(…

vue3+elementui-plus实现一个接口上传多个文件

首先&#xff0c;先使用element-plus写好上传组件&#xff0c;变量的定义我在这里就省略了都 <el-form-item prop"file" label"附件"><el-uploadstyle"width:100%"class"upload-demo"dragref"upload-demo"action&…

aardio - 【库】printer打印操作库

封装一些常用的绘图、文本功能&#xff0c;可以方便的进行打印。 绘制单位为毫米&#xff0c;精确度为0.01毫米。 库文件下载&#xff1a; http://chengxu.online → aardio资源下载 → printer.rar 打印效果&#xff1a; 示例代码&#xff1a; import console; impor…

在Django中使用xlrd读取excel表格数据

目录 方法一&#xff1a;按行读取 方法二&#xff1a;按表头与表数据一一对应的关系 方法三&#xff1a;按列的方式读取 之前有说到如何在Django中读取数据库数据写入到excel中 今天来说说如何读取excel中的数据&#xff0c;&#xff08;读取后就可以写入到数据库中了&#…

大数据分析平台选型全攻略:关注这五点绝不会错过!

大数据时代&#xff0c;选择适合的大数据分析平台已然成为企业成功的关键条件之一。企业在选择大数据分析平台时需要关注平台的适用性、可扩展性、可靠性、易用性和价格等五个方面。同时&#xff0c;需要结合自身的业务需求和预算进行综合考虑&#xff0c;这样才能在众多的大数…

ubuntu常用软件安装、异常处理

1.ubuntu更换源 打开以下文件&#xff1a; sudo gedit /etc/apt/sources.list 在文件中添加如下内容 #中科大源 deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main re…

在SpringBoot中整合RabbitMQ(19版idea)

首先呢就需要我们在RabbitMQ的可视化端口创建一个虚拟机,我创建的为 xm 1.创建SpringBoot项目 到这里SpringBoot项目就创建成功了 2.创建测试类 Testpublic void testConnection() throws Exception {//1.创建连接工厂ConnectionFactory factory new ConnectionFactory…

MySQL高级整理

MySQL体系结构 Client Connectors&#xff1a; 接入方支持的协议。Management Serveices & Utilities&#xff1a; 系统管理和控制工具&#xff0c;mysqldump、 mysql复制集群、分区管理等。Connection Pool&#xff1a; 连接池&#xff0c;管理缓冲用户连接、用户名、密码…

IPv6 学习笔记

文章目录 一、概念和现状二、适用场景三、地址分配四、检查是否连接到IPv6网络五、查询本机的IPv6地址六、访问IPv6资源的方法 一、概念和现状 IPv6是英文“Internet Protocol Version 6”&#xff08;互联网协议第6版&#xff09;的缩写&#xff0c;是互联网工程任务组&#x…

原型链与作用域链

在 JavaScript 中使用构造函数来新建一个对象的&#xff0c;每一个构造函数内部都有一个 prototype 属性&#xff0c;属性值是一个对象&#xff0c;这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当使用构造函数新建一个对象后&#xff0c;在这个对象的内部将包含…

electron打包exe桌面项目打开控制台

阿丹&#xff1a; 之前一直在写web项目&#xff0c;按F12开发控制台很方便但是。现在项目涉及到了桌面的应用这就需要在打包的过程中进行书写配置文件main中添加指令来在app加载完成后打开控制台&#xff0c;这样方便我们寻找报错。 打开方式1 因为使用的工具是electron所以找…

Kubernetes中Pod的调度策略

Kubernetes中Pod的调度策略 1、Pod调度 在 Kubernetes 平台上&#xff0c;我们很少会直接创建一个 Pod&#xff0c;在大多数情况下会通过 RC、Deployment、 DaemonSet、Job 等控制器完成对一组 Pod 副本的创建、调度及全生命周期的自动控制任务。 在最早的 Kubernetes 版本…

【动态规划算法练习】day17

文章目录 一、474. 一和零1.题目简介2.解题思路3.代码4.运行结果 二、879. 盈利计划1.题目简介2.解题思路3.代码4.运行结果 三、377. 组合总和 Ⅳ1.题目简介2.解题思路3.代码4.运行结果 四、96. 不同的二叉搜索树1.题目简介2.解题思路3.代码4.运行结果 总结 二维费用的背包问题…

5分钟了解制造核心5大系统的联系

本篇&#xff0c;我们来快速了解一下制造行业核心的5大系统MES、ERP、WMS、PLM和SCADA究竟有怎么样的关系&#xff0c;它们是如何连接的。 上图粗略描述了MES、ERP、WMS、PLM和SCADA五大系统之间的连接关系。 不过&#xff0c;我们先从ERP系统开始&#xff0c;因为这是大部分制…

前端Vue自定义精美底部操作栏导航栏工具栏 可用于电商购物车底部导航

随着技术的发展&#xff0c;开发的复杂度也越来越高&#xff0c;传统开发方式将一个系统做成了整块应用&#xff0c;经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改&#xff0c;造成牵一发而动全身。通过组件化开发&#xff0c;可以有效实现单…

Python实现PSO粒子群优化算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 PSO是粒子群优化算法&#xff08;Particle Swarm Optimization&#xff09;的英文缩写&#xff0c;是一…

java中CompletableFuture异步编程详解以及实践案例

文章目录 一、CompletableFuture的使用1、 创建CompletableFuture的方式2、 获得异步执行结果3、 对执行结果进行处理4、对执行结果进行消费5、异常处理6、 两组任务按顺序执行7、 两组任务谁快用谁8、 两组任务完成后合并9、 多任务组合 二、一个使用CompletableFuture异步编排…

【算法】区间合并类题目总结

文章目录 重叠区间&#xff1a;452. 用最少数量的箭引爆气球解法1——左边界排序解法2——右边界排序 无重叠区间&#xff1a;435. 无重叠区间解法1——左边界排序解法2——右边界排序 合并区间&#xff1a;56. 合并区间左边界排序这题为什么不能按照右边界排序&#xff1f;其实…

【数据结构与算法】图课后习题

题目 下面一共有七道有关图的课后习题&#xff0c;全部都是思路画图题并不是算法设计题故在此就一起列举出来了~ 1. 已知如下图所示的有向图&#xff0c;请回答下面几个问题 每个顶点的入/出度&#xff1b;邻接矩阵&#xff1b;邻接表&#xff1b;逆邻接表&#xff1b;强连通…

Hugging Face应用——图像识别

利用人工智能解决音频、视觉和语言问题。音频分类、图像分类、物体检测、问答、总结、文本分类、翻译等均有大量模型进行参考。 Eg1: 图像识别 图像分类是为整个图像分配标签或类别的任务。每张图像预计只有一个类别。图像分类模型将图像作为输入并返回有关图像所属类别的预测…