Moon Yard World
The primary simulation environment replicates a lunar mining arena with obstacles, excavation zones, and AprilTag beacons.World Configuration
Location:src/lunabot_simulation/worlds/moon_yard.sdf
Physics Engine
The world uses ODE physics with real-time simulation:
- Step size: 2ms for stable dynamics
- Update rate: 500 Hz
Environment Elements
The world includes:
- Lunar surface mesh at
(2.95, -1.1, 0.0) - AprilTag beacon at
(0, 1.08, 0.25)for localization - Arena walls forming a 7.9m x 4.4m enclosed area
- 7 rocks of varying sizes distributed across obstacle zones
Arena Layout
The moon yard arena dimensions:| Boundary | Position | Size |
|---|---|---|
| North wall | (2.95, 1.15, 0.25) | 7.9m x 0.1m x 0.5m |
| South wall | (2.95, -3.35, 0.25) | 7.9m x 0.1m x 0.5m |
| East wall | (6.95, -1.1, 0.25) | 0.1m x 4.4m x 0.5m |
| West wall | (-1.05, -1.1, 0.25) | 0.1m x 4.4m x 0.5m |
The arena design follows NASA Lunabotics competition specifications with distinct starting, obstacle, and excavation zones.
Launch Configuration
Location:src/lunabot_simulation/launch/moon_yard.launch.py
Spawn Parameters
ROS-Gazebo Bridge
The launch file configures topic bridges for sensor and control data:macOS Compatibility
The launch file automatically patches the render engine for macOS:Model Resources
The simulation uses custom models stored inmodels/ directory:
lunar_surface- Textured terrain meshapriltag_beacon- Fiducial marker for localizationrock_rough,rock_round,rock_large,rock_small- Obstacle models
Resource Path Configuration
Running the Simulation
The simulation runs in headless mode (
-s flag) by default to conserve resources. Add GUI by modifying gz_args in the launch file.