1 분 소요

이 포스팅은 ‘Isaac Lab‘에 대한 내용을 담고 있습니다.

자료 출처: https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/pip_installation.html

Isaac Lab

Isaac Lab은 Isaac sim 시뮬레이터위에서 구축된 로봇 학습 프레임워크입니다. 예를 들어 로봇을 학습시킨다고 했을 때, 로봇을 실제로 학습 도중에 움직이도록 두는 것 자체가 위험할 수도 있고, 그 과정에서 로봇에 손상이 가해질 수도 있습니다. 그리고 무엇보다 로봇의 가격이 매우 비싸기 때문에 구하는 것 부터가 굉장히 큰 과제가 됩니다. 그러나 시뮬레이터를 통해 먼저 학습시켜본다면, 굳이 실제 로봇이 없어도 알고리즘의 성능을 평가할 수 있고, 이를 기반으로 실제 로봇을 구동할 때 발생할 수 있는 문제점들을 미리 파악할 수 있습니다. 로봇 팔과 관련된 시뮬레이터의 종류는 gym, genesis 등등 다양하게 있는데요, 이 포스팅에서는 그 중에서도 가장 많이 사용되는 Isaac Sim에 대해서 다룹니다.

설치

이 포스팅에서 설치하는 Issac Sim의 버전은 4.5.0입니다. 이 이전 버전들에서는 굉장이 많은 자잘한 호환성 이슈들이 발생했는데, 4.5.0부터 pip를 사용한 설치를 지원하기 때문에 설치가 굉장히 간단해졌습니다.

[!NOTE]

Isaac Sim 이전에 사용된 Isaac Gym은 엔비디아에서 공식적으로 더 이상 지원을 하지 않습니다. 따라서, Isaac Sim으로 설치하는 것을 권장합니다. Isaac Sim은 우분투와 윈도우 둘 모두를 지원하지만, 윈도우에서 사용하기 위해서는 AWS가 필요합니다. 사용(권장)되는 우분투 버전은 Ubuntu 22.04.5 LTS입니다.

설치 순서는 엔비디아에서 배포한 아래의 문서를 따릅니다.

테스트

설명에 따라 설치가 완료되었다면, 다음 아래의 예시 코드를 실행할 수 있습니다.

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0

4족 Ant 에이전트를 정해진 방향으로 움직이도록 학습시키는 코드입니다. 뒤에 --headless 옵션을 추가하면, 학습 시 렌더링이 생략됩니다(속도 향상).

아래는 로봇 팔을 사용해 정육면체를 집어올리는 업무를 수행하는 코드를 실행시키는 터미널 명령어 입니다.

./isaaclab.sh -p scripts/environments/state_machine/lift_cube_sm.py --num_envs 32

댓글남기기