설치하는 법
아이작심 설치는 4번 참고 보고 했다.
리눅스 버전이긴 하지만 윈도우와 크게 차이나지 않는다.
튜토리얼
Isaac Sim interface
시작하기
* 판은 면적으로 움직임
* 선은 라인으로 움직임
속성 패널
1번째: 움직임
2번째: 각도
3번째: 크기
로컬 및 세계 좌표 전환
뷰포트 탐색
스테이지 및 속성 패널 사용
* 디폴트 라이트는 도형을 끄고, 켤 수 있습니다. 시각효과
작업공간 사용자 정의
*창(window)
요약
이 튜토리얼에서는 다음 주제를 다루었습니다.
- Omniverse Isaac Sim에서 애플리케이션을 개발하기 위한 다양한 워크플로우
- 각 워크플로를 사용하여 예제 실행
Isaac Sim workflow
GUI
환경설정
스테이지 속성 설정
물리 장면 만들기
create-> Physics-> Physics Scene
MBP Broadphase
: 수백 개의 강체와 로봇을 시뮬레이션하지 않는 한(GPU->MBP)
접지면 추가
여기서는 기본으로 그리드가 나왔는데,
여기서 그리드 안 보이게 바꿀 수 있다.
조명
- 지상 평면이 아직 없는 경우 추가하여 빛의 반사를 볼 수 있습니다. 만들기 > 물리학 > 지표면 .
- Create > Light > Sphere Light 로 이동합니다 .
- 위로 이동하고 7단위 위로 이동하여 X 및 Y축 회전을 무효화하여 뒤집어 놓습니다.
- 속성 탭 내에서 기본 > 색상 에서 색상 막대를 클릭하고 원하는 색상을 선택하여 색상을 변경하세요.
- 강도 Main > Intensity를 1e6 으로 변경합니다 .
Main > Radius 를 0.05 로 , Shaping -> cone:angle 에서 스폿 범위를 45도로 제한 하고 Shaping -> cone:softness 에서 스포트라이트의 가장자리를 0.05로 부드럽게 만듭니다.
새 스포트라이트를 더 쉽게 볼 수 있도록 속성 탭으로 이동하여 Main > Intensity를 300 으로 설정하여 기본 조명의 강도를 줄입니다 .
* defaultlight는 모든 스테이지에 기본입니다. 인발런에 위치 해 있습니다.
* 번외
* 번외
요약
이 튜토리얼은 물리 시뮬레이션 및 Omniverse Isaac Sim 테스트에 적합한 가상 세계를 생성하는 일련의 단계를 시작합니다. 다루는 주제는 다음과 같습니다.
- 지상 평면, 조명, 물리 장면을 추가합니다.
간단한 개체 추가
USDE 작업하기
간단한 물체 조립
캐릭터 및 셋트 추가
대화형 스크립트
오브젝트
OmniGraph: 일람 작지
개발 도구
Isaac Sim 환경 템플릿
프로젝트 노트북
Visual Studio Code로 대본
OmniGraph: Python 스크립트
OmniGraph: 사용자 정의 Python 노드
사용자 정의 함수: C++
OmniGraph: 사용자 정의 C++ 노드
해석 API
안녕하세요 세계
헬로월드
키티클릭 차기
매네먼트리 문서 차기
언리 문서 차기
언리 작업
데이터 트리
장면 설정
URDF 가져오기
URDF 내보내기
MJCF 가져오기
ShapeNet 임포트 툴툴리안
리강 로봇
조인트 스크라이브 게임 튜닝
새 조작기 차기
로봇 외과적 조립
모션 설정
툴팁 토큰 설명 편집자
툴팁 RMPflow
툴팁 RRT
Lula 운동학 살행
툴팁 계획 살행기
새 조작기에 대한 RMPflow 구성
OmniGraph: 편애 물리스 컨트롤 노드
툴팁 모션
ROS / ROS 2
ROS 툴킷 (Linux에만 해당)
ROS 2 툴킷 (Linux 및 Windows)
URDF 가져오기: Turtlebot
ROS2 데시지네이트 함께 TurtleBot 구동
ROS2 개발가
카메라 데이터 시스
ROS2 시계
RTX 라이더 센서
ROS2 방화 터널 및 오도메트리
ROS2 네비게이션
다중 로봇 ROS2 네비게이션
ROS2 공동 제어: 환경 Python 스크립트
모빌 오토
툴킷의 애플리케이션의 ROS2 브리지
ROS 2 Python 사용자 정의 메시지
분할 홀드 생김기능 사용한 ROS 2 탈생
ROS 2 사용자 정의 C++ OmniGraph 노드
NVIDIA Isaac ROS GEM과의 인터페이스
멥핑
정맵 지도 생성
환경 모드
시작하기
정맵 지도 생성
정맵 지도 생성을 위해 Physx Lidar와 RTX Lidar 사용
요약
추가 항목
아이작 체육관
게임 및 시작하기
OmniIsaacGymEnvs에서 새 RL 에제 사용
RL용 환장 외력툴
RL에 대한 데미의 운작원리
Isaac Gym 미리보기 텔레스에 시정책 전송
텔레스 시작하기
인스턴스한 가능한 자산
안정적인 기술셋을 사용하는 사용자 정의 데미
안정적인 기술셋을 사용한 강화 학습
아이작 제도
복제기
게임 및 시작하기
황성 데이터 리퀘스터
오오리언 데이터 세트 생성
오픈AI 제대
Replicator Composer(더 이상 사용되지 않음)
오오리언 자체 정형 황성 데이터 생성
황성 데이터를 이용한 물건 자체 정형 모델링
SceneBlox를 사용한 황성 생성
아이작 시뮬레이션 황성 데이터 생성
작물 감지 황성 데이터 생성
시뮬레이션의 무작위화 - AMR 트랙
시뮬레이션의 무작위화 - UR10 팔레타이징
데이터 증대
무작위화 조건
유용한 조건
플러그인
Isaac Cortex: 개요
네트워크 설정자
도착 예: Peck 게임
연습: Franka 물속 스테이션
연습: UR10 쓰레기통 쌓기
ROS 동기화(Linux에만 해당)
Cortex 기반 황성 구축
Isacc Sim : NVIDIA Omniverse Platform의 robotics simulation toolkit이다.
Omniverse Kit : Omniverse 에서 제공하는 SDK로 Omniverse application과 microservice를 만드는 데 사용되는 toolkit이다.
Omniverse Nucleus : Isaac Sim은 NVIDIA Omniverse™ Nucleus를 사용하여 환경 및 로봇용 USD 파일과 같은 컨텐츠에 액세스한다. 옴니버스 핵 서비스는 옴니버스 아이작 심에서 가상 세계의 표현을 공유하고 수정할 수 있는 다양한 클라이언트 애플리케이션, 렌더러 및 마이크로 서비스를 제공한다.
USD(Universal Scene Description) : Pixar에서 만든 오픈소스 3D scene을 나타내는 파일 포맷이다.
USD에 대한 더 디테일한 사용법은 아래 링크를 참고한다.
https://developer.nvidia.com/usd/tutorials#prims
Xform : Omniverse에 있는 물체들의 위치를 설명하는 요소들을 말한다.
Isacc sim의 더 디테일한 world 혹은 환경 제작 툴은 아래 링크를 참고한다.
https://docs.omniverse.nvidia.com/app_create/app_create/overview.html
Rigid Body with Colliders Preset : 물체에 Rigid Body API와 Collision API를 연결해준다.(둘 중 하나만 연결하는 것도 가능하다)
OmniPBR : 유전체 및 비유전체 재료용 다중 로브 물리적 기반 재료
Omniverse의 자세한 Material 정보는 아래 링크를 참고한다.
https://docs.omniverse.nvidia.com/app_create/prod_materials-and-rendering/materials.html
Collect Asset : Nucleus에서 특정 asset(로봇이나 물체들)을 옮기면서 프로젝트를 하다보면 파일이 사라질 경우(missing or broken)가 생길 수 있다. 이때 scene에 있는 정보(라이브러리, 물체 정보 등)를 저장해주는 방식이다. 자세한 설명은 아래 링크를 참고한다.
https://docs.omniverse.nvidia.com/app_create/prod_extensions/ext_collect.html
Isaac Sim Workflows
GUI : Isaac Sim의 GUI를 사용하는 방법으로, World 제작, 로봇 조립, 센서 부착, ROS Bridge 시작등을 진행할 때 사용하기 편하다.
Extensions : GUI를 추가적으로 개발하거나, 개인적으로 작성한 application module 실행 혹은 실시간성이 보장되어야 하는 application이 필요할 때 사용하기 편하다.
Extension에 대한 추가 정보는 아래 링크를 참고한다.
https://docs.omniverse.nvidia.com/prod_extensions/prod_extensions/overview.html
Standalone Python : 대형 환경에서의 RL 혹은 simulation step이 조정되어야 하는 world 생성 및 수정에 사용하기 좋다. (Jupyter 및 ROS를 사용한다)
Interactive Scripting
Script Editor : Omniverse Kit 내부에 연결 된 Python editing 환경이다. Script를 실행하면 state를 수정할 수 있다.
REPL(Read-Evalutate-Print Loop) Extension : IPython과 Jupyer Notebook과 같이 programming shell을 통해 시뮬레이션 환경과 상호작용 할 수 있는 기능이다. (리눅스만 가능하다)
Core API : Omniverse Kit을 사용하여 모든 작업을 Python으로 작성할 수 있지만, 조금 더 쉬운 작업을 위해 모아둔 API이다.
Tips
튜토리얼 시작 전 Nucleus를 실행하여 로그인 해두자.
Issac Sim은 ROS1 Bridge가 default로 실행되어 있으니, ROS2를 사용하기 위해서는 ROS1을 끄고 해야한다.
ROS2 Joint Control 튜토리얼에서 Franka Panda Robot는 omniverse://localhost/NVIDIA/Assets/Isaac/2022.1/Isaac/Robots/Franka/ 경로에 있는 franka_alt_fingers.usd 파일을 원본으로 열어야 된다. Asset에서 가져오면 안된다.
Isaac_tutorial 등 ROS와 관련 된 패키지들은 ~/.local/share/ov/pkg/isaac_sim-2022.1.0/ros2_workspace 경로에 있다. 만약 기존 ros ws가 있다면, 내부 패키지들을 복사해서 가져와 사용하면 된다.
Turtlebot 예제를 할 때는 Use path 를 uncheck 하는 것, Target을 통해 Prim을 추가해주는 걸 잊지 말자.
ROS2 Joint Control 튜토리얼에서 Joint state publish, Subscribe 노드에서 targetPrim을 추가하는 걸 잊지말자.
'2023 > isaac sim' 카테고리의 다른 글
Ubuntu (Source) vs(Binary) (0) | 2024.01.16 |
---|---|
(Xavier) SDK 5.12/20.04 Nitro ROS (0) | 2024.01.16 |
(window) humble #2 (0) | 2024.01.13 |
(window) humble #1 (0) | 2023.12.26 |
(window) humble #0 (0) | 2023.12.26 |