Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

롤롤하

[Isaac Sim + ROS2] ROS2 카메라 프레임 드랍 개선 (WSL2) 본문

Isaac Sim

[Isaac Sim + ROS2] ROS2 카메라 프레임 드랍 개선 (WSL2)

롤롤하 2025. 2. 12. 13:30

안녕하세요. 최근 Isaac Sim에서 ROS 2 Image 토픽을 퍼블리시할 때, 낮은 FPS(Hz) 문제가 발생하여, 해결 방법을 정리해 공유합니다. (도움주신 분들 감사합니다!)

 

기존 발생 문제

 

Isaac Sim KR : 네이버 카페

Isaac Sim KR, Isaac sim 소프트웨어 플랫폼 정보 공유 커뮤니티

cafe.naver.com

 

비슷한 문제를 겪는 분들에게 도움이 되었으면 합니다! (바쁘신 분들은 제일 밑에 3줄요약 부터!)

 

🖥 시스템 환경

운영체제 : Windows (WSL2:Ubuntu 22.04)

PC사양 : RTX4060, 32GB

IsaacSim Ver : 4.2

🛠 문제상황

Isaac Sim에서 Image 토픽을 Publish할 때는 정상적인 속도(60Hz)가 나오지만,

ROS 2 환경(WSL2)에서 해당 토픽을 Subscribe하면 FPS가 5 이하로 급격히 떨어지며 데이터 유실이 발생했습니다.

ROS 2의 ros2 topic hz 명령어조차 정상적으로 작동하지 않을 정도로 프레임 드롭이 심각했습니다.

상황 구성

- 오직 이미지 topic이 시스템에 미치는 영향을 확인하기 위해 카메라, 관찰을 위한 콘, ground plane만 포함하였습니다.

- 액션 그래프 또한 카메라 Publish를 위한 기본적인 그래프를 구성하였습니다.

문제상황

해당 상황에서 Image Topic을 Publish할 경우, 시스템 퍼블리시 속도는 약 60Hz로정상적으로 동작합니다.

하지만 WSL2에서 해당 토픽을 Subscribe 한다면 FPS가 5 미만으로 드랍이 발생하며 데이터 유실까지 발생하는 모습을 보입니다.

ros2환경에서는 topic hz도 작동이 안 될 정도로 frame drop이 발생

🔍 개선 방안

1. Frame Rate 변경

ROS2에서 GUI(rqt,rviz)가 아닌 echo만 진행하여도 문제가 발생하였기에 ROS2 쪽에서 republish나 down sampling은 크게 의미가 없을 것이라 판단하여 Isaac Sim에서 수정을 우선시 하였습니다.

Isaac Sim에서 image topic publish의 frame rate를 수정하는 방법은 크게 3가지가있습니다.

1. 시뮬레이션 Frame Rate

2. Camera Heler Node에서 Frame Rate 조절

3. Simulation Gate Node 설정

3번(Simulation Gate Node 설정)은 커스텀 Image Publish 그래프를 만들어야 하므로 제외하고, 시뮬레이션 Frame Rate는 유지한 채 2번(Camera Helper Node에서 Frame Rate 조절)을 진행했습니다

Camera Helper Node의 Frame Rate 조절은 frameSkipCount 속성을 통해 변경 가능하며 몇 프레임마다 퍼블리시 할지를 조절합니다. ex : frameSkipCount 를 3으로 설정→ 3 프레임마다 퍼블리시 (4 프레임 간격)

해당 값을 5로 설정하여 6프레임마다 1번 Publish하게 설정해봅시다. (시스템 :60FPS, 타겟목표 : 10Hz)

(참고로 설정을 변경하더라도 적용이 되지 않는 경우가 있습니다. 저장 후 다시 오픈하면 적용됩니다.)

Isaac Sim의 Frame Rate는 개선되었지만, 여전히 10~30FPS 사이에서 불안정합니다. (추후 시뮬레이터의 FPS도 조정해 추가 실험이 필요할 듯합니다.)

Isaac Sim의 FPS 변화도 문제지만, 여전히 ROS 2에서는 개선되지 않았습니다.

2. 이미지 해상도 변경

처음에는 이미지 해상도 변경을 시도했으나, 카메라의 Property 창에서 관련 설정을찾을 수 없었습니다. (저만 안보이나요...? ㅠㅠ)

isaac_create_render_product의 Property에도 Resolution 속성이 존재하여 해당값을 변경하였습니다.

🔹 기존 해상도 : 1280x720

🔹 변경 후 : 144x144

해상도 변경 후 성능 개선 확인

- 해상도 변경 전 : Isaac : 10~30hz ROS2 Subscribe 0~1hz

- 해상도 및 FrameRate 변경 후 : Isaac : 40~55hz ROS2 Subscribe 9~10hz

144x144 해상도로 실용성이 있을지는 모르겠지만, 이번 문제의 주요 원인은 Image메시지의 크기와 네트워크 대역폭 문제로 보입니다.

기존 해상도 (1280x720) 대역폭 : 6.35 MB/s (2 messages)

변경 후 (144x144) 대역폭 : 662 KB/s (10 messages)

추후에 FrameSkipCount와 Resolution을 조절해서 최적화를 좀 진행해봐야 겠네요.

📌 최적화 결과 및 추가 고려 사항

✅ 적용 후 개선된 사항

✔ frameSkipCount = 5 설정 후, Isaac Sim 내 FPS가 다소 안정화됨

✔ 해상도를 144x144로 낮춘 후, ROS 2에서 데이터 유실 문제 해결

⚠ 추가로 고려할 점

ROS 2의 QoS 설정 조정 ( reliability , depth 등)

WSL2 네트워크 및 메모리 설정 변경

📌 3줄 요약

1. Isaac Sim에서 ROS 2 Image 토픽을 퍼블리시할 때, WSL2에서 Subscribe하면

FPS 저하(5Hz 미만)와 데이터 유실 발생

2. Camera Helper Node의 frameSkipCount 조정 및 이미지 해상도(1280x720 →

144x144) 변경으로 성능 개선

3. 해상도 변경 후 FPS 안정화(ROS 2에서 9~10Hz) 및 데이터 유실 문제 해결, 추가

적으로 QoS 및 WSL2 네트워크 최적화 고려 필요