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请求的路程 相对底层一点的语言…...
MySql读写分离部署(一主一从,双主双从,Mycat)
参考资料: 参考视频 参考博客 视频参考资料及安装包: https://pan.baidu.com/s/1xT_WokN_xlRv0h06b6F3yg 提取码: aag3 Mysql主从复制部署指南(一主一从) NotePad++编辑Linux服务器文档 Mysql高版本(8.0及以后)Linux安装 Mysql分库分表(基于Mycat)的基本部署 …...

RKNN3588上部署 RTDETRV2
RT-DETR V2 是由百度研究团队在 2024年 提出的,是其广受好评的实时目标检测模型 RT-DETR 的重大升级版本。它继承了第一代 RT-DETR 利用 Transformer 架构实现端到端目标检测 和 卓越实时性能 的核心优势,并针对模型精度、训练效率和部署灵活性进行了全方…...

【第三十九周】ViLT
ViLT 摘要Abstract文章信息介绍提取视觉特征的方式的演变模态融合的两种方式四种不同的 VLP 模型Q&A 方法模型结构目标函数Whole Word Masking(WWM) 实验结果总结 摘要 本篇博客介绍了ViLT(Vision-and-Language Transformer)…...

【第九篇】 SpringBoot测试补充篇
简介 本文介绍了SpringBoot测试中的五项关键技术:测试类专用属性加载、 测试类专用Bean配置、 表现层测试方法、测试类事务回滚控制、配置文件随机数据设置)。这些技术可以有效隔离测试环境,确保测试数据不影响生产环境,同时提供了…...
湖北理元理律师事务所:法律视角下的债务优化与生活平衡之道
一、债务优化的本质:法律与生活的平衡艺术 债务问题常被视为单纯的财务危机,实则牵涉法律权责界定、还款能力评估、生活保障等多重维度。作为法律服务机构,我们观察到:真正的债务优化需同时满足两个条件: 法律合规性…...

Azure 虚拟机端口资源:专用 IP 和公共 IP Azure Machine Learning 计算实例BUG
## 报错无解 找不到Azure ML 计算实例关联的 NSG .env 文件和 ufw status: .env 文件中 EXPOSE_NGINX_PORT8080 是正确的,它告诉 docker-compose.yaml 将 Nginx 暴露在宿主机的 8080 端口。 sudo ufw status 显示 Status: inactive,意味着宿…...
k8s4部署
configMap configmap概述:数据会存储在etcd数据库,其应用场景主要在应用程序的配置 configmap支持的类型(1)键值对(2)多行数据 pod使用configmap资源有两种常见的方式(1)变量注入&a…...

JVM 核心概念深度解析
最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆 一、JVM内存结构/运行时数据区 JVM运行时数据区主要分为以下几个部分: 程序计数器(PC Register) 线程私有,记录当前线程执行的字节码行号唯…...

编程基础:执行流
能帮到你的话,就给个赞吧 😘 文章目录 执行流同步:顺序执行,只有一个执行流异步:新开后台(次)执行流,后台执行流要确保不能影响主执行流。共有两个执行流。 阻塞:任务阻塞执行流,导致…...

【p2p、分布式,区块链笔记 MESH】 论文阅读 Thread/OpenThread Low-Power Wireless Multihop Net
paperauthorThread/OpenThread: A Compromise in Low-Power Wireless Multihop Network Architecture for the Internet of ThingsHyung-Sin Kim, Sam Kumar, and David E. Culler 目录 引言RPL 标准设计目标与架构设计选择与特性shortcomIngs of RPL设计选择的反面影响sImulta…...