Skip to content
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

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

Open
wants to merge 30 commits into
base: main
Choose a base branch
from

Conversation

jasmeet0915
Copy link

@jasmeet0915 jasmeet0915 commented Sep 4, 2024

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

1

1 (1)

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)

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

  • This plugin makes use of ParticleEmitters to create weather conditions like dust storms which actually affect the simulated sensor data by adding noise (demonstrated in the gif below)
  • An easy-to-use GUI is also added to make it easy for the user to play around with different properties like wind speed, density and color of the particles to create different weather conditions (demonstrated in the gif below)
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)

DayLightManager GUI Plugin for simulating Time of Day and lighting conditions

  • The DayLightManager plugin for Gazebo simulates the Sun's trajectory based on the time of day and the observer's latitude, providing a realistic and dynamic representation of sunlight.
  • The plugin also changes Gazebo's scene colors to match changing sky colors and the plugin GUI allows you to set a scaling factor for the time of day to simulate multiple day cycles in a short period of time. The time of day is also available on a topic as gz.msgs.Time
  • Added Lens Flare Plugin (Add Lens Flare System gazebosim/gz-sim#1933) to the Rover's Camera sensors which is affected in real time by the moving sun throughout the time of day
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

timeofday-ezgif com-video-to-gif-converter

day_color-2024-09-05_17 51 50-ezgif com-video-to-gif-converter

Side Quests

@mkhansenbot mkhansenbot self-requested a review September 5, 2024 18:16
@mkhansenbot
Copy link
Contributor

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 jasmeet0915 changed the title NASA Challenge_[@utkrishtjain]_[Custom Models & Gazebo Plugins for Realistic Simulations] NASA Challenge_[@utkrishtjain]_[Custom Models & Gazebo Plugins for Realistic Simulations] (Ref Issue: #46) Sep 6, 2024
Copy link
Contributor

@mkhansenbot mkhansenbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is still a draft, but please add a Dockerfile or a docker-compose.yaml and a build.sh script so the CI can build it automatically. See the README of this repo for details.

@jasmeet0915 jasmeet0915 marked this pull request as ready for review September 8, 2024 23:34
@jasmeet0915
Copy link
Author

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

jasmeet0915 and others added 20 commits September 9, 2024 10:54
@mkhansenbot
Copy link
Contributor

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

@mkhansenbot mkhansenbot dismissed their stale review September 11, 2024 16:04

CI now passing, needs code review

@Bckempa Bckempa added the Summer Sprint NASA Space ROS Sim Summer Sprint Challenge 2024 label Sep 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Summer Sprint NASA Space ROS Sim Summer Sprint Challenge 2024
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants