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…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
