Ubuntu 24.04.3에 Isaac Sim 설치하고 ROS와 연동하기
Ubuntu 24.04.3 환경에서 Isaac Sim을 설치하고, ROS와 연동하는 방법을 정리한 글입니다.
Isaac Sim 설치하기
Isaac Sim은 다운로드한 뒤 압축을 해제하고 간단한 설치 스크립트만 실행하면 바로 사용할 수 있다.
1
2
3
4
5
6
7
8
cd ~/Downloads
wget https://download.isaacsim.omniverse.nvidia.com/isaac-sim-standalone-5.1.0-linux-x86_64.zip
mkdir ~/IsaacSim
unzip isaac-sim-standalone-5.1.0-linux-x86_64.zip -d ~/IsaacSim
cd ~/IsaacSim
./post_install.sh
설치가 완료되면 아래 스크립트를 통해 현재 시스템과의 호환 여부를 쉽게 확인할 수 있다.
1
./isaac-sim.compatibility_check.sh
NVIDIA에서 제공하는 ROS 워크스페이스 다운로드하기
NVIDIA에서는 Isaac Sim과 연동하기 위한 ROS 워크스페이스를 제공한다.
아래 명령어로 다운로드할 수 있다.
1
2
3
4
git clone https://github.com/isaac-sim/IsaacSim-ros_workspaces.git
cd ~/IsaacSim-ros_workspaces
git checkout IsaacSim-5.1.0
git submodule update --init --recursive
ROS 컨테이너 실행하기
ROS용 Docker 이미지가 있으므로 Docker를 이용하면 ROS를 쉽게 실행할 수 있다.
ROS용 Docker 이미지를 사용해 위에서 다운로드한 워크스페이스와 연결된 컨테이너를 실행한다.
1
docker run --name ros_ws -i -t --gpus all --net=host --device=/dev/dri -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/IsaacSim-ros_workspaces/jazzy_ws:/jazzy_ws osrf/ros:jazzy-desktop-noble
그리고 아래 명령어로 필요한 ROS 패키지들을 설치한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
apt update
apt upgrade -y
apt install -y wget zip
cd /jazzy_ws/src
wget https://github.com/PickNikRobotics/topic_based_ros2_control/archive/refs/heads/main.zip
unzip main.zip
mv topic_based_ros2_control-main topic_based_ros2_control
rm main.zip
cd ../
rosdep install --from-paths src --ignore-src --rosdistro=jazzy -y
colcon build
Nova Carter Navigation 예제 실행하기
위에서 구성한 ROS 컨테이너에서 GUI를 사용할 수 있도록 xhost 권한을 추가한 뒤 컨테이너를 다시 실행한다.
1
2
3
xhost +local:docker
docker restart ros_ws
docker exec -i -t ros_ws bash
ROS 컨테이너에서 ROS 환경을 구성한 뒤 carter_navigation launch 파일을 실행하면 RViz가 실행된다.
1
2
3
4
5
6
cd /jazzy_ws
source /opt/ros/jazzy/setup.sh
source install/local_setup.bash
export ROS_DOMAIN_ID=0
export FASTRTPS_DEFAULT_PROFILES_FILE=/jazzy_ws/fastdds.xml
ros2 launch carter_navigation carter_navigation.launch.py
다음으로 Isaac Sim을 실행해 Simulator 데이터를 전송하면 ROS와 연동이 완료된다.
아래 명령어로 Isaac Sim을 실행한다.
1
2
3
cd ~/IsaacSim
export ROS_DOMAIN_ID=0
./isaac-sim.sh
Isaac Sim에서 Nova Carter Navigation 예제를 불러와야 하는데, Nova Carter Navigation 예제는
Robotics Example에 있다.
Window → Examples → Robotics Examples를 눌러 Robotics Example 탭을 활성화한 다음 Robotics Example 탭에서 ROS2 → Navigation → Nova Carter를 불러오면 된다.
예제를 불러온 뒤 좌측의 ▶ 버튼을 누르면 Simulator 데이터의 전송이 시작된다.
RViz에서 Nav2 Goal 버튼을 이용해 로봇을 이동해 볼 수 있다.
이제 디지털 트윈 기반으로 나만의 로봇 알고리즘을 개발해 보자.





