hi all,
i’m seeing a mismatch between two point clouds that are both produced by the same ROS 2 OmniGraph camera node. in isaac sim 5.0 + ros 2 jazzy, i visualize /depth_pcl as PointCloud2 in rviz2 and also reproject the depth image from that same node using rviz2’s DepthCloud display (which consumes the node’s camera_info). since both /depth_pcl and the depth image come from that single ros 2 omnigraph camera node, these two clouds should overlap perfectly—but in 5.0 they don’t. when i run the exact same USD scene in isaac sim 4.5 + ros 2 humble, they do align.
for intrinsics i’m following the usual formulas from the docs (fx = width_px * focalLength / horizontalAperture, fy = height_px * focalLength / verticalAperture). the documentation wasn’t fully explicit about whether to use pixel resolution or nominal sensor size, so i verified by calculation: using the pixel resolution makes fx match my actual image width (1280 px) in the K matrix, which convinces me that’s the intended interpretation. given width ≠ height and horizontalAperture ≠ verticalAperture, fy should differ from fx. in isaac sim 5.0, the camera_info K matrix looks correct per those formulas, yet /depth_pcl and the depthcloud-derived cloud don’t overlap in rviz2. in isaac sim 4.5, fx looks correct but fy is wrong—it’s identical to fx even though they should be different (width and height are not the same, and verticalAperture and horizontalAperture differ). despite that apparent fy issue in 4.5, the two clouds actually do align there.
to reproduce, i created a minimal USD with one camera, one ros 2 omnigraph camera node (publishing rgb, depth, /depth_pcl, and camera_info), and a tf from world → camera. i then ran the same USD first in isaac sim 5.0 + jazzy, opened rviz2 (jazzy) and visualized /depth_pcl (pointcloud2) and the depth image via depthcloud (using the matching camera_info). next, i ran the same USD in isaac sim 4.5 + humble, opened rviz2 (humble), and visualized the same topics. result: misalignment in 5.0; alignment in 4.5. as a sanity check i also compared a lidar point cloud.
for easy comparison, i’m pasting screenshots and messages below:
rviz (isaac sim 4.5 — aligns):
/camera_info (isaac sim 4.5):
header:
stamp:
sec: 1795
nanosec: 383426969
frame_id: sim_camera
height: 720
width: 1280
distortion_model: plumb_bob
d:
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
k:
- 1108.5125019853992 -> fx
- 0.0
- 640.0
- 0.0
- 1108.5125019853992 -> fy? why is it equal to fx?
- 360.0
- 0.0
- 0.0
- 1.0
r:
- 1.0
- 0.0
- 0.0
- 0.0
- 1.0
- 0.0
- 0.0
- 0.0
- 1.0
p:
- 1108.5125019853992
- 0.0
- 640.0
- 0.0
- 0.0
- 1108.5125019853992
- 360.0
- 0.0
- 0.0
- 0.0
- 1.0
- 0.0
binning_x: 0
binning_y: 0
roi:
x_offset: 0
y_offset: 0
height: 0
width: 0
do_rectify: false
---
rviz (isaac sim 5.0 — does NOT align, I changed the color from white to AxisColor so it is more visible that these do not align):
/camera_info (isaac sim 5.0):
header:
stamp:
sec: 44
nanosec: 966669011
frame_id: sim_camera
height: 720
width: 1280
distortion_model: plumb_bob
d:
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
k:
- 1108.5125019853992 -> fx
- 0.0
- 640.0
- 0.0
- 854.5167406926195 -> fy
- 360.0
- 0.0
- 0.0
- 1.0
r:
- 1.0
- 0.0
- 0.0
- 0.0
- 1.0
- 0.0
- 0.0
- 0.0
- 1.0
p:
- 1108.5125019853992
- 0.0
- 640.0
- 0.0
- 0.0
- 854.5167406926195
- 360.0
- 0.0
- 0.0
- 0.0
- 1.0
- 0.0
binning_x: 0
binning_y: 0
roi:
x_offset: 0
y_offset: 0
height: 0
width: 0
do_rectify: false
---
camera intrinsics set in isaac sim in both simulations (settings panel):
i’m trying to understand two things:
(1) why /depth_pcl and the depthcloud-derived cloud don’t align in isaac sim 5.0 even though the camera_info intrinsics look correct by the formulas
(2) why they do align in isaac sim 4.5 even though fy in camera_info appears to be incorrect (equal to fx when it shouldn’t be).
for reference, i’m basing the formulas on the isaac sim docs—please see (insert documentation link here) next to the camera intrinsics section: ROS 2 Cameras — Isaac Sim Documentation
the USD is attached if anyone wants to cross-check Filebin | gj7sxghfewblgmfc
I am glad for any help!



