NASA_Challenge_[@RBinson]_[Lunar Pole Exploration Rover & Plugins]#43
NASA_Challenge_[@RBinson]_[Lunar Pole Exploration Rover & Plugins]#43RBinsonB wants to merge 1 commit intospace-ros:mainfrom
Conversation
a7b581e to
a0a14d4
Compare
0820a6f to
9448fb0
Compare
|
@mkhansenbot the docker builds on my machine, can we try again on the CI? |
|
@ivanperez-keera to review this PR. |
|
@asimonov to review as well. |
f8e1718 to
c96082d
Compare
This commit adds a lunar pole exploration rover demo modelled on NASA's VIPER mission, including a simulated rover model, and world and ground models to simulate the Mons Mouton. The commit also adds Gazebo plugins to simulate power generation and consumption in space robotics, which the simulation above uses. Plugins include: - A solar panel plugin to simulate power generation from the sun according to occlusion and angle between the sun and the panel. - A radioisotope thermal generator plugin to simulate the constant power from a radioisotope thermal generator. - A modified version of the linear battery plugin that is able to take as charge input the power outputs of the two previous plugins. - A sensor power load system plugin to simulate the power drawn by sensors Documentation, as well as a dockerfile to help build and try this demo, are included. Co-authored-by: stevedan <stevedan.o.omodolor@gmail.com>
c96082d to
6cdb761
Compare
|
Hi Ivan, I don't think the original PR is broken but for sure it is outdated (and takes a while to build). I went ahead and updated it so it works with the (1) latest space-ros jazzy version, the current Gazebo, and (2) It follows the current setup/format for demos that uses docker compose. The only hiccup I have noticed is that the Solar Panel plugin crashes if you have more than one running. The Viper robot model has 3 solar panels, so if you add the 3 plugins, there is a crash. One of my colleagues tried to fix it but without luck. I'll take another look at it today and if I am able to fix it, I'll write back. PS.- Happy to hop in a call if needed, but first I want to give one last shot to fix that Solar Plugin thing. I'd like to have them all working, as in the original PR. |
|
Hi @ivanperez-keera , okay, I took a look at this again. As I said, the only issue I was having was that the solar plugins were crashing in my machine. I fixed that by moving some calculations from the PostUpdate function to OnRender in the plugin, since there were some render-related threading issues. In summary: Our branch https://github.com/traclabs/demos/tree/viper_sync has updates that build on top of the original work of RBinson and allows a user to:
Video below shows my running the demo (using ./run.sh after running ./build.sh first), making the robot turn around, and visualizing the solar panel topic in a terminal. I'd be happy to send a PR if needed. If there are more changes/edits you'd like to do, I am also happy if anybody just grab our changes and incorporate them in whatever way you see fit. We are using our forked version for a current project and so far we are thankfully not having any issues, so I think the code should be good to go. 2026_03_12_test_lunar_exploration_rover_hb.mp4 |
|
Note that this would have to be changed in this PR before the final merge: That should point to the space-ros org. |
Lunar Pole Exploration Rover & Plugins
Closes: issue #36
This package (and associated assets in the simulation repository space-ros/simulation#25) provides a Gazebo simulation of a lunar south pole exploration mission inspired by the real NASA VIPER mission.
It includes a realistic environment, the Mons Mouton, where the VIPER rover was planned to land, and a fully controllable rover model.
The key elements of the simulation is the integration of specifically developped Gazebo plugins. A solar panel plugin and associated battery and power consumption plugins aim to simulate the power generation challenge of the lunar south pole.
This package and associated plugins and models were developped by Robin Baran and Stevedan Ogochukwu Omodolor Omodia for the NASA Space ROS Sim Summer Sprint Challenge.
Detailed information on how to build, to run, the APIs and so on is available in the README
Contribution details
Our contribution is as follows:
Why It Matters
Our motivation and rational for this contribution is firstly based on the renewed global interest for the moon. The polar regions in particular are of high interest due to the high chance of water ice being present in permanently shaded craters. Said water could be used to establish a long lasting human presence on the moon (https://www.weforum.org/agenda/2023/08/space-water-ice-moon-south-pole/).
Unique challenges have to be addressed in this environment and would be interesting to simulate in Space-ROS. In particular the power generation and management:
In addition, power generation and management strategies are a cornerstone of any space mission, and in particular space robotic missons. Many space missions have been saved or got extended beyond their initially planned lifetimes through the careful management of power loads. Deactivating science equipment, sensors and even actuators to reduce consumption. For example, the Opportunity and Spirit rovers extended their mission life well beyond the planned 90 days by deactivating non-essential equipment and reducing communication during dust storms (https://web.archive.org/web/20140902071407/http://www.nasa.gov/mission_pages/mer/mer-20070824.html). Being able to simulate those behaviors and strategies seems of great added value to Space-ROS.
Detailed information on how to build, to run, the APIs and so on is available in the README