Post

Ubuntu 24.04.3에 Isaac Sim 설치하고 ROS와 연동하기

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

Image


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

Image


다음으로 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를 불러오면 된다.

Image


예제를 불러온 뒤 좌측의 버튼을 누르면 Simulator 데이터의 전송이 시작된다.

Image


RViz에서 Nav2 Goal 버튼을 이용해 로봇을 이동해 볼 수 있다.

Image



이제 디지털 트윈 기반으로 나만의 로봇 알고리즘을 개발해 보자.

This post is licensed under CC BY 4.0 by the author.