2.1. 우분투 설치

2.1.1 만약 우분투를 설치 했었다면..

image 84

하드 디스크 파티션 만들기 및 포맷 에서 우분투가 설치되어있던 파티션 삭제

bootice 프로그램

image 85
image 86

프로그램에서 UEFI -> UEFI 부팅 항목 에 들어가면 ubuntu 항목이 있을 텐데 이를 삭제한다.

2.1.2. 부팅 usb 만들기

ubuntu 20.04 iso 파일을 다운받는다.

rufus 프로그램을 킨다.

image 88

GPT 로 해서 “시작” 을 눌러서 부팅 usb 를 만든다.

2.2.

나중에 작성 예정. 이미 너무 많은 좋은 글들이 구글에 올라와 있다. 검색하여 설치해보시면 좋을 것 같다.

3. Isaac Gym 설치 & 예제

image 83

link

ubuntu 20.04, python 3.8 버전으로 듀얼 부팅으로 진행하려한다.
nvidia 드라이버를 설치하자. 본인은 535 로 진행 (rtx 4080 laptop gpu)

3.1. 가상환경 설치 (anaconda)

구글에 anaconda 를 검색해서 설치를 진행한다.

image 16

설치 받은 파일이 있는 위치에서 터미널을 열고 아래와 같이 친다

sudo chmod +x ./*
./Anaconda3-~~

enter 누르고 화살표 아랫 방향 한참 누르고 yes 누르고 폴더 위치 그대로 enter 한번더 yes 누르면 anaconda 설치가 완료 된다.

터미널을 껏다가 다시 켜면

image 17
conda create --name isgym python=3.8
conda activate isgym

python 3.8 버전의 가상환경을 만든다. 생성이 완료 되면 그 아래 activate 코드로 가상환경을 활성화 할 수 있다.

$ conda create -n rl38 python=3.8
$ conda activate rl38

Screenshot from 2024 08 16 01 20 26

3.2. IsaacGym 설치

구글에 검색해서 설치하면 다음과 같다. 링크

image 18

다운로드 받은 파일을 압축해제 하여 위와 같은 구조를 만든다.

image 19

이 위치에서

pip install -e .

설치를 진행하자. 자동으로 여러 패키지 들이 설치 된다.

Screenshot from 2024 08 16 01 25 01
Screenshot from 2024 08 16 01 30 47
Screenshot from 2024 08 16 01 31 12

정상적으로 위 코드가 실행되어 시뮬레이션 환경이 뜬다면 성공적으로 설치를 마친 것이다.

3.3. IsaacGym 예제

isaacgym 에서 기본적으로 제공하는 예제들을 확인해보자.

domain randomization

$ python domain_randomization.py –save_images

image 95
image 96

시뮬레이션이 켜지면서 자동으로 다양한 조명의 로봇 이미지가 저장이 된다.

Franka Attractor

$ python franka_attractor.py

image 97
image 98
  • 몇 번째 env 를 선택할 것인지
  • 선택한 env 의 축을 보여줌
  • env 하나의 범위를 보여줌
  • 선택한 env 만 보이게끔
image 102
image 101

pose override 에서 enable pose override 를 체크하여 실제로 로봇을 움직여 볼 수 있다.

Dof controls

로봇을 움직일 때 대부분의 시뮬레이션에서 Contorl Mode는 다음과 같다.

  • position -> 목표 위치에 수렴
  • velocity -> 목표 속도에 수렴, 유지
  • force/torque -> 목표 힘을 가하도록

$ python dof_controls.py

image 103

4개의 cart pole 이 뜬다.

각각의 bodies 와 dofs 에서는 각각 bodies 사이의 관계를 정의한다.

image 106

1번 env 의 경우에는 slide 와 cart 는 position mode 로 고정되어 있고 pole 과 cart 는 velocity 모드로 되어 있어 일정하게 회전을 하고 있다.
이런식으로 다양한 조합을 확인하여 해석해볼 수 있다.

0번 -> position, position 으로 되어 있어 정지해있다.
2번 -> velocity, position 으로 cart 가 일정한 속도로 좌우로 움직이고 있다.
3번 -> position, effort 으로 되어 있어 제자리에서 pole 이 일정한 힘으로 움직이고 있다.
# 일정한 limit 로 정해져 있어서 desired 값의 부호가 바뀌는 방식으로 좌우 움직임이 구현되어 있다.

Joint monkey

$ python joint_monkey.py –asset_id 6

id 부분을 바꿔서 여러가지 로봇에 대해 test 해볼 수 있다.

image 107

각 로봇의, 각 관절의 가동 범위를 시각적으로 확인해 볼 수 있다.

4. IsaacGymEnvs 밴치마크 환경 구성

link

image 92

setup.py 가 있는 폴더 위치에서 pip install -e .

이후

train.py 파일이 있는 위치에서 train 예제를 실행하면 된다.

python train.py task=Cartpole

만약 에러가 발생한다면 아래 코드를 실행시킨 후 다시 train 코드 실행

pip install –upgrade networkx

link

image 91

Installation
Create a new python virtual env with python 3.6, 3.7 or 3.8 (3.8 recommended)
Install pytorch 1.10 with cuda-11.3:
pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
Install Isaac Gym
Download and install Isaac Gym Preview 3 (Preview 2 will not work!) from https://developer.nvidia.com/isaac-gym
cd isaacgym/python && pip install -e .
Try running an example cd examples && python 1080_balls_of_solitude.py
For troubleshooting check docs isaacgym/docs/index.html)
Install rsl_rl (PPO implementation)
Clone https://github.com/leggedrobotics/rsl_rl
cd rsl_rl && git checkout v1.0.2 && pip install -e .
Install legged_gym
Clone this repository
cd legged_gym && pip install -e .

cuda 는 수동 설치를 해주자

link

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda-repo-ubuntu2004-11-3-local_11.3.0-465.19.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-3-local_11.3.0-465.19.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-3-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

cuda 설치 확인

sudo apt install nvidia-cuda-toolkit

nvcc –version


0 Comments

Leave a Reply