-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug Report] Multiple Tiled Cameras Override Each Other #1070
Comments
I can confirm that this issue already happens by the time that the image is read by grab_images in the observation group, but only for Tiled Cameras (standard USD cameras look like they work). I've combined your repro steps in a single standalone file for easier troubleshooting here: |
@Dhoeller19 @Mayankm96 I believe that this may be on Isaac sim side, or maybe the buffers in |
same issue. |
Thanks for the report, I don't believe we can currently have multiple tiled cameras at different resolutions as the resolution settings are global. We'll look into adding support for this. |
@kellyguo11 I believe this issue still happens even if the multiple tiled cameras are the same resolution |
Yes, you are right. It seems currently we can only have one tiled camera. The fix is in the works to support multiple tiled cameras, including at different resolutions. Hopefully it'll be made available in the next release. |
@kellyguo11 Just to add to the discussion, as described in #992 I can successfully render 2x tiled cameras and get different images (same resolution), but there is an issue with correctly setting both poses. |
@elle-miller Has an interesting observation @kellyguo11 with #992 . EDIT: I believe that #1070 is still an issue as #992 looks like it produces different images, but I believe that they are the same image just with different noise levels.
Using set_world_poses_from_view : https://gist.github.com/glvov-bdai/767ad9d76ea2a10b625fe7cbfbc21c20 |
Hi, I have a similar issue. When I have a Franka environment with a front-facing and wrist camera, I can get the Tiled Images to render properly. However, the moment I have two environments, the TiledCamera on the wrist has an incorrect orientation:
|
@kensukenk Can you please be a little bit more explicit about what the problem is? Is it the camera not being in the desired orientation when using Tiled Cameras but it is in the correct orientation with USD Cameras? If you are using set_world_poses for your camera (or anything related to pose), I'd double check that the pose convention is consistent ("opengl" or "ros" or "world) for all cameras. From what I was able to piece together from your photos, I'd guess that the usd camera is in OpenGL format, whetheras the Tiled camera may be in ROS format, but I'm not sure. from omni.isaac.lab.sensors.camera.camera.py
Can you please share code to replicate your results? I'm surprised that the multiple cameras don't override each other and would be curious to investigate this further. |
Sure, my code is a modification of the Franka Cube Lift env. My issue is that when I use only one environment, my TiledCamera renders correctly. However, when I use two or more environments in parallel (and change nothing else), the TiledCamera on the franka wrist flips orientation. I added cameras to the lift_env_cfg.py file as 'class ObjectTableSceneCfg(InteractiveSceneCfg):
I also set self.rerender_on_reset=True, in case that matters. and
` In particular, I defined the TiledCameras in the last text chunks directly above (self.scene.front_cam, self.scene.wrist_cam) |
EDIT: @kensukenk thank you for submitting the report at #1127 ! @kensukenk Thanks for the additional information. This looks like a separate issue to me to do with how poses are being set, do you mind opening a new issue with this information so we can keep this issue more focused to cameras overriding each other? Also if you're able to provide the steps to reproduce as a standalone file in the style of this gist: that would help the dev team trouble shoot this issue faster. Otherwise, we have to recreate/keep track of your modifications, which can slow things down. Thanks! |
This should be fixed in IsaacLab 2.0 and IsaacSim 4.5. The issue goes to the Omniverse side so previous versions of IsaacLab and IsaacSim do not support multi-resolutions tiled cameras. Please open this issue if problem still persists. |
Bug Description
When using two tiled cameras in the scene, the last camera overrides all observations, resulting in both cameras capturing the same image.
Steps to reproduce
CartpoleRGBCameraEnvCfg
environment with two environments and two tiled cameras.CartpoleRGBCameraSceneCfg
class in the following file:source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/manager_based/classic/cartpole/cartpole_camera_env_cfg.py
, adding two tiled cameras as shown below:RGBObservationsCfg
to include observations for both cameras:source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/manager_based/classic/cartpole/cartpole_env_cfg.py
for clearer image results:Additional context
Two identical tiled cameras with slightly different orientations (one capturing more of the ground, the other more of the sky) were used. Observation data was saved as images for inspection.
Running the following scenarios, only the first one reproduces the bug:
Scenario 1: Running two tiled cameras in two environments causes the bug—both image files show the second camera’s view.
Camera 1

Camera 2

Scenario 2: Running two tiled cameras in a single environment works correctly—each camera renders its own FOV.
Camera 1

Camera 2

Scenario 3: Running two non-tiled cameras in two environments works as expected.
Camera 1

Camera 2

Note: Although it may be unrelated, there is a noticeable decline in image quality in the first scenario compared to the other two.
The text was updated successfully, but these errors were encountered: