Code Monkey home page Code Monkey logo

Comments (4)

Aqua12138 avatar Aqua12138 commented on August 16, 2024 1

Yes, I want to run the camera in headless mode to collect data.
Here are some of my attempts and results

  • I modified the train code as you said, but I still get the same error
# launch the simulator
config = {"headless": args_cli.headless}
# load cheaper kit config in headless
if args_cli.headless:
    app_experience = f"{os.environ['EXP_PATH']}/omni.isaac.sim.python.gym.headless.kit"
else:
    app_experience = f"{os.environ['EXP_PATH']}/omni.isaac.sim.python.kit"
# launch the simulator
simulation_app = SimulationApp(config, experience=app_experience)

# revision
from omni.isaac.core.utils.extensions import enable_extension
# enable viewport extension if not running in headless mode
enable_extension("omni.kit.viewport.bundle")
  • I tried to stop loading "omni.isaac.sim.python.gym.headless.kit" and the good news is that the code works fine, but I checked the image data I got and I found that none of them changed, but in non-headless mode I can get several frames of changing image data. Is this because I didn't load "omni.isaac.sim.python.gym.headless.kit"?

Actually I just want to get the camera data in headless mode, because my environment has very low frame rate in non-headless mode, I hope to provide a demo of using the camera to collect data in headless mode, thanks a lot.

from orbit.

Mayankm96 avatar Mayankm96 commented on August 16, 2024

Are you running this in headless mode?

If so, the above changes will try loading the configuration file for Isaac Sim called "omni.isaac.sim.python.gym.headless.kit". This configuration file does not have the viewport extension enabled by default, which is needed for rendering camera images. We enable it explicitly in the RL environment if running in non-headless mode:

https://github.com/NVIDIA-Omniverse/Orbit/blob/main/source/extensions/omni.isaac.orbit_envs/omni/isaac/orbit_envs/isaac_env.py#L413

You can add these lines right after launching the simulator. They'll enable the extension manually.

from omni.isaac.core.utils.extensions import enable_extension

# enable viewport extension if not running in headless mode
enable_extension("omni.kit.viewport.bundle")

I think it would make sense to enable this explicitly in the camera class to avoid unnecessary duplication of this code at multiple places.

Let me know if the issue gets fixed with it.

from orbit.

Mayankm96 avatar Mayankm96 commented on August 16, 2024

Is it just with play_camera.py? I have a unit test that runs in headless mode and after a few initial blank frames (a known issue in the simulator), it renders fine. You can run the test script here for it:

./orbit.sh -p source/extensions/omni.isaac.orbit/test/test_camera.py

from orbit.

Aqua12138 avatar Aqua12138 commented on August 16, 2024

Thanks, I ran test_camera.py and the camera still collects data normally in headless mode, but not in RL frame. I found the reason, it's because sim.step(render=False) is not collecting camera data, just set render=True to solve the problem. Thank you for your answer.

from orbit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.