手把手教你使用NVIDIA Isaac Sim进行机器人仿真①
首先,为什么要用Isaac Sim进行仿真?俗话说一图胜千言,那视频得胜万言了,我们直接上NVIDIA官方视频:
https://images.nvidia.cn/cn/youtube-replicates/VW-dOMBFj7o.mp4
最直接的感受就是照片级的仿真画面,以及与AI算法的集成,硬件加速、基于开源的USD格式……
行了,视频已经胜万言了,话不多说。让我们一起来一步一步做出类似视频里的效果吧。
首先简单说一下开发环境。Isaac Sim是基于NVIDIA Omniverse 平台的一个工具,因此需要首先安装Omniverse,Isaac Sim及Omniverse对硬件有一定要求,特别是显卡,具体可以参考官网:
1. Isaac Sim Requirements — Omniverse Robotics documentation
此次教程中的开发环境:
硬件:
CPU:Intel Core i7
GPU:RTX 3080
RAM:32GB
Storage:SSD
软件:
Ubuntu 20.04
NVIDIA Omniverse 1.6.10
Isaac Sim 2022.1.1
Blender 3.4.0
步骤:
官网下载Omniverse Launcher并安装:
2. Basic Isaac Sim Installation — Omniverse Robotics documentation
安装好之后,启动Omniverse Launcher。
为便于大家快速找到重点,教程中的图片用蓝色线、框对关键信息进行了标记。
在EXCHANGE栏可以找到Isaac sim。可以找到版本信息以及安装或启动按钮,安装之后在LIBRARY栏也可以快速找到并启动Isaac sim:
启动之后,会有各种模式的选项,我们现在选择默认选项即可:
这就是启动之后的界面啦:
今天的教程我们使用的素材是经典的开源模型:NEOR mini,通过下面的GitHub就可以下载,只需下载车身和一个车轮即可:
neor_mini/mini_sim18_ws/src/neor_mini/meshes at Melodic · COONEO/neor_mini · GitHub
因为Isaac sim目前并不支持直接导入STL格式的文件,因此我们需要先进行格式转换,这里就要用到另一款强大的开源软件Blender:
启动Blender,删掉默认的立方:
首先我们看看Blender支持导入的格式,这里可以看到其支持USD格式导入:
并且也支持导出USD格式,所以我们也可以直接导出USD格式,大家可以试试。今天我们介绍导出为另一种格式。
首先导入车身STL文件:
然后导出为.obj格式。
同样的,导入并导出车轮的相应文件。
回到Isaac sim,我们首先建立一个Ground plane, 其拥有碰撞属性。
接下来导入已转换好格式的车身文件:
这里我们可以看到Isaac sim目前支持导入的格式:
导入NEOR mini车身:
接着导入车轮:
车轮导入后需要将其移动到合适的位置,下边框选的参数可以作为参考,第一个车轮调试好之后,其它的车轮就比较简单了,首先选中第一个车轮,复制一个:
然后移动到合适的位置,只需调整X轴的参数即可:
接着再次选中第一个车轮,再复制一个:
然后移动到合适的位置,这里主要的区别是车轮进行了翻转:
复制刚刚调整好的车轮:
向前移动, 与前边的车轮对齐就可以了:
在调整的时候需要注意这里有两种坐标模式:全局和局部。黄颜色小点时为局部坐标系,在这一坐标系下调整位置会比较方便。
到这里,小车的几何形状就呈现出来啦。
接下来我们给其赋予物理属性。如下图,选中车身和全部车轮,右键,依次选择Add > Physics > Rigid Body with Colliders Preset。
然后我们把小车移动到地面之上,顺便看看整体效果:
NVIDIA Isaac Sim进行机器人仿真
接着我们选择左边栏的播放键,看看会有什么现象:
NVIDIA Isaac Sim机器人仿真
可以看到小车已经具有重力和碰撞的物理属性。那怎么让小车跑起来呢?我们先来把个部件的名称规范一下,双击各部件名字就可以修改名称。
然后我们依次选中车身和左后轮,右键,如下图所示依次选择Create > Physics > Joints > Revolute Joint。
软件会配置一些参数,但需要进行确认和调整旋转方向:
同样的方式将车身与另外三个车轮进行Revolute Joint的添加:
参考相应参数:
上面只是添加了物理上的关联,接下来我们还需要添加驱动才能让小车动起来,选中四个Revolute Joint,右键,依次选择Add > Physics > Angular Drive。
接下来我们需要对两侧的两组车轮分别进行速度和阻尼的设置:
至此,小车就可以跑起来啦
NVIDIA Isaac Sim机器人仿真 添加驱动
既然Isaac sim的特点之一就是照片级的仿真以及实时渲染,那我们就来对小车的外观进行一下美化,我们直接上材质。在视窗下方的选项中可以找到材质栏,里边已经有NVIDIA内置的一些材质,我们可以在左边的列表中选择金属,选择一个拖动到车身上就可以看到效果啦:
在左边列表选择塑料材质, 选择其中一个拖动到车轮上:
这就是整体效果啦
来试试其它材质,并且加入场景:
NVIDIA Isaac Sim机器人仿真 效果①
这个效果比较接近NEOR mini的真车效果:
NVIDIA Isaac Sim机器人仿真 效果②
让NEOR mini在里面逛逛吧:
NVIDIA Isaac Sim机器人仿真 运行效果①
NVIDIA Isaac Sim机器人仿真 运行效果②
本期的分享就到这里啦,模型的创建/导入有多种方式,今天主要对其中一种方式进行了分享,不足之处,敬请提出意见和建议。欢迎大家一起交流机器人研发的经验与心得。
创作不易,如果喜欢这篇内容,请您也转发给您的朋友,一起分享和交流创造的乐趣,也激励我们为大家创作更多的机器人研发攻略,让我们一起learning by doing!
手把手教你使用NVIDIA Isaac Sim进行机器人仿真①相关推荐
- Nvidia Isaac Sim ROS机器人仿真和AMR开发环境
效果非常赞. ☞ 2020年最好的机器人学仿真工具软件汇总_zhangrelay的博客-CSDN博客_机器人仿真软件 由 Omniverse 提供支持的 NVIDIA Isaac Sim 是一种可扩展 ...
- 手把手教你备份 nvidia jetson agx xavier 系统(亲测有效、超详细)
手把手教你备份 nvidia jetson agx xavier 系统(亲测有效.超详细) 此版本适合小白,网上虽然很多教程,但是对于超级小白来说还是有点粗略了,教程奉上! 文章目录 手把手教你备份 ...
- 石头机器人拖地水量调节_宅小秘课堂:手把手教你如何用好石头扫地机器人T6...
[CNMO评测]从上架众筹到如今,石头扫地机器人T6已经亮相有一段时间,宅小秘作为提前拿到产品的科技编辑(嘚瑟的插会腰),在这期间里,将石头扫地机器人T6作为家中清扫的主力机.随着众筹结束以及各大平台 ...
- 手把手教你安装nvidia显卡驱动
首先先查一下自己的显卡型号: 看到我的显卡是GeForce GTX 1050 在官方下载网站:https://www.nvidia.cn/Download/index.aspx?lang=cn 找到对 ...
- 【超详细】【ubunbu 22.04】 手把手教你安装nvidia驱动,有手就行,隔壁家的老太太都能安装
目录 前言 一.英伟达官网下载驱动 二.更新软件列表和安装必要软件.依赖 三.禁用默认驱动 四.进入tty模式 1.关闭图形界面进入tty模式 2.进入tty以后需要输入用户名和密码登录. 3.禁用X ...
- 手把手教你制作一个简单的聊天机器人(图灵api)
前言:在无聊的时候打打游戏.听听歌还不如来找个人来陪你聊天,今天来教大家制作一个聊天机器人,这样就不会无聊了,在线聊天机器人地址借愁哥哥机器人(可能有点丑,大家将就一下 (
- “夸夸群”5分钟20块?!手把手教你定制一款专属夸夸机器人
大数据文摘出品,转载请联系大数据文摘公众号 作者:李雷.蒋宝尚 最近你有没有被各种"夸夸群"刷屏? 彻底将"夸夸群"引爆的,是一个女生在微博上讲述的男友赠送三八 ...
- 手把手教你配置 免费 开源的qq机器人框架--mirai
Mirai是一个免费开源高效率 支持全平台的qq机器人框架 应广大网友的需求,今天就来给大家安排教程啦 麻烦来点评论点赞 ~嘿嘿嘿 自己不想折腾的也可以使用我的"你的专属机器人 小染同学&q ...
- 怎么用Matlab搭建PID控制器,手把手教你设计PID控制器 | 内附MatLab仿真
EDA365欢迎您登录! 您需要 登录 才可以下载或查看,没有帐号?注册 x 本帖最后由 HelloEE 于 2019-11-25 17:15 编辑 8 E9 J7 _8 ?! v7 M9 f0 C5 ...
最新文章
- 一个小灯泡引发大论战:千万粉丝科普up主翻车,伊朗“唐马儒”、李永乐等下场,30万公里导线引百万网友围观...
- Eclipse中使用git前账号密码等的配置问题
- 使用jQuery for Asp.Net 我的开发环境配置
- 为什么选择Java?Java具体好在哪?
- Docker镜像由于代理问题导致不能下载的解决办法
- vb6 由于超出容量限制 不能创建新事务_分布式限流?你也能轻松玩转(没啥新技术)...
- page.ClientScript.RegisterStartupScript
- c++ 高效解析url算法
- Hdu - 1002 - A + B Problem II
- freemarker ftl文件简单语法整理
- win7 插入鼠标自动禁用触摸板
- 子群的陪集-》群的拉格朗日定理
- eclipse设置背景图片(并非更换主题)
- Vue安装必要插件element-ui插件及axios依赖(详细)
- 只需四天,从零开始选购笔记本电脑【转】【荐】
- python绘制爱心气球_婚房布置气球爱心教程-婚房气球布置心形方法简单【蜜匠婚礼】...
- CF1282 B 背包
- Pytorch机器学习(六)——YOLOV5中的自适应图片缩放letterbox
- python求平均值,python 怎么求平均值
- 华为运营商级路由器配置示例 | 配置OptionB方式跨域BGP VPLS示例(ASBR兼做PE)