Isaac Sim 仿真机器人urdf文件导入
本教程展示如何在 Omniverse Isaac Sim 中导入 urdf
一. 使用内置插件导入urdf
- 安装urdf 插件
方法是转到“window”->“Extensions”
搜索框中输入urdf, 并启用
- 通过转至Isaac Utils -> Workflows -> URDF Importer菜单来访问 urdf 扩展。
表格中的 1,2,3 对应着上图中的1,2,3 位置说明
导入选项
-
Merge Fixed Joins-合并固定关节:合并由固定关节连接的链接,以便关节仅应用于移动的关节。合并的框架仍将显示为它们合并到的父框架的子框架。
-
Replace Cylinders with Capsules-固定底座链接:选中后,机器人的底座将固定在世界坐标中的位置。
-
Fix base link-导入惯量张量:直接从 urdf 检查负载惯量。如果 urdf 未指定惯性张量,则将使用恒等式并按比例因子进行缩放。如果未选中,Physx 将自动计算。非对角惯性矩阵分量将用于计算主轴表示以及对角线。
-
Stage Units Per Meter- 每米舞台单位:Omniverse Kit 默认长度单位是厘米。您可以在此处设置比例因子以匹配 URDF 中使用的单位。目前,URDF 导入器仅支持统一的全局缩放。scale在未来的版本中将可以对不同的轴和特定的网格部分应用不同的缩放(即使用URDF 网格标签下的参数)。如果您scale的 URDF 中有一个参数,您可能需要手动调整 URDF 中的其他值,以便所有参数都采用相同的单位。
-
Link Density 链接密度:如果链接没有给定质量,则使用此密度(以 Kg/m^3 为单位)根据链接体积计算质量。值 0.0 也可用于告诉物理引擎自动计算密度。
-
Joint Drive Type-关节驱动类型:默认关节驱动类型,值可以是None、Position和Velocity。
-
Joint Drivre Strenght-关节驱动强度:驱动强度是位置驱动的关节刚度,或速度驱动关节的阻尼。
-
Joint Position Damping-关节位置驱动阻尼:如果驱动类型设置为位置,则这是使用的默认阻尼值。
-
Clear Stage-清除舞台:选中后,在加载新的 URDF 之前清理舞台,否则将其加载到位置(0,0,0)的当前打开舞台上
-
Normals Subdivision-法线细分:网格法线细分方案。如果导入的网格包含创作的法线,请选择“无”以避免覆盖它们。
-
Convex Decomposition -凸面分解:如果选中,碰撞对象将成为一组凸面网格,以更好地匹配视觉资源。否则将使用凸包。
-
Self Collision -自碰撞:启用相邻链接之间的自碰撞。如果碰撞网格在接头处相交,可能会导致不稳定。
-
Collision From Visuals-来自视觉的碰撞:如果碰撞没有被创作为自己的网格,请选中此选项以使用视觉网格来定义碰撞器。
-
Create Physics Scene-创建物理场景:在舞台上创建默认物理场景。由于该物理场景是在机器人资产外部创建的,因此不会将其加载到由机器人资产组成的其他场景中。
-
Create Instanceable Asset -创建可实例化资源:选择此选项可创建具有可实例化网格的资源。这对于包含同一机器人的多个实例的场景非常有用(例如强化学习任务)。
-
Instanceable USD Path-输出目录:导入资产的目的地。它将创建一个文件夹结构,其中包含机器人资源和用于渲染的所有纹理。您必须具有对此目录的写入权限
让我们指定要导入 Franka 的设置:
选中“修复基本链接”和“仅创建物理场景”旁边的框。
将舞台单位每米设置为1.0,这意味着资源将以米为单位导入
将关节驱动类型设置为“位置”
将关节驱动强度和关节位置驱动阻尼设置为10000000.0和100000.0
将输出目录设置为存储资产的位置(核心或本地)
您必须对用于导入的输出目录具有写入权限,它将默认为当前打开的阶段,请根据需要更改此设置
导入urdf 文件
在导入选项卡下的文件输入文件框中,导航到所需的文件夹,然后选择所需的 URDF 文件。在此示例中,我们将使用 Franka panda_arm_hand.urdf文件,该文件包含在该扩展附带的内置 URDF Files/robots/franka_description/robots文件夹中。
单击“IMPORT ”按钮 将机器人添加到舞台。
可视化碰撞网格
可视化碰撞网格,并非所有刚体都需要具有碰撞属性,并且碰撞网格与视觉网格相比通常是简化的网格。因此,您可能需要可视化碰撞网格以进行检查。要在任何视口中可视化碰撞:
选择:视口左上角的眼睛图标。
选择:Show By Type。
选择:Physics。
选择:Colliders。
选择 All 。
如果您要导入移动机器人,您可能需要更改以下设置
取消选中修复基本链接
将关节驱动类型设置为速度驱动
将关节驱动强度设置为所需的水平。请注意,这将作为关节的阻尼参数导入。在速度驱动模式下,关节刚度始终设置为 0。
相关文章:

Isaac Sim 仿真机器人urdf文件导入
本教程展示如何在 Omniverse Isaac Sim 中导入 urdf 一. 使用内置插件导入urdf 安装urdf 插件 方法是转到“window”->“Extensions” 搜索框中输入urdf, 并启用 通过转至Isaac Utils -> Workflows -> URDF Importer菜单来访问 urdf 扩展。 表格中的 1,2,3 对应着…...

Python 实现Excel和CSV之间的相互转换
通过使用Python编程语言,编写脚本来自动化Excel和CSV之间的转换过程,可以批量处理大量文件,定期更新数据,并集成转换过程到自动化工作流程中。本文将介绍如何使用第三方库Spire.XLS for Python 实现: 使用Python将Exc…...

【GitHub精选项目】短信系统测试工具:SMSBoom 操作指南
前言 本文为大家带来的是 OpenEthan 开发的 SMSBoom 项目 —— 一种用于短信服务测试的工具。这个工具能够发送大量短信,通常用于测试短信服务的稳定性和处理能力。在合法和道德的范畴内,SMSBoom 可以作为一种有效的测试工具,帮助开发者和系统…...

【Filament】立方体贴图(6张图)
1 前言 本文通过一个立方体贴图的例子,讲解三维纹理贴图(子网格贴图)的应用,案例中使用 6 张不同的图片给立方体贴图,图片如下。 读者如果对 Filament 不太熟悉,请回顾以下内容。 Filament环境搭建绘制三角…...

SpringBoot 3.2.0 结合Redisson接入Redis
依赖版本 JDK 17 Spring Boot 3.2.0 Redisson 3.25.0 工程源码:Gitee 集成Redis步骤 导入依赖 <properties><redisson.version>3.25.0</redisson.version> </properties> <dependencies><dependency><groupId>org.pr…...

C++ 比C语言增加的新特性 5 之字符串string
1. c 的string类型 1.1 创建和初始化字符串 string.cpp #include "iostream" #include <string>using namespace std;//创建和初始化字符串 int main() {// 初始化空字符串string emptyString;// 使用字符串字面量初始化字符串string greeting "hello, …...
【第2讲】原理介绍和权限开通
系列文章目录 第1讲:Python环境的下载和安装第2讲:免费开通权限第3讲:1行代码,自动发正文第4讲:1行代码,自动发正文+附件第5讲:自动批量发送第6讲:1行代码,自动下载邮件的附件提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录…...
C++ opencv-3.4.1 提取不规则物体的轮廓
在学习opencv的时候,对一张照片,需要标注照片上物体的不规则轮廓。 如图: 使用opencv进行物体的轮廓处理,关键在于对照片的理解,前期的照片处理的越好最后调用api出来的结果就越接近理想值。 提取照片中物体分如下三步ÿ…...

ServletConfig对象.
是什么 ServletConfig是javax.servlet.包下的一个接口,ServletConfig它是Servlet的一个配置对象; ServletConfig是由tomcat容器创建,通过init方法传入给Servlet; ServletConfig对象如何获取? 在GenericServlet里面定义了&#x…...

jQuery实现框里画面的展开、收起和停止
jQuery实现框里画面的展开、收起和停止 主要用到动画效果中的三个操作: (“id”).slideDown(3000); // 后面的数字表示效果的时长 (“id”).stop(); (“id”).slideUp(3000); 效果图 代码如下: <!DOCTYPE html> <html lang"en…...

less 查看文本时,提示may be a binary file.See it anyway?
解决办法 首先使用echo $LESSCHARSET查看less的编码 看情况设置less的编码格式(我的服务器上使用utf-8查看中文) 还要特别注意一下,Linux中存在的文本文件的编码一定要是utf - 8;(这一步很关键) 例如:要保证windows上传到Linux的…...

H266/VVC帧内预测编码技术概述
预测编码技术 预测编码(Prediction Coding)是指利用已编码的一个或多个样本值,根据某种模型或方法,对当前的样本值进行预测,并对样本真实值和预测值之间的差值进行编码。 视频中的每个像素看成一个信源符号ÿ…...
重组蛋白表达系统的比较-卡梅德生物
一、重组蛋白表达是什么? 重组蛋白表达是通过基因工程手段将目标蛋白基因导入宿主细胞,使其表达出特定的蛋白。该过程包括以下步骤: 1. 构建表达载体:将目标蛋白基因插入表达载体中,通常选择带有启动子、终止子和选择…...

【Java、Python】获取电脑当前网络IP进行位置获取(附源码)
我相信看到这篇博客的时候心里肯定是想解决自己的一个问题的,而这篇博客我就以简单快速的方式解决这些烦恼! 一、获取当前IP 在Java中自带了一些自己的流对象来获取当前的IP地址,不多说我们直接上代码。 //获取当前网络ip地址 ipAddress Ine…...

接口测试学习笔记
文章目录 认识urlhttp协议接口规范Postman实现接口测试设计接口测试用例使用软件发送请求并查看响应结果Postman 自动关联Postman如何提交multipart/form-data请求数据Postman如何提交查询参数Postman 如何批量执行用例单接口测试Postman 断言Postman参数化 接口测试自动化requ…...

一起玩儿物联网人工智能小车(ESP32)——14. 用ESP32的GPIO控制智能小车运动起来(二)
摘要:本文主要讲解如何使用Mixly实现对单一车轮的运动控制。 下面就该用程序控制我们的小车轮子转起来了。打开Mixly软件,然后单击顶部“文件”菜单中的“新建”功能,我们来开启一个新程序的开发工作。 我们的工作同样是先从最简单的开始&am…...

[PyTorch][chapter 8][李宏毅深度学习][DNN 训练技巧]
前言: DNN 是神经网络的里面基础核心模型之一.这里面结合DNN 介绍一下如何解决 深度学习里面过拟合,欠拟合问题 目录: DNN 训练常见问题 过拟合处理 欠拟合处理 keras 项目 一 DNN 训练常见问题 我们在深度学习网络训练的时候经常会遇到下面…...

Nginx快速入门:实现企业安全防护|nginx部署https,ssl证书(七)
0. 引言 之前我们讲到nginx的一大核心作用就是实现企业安全防护,而实现安全防护的原理就是通过部署https证书,以此实现参数加密访问,从而加强企业网站的安全能力。 nginx作为各类服务的统一入口,只需要在入口处部署一个证书&…...

将Go语言开发的Web程序部署到K8S
搭建K8S基础环境 如果已经有K8S环境的同学可以跳过,如果没有,推荐你看看我的《Ubuntu22加Minikue搭建K8S环境》,课程目录如下: Ubuntu22安装Vscode 下载:https://code.visualstudio.com/Download 安装命令&#…...
Python发送数据到Unity实现
Unity设置: 打开Unity项目。创建一个空的GameObject,并附加一个新的脚本TCPReceiver using System.Net; using System.Net.Sockets; using System.Text; using UnityEngine; using System.Threading;public class MyListener : MonoBehaviour {Thread thread;pub…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...