Isaac Sim 机器人仿真器介绍、安装与 Docker [1]
前言与参考
此文书写于: January 6, 2023, 更新于 January 6, 2023 ;可能会随着时间的变化 此教程会有过时概念哦
Isaac Sim 相关参考链接:
- 官方文档地址
- 官方docker image 镜像地址
- 官方讨论 论坛链接,建议没啥事就可以逛逛,看问题和回答也是件很有意思的事
本篇主要是根据参考1,相当部分文字直接翻译而来
Test computer and System:
- Desktop setting: i9-12900KF, GPU 3090, CUDA 11.3
- System setting: Ubuntu 20.04, ROS noetic (Python 3.8)
Introduction 介绍
Isaac Sim是什么勒?是一个针对于机器人的仿真器;之前我有写过一系列的CARLA仿真器教程,而这里为什么要新开仿真器呢?主要就是CARLA的定位是针对于室外无人驾驶的,而Isaac Sim更多针对于室内的机器人系列,包括AGV, 车上带个机械臂,其实更靠近 CoppeliaSim VREP 的使用方向。
官方截图
既然介绍到了仿真器,那一口气都说一下好了 【我和小伙伴已知的】:
Some simulators for robotics or autonomous driving scenarios
- CARLA focus on autonomous driving 无人驾驶场景;http://carla.org/
- CoppeliaSim focuses on robotics 机器人场景;https://www.coppeliarobotics.com/ 【usually on Robotic Arms 机械臂常用】
- Isaac Sim focuses on robotics 机器人场景;https://developer.nvidia.com/isaac-sim
- Issac Gym is the same as the above one but has more RL setting here; 同上,RL环境更多;https://developer.nvidia.com/isaac-gym
- RaiSim focuses on robotics 机器人场景, official introduction: a cross-platform multi-body physics engine for robotics and AI;https://raisim.com/
Isaac Sim背靠NVIDIA 英伟达!所以对比与coppeliasim 它对于传感器和世界的仿真更更为真实一点【我没非常仔细对比过 说错了不怪我 纯肉眼看的感觉】,然后是对于GPU的支持,只要GPU到位 仿真收数据速度什么的都应该可以很快
官方介绍翻译:
Isaac Sim 具有构建虚拟机器人世界和实验的基本功能。它为研究人员和从业者提供了创建稳健、物理上准确的模拟和合成数据集所需的工具和工作流程。Isaac Sim 通过 ROS/ROS2 支持导航和操作应用程序。它模拟来自 RGB-D、激光雷达和 IMU 等传感器的传感器数据,用于各种计算机视觉技术,例如域随机化、地面实况标记、分割和边界框。
开发工作流程图
从图里能看出来 整个workflow,UI、Python API、ROS等 均可以通信
看官方文档 应该是熟悉一下UI 比如添加物品之类的
本机环境
Install 安装
点击Download,然后填写信息后就可以选择下载Window or Linux了,安装完成后进入Running 运行部分;前提提要 安装显卡及显卡驱动,详情点击此文字 见博客
2. Workstation Installation - Omniverse Robotics documentation
此为Ubuntu示例,WIndow内置有nvidia官方拍的视频
下载 Download the Omniverse Launcher.
安装运行 Install Omniverse Launcher
sudo chmod +x omniverse-launcher-linux.AppImage
./omniverse-launcher-linux.AppImage
下载 Isaac Sim;如图 【全UI操作】 下载 Isaac Sim 需要 7.49G
Running 运行
如图 安装完成后会出现 isaac sim 然后点一下launch,然后再按个start;后续可以从LIBRARY处点击launch
右键随便加了一个圆锥 顺便截图有指明显存耗的情况【显示器是1080p的】
Docker及云端
Install 安装
3. Container Installation - Omniverse Robotics documentation
Docker 安装见 详情点击此进入对应博客文章
如下 需要像dockerhub一下注册账号等
docker login nvcr.io
docker pull nvcr.io/nvidia/isaac-sim:2022.2.0
然后呢 需要用 Omniverse Streaming Client 来进行窗口展示
注意如果是服务器!!大部分服务器为了安全着想 只会开几个固定端口进行链接,所以一定要确保自己以下端口打开并可以连接:
Should the host be located on the infrastructure of a third-party Cloud provider,
it may additionally be required that the following ports be opened, and that
firewall rules allow traffic inbound and outbound traffic:
TCP: 47995 to 48012
TCP: 49000 to 49007
TCP: 49100
UDP: 47995 to 48012
UDP: 49000 to 49007
更多可见 官方给的提示,点击此跳转官方网页
Running 运行
因为手头没有可用服务器,所以就展示一下Docker的用法,主要是--net=host
后一切都好办
用image开一个container
docker run --name isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \
-v /usr/share/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json \
-v /usr/share/vulkan/implicit_layer.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json \
-v /usr/share/glvnd/egl_vendor.d/10_nvidia.json:/usr/share/glvnd/egl_vendor.d/10_nvidia.json \
-v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \
-v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \
-v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
-v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
-v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
-v ~/docker/isaac-sim/config:/root/.nvidia-omniverse/config:rw \
-v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \
-v ~/docker/isaac-sim/documents:/root/Documents:rw \
nvcr.io/nvidia/isaac-sim:2022.2.0
唯一一个需要注意的点【因为官方默认的不适配我的环境 上述已经是变了的】 找到自己
nvidia_icd.json
文件地址;可能地址如下:# 官方默认
-v /etc/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json \
-v /etc/vulkan/implicit_layer.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json \ # 我的环境
-v /usr/share/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json \
-v /usr/share/vulkan/implicit_layer.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json \
在container运行一行
# inside container
./runheadless.native.sh
请遵循官方的手册 等到终端打印出 再进行下面的窗口展示 【第一次一般慢一点 官方文字:It may take a few minutes for Isaac Sim to be completely loaded.】
Isaac Sim Headless Native App is loaded.
# 实际上我显示的是这个
[22.315s] app ready
用 Omniverse Streaming Client 来进行窗口展示
然后注意这一步 一开始可能显示的是RTX Loading 就是还在编译 ray tracing shaders,这一点官方也有提示 第一次的时候 一般需要几分钟,比如我的配置 耗时了212s去完成这个显示
The first time loading Isaac Sim will take a while for the shaders to be cached. Subsequent runs of Isaac Sim with be quick once the shaders are cached and the cache is mounted when the container runs.
在如右RTX ready后 随手加了create 两个mesh shape
最后在docker内 窗口好像有点没法变 这一点好像得设置一下 restart 具体见官方链接操作吧
# Default value is set to `1.0`, and can be adjusted for best results:
--/app/window/dpiScaleOverride=1.5
还有docker运行里 随手开了一个example的场景也还行:
总结
以上 为 Isaac 相关介绍啦~ 包括一系列的安装 后续可能再来一个放个小机器人 搞几个传感器 开收数据 差不多就结束了 API可以对着官方文档看就行
赠人点赞 手有余香 ;正向回馈 才能更好开放记录 hhh
Isaac Sim 机器人仿真器介绍、安装与 Docker [1]的更多相关文章
- Rancher介绍安装以及对docker的管理
原文:Rancher介绍安装以及对docker的管理 一.简介 Rancher是一个开源的企业级全栈化容器部署及管理平台.Rancher为容器提供一揽子基础架构服务:CNI兼容的网络服务.存储服务.主 ...
- 微服务分布式电商项目学习笔记(三)---- docker介绍安装以及使用docker安装软件(2020/7/10)
其实在介绍docker的使用和安装之前应该还要介绍虚拟机的安装与配置,以及虚拟网络的配置,但是我使用的是vmware,而视频课使用的是vagrant,这一块我简看的,因此没有过多的介绍,至于vmwar ...
- Docker详细介绍安装与镜像制作和拉取
一.Docker是什么? 产生背景: 开发和运维之间因为环境不同和导致的矛盾(不同的操作系统.软件环境.应用配置等)DevOps 代码.系统.环境.配置等封装成镜像Image--->运维: 集群 ...
- Java篇:Docker的介绍安装 和常用命令
文章目录 为什么 出现docker Docker的简介 容器(Container) 镜像(Image) 仓库(Repository) Docker的安装 查看容器 删除镜像 删除容器 部署应用 以my ...
- Docker系列教程01-Centos7安装新版Docker教程(10步)
最近一直忙于开发,没有时间好好总结一下docker的知识.其实现在docker的教程已经很多很多了,但是很多系统的教程都是基于Ubuntu系统,因为官方推荐使用Ubuntu系统啊,原因在于Ubuntu ...
- 3.Docker安装【Docker每天5分钟】
原文:3.Docker安装[Docker每天5分钟] Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制.该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和云 ...
- 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群,并部署客户端负载均衡和高可用
本文作者系:视野金服工程师 | 吴海胜 首发于 Nebula Graph 论坛:https://discuss.nebula-graph.com.cn/t/topic/1388 一.前言 本文介绍如何 ...
- 介绍一款docker管理工具——portainer
介绍一款docker管理工具--portainer 目录 介绍一款docker管理工具--portainer 1.背景 1.1 管理docker方法上一般有两种 1.1.1 命令行形式 1.1.2 U ...
- JLINK仿真器与ST-LINK仿真器的安装与配置.pdf
JLINK仿真器与ST-LINK仿真器的安装与配置.pdf 工欲善其事,......stm32的开发环境搭建 观看地址 说到仿真器,首先要了解一下JTAG. JTAG协议 JTAG(Joint Te ...
- webpack 介绍 & 安装 & 常用命令
webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...
随机推荐
- CentOS 7.9 安装 Containerd-1.6.5
一.CentOS 7.9 安装 Containerd-1.6.5 地址 https://containerd.io/downloads 在安装containerd前,我们需要优先升级libseccom ...
- 使用request对象进行简单的注册以及信息显示
Request内置对象的使用 概述:request对象主要用于接收客户端发送的请求信息,客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.封装了用户提交的信息.在 ...
- Django之同时新增数据到两个数据库表与同时返回两个表的数据(插拔式)
models:比如有以下三个模型 from django.db import models """ 基类,其他类继承即可获得对应的字段 """ ...
- Shell揭秘——程序退出状态码
程序退出状态码 前言 在本篇文章当中主要给大家介绍一个shell的小知识--状态码.这是当我们的程序退出的时候,子进程会将自己程序的退出码传递给父进程,有时候我们可以利用这一操作做一些进程退出之后的事 ...
- 这才是使用ps命令的正确姿势
这才是使用ps命令的正确姿势 前言 在linux系统当中我们通常会使用命令去查看一些系统的进程信息,我们最常使用的就是 ps (process status).ps 命令主要是用于查看当前正在运行的程 ...
- SQL---ltrim()和rtrim()函数的使用
背景 去除字符串首尾空格大家肯定第一个想到trim()函数,不过在sqlserver中是没有这个函数的,却而代之的是ltrim()和rtrim()两个函数. 看到名字所有人都 知道做什么用的了,ltr ...
- 七、kubernetes污点和容忍
Kubernetes污点和容忍 一.Taint 和 Toleration介绍 节点亲和性,是 pod 的一种属性(偏好或硬性要求),它使 pod 被吸引到一类特定的节点.Taint 则相反,它使节点能 ...
- ubuntu+Django + nginx + uwsgi 部署
ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...
- 剑指offer20题表示数值的字符串:这题实在是太优雅了
目录 前言 一.憨憨初解 1.思路 2.代码 3.战绩 4.反思 二.看懂再解 1.思路 2.代码 3.C++版战绩 总结 前言 题目来源:https://leetcode.cn/problems/b ...
- 当前数据库表空间达到32G,需要扩容
表空间名:cwy_init 操作:给cwy_init增加数据文件,分配5G的空间,达到瓶颈自动增长1G,如下: alter tablespace cwy_init add datafile '/u01 ...