> ## Documentation Index
> Fetch the complete documentation index at: https://aegean.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Robot Simulation with Gazebo

> Building and extending Gazebo simulation worlds for embodied AI, including LLM-driven world and model authoring.

Realistic simulation environments are essential for training and evaluating embodied AI agents before deployment on physical hardware. This section introduces [Gazebo Sim](https://gazebosim.org/), the standard open-source simulator for ROS 2 robotics, with a focus on authoring rich indoor environments and using large language models to generate simulation assets from natural language descriptions.

The running example throughout is the [TurtleBot3 behavior demos](https://github.com/pantelis/turtlebot-maze) project: a ROS 2 Jazzy robot navigating AWS RoboMaker environments using Nav2, behavior trees, and AI-based perception.

<CardGroup cols={2}>
  <Card title="Gazebo worlds and SDF/Xacro" icon="house" href="/aiml-common/lectures/simulation/gazebo-worlds">
    World file anatomy, the SDF + Xacro format, and a walkthrough of the AWS
    RoboMaker Small House, 68 residential furniture and appliance models.
  </Card>

  <Card title="LLM-driven world authoring" icon="wand-magic-sparkles" href="/aiml-common/lectures/simulation/llm-world-authoring">
    Using large language models to generate SDF/Xacro world files and Gazebo
    models from natural language descriptions. Prompt patterns, iterative
    refinement, and literature review.
  </Card>
</CardGroup>

## Why simulation matters

Training and evaluating embodied AI agents in simulation offers several key advantages:

* **Safety**, no risk of hardware damage during early exploration
* **Scale**, run hundreds of parallel environments that would be impossible to instrument physically
* **Reproducibility**, fixed random seeds and deterministic physics for fair comparison
* **Domain diversity**, vary lighting, furniture layout, object placement, and sensor noise programmatically

The central challenge is the **sim-to-real gap**: models that work well in simulation often degrade when deployed on physical hardware. High-fidelity asset authoring, realistic geometry, physics, and sensor responses, closes this gap.

## Simulation stack

The tutorials use the following stack:

| Component                                               | Role                                        |
| ------------------------------------------------------- | ------------------------------------------- |
| [Gazebo Sim (Harmonic)](https://gazebosim.org/)         | Physics simulation and 3D visualization     |
| [ROS 2 Jazzy](https://docs.ros.org/en/jazzy/)           | Robot middleware, topics, services, actions |
| [Nav2](https://docs.nav2.org/)                          | Autonomous navigation stack                 |
| [AWS RoboMaker worlds](https://github.com/aws-robotics) | Open-source indoor environment assets       |
| [Docker Compose](https://docs.docker.com/compose/)      | Reproducible multi-container setup          |

***

<Callout icon="pen-to-square" iconType="regular">
  [Edit this page on GitHub](https://github.com/aegean-ai/eaia/edit/main/src/aiml-common/lectures/simulation/index.mdx) or [file an issue](https://github.com/aegean-ai/eaia/issues/new/choose).
</Callout>
