space-ros / demos

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

NASA Challenge_[@utkrishtjain]_[Custom Models & Gazebo Plugins for Realistic Simulations] (Ref Issue: #46) #40

Open jasmeet0915 opened 2 months ago

jasmeet0915 commented 2 months ago

Associted Feature Request Issue: #46

This PR adds a set of custom Gazebo Plugins that aim at making the simulation more realistic. Custom models made from real elevation data (From NASA's Planetary Data System) of celestial bodies like Moon and Mars is also added.

dust_gg-2024-09-05_17 49 27-ezgif com-video-to-gif-converter Demo Gif showing curiosity rover on an actual terrain model of a patch of Gale Crater on Mars with Dust Storms and changing daylight. Observe how the dust particles affect the camera images and change in daylight causes lens flare artifacts as well

timeofday_color-2024-09-05_17 12 22-ezgif com-video-to-gif-converter Demo Gif showing curiosity rover on an actual terrain model of a patch of Gale Crater on Mars with our custom changing daylight plugin. Observe how the the color of the sky (scene in Gazebo) changes based of time of day and the position of the sun changes as well causing shadows all over the terrain. The changing daylight causes lens flare artifacts in the camera RGB image as well

Main Highlights

Models of Martian Terrain made from elevation data from HiRISE Images on board the Mars Reconnaissance Orbiter (MRO):

Click to view images of the Terrain Models made from data of a patch of Gale Crater on Mars ![IMG-20240912-WA0000.jpg](https://github.com/user-attachments/assets/231203a5-de1a-4d1a-a4c4-9998e8bb14b4) ![1](https://github.com/user-attachments/assets/0b978bd4-9d5b-440d-9f97-ad731580b6e4) ![1 (1)](https://github.com/user-attachments/assets/353c1ec5-c5a2-4b10-a193-f20472497ef7)

Model of Lunar Terrain made from elevation data LOLA on board the Lunar Reconnaissance Orbiter (LRO):

Click to view images of the Terrain Models made from data of Southern region of Moon which is the main target for NASA's Artemis Missions ![1 (2)](https://github.com/user-attachments/assets/53c02a12-4bab-4d19-813f-67a7b0415704)

DustManager GUI Plugin simulating weather conditions like Dust Storms on Mars using ParticleEmitters in Gazebo

Click to view gif of the DustStorm plugin in action of martian terrain with the curiosity rover model ![dust_test-2024-09-03_02 11 381-ezgif com-video-to-gif-converter (2)](https://github.com/user-attachments/assets/b0b30e3b-e1a4-4592-9011-8ebe1e2a7623)

DayLightManager GUI Plugin for simulating Time of Day and lighting conditions

Click to view gif of the TimeOfDay plugin in action on martian terrain with the curiosity rover model ![Screencastfrom01-09-24080208PMIST-ezgif com-video-to-gif-converter](https://github.com/user-attachments/assets/8cec0380-57ee-4ed0-accc-dd1cfdd7a510) ![timeofday-ezgif com-video-to-gif-converter](https://github.com/user-attachments/assets/a15b8bf5-4b3a-47c8-b184-04b5727755cb) ![day_color-2024-09-05_17 51 50-ezgif com-video-to-gif-converter](https://github.com/user-attachments/assets/1fbf9efc-8127-405f-8e5a-0cdc78cba6d1)

Side Quests

mkhansenbot commented 2 months ago

Thank you for your submission. I know it is still a Draft, so I'm not officially reviewing it yet, however there are a couple of things needed for our CI to build your demo, and to follow our contribution guidelines. 1) Please open a feature request issue in this repo describing the feature. 2) Please rebase to main and update your commit messages to refer to the issue # you created. 3) Add that issue # in the title of this PR also. 4) Please add a Dockerfile or docker-compose.yaml and a build.sh script to build your Docker image. Also add a run.sh script to run the demo. (Please see the updated README in this repo.) 5. Don't forget to add a README with relevant details for users to understand what the demo does and how to run it. Thanks!

jasmeet0915 commented 2 months ago

@mkhansenbot all the requested changes have been made and the PR updated

mkhansenbot commented 2 months ago

@jasmeet0915 - I just changed the build workflow to cd into the folder first, then rebased your branch