๐ฉโ๐ปOrbit ์ค์นํ๊ธฐ
์ด๋ฒ ํฌ์คํ ์ Nvidia์ Omniverse Isaac Orbit์ ๋ํด ์์๋ณด๊ณ , Orbit Docs - Installation Guide๋ฅผ ๋ฐ๋ผ ์ค์น๊ณผ์ ์ ๊ธฐ๋กํด๋ณด์์ต๋๋ค. ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ค์น๋ถํฐ ์์ ์ฝ๋๋ค์ ์ดํด๋ณด๋ฉฐ ์๋ฆฌ์ฆ๋ก ํฌ์คํ ํ ์์ ์ ๋๋ค.
1 Orbit?
๊ทธ๋ผ, Orbit ์ด๋ ๋ฌด์์ ๋งํ๋ ๊ฑธ๊น์? ๊ณต์ Docs์์๋ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ๊ณ ์์ต๋๋ค.
์๊ฐ๊ธ์ ๋ณด๋ฉด, ํฌ๊ฒ 2๊ฐ์ง ํน์ง์ ์ดํด๋ณผ ์ ์์ต๋๋ค. ์ฒซ๋ฒ์งธ๋ก๋ Robot learning์ ์ํ ๋ชจ๋ํ๋ ํ๋ ์์ํฌ๋ผ๋ ์ ์ ์ ์ ์๊ณ ๋๋ฒ์งธ๋ก๋ Omniverse์ Isaac Sim์ด๋ผ๋ ๊ฒ์ ๊ธฐ๋ฐํ ํ๋ก๊ทธ๋จ์ด๋ผ๋ ๊ฒ ์ ๋๋ค. Robot learning์ ์ํ ์ด๋ผ๋ ๋ง์์ Github ๋ฉ์ธ ์ฌ์ง์์๋ ๋ณผ ์ ์๋ฏ์ด ๋ก๋ด ์๋์ ์ํ ๋ชจ๋ learning ๊ณผ์ ์ ์ง์ํ๊ธฐ ์ํ ํ๋ ์ ์ํฌ๋ผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ๋งค๋ํฐ๋ ์ดํฐ๋ถํฐ ํธ๋ ๋ก๋ด, ์ฌ์กฑ๋ณดํ ๋ก๋ด์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ๊ณ ํญ๋์ ๋ก๋ด์ ์๋ ์๋๋ฆฌ์ค๋ฅผ ์ง์ํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ผ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
ํ์ง๋ง Orbit์ด๋ผ๋ ํ๋ ์์ํฌ๊ฐ Omniverse์ Isaac Sim์ ๊ธฐ๋ฐํ๋ค๋ ์ค๋ช ์ ์ด์ ์ Nvidia์ ์๋ฎฌ๋ ์ดํฐ์ ๋ํด ์๊ณ ์์ง ๋ชปํ์ ๋ถ๋ค์ด๋ผ๋ฉด ์์ํ๊ณ ํท๊ฐ๋ฆด ์ ์์ต๋๋ค. Nvidia์ ์๋ฎฌ๋ ์ดํฐ ๊ฐ๋ฐ๊ณผ์ ์ด๋ ์ ํ์ ๋ํด ๊น์ด ์์๋ณด๊ณ ์ ํ๋ ๊ฒ์ด ์ด๋ฒ ํฌ์คํ ์ ๋ชฉ์ ์ ์๋๋ฏ๋ก ๊ฐ๋จํ๊ฒ ๊ฐ ํ๋ก๊ทธ๋จ๋ค์ ์ญํ๊ด๊ณ๋ฅผ ์ดํด๋ณด์๋ฉด, Omniverse > Isaac Sim > Orbit์ ๊ด๊ณ๋ผ๊ณ ํ์ ํด๋ณผ ์ ์์ต๋๋ค. Omniverse๊ฐ ๊ฐ์ฅ ํฐ ๋ฒ์์ ๊ฐ์์ธ๊ณ๋ฅผ ์ํ ํ๋ซํผ์ด๊ณ ๊ทธ ์๋์ ๋ก๋ดํฑ์ค ๋ถ์ผ๋ฅผ ์ํ ํ์ ํ๋ซํผ Isaac Sim์ด ์๊ณ ๋ง์ง๋ง์ผ๋ก ๊ทธ ์์ ์ค๋ ํฌ์คํ ์ ์ฃผ์ธ๊ณต์ธ Orbit์ด ์๋ ๊ฒ ์ ๋๋ค.
์ฌ๊ธฐ๊น์ง ์ค๋ช ์ ๋ค์์ ๋ ๋ช ํํ ์ดํด๊ฐ ๋์ง ์๋ ๋ถ๋ถ์ด ์์ ์ ์์ต๋๋ค. Isaac Sim๋ ๋ก๋ดํฑ์ค ๋ถ์ผ๋ฅผ ์ํ ํ์ ํ๋ซํผ์ธ๋ฐ ๊ทธ ์์ Orbit์ผ๋ก ๋ ๋ฐ๋ก Robot learning์ด๋ผ๋ ๋ชจ๋ ํ๋ ์์ํฌ๊ฐ ๋ ํ์ํ ๊น ์๋ฌธ์ด ๋ค ์ ์์ต๋๋ค. ์ฌ์ง์ด ์ด์ ์ Nvidia์ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์กฐ๊ธ ์์ จ๋ ๋ถ๋ค์ด๋ผ๋ฉด, Isaac Gym์ด๋ผ๋ ๊ฐํํ์ต, ์ฆ robot learning์ ์ํ (Issac Sim๋ณด๋ค ์ข ๋ ๊ธฐ๋ฅ์ด ์ ํ๋) ํ๋ก๊ทธ๋จ์ด ์๋๋ฐ Orbit์ ์ด๋ค ์์น์ธ์ง ๋ ์ ๋งค๋ชจํธํ๊ฒ ๋๊ปด์ง ์ ์์ต๋๋ค. ์ค์ ๋ก ์ ๋ ๊ธฐ์กด์ Isaac Gym์ผ๋ก ๊ฐํํ์ต์ ์งํํด์๋ ์ฌ๋์ผ๋ก์จ Orbit์ ๋ฑ์ฅ์ ์์ํ ์ ์ด ์์์ต๋๋ค. ์ด๋ฐ ์๋ฌธ์ ๋ง์ ์ ์ ๋ค๋ ๋๊ผ๋ ๊ฒ ๊ฐ์ต๋๋ค. ํฌ๋ผ์ ์ฌ๋ผ์จ Q&A์์ ๊ณต์ Orbit Maintainer์ ๋ต๋ณ์ผ๋ก๋, Orbit์ Isaac Sim์ ์ง์ ์ฅ๋ฒฝ์ ๋ฎ์ถ๊ธฐ ์ํ ๋ด์ฅ ํ๋ ์์ํฌ๋ก 2๊ฐ์ง์ ๋ชฉ์ ์ด ์์ด์ ๋ง๋ค์ด์ก๋ค๊ณ ํฉ๋๋ค. (Q&A ์๋ณธ์ ๋งํฌ์ ํจ๊ป ์๋์ ์ ์ด๋์์ผ๋ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค.)
- ๋ณด๋ค ๊ฐ์ํ๋ ์ธํฐํ์ด์ค๋ฅผ ํตํด์ ๋ก๋ด ํ์ต์ ์ํ ํ๊ฒฝ ์ค๊ณ ๋ฐ ๊ฐํํ์ต, ๋ชจ์ ํ๋๋ ๋ฑ๊ณผ ๊ฐ์ ๋ก๋ดํฑ์ค ์ํฌ ํ๋ก์ฐ๋ฅผ ์ง์ํ๋ ๊ฒ
- ๋ฏธ๋ฆฌ ๊ตฌ์ถ๋ ํ๊ฒฝ์ ๋ฒค์น๋งํฌ ์์ ๋ก ์ฌ์ฉํ๋ ํ๋ก ํธ ์๋ ํ๋ ์์ํฌ๋ก์ ์ค๋น๋ ์์ ๊ณผ ํ๊ฒฝ ์์ ๋ฅผ ํตํด warm-start๋ฅผ ํ ์ ์๋๋ก ํ๋ ๊ฒ
์ ๋ฆฌํ์๋ฉด, Orbit์ Robot Learning์ ์ํ Nvidia์ ์คํ ์์ค ํ๋ ์์ํฌ์ธ๋ฐ ๊ฐ์ฅ ์ฌ์ฉ์์๊ฒ ์น๊ทผํ(์ฝ๊ฒ ์์ํ ์ ์๋) ํ๋ก๊ทธ๋จ
์ด๋ผ๊ณ ์ ๋ฆฌํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๋น์ ๋ฅผ ๋ค์ด์ Nvidia ํ๋ซํผ์ ์ญํ์ ์ ๋ฆฌํด๋ณด์๋ฉด, Omniverse๋ MS Office, Issac Sim์ Power Point, Orbit์ PPT ๋์์ธ ์ถ์ฒ ํ๋ก๊ทธ๋จ ์ ๋๋ก ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
2 Orbit์ ์ค์นํ๊ธฐ ์ ์
์์์ ์ ๋ฆฌํ ๋๋ก Orbit์ Omniverse ์์ Isaac Sim์ ๊ธฐ๋ฐ์ผ๋ก ๋์๊ฐ๋ ๋ชจ๋์ด๊ธฐ ๋๋ฌธ์ IsaacSim์ ๋จผ์ ์ค์นํด์ผ ํฉ๋๋ค. ์๋ฐํ ๋งํ์๋ฉด ์์ง Orbit์ ์ค์นํ ๊ฒ์ ์๋๊ณ , Orbit์ด๋ผ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด ์ค๋นํ๋ ๊ณผ์ ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. Isaac Sim์ ํฌ๊ฒ (1)Workstation Installation๊ณผ (2)Container Installation 2๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ค์นํ ์ ์์ต๋๋ค. ๊ฐ์ ๊ฐ์ธ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ฉํ๊ณ ์ ํ๋ค๋ฉด ์ฒซ๋ฒ์งธ Workstation Installation์ ๋ฐ๋ผ๊ฐ๋ฉด ๋๋ฏ๋ก ์ด๋ฒ ํฌ์คํ ์์๋ Workstation Installation ๋ฐฉ๋ฒ์ ๋ฐ๋ผ์ ์ค์น๋ฅผ ์งํํ๊ฒ ์ต๋๋ค.
- Workstation Installation: ๊ณต์ ํํ์ด์ง์ Isaac Sim ์ค์น๋ฐฉ๋ฒ(Workstation Installation)์ ๋ฐ๋ผ Omniverse App์ ํตํด
Isaac Sim 2022.2
์ ์ค์นํฉ๋๋ค. ์๋๋ ์ ๊ฐ ์ค์น๋ฅผ ์งํํ๋ ์คํ์ ๋๋ค. (๋ง์ฝ ํด๋น ์ปดํจํฐ ์์์ด ์๋ค๋ฉด ํด๋ผ์ฐ๋ ์์์ ์ด์ฉํ์ฌ Isaac Sim์ ์ฌ์ฉํ ์ ์์ต๋๋ค.)
- Ubuntu 20.04 LTS
- Nvidia RTX 4080
- Driver Version: 525.60.13
Isaac Sim์ ์ค์น๊ณผ์ ์ Documentation์ step by step์ผ๋ก ์ ๋์์์ผ๋ฏ๋ก ์์ธํ๊ฒ ์ค๋ช
ํ์ง ์๊ฒ ์ต๋๋ค. ์๋์ ๊ฐ์ด Omniverse App์์ Isaac Sim์ด ๋ณด์ด๊ณ LANCH
๋ผ๋ ๋ฒํผ์ ๋๋ฌ ์คํํ ์ ์์ผ๋ฉด ์ค์น์ ์ฑ๊ณตํ ๊ฒ ์
๋๋ค. (23.04.05 ๊ธฐ์ค) ์ต์ ๋ฒ์ ผ 2022.2.1
์ด ๋ง๋์ง ๊ผญ ํ์ธํด์ฃผ์๊ณ ๋ง์ฝ ์ต์ ๋ฒ์ ผ์ด ์๋๋ผ๋ฉด LANCH
์์ list ๋ฒํผ์ ๋๋ฌ์ ์ต์ ๋ฒ์ ผ์ ๋ค์ด๋ฐ๊ณ ๋ฒ์ ผ์ ์ ํํ ์ ์์ต๋๋ค. ์๋ ์ฌ์ง์์ ์ฒ๋ผ 2022.2.1
๋ฒ์ ผ์ผ๋ก ์ ํ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
Python Environment Setting: Isaac Sim์ ๋ด๋ถ(built-in) Python 3.7์ด ์๊ณ ์ด default Python ํ๊ฒฝ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. IsaacSim Default Python Environment์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์๋์ ์์ command์ ๊ฐ์ด Isaac Sim์ Root folder(Isaac Sim ์ค์น์ ๋ณ๋์ ๊ฒฝ๋ก ์ค์ ์ด ์์ด ์ค์นํ์ ๊ฒฝ์ฐ
${HOME}/.local/share/ov/pkg/isaac_sim-*
,*
์ ํด๋น Isaac Sim์ ๋ฒ์ ผ)์ ์๋ Python ์คํํ์ผ์ธpython.sh
๋ฅผ ๊ฐ์ง๊ณ ์คํํด์ผ ํฉ๋๋ค.# ${HOME}/.local/share/ov/pkg/isaac_sim-2022.2.1 ./python.sh path/to/script.py
ํ์ง๋ง ์ด์ ๊ฐ์ด ๋งค๋ฒ Isaac Sim์ ๋ด๋ถ python ์คํํ์ผ ๊ฒฝ๋ก๋ฅผ ์ ๋ ฅํ์ฌ python ์คํฌ๋ฆฝํธ๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ ๋งค์ฐ ๋ฒ๊ฑฐ๋ก์ฐ๋ฏ๋ก ์์คํ ํ๊ฒฝ ๋ณ์ ์ค์ ๋ฅผ ํตํด ๊ฐ๋จํ ๋ด๋ถ python์ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค. Linux Ubuntu์์๋ ์์คํ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ ํ์ผ์
~/.bashrc
๋~/.zshrc
๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋์ ๊ฐ์ด ๋ฆฌ๋ ์ค GUI ํ๊ฒฝ์์ ์ง์ํ๋ ํ ์คํธ ์๋ํฐ์ธ gedit์ ์ด์ฉํ์ฌ ์์คํ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด๋ณด๊ฒ ์ต๋๋ค. Terminal ์ฐฝ์ ์ด์ด์ command๋ฅผ ์ ๋ ฅํฉ๋๋ค.ํ์ ๋๋ .bashrc ํ์ผ์ ๋งจ ์๋์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํฉ๋๋ค.
#
์ผ๋ก ํ๋ ์ฌ๋ฌ ์์คํ ํ๊ฒฝ ๋ณ์๋ค์ ์ ์ค์ ํ๋์ง ๋ฉ๋ชจํ๊ธฐ ์ํด์ ์ฃผ์์ ๋ฌ์๋๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.(Orbit์ ์ฌ์ฉํ์ง ์๊ณ Isaac Sim๋ง ์ค์นํ๋ ๊ณต์ ๋ฌธ์์์๋ ๊ฐ์ ํ์ด์ฌ ์คํํ์ผ์ ๋ค๋ฅธ ํ๊ฒฝ ๋ณ์๋ก ์ค์นํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต๋์ด ์ด๋ฆ์ ์ค์น ํ์ง ์๋๋ก ์ฃผ์ํฉ๋๋ค.) ์ถ๊ฐํ ํ ์ ์ฅํ๊ณ ์ฐฝ์ ๋ซ์ต๋๋ค.# Isaac Sim root directory export ISAACSIM_PATH="${HOME}/.local/share/ov/pkg/isaac_sim-2022.2.1" # Isaac Sim python executable export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
ํ์ผ์ ํธ์งํ๋ค๊ณ ๋ฐ๋ก ์ถ๊ฐ๋ ํ๊ฒฝ ๋ณ์๊ฐ ๋ฐ๋ก ์ ์ฉ๋๋ ๊ฒ์ด ์๋๋ผ ์๋์ command๊น์ง ํฐ๋ฏธ๋์์ ์คํ์ํค๊ณ ๋์ ์ ์ฉ์ด ๋ฉ๋๋ค.
์คํ ํ์ธ : ํ๋ก๊ทธ๋จ ์ค์น์ ํ๊ฒฝ๋ณ์๊น์ง ์ ๋๋ก ์ค์ ๋์๋์ง ํ์ธํ๊ธฐ ์ํด Running the simulator์ ์๋ด๋์ด ์๋ ๋ช ๊ฐ์ง ์ ๊ฒ command๋ฅผ ์คํ์์ผ ๋ณด๊ฒ ์ต๋๋ค.
์๋ฎฌ๋ ์ดํฐ ์คํ ํ์ผ(
isaac-sim.sh
) ํ์ธ# note: you can pass the argument `--help` to see all arguments possible. $ISAACSIM_PATH/isaac-sim.sh --help
์๋ฎฌ๋ ์ดํฐ ๋ด๋ถ ํ์ด์ฌ ์คํ ํ์ผ(
python.sh
) ํ์ธ# checks that python path is set correctly $ISAACSIM_PYTHON_EXE -c "print('Isaac Sim configuration is now complete.')"
์๋ฎฌ๋ ์ดํฐ standalone ์์ (
add_cubes.py
)๋ก ์คํ ํ์ธ# checks that Isaac Sim can be launched from python $ISAACSIM_PYTHON_EXE $ISAACSIM_PATH/standalone_examples/api/omni.isaac.core/add_cubes.py
3 Orbit ์ค์นํ๊ธฐ
์ด์ Orbit์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ค์นํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์์ Isaac Sim์ด ์ ๋๋ก ์ค์น๊ฐ ๋๊ณ ์์ ๊น์ง ๋์๊ฐ๋์ง ๊ผญ ํ์ธ์ ํ ํ ์งํํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
Orbit repository๋ฅผ
git clone
ํด์ค๊ธฐSymbolic link ์์ฑํ๊ธฐ: ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ ์๋ณธ ํ์ผ์ ๊ฐ๋ฆฌํค๋๋ก ํ๋ ์๋์ฐ์์์
๋ฐ๋ก๊ฐ๊ธฐ
์์ด์ฝ๊ณผ ๊ฐ์ ์๋ฏธ๋ก ์ดํดํ์๋ฉด ๋ฉ๋๋ค. ์์์git clone
ํ repo์ ์์น๋ก ๋ค์ด๊ฐ์ ๋ค์๊ณผ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ํตํด ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ง๋ค์ด ์ค๋๋ค.Orbit ์คํํ์ผ ๋ช ๋ น์ด ๋ฑ๋กํ๊ธฐ: orbit์ ์คํํ๊ธฐ ์ํด์๋ ๋งค๋ฒ git clone ํ repository์ ์๋
orbit.sh
ํ์ผ์ ์จ์ฃผ์ด์ผ ํฉ๋๋ค. ๋ง์ฝorbit.sh
์ด ์๋ ์์น์์ ์คํ์ํจ๋ค๋ฉด./orbit.sh
๋ก ๊ฐ๋จํ๊ฒ ์ง๋ง ๋ค๋ฅธ ์์น์ ํ์ผ์ Orbit์์ ์คํ์ํค๊ณ ์ถ์ ๋ ๋จ์ถํค๊ฐ ์๋ค๋ฉด ํจ์ฌ ๊ฐํธํ๊ฒ ์คํํ ์ ์์ด ํธ๋ฆฌํ ๊ฒ ์ ๋๋ค. Orbit์ ํธ๋ฆฌํ๊ฒ ์คํ์ํฌ ์ ์๋ ๋ช ๋ น์ด๋ก๋orbit
์ผ๋ก ์ ํด์ ์ฆ,./orbit.sh
์orbit
์ด ๊ฐ๋๋ก ํ๋ ์์ ์ ์งํํด๋ณด๊ฒ ์ต๋๋ค. ์์ ๋ฆฌ๋ ์ค์ ์์คํ ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์์.bashrc
ํ์ผ์ ์ด์ฉํ์ฌ ๋ช ๋ น์ด ๋ณ์นญ์ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ ์ด์ฉํฉ๋๋ค.echo -e "alias orbit=$(pwd)/orbit.sh" >> ${HOME}/.bashrc
๋ณ์นญ ๋ฑ๋ก์ ์ ์ฉํ๊ธฐ ์ํด
source ~/.bashrc
๋ ์์ง ์๊ณ ์คํํด์ฃผ์ธ์.(๋ช ๋ น์ด๊ฐ ์ ๋๋ก ๋ฑ๋ก๋๋์ง ํ์ธํด๋ณด๋ ค๋ฉดgedit ~/.bashrc
๋ฅผ ํตํด ํ์ผ์์ ๋งจ ์๋ซ์ค์alias orbit=$(Orbit ๋ ํฌ์งํ ๋ฆฌ ์์น)/orbit.sh
์ด ์จ์๋์ง ํ์ธํด๋ณด๋ฉด ๋ฉ๋๋ค.) ํฐ๋ฏธ๋์์ ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์๋ ๋ค์๊ณผ ๊ฐ์ ์ฐฝ์ด ๋์จ๋ค๋ฉด ๋ช ๋ น์ด ๋ณ์นญ ๋ฑ๋ก์ด ์ ๋ ๊ฒ ์ ๋๋ค.orbit --help
4 Orbit์์ ๊ฐ์ํ๊ฒฝ ์ค์
Orbit์์๋ orbit -p
๋ผ๋ ๋ช
๋ น์ด๋ฅผ ํตํด Isaac Sim์ ํ์ด์ฌ ์คํํ์ผ์ ์๋์ผ๋ก ๊ฐ์ ธ์์ ์ฌ์ฉํฉ๋๋ค. (ํน์ ์์์ ๋ช
๋ น์ด ๋ณ์นญ์ ๋ฑ๋ก์ํ๋ค๋ฉด Orbit repo ์์น์์ ./orbit.sh -p
๋ผ๊ณ ์
๋ ฅํด๋ ๋ฉ๋๋ค.) ํ์ง๋ง ๊ฐ์ํ๊ฒฝ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด Conda๋ฅผ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค.
orbit -c (๋๋ --conda)
์์ ๊ฐ์ด ์
๋ ฅํ๋ฉด ์๋์ผ๋ก orbit
์ด๋ผ๋ ์ด๋ฆ์ ๊ฐ์ํ๊ฒฝ์ด ๋ง๋ค์ด์ง๊ณ ์์ผ๋ก ์ด ๊ฐ์ํ๊ฒฝ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด conda activate orbit
์ ํตํด ํ์ฑํ ์ํฌ ์ ์์ต๋๋ค.
5 Extensions ์ค์น
apt
๋ฅผ ์ด์ฉํด์ ์ฐ๋ถํฌ์์ ๋ํ๋์๋ฅผ ์ค์นํฉ๋๋ค.sudo apt install cmake build-essential
Orbit repo์ ์๋
source/extensions
ํด๋์ ํ์ฅํ๋ก๊ทธ๋จ๋ค์ ์ค์นํฉ๋๋ค. ์ด๋--editable
flag๋ก ํธ์ง ๊ฐ๋ฅํ ๋ชจ๋๋ก ์ค์นํ๊ฒ ๋์ด ๊ฐ๋ฐ์๊ฐ ํ์ฅ ๊ธฐ๋ฅ์ ์์ ํ๊ฒ ๋๋ฉด ๋ณ๊ฒฝ์ฌํญ์ด ์ฆ์ ์ ์ฉ๋ฉ๋๋ค.orbit --install # or orbit -i
(rsl-rl ๊ฐ์)Learning framework ๋ฑ์ ์ฌ๋ฌ ๋ํ๋์ ํ๋ก๊ทธ๋จ๋ค์ ์ค์นํฉ๋๋ค.
orbit --extra # or orbit -e
6 Closing
๋ง์ง๋ง๊น์ง ์ค์น๊ณผ์ ์ ์ ๋ง์น์ จ๋ค๋ฉด ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅ ํ์ ๋ ์ฌ์กฑ๋ณดํ ๋ก๋ด๋ค์ด ๋์ค๋ฉด์ Orbit์ด ์ ์คํ๋๋ ๊ฒ์ ํ์ธํ์ค ์ ์์ต๋๋ค!๐๐๐(์ฒ์ ์คํ์ ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ฆด ์ ์์ผ๋ ๊ธฐ๋ค๋ ค์ฃผ์ธ์.)
orbit -p source/standalone/demo/play_quadrupeds.py
์ด๋ฒ ํฌ์คํ ์์๋ Nvidia์ Orbit์ ๋ํด ๊ฐ๋จํ ์์๋ณด๊ณ ์ค์น๊น์ง ์งํํด๋ณด์์ต๋๋ค. ์์ง ๊ณต์ Documentation๋ ์ ๋ฐ์ดํธ ์ค์ด๊ณ ํ๋ก๊ทธ๋จ ์์ฒด๋ ์ ๋ฐ์ดํธ๊ฐ ํ๋ฐํ ๋๊ณ ์์ด์ ์ดํ์ ์ด๋ฒ ํฌ์คํ ์ด ๋ฒ์ ผ์ ๋ฐ๋ผ ๋์์ด ์๋ ์๋ ์๊ฒ ์ง๋ง ๋ง์ ๋ถ๋ค๊ป ์ฐธ๊ณ ๊ฐ ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ์ค์น๊ณผ์ ์ ๋ํด ๋ค๋ฅธ ์ต์ ๋ค์ด๋ ์์ธํ๊ฒ ์๊ณ ์ถ์ผ์ ๋ถ๋ค์ ๊ณต์ ์ค์น Documentation์ ์ฐธ๊ณ ํ์๋ฉด ์ ๋ฐ์ดํธ ๋๋ ์์๋ค๊ณผ ํจ๊ป ๋ ์์ธํ๊ณ ๋ง์ ์ ๋ณด๋ฅผ ์ป์ผ์ค ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์ด์ง๋ ํฌ์คํ ์์๋ ๊ฐ ์์ ๋ค์ ํตํด์ Orbit์ ๋ํด ๋ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.