Isaac Sim 仿真机器人urdf文件导入

2023-12-26 14:04

本文主要是介绍Isaac Sim 仿真机器人urdf文件导入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本教程展示如何在 Omniverse Isaac Sim 中导入 urdf

一. 使用内置插件导入urdf

  1. 安装urdf 插件

方法是转到“window”->“Extensions”
在这里插入图片描述
搜索框中输入urdf, 并启用

在这里插入图片描述

  1. 通过转至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文件导入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/539691

相关文章

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Python模块导入的几种方法实现

《Python模块导入的几种方法实现》本文主要介绍了Python模块导入的几种方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录一、什么是模块?二、模块导入的基本方法1. 使用import整个模块2.使用from ... i

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

基于树梅派的视频监控机器人Verybot

最近这段时间做了一个基于树梅派 ( raspberry pi ) 的视频监控机器人平台 Verybot ,现在打算把这个机器人的一些图片、视频、设计思路进行公开,并且希望跟大家一起研究相关的各种问题,下面是两张机器人的照片:         图片1:                   图片2                    这个平台的基本组成是:

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

如何导入sun.misc.BASE64Encoder和sum.misc.BASE64Decoder

右击项目名--->Build Path--->Configure Build Path...--->java Build Path--->Access rules:1 rule defined,added to all librar...   --->Edit --->Add...

mysql中导入txt文件数据的操作指令

1 表tt的格式:    CREATE TABLE `tt` (   `ind` int NOT NULL auto_increment,   `name` char(100) default NULL,   PRIMARY KEY  (`ind`)  )   2 文件d.txt的内容示例:  1,a  2,b  3,c