gazebo 导入从blender导出的dae等文件
背景: gazebo 模型库里的模型在我需要完成的任务中不够用,还是得从 solidworks、3DMax, blender这种建模软件里面在手动画一些,或者去他们的库里面在挖一挖。
目录
1 blender
1-1 blender 相关links
1-2 install
2 gazebo导入模型
2-1 gazebo导入模型文件类型主要有三种
2-2 blender创建红色小方格后导出
2-2-1 blender创建红色小方格
2-2-2 导出三种模式
2-2-2-1 制作world文件
2-2-2-2 gazebo 导入.dae
2-2-2-3 gazebo 导入.obj :与.dae流程效果一模一样
2-2-2-4 gazebo 导入.stl
2-3 blender创建小方格贴图后导出
2-3-1 观察.gazebo/models/ 里的摆放
2-3-2 把自己的数据整理成标准的样式
2-4 blender导入网上模型资产库,再导出三种模式文件
1 blender
Blender是一款免费开源三维图形图像软件,提供从建模、动画、材质、渲染、到音频处理、视频剪辑等一系列动画短片制作解决方案。
1-1 blender 相关links
1. Blender3.5建模入门教程_超细节100集课程 :https://www.bilibili.com/video/BV1fb4y1e7PD/
2. Blender官方说明:
https://docs.blender.org/manual/zh-hans/2.91/getting_started/index.html
3. Blender3D建模模型素材下载网 :https://blenderco.cn/
1-2 install
sudo apt install blender
2 gazebo导入模型
2-1 gazebo导入模型文件类型主要有三种
1. .dae
- 能带形状和颜色。
- 翻越模型库,最多存在的,至少占半数以上。
2. .obj + .mtl
- 能带形状和颜色。
- 存在比较少。
3. .stl
- 只能带形状,需要各个部位保存成不同的stl文件,然后到gazebo里面model edit在二次编辑。
- 存在数量居中。
当然,blender 也能导出这三种的和其他种类的文件。
2-2 blender创建红色小方格后导出
在blender创建一个红色的小方格然后导出(.dae、.obj + .mtl、 .stl)三种类型的文件在gazebo里保存成sdf的模型文件。
2-2-1 blender创建红色小方格
- 打开blender
- 界面变成中文显示 : 编辑 -> 偏好设置 -> 界面(翻译(简体中文))
- 添加一个立方体 :位于上侧,依次点击: 添加 -> 网格 -> 立方体
- 染色红色 :位于右侧,依次点击: 材质 -> +号 -> 基础色设为红色
2-2-2 导出三种模式
mkdir cube_01 && cube_01 && touch cube_red.world && tree ./cube_01
../cube_01 ├── cube_red.dae ├── cube_red.mtl ├── cube_red.obj ├── cube_red.stl └── cube_red.world
2-2-2-1 制作world文件
- https://blog.csdn.net/qq_39433050/article/details/107099404?spm=1001.2014.3001.5506
<?xml version="1.0"?>
<sdf version="1.7">
<world name="default">
<include>
<uri>model://sun</uri>
</include>
<include>
<uri>model://ground_plane</uri>
</include>
<model name="cube_red">
<pose>0 0 0 0 0 0</pose>
<static>true</static>
<link name="basic">
<visual name="visual">
<geometry>
<mesh><uri>file:///xxx/cube_01/cube_red.dae</uri></mesh>
</geometry>
</visual>
</link>
</model>
</world>
</sdf>
2-2-2-2 gazebo 导入.dae
gazebo ./cube_01/cube_red.world
点击: file -> Save -> cube_red_dae
tree ./cube_01
./cube_01 ├── cube_red.dae ├── cube_red_dae │ ├── model.config │ └── model.sdf ├── cube_red.mtl ├── cube_red.obj ├── cube_red.stl └── cube_red.world
点击:Insert -> Add Path ->
2-2-2-3 gazebo 导入.obj :与.dae流程效果一模一样
2-2-2-4 gazebo 导入.stl
与.dae流程效果大致相同,只是在Edit Model 后在gazebo 添加颜色, stl 不带颜色信息。
2-3 blender创建小方格贴图后导出
打开blender
- 界面变成中文显示 : 编辑 -> 偏好设置 -> 界面(翻译(简体中文))
- 添加一个立方体 :位于上侧,依次点击: 添加 -> 网格 -> 立方体
- 添加材质 :位于右侧,依次点击: 材质 -> +号 -> 新建
- 左下方 -> 打开着色器编辑器 -> 拽图片到下方编辑区 -> 连接节点
- 导出
后续步骤和2-2-2 一模一样
2-3-1 观察.gazebo/models/ 里的摆放
/xxx/.gazebo/models/cafe ├── materials │ └── textures │ ├── __auto_10.jpg │ ├── __auto_21.jpg ├── meshes │ └── cafe.dae ├── model.config └── model.sdf
2-3-2 把自己的数据整理成标准的样式
.dae
./cube_02/cube_anime_dae ├── materials │ └── textures │ └── anime.jpeg ├── meshes │ └── cube_anime.dae ├── model.config └── model.sdf
./cube_02/cube_anime_dae/model.sdf
<?xml version='1.0'?> <sdf version='1.7'><model name='cube_anime'> ...<visual name='visual'><geometry><mesh> <uri>/home/wyc/ytj-temp/notebook/python/cube_02/cube_anime_dae/meshes/cube_anime.dae</uri> <--- 修改绝对路径</mesh></geometry>...</model> </sdf>
.obj
./cube_02/cube_anime_obj ├── materials │ └── textures │ └── anime.jpeg ├── meshes │ ├── cube_anime.mtl │ └── cube_anime.obj ├── model.config └── model.sdf
<?xml version='1.0'?> <sdf version='1.7'><model name='cube_anime_obj'>... <visual name='visual'> <geometry> <mesh> <uri>/home/wyc/ytj-temp/notebook/python/cube_02/cube_anime_dae/meshes/cube_anime.obj</uri> <--- 修改绝对路径 </mesh> </geometry> ...</model> </sdf>
2-4 blender导入网上模型资产库,再导出三种模式文件
- 打开blender
- 界面变成中文显示 : 编辑 -> 偏好设置 -> 界面(翻译(简体中文))
- 网上下载想要的模型 -> 放到指定位置解压
- 编辑 -> 偏好设置 -> 文件路径 -> 资产库 -> +号 -> 选择路径
- 左下方 -> 资产浏览器 -> 选择模型拽到试图区
- 导出
后续步骤和2-2-2 一模一样
相关文章:

gazebo 导入从blender导出的dae等文件
背景: gazebo 模型库里的模型在我需要完成的任务中不够用,还是得从 solidworks、3DMax, blender这种建模软件里面在手动画一些,或者去他们的库里面在挖一挖。 目录 1 blender 1-1 blender 相关links 1-2 install 2 gazebo导入模型 2-1 g…...

目标检测YOLOv3基于DarkNet53模型测试-笔记
目标检测YOLOv3基于DarkNet53模型测试-笔记 预测和试测结果: 预测代码如下所示: testInsects.py #YOLOv3网模型测试-单图片文件测试并显示测试结果 import time import os import paddle import numpy as np import cv2 import random from PIL impor…...
Unity项目中查找所有使用某一张图片的材质球,再查找所有使用材质球的预设
废话少说,直接上代码。 using UnityEditor; using UnityEngine;public class FindDependencies : MonoBehaviour {static bool m_bIsSaveFile false;static TextWriteHelper m_szMaterialList new TextWriteHelper();static TextWriteHelper m_szPrefabList new…...

postman接口测试中文汉化教程
想必同学们对于接口测试工具postman的使用并不陌生,以及最近大为流行的国产工具apifox。对于使用过的同学来说,两者区别以及优缺点很容易别展示出来,postman相比apifox来说更加轻量,但是apifox更加符合国人的使用习惯....中国人给…...

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver的解决办法
springcloudAlibaba项目连接mysql时(mysql版本8.0.31,Springboot2.2.2,spring cloud Hoxton.SR1,spring cloud alibaba 2.1.0.RELEASE),驱动名称报红,配置如下: 原因:引入的jdbc驱动包和使用的m…...

认识所有权
专栏简介:本专栏作为Rust语言的入门级的文章,目的是为了分享关于Rust语言的编程技巧和知识。对于Rust语言,虽然历史没有C、和python历史悠远,但是它的优点可以说是非常的多,既继承了C运行速度,还拥有了Java…...

恒盛策略:怎样看k线图实图详解如何看懂k线图?
K线图是股票剖析中常用的一种图表,它能够反映一段时间内股票价格的变化状况,对于股票投资者来说非常重要。但是,由于k线图并不是很好理解,很多投资者并不知道怎样看懂它。那么,咱们就从多个视点来看看怎样看k线图实图&…...

物联网的定义、原理、示例、未来
什么是物联网? 物联网 (IoT) 是指由嵌入传感器、软件和网络连接的物理设备、车辆、电器和其他物理对象组成的网络,允许它们收集和共享数据。这些设备(也称为“智能对象”)的范围可以从简单的“智能家居”设备(如智能恒温器)到可穿戴设备(如智能手表和支持RFID的服…...

Vue 整合 Element UI 、路由嵌套和参数传递(五)
一、整合 Element UI 1.1 工程初始化 使用管理员的模式进入 cmd 的命令行模式,创建一个名为 hello-vue 的工程,命令为: # 1、目录切换 cd F:\idea_home\vue# 2、项目的初始化,记得一路的 no vue init webpack hello-vue 1.2 安装…...

Git全栈体系(四)
第七章 IDEA 集成 Git 一、配置 Git 忽略文件 1. Eclipse 特定文件 2. IDEA 特定文件 3. Maven 工程的 target 目录 4. 问题 4.1 为什么要忽略他们? 与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。 4.2 …...

数据结构初阶--二叉树的链式结构
目录 一.二叉树链式结构的概念 二.二叉树链式结构的功能实现 2.1.链式二叉树的定义 2.2.链式二叉树的构建 2.3.链式二叉树的遍历 2.3.1.先序遍历 2.3.2.中序遍历 2.3.3.后序遍历 2.3.4.层序遍历 2.4.链式二叉树的求二叉树的结点数量 法一:计数法 法二&a…...
Taro UI中的AtTabs
TaroUI 中的 AtTabs 是一个用于创建标签页(tab)组件的组件。它提供了一种简单的方式来切换显示不同的内容。 AtTabs 的使用方式如下: 首先,引入 AtTabs 组件和必要的样式: import { AtTabs, AtTabsPane } from taro-ui import taro-ui/dis…...
ChatGPT FAQ指南
问:chatgpt 国内不开放注册吗? OpenAI不允许大陆和香港用户注册访问 openai可以的,chatGPT不行 以下国家IP不支持使用 中国(包含港澳台) 俄罗斯 乌克兰 阿富汗 白俄罗斯 委内瑞拉 伊朗 埃及 问:ChatGPT和GPT-3什么关系? GPT-3是OpenAI推出的AI大语言模型 ChatGPT是在G…...

在矩池云使用ChatGLM-6B ChatGLM2-6B
ChatGLM-6B 和 ChatGLM2-6B都是基于 General Language Model (GLM) 架构的对话语言模型,是清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同发布的语言模型。模型有 62 亿参数,一经发布便受到了开源社区的欢迎,在中文语义理解和对话生成上有…...

7.2 手撕VGG11模型 使用Fashion_mnist数据训练VGG
VGG首先引入块的思想将模型通用模板化 VGG模型的特点 与AlexNet,LeNet一样,VGG网络可以分为两部分,第一部分主要由卷积层和汇聚层组成,第二部分由全连接层组成。 VGG有5个卷积块,前两个块包含一个卷积层,…...
docker安装ES
拉取镜像文件 sudo docker pull elasticsearch:7.12.0 创建容器挂载目录 sudo mkdir -p /home/elasticsearch/config sudo mkdir -p /home/elasticsearch/data sudo mkdir -p /home/elasticsearch/plugins elasticsearch.yml http.host: 0.0.0.0 创建容器 sudo docker r…...

python爬虫实战(2)--爬取某博热搜数据
1. 准备工作 使用python语言可以快速实现,调用BeautifulSoup包里面的方法 安装BeautifulSoup pip install BeautifulSoup完成以后引入项目 2. 开发 定义url url https://s.微博.com/top/summary?caterealtimehot定义请求头,微博请求数据需要cookie…...
k8s的Namespace详解
简介 在一个K8s集群中可以拥有多个命名空间,它们在逻辑上彼此隔离 namespaces是对一组资源和对象的抽象集合,比如可以将系统内部的对象划分为不同的项目组或用户组 K8s在集群启动之后,会默认创建几个namespace默认namespace defaultÿ…...

【Redis】Redis内存过期策略和内存淘汰策略
【Redis】Redis内存过期策略和内存淘汰策略 文章目录 【Redis】Redis内存过期策略和内存淘汰策略1. 过期策略1.1 惰性删除1.2 周期删除1.2.1 SLOW模式1.2.2 FAST模式 2. 淘汰策略 1. 过期策略 Redis本身是一个典型的key-value内存存储数据库,因此所有的key、value都…...
技术干货 | cilium 原理之sock_connect
1.背景 在集群网络使用cilium之后,最明显的情况就是:服务暴露vipport,在集群内怎么测试都正常,但集群外访问可能是有问题的。而这就在于cilium所使用的ebpf科技。 2.引子:curl请求的路程 相对底层一点的语言…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...