当前位置: 首页 > news >正文

Nvidia Isaac Sim机械臂实验

Prerequisite:电脑要有显卡

使用平台,Windows 2011(下载Isaac Sim 4.5 大约6.5G) + WSL(安装Ubuntu 22.04)

参考第一个链接进行。中间可能会遇到几个问题:

1:WSL闪退或者WSL无法安装Ubuntu

可以先在终端CMD中运行WSL,另外也可能是需要上外网。

安装wsl时报如下错,

无法从“https://raw.githubusercontent.com/microsoft/WSL/master/distributions

还可能需要配置DNS如下。

首选DNS:8.8.8.8(Google DNS)
备用DNS:114.114.114.114(国内DNS)或223.5.5.5(阿里DNS)

然后分别使用如下命令安装和启动Ubuntu

wsl --install -d Ubuntu-22.04-LTS
wsl -d Ubuntu-22.04

2:不能选择humble库

Isaac Sim目录下cmd运行 isaac.selector.bat后,可能出现如图

原因:可能需要先在WSL Ubuntu环境中安装ROS2,并做相关配置。

安装ROS Ubuntu (deb packages) — ROS 2 Documentation: Humble documentation

3:导入SO-ARM中urdf文件失败

按照参考链接第一个操作,会失败,报下面runtime callback错误,

File "c: /program1/isaac-sim/extscache/isaacsim.asset,importer.urdf-2.3.10+106.4.0.wx64.r.cp310/isaacsim/asset/importer
/urdf/scripts/commands.py",line 145,in do
return self._urdf interface.import_robot(
<class 'RuntimeError'> Used null prim2025-07-23 08:53:49[69,851ms][Error] [omni.ui.python] RuntimeError:Accessed invalid null prim
At:c: /program1/isaac-sim/extscache/isaacsim,asset.importer,urdf-2.3.10+106.4.0.wx64.r.cp31@/isaacsim/asset/importer/urdfscripts/extension.py(594):_load robotc:/program1/isaac-sim/extscache/isaacsim,asset,importer.urdf-2.3.10+106.4.0.wx64.r.cp31e/isaacsim/asset/importer/urdfscripts/extension.py(459):overwrite_callback

导入官方链接GitHub repo的

Simulation/SO101/so101_new_calib.urdf

则能成功。https://github.com/TheRobotStudio/SO-ARM100/tree/main

安装ROS2

基本按照这个官方指导 ROS 2 Installation — Isaac Sim Documentation

其中,完全按照这个指导来部署环境 ROS 2 Installation — Isaac Sim Documentation

导入成功后,一开始会看到三维坐标,稍后(等待下载)会看到金色的机械臂,就基本大功告成了。

剩下的,

1. 添加Graph Controller组件并且连线 (参照第一条博文链接)

2:在Ubuntu中添加控制程序,执行即可(代码COPY第二条博文链接)

//按照提示 1——6选择机械臂,A/D选择远近操作,观察机械臂。

参见以下几篇博文

如何在 Isaac Sim 中导入和控制 SO100Arm Kit-CSDN博客

Isaac Sim 5 与 ROS2 机械臂仿真教程 - DEV Community

你的AI机器人开发第一课:从Isaac Sim仿真开始_哔哩哔哩_bilibili

Install WSL | Microsoft Learn

Enable Virtualization on Windows - Microsoft Support

http://www.lryc.cn/news/598965.html

相关文章:

  • Linux命令基础完结篇
  • Mysql大数据架构设计:当表中数据超过800万时,对数据表进行分表操作,以及分页查询优化详解
  • C++STL系列之set和map系列
  • Node.js 中的内置模板path
  • 【时时三省】(C语言基础)怎样定义和使用指向函数的指针变量
  • 北京-4年功能测试2年空窗-报培训班学测开-第五十九天-模拟面试前
  • io_uring:Linux异步I/O的革命性突破
  • Web前端开发:JavaScript reduce() 方法
  • 亚马逊云科技:以云为翼,助你翱翔数字新天空
  • 【高等数学】第五章 定积分——第三节 定积分的换元法和分部积分法
  • Zookeeper的分布式事务与原子性:深入解析与实践指南
  • 暑假集训篇之并发处理①练习题
  • C语言转义字符‘\\‘‘ 解析与常见误区
  • SAP全自动化工具开发:Excel自动上传与邮件通知系统
  • Python字典get方法使用解析
  • Spring之SSM整合流程详解(Spring+SpringMVC+MyBatis)
  • Windows上用于跨平台开发的环境工具
  • 数据集成难在哪?制造企业该怎么做?
  • 神经网络实战案例:用户情感分析模型
  • DPO:大语言模型偏好学习的高效方案
  • 平时遇到的错误码及场景?404?400?502?都是什么场景下什么含义,该怎么做 ?
  • 前端性能新纪元:Rust + WebAssembly 如何在浏览器中实现10倍性能提升(以视频处理为例)
  • Linux 磁盘挂载,查看uuid
  • OpenCV图像插值、边缘填充、图像掩膜、噪声消除实战指南
  • Effective Python 第16条:用get处理字典缺失键,避免in与KeyError的陷阱
  • 100条SQL语句分类精讲:从基础到进阶的实操指南
  • OpenGL绘制正方形、错误处理、统一变量、索引缓冲区
  • tcp基础协议
  • node.js中的path模块
  • MySQL深度理解-MySQL索引优化