본문 바로가기

nvidia

(8)
시뮬레이션 하고 싶다. #5-1 [Tensor API-Rigid Body States] #Intro Quadruped Robot 중 하나인 a1을 해석하기 위해서 기본적인 디버깅을 할 수 있어야 하지 않을까 하는 생각에 gym에서는 data가 어떤식으로 흘러가는지 알아보고자 했다. 간단한 예제로 시작하기 위해 기본적으로 제공되는 dof_controls.py를 사용했다. 디렉터리 isaacgym/python/example/dof_controls.py #Dof_controls.py 1) 코드 실행 방법과 결과 (directory 맞추고) python dof_controls.py 2) 코드 열어보기 Line 88~104 : env0-빨간색(red) Line 106~121 : env1-연두색(green) [env2 : 파란색(blue), env3 : 노란색(yellow)] Line 91,92의 c..
시뮬레이션 하고 싶다. #4-2 [Isaac Gym Environments for Legged Robots-Cassie] #Intro 다른 예제인 Cassie를 간략하게 해 봤다. 일전의 Anymal에서 train.py의 명령어 중 task만 조금만 변경하면 바로 된다. #Usage-train.py python train.py --task=cassie 잘 보니까 Total time도 나왔는데 약 17분 정도가 걸린다. #Usage-play.py python play.py --task=cassie 이 외에도 여러 모델들을 지원하니, 한번씩 열람해보는 것도 좋아 보인다.
시뮬레이션 하고 싶다. #4-1 [Isaac Gym Environments for Legged Robots-Anymal] #1 Intro https://github.com/leggedrobotics/legged_gym GitHub - leggedrobotics/legged_gym: Isaac Gym Environments for Legged Robots Isaac Gym Environments for Legged Robots. Contribute to leggedrobotics/legged_gym development by creating an account on GitHub. github.com Nvidia에서 제공하는 다양한 Tutorial을 리뷰하기 앞서, 공동의 목표가 잡힌 Quadruped Robot에 초점을 맞추다가 취리히 공대에서 오픈된 코드를 하나 발견할 수 있었다. 아직은 참조된 논문은 읽어보지 못 했지만,..
시뮬레이션 하고 싶다. #3-2 [Make Custom Gym (Part 2)] #1 Isaac Gym에서 Simulation 만들기 2 [이전 요약] 아직 보이지는 않지만, 우리는 원하는 env를 만들고, 해당 env에 들어가는 Actor 또한 설정하였다. 근데 Simulation도 안 켜지고 아무런 현상 없이 터미널에 주석 몇 개만 나오고 끝이 난다. 그래서 오늘은 직접 Viewer를 설정하여 Simulation을 완성해보자. 6,7. Viewer 만들기 #6-1 그림 1. 에 기재된 바와 같이 첫째로 Viewer를 만든다. #6-2 이후에 Simulation 내에서 키보드와 마우스를 사용하고 싶으면 subscribe_viewer_keyboard_event라는 함수로부터 정의가 필요하다. 공식문서에 따르면 [NVIDIA docs -> API Reference -> Python A..
시뮬레이션 하고 싶다. #3-1 [Make Custom Gym (Part 1)] #1 Isaac Gym에서 Simulation 만들기 본 내용은 NVIDIA에서 제공되는 Programming-Simulation Setup를 참조하여 만들었습니다. 1. Simulation Setup & gymapi (개요) Isaac에서는 비교적 간단한 방법으로 Simulation을 구현할 수 있다. 전체적인 내용을 다루면 글이 길어지기 때문에 Part별로 나눠서 설명하고자 한다. (그림 1.) Isaac의 특징에 대해 설명을 하고 이어서 gymapi의 기능과 어떻게 모델을 넣고, 어떻게 값을 조정하는지 알아본다. 일단 첫 구성은 그림 2. 에서 나타낸 바와 같이 아이작 짐 Sim의 연산을 위해 하드웨어들을 지정하는 과정이 필요하다. 2. Simulation Parameters 설정하기 이후 Simu..
시뮬레이션 하고 싶다. #2-2 [Environments, Training, and Tips] #1 Isaac Gym (Part 2: Environments, Training, and Tips) 1) Reinforcement Learning 다양한 예시들을 Repository에 모아두시고 링크를 달으시면서 시작하신다. 해당 튜토리얼을 따라 하기 위해 isaacgym 디렉터리에서 Git을 가져왔다. $ git clone https://github.com/Denys88/rl_games GitHub - Denys88/rl_games: RL implementations RL implementations. Contribute to Denys88/rl_games development by creating an account on GitHub. github.com 근데 직접 깔아보니 공식문서를 보면 다른 링크..
시뮬레이션 하고 싶다. #2-1 [Environments, Training, and Tips] #1 Isaac Gym (Part 2: Environments, Training, and Tips) 영상을 참조하여 글을 쓴다. 영상에서는 간단한 예제들을 돌려본다. 일단 나는 3080 ti를 사용하고 cpu는 intel 12900을 사용하는 중이다. (간단한 예제들은 아주 부드럽게 돌아간다.) 우분투는 20.04를 사용하고 있다. 1) 1080 Balls 1080개의 공을 만드는 예제인 듯하다. 카티아와 비슷하게 마우스로 카메라를 컨트롤하는데 Alt 키+왼쪽 마우스를 눌러서 로테이션이 가능하고 마우스 휠키의 드래그로 화면을 이동한다. 영상에서는 여러번 리셋하면서 환경에 대해 설명해준다. 2) joint_monkey 이전에 설치 확인차 사용했던 코드이다. 터미널 창을 보면 여러 가지 DOF(Degree ..
시뮬레이션 하고 싶다. #1 [Install] #1 Isaac Gym (Part 1: Introduction and Getting Started) Manipulation강의를 들으면서 Duke를 통한 Simulation 이해와 조작 방법을 배울 수 있지만, 아무래도 커스텀 모델을 넣고 돌려보고 싶은 상황에서는, 다른 Simulation tool을 사용해야 하지 않을까 싶었다. 그래서 처음엔 Mujoco를 활용하려 했는데, conda 환경에 따른 설치 경로 안내가 생각보다 불편해서 근 3일간 굉장한 고통을 겪었다. (sudo install lib시리즈도 안 먹더라..) 그래서 새로운 환경을 찾고자 여러 곳을 알아본 끝에 PhysX를 기반으로 한, NVIDIA의 Issac Gym을 찾았다. 어떤 부분에서 더 낫다 하는, 객관적인 자료를 찾지는 못했지만 ..