space-ros / demos

Various Space ROS demos.
Apache License 2.0
28 stars 43 forks source link

NASA Challenge_[@azmyin12]_[Space ROS meets Open 3D Engine: A Case Study On Setup Complexity, Features, and Challenges in Mobile Robot Simulation](closes #63) #64

Open Mechazo11 opened 2 months ago

Mechazo11 commented 2 months ago

Related Issue #63

This PR adds the o3de_mars_rover demo that showcases a the Curiosity rover demo moving on a test bed inspired by the NASA JPL's Mars Yard testing ground.

The provided Dockerfile is provided that builds the RobotSim O3DE project that integrates two new Assets (henceforth released with Apache 2.0 license) gems NasaCuriosityRoverGem and MarsYard gem. See the attached image for a preview of the system in action.

submission_ready

Short case study:

The main objective was to perform a case study on the setup complexity, asset generation pipeline, features and challenges of using Open 3D Engine for space robotics applications, specifically mobile manipulators like the Curiosity rover.

Its first major advantage is the direct integration to the ROS 2 graph without requiring additional communication layers (see demo) thanks to the ROS 2 Gem created by Robotec.ai.

Additionally, O3DE offers many beneficial features, including an intuitive UI, a rapidly navigable Entity Tree, reusable Prefabs, ray-traced rendering, a built-in Material Canvas, action scripting via Lua and Python, a dedicated Terrain generator, and a sophisticated lighting/camera system. These features may enable generation of scientifically accurate and complex test scenarios that may be very beneficial for Space ROS meta stack and NASA in general for developing its multi-million dollar robotic systems.

[TODO add pictures with one-two linear description of various feature after submission]

In summary, O3DE with the ROS 2 Gem, in my opinion, is a free alternative to Isaac Sim/Omniverse, offering similar capabilities and powered by NVIDIA's robust PhysX 5 physics engine.

[TODO complete case study after submission]


Submission status

Mechazo11 commented 2 months ago

Judges, the docker image, unfortunately, comes out to be over 56 GB. I think this may be why CI is failing. I was able to build the image with no issues when I allotted about 70 GB of space.

mkhansenbot commented 2 months ago

We value your submission but need it to build in our CI. I suggest you split this into two containers, one for space-ros plus the demo, and one for O3DE, can you do that? It should meet the requirements as long as all the ROS packages are built on Space ROS (not including the O3DE gems).

Mechazo11 commented 2 months ago

@mkhansenbot, Sir, would the CI work if I begin my O3DE docker image from openrobotics/space_robot_demo ?

Mechazo11 commented 2 months ago

@mkhansenbot sir, as you may know hurricane francine is passing through Louisiana and it has caused power outages where I live (Baton Rouge). I had begun the process of splitting the docker image so that the O3DE part built on top off 'openrobotics/space_robots' image. But due to the outtage I was not able to finish before the deadline. May I finish the Dockerfile as soon as I am able to?

mkhansenbot commented 2 months ago

I hope you are safe! I will check with the judges and see if we can grant an exception to the deadline to get this to build in CI. Please work on this if you can but don't push changes yet.

Mechazo11 commented 2 months ago

@mkhansenbot thank you for your kind words. We are all safe and sound here. I will proceed as instructed. With best regards, @Mechazo11

mkhansenbot commented 2 months ago

I spoke to the judges and we have decided that since this is a technical limitation of Github, and we didn't specify in advance that the build had to be run in CI this way, you can have time to attempt to fix this. However, time is limited as we must begin judging all content soon.

Mechazo11 commented 2 months ago

@mkhansenbot thank you very much for the opportunity. I will try my best to push the update by tomorrow night and get the build passing.

Mechazo11 commented 2 months ago

@mkhansenbot as discussed I have modified the docker image so that it starts from the openrobotics/space_robots_demo image. Based on it, the O3DE demo image builds successfully in my machine as shown below

image

Please let me know if there is anything needed from my end.

Mechazo11 commented 2 months ago

@mkhansenbot, Sir, even with splitting the o3de into its own container Github CI is still failing build with the error stating it has run out of space. Over the weekend, I have tried multiple variations to this approach but all fails with the same error message

mkhansenbot commented 2 months ago

OK, thanks for your efforts. We'll accept the submission and discuss it during the judging process.