> For the complete documentation index, see [llms.txt](https://www.learnros2.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.learnros2.com/ros/how-to-launch-the-nav2-stack.md).

# How to launch the Nav2 stack

In this article, we will demonstrate how to launch the Nav2 with default setup. To launch the stack, we have the following prerequisites:

* a map: This map is used to construct the static layer of the cost map. We can build and save a map with slam\_toolbox package. Note that slam\_toolbox support different map format but nav2 uses the yaml file.
* a nav2 parameter file: This is the configuration file of the nav2 stack. It might be overwhelming to create a configuration file from scratch as it contains many parameters. Instead, we can use [this file](https://github.com/ros-planning/navigation2/blob/humble/nav2_bringup/params/nav2_params.yaml) in the navigation2 package as the blueprint.

| Param Name       | Default Value                                             | Description                                                                 |
| ---------------- | --------------------------------------------------------- | --------------------------------------------------------------------------- |
| namespace        | (empty)                                                   | Top-level namespace                                                         |
| use\_sim\_time   | false                                                     | Use simulation (Gazebo) clock if true                                       |
| params\_file     | os.path.join(bringup\_dir, 'params', 'nav2\_params.yaml') | Full path to the ROS2 parameters file to use for all launched nodes         |
| autostart        | true                                                      | Automatically startup the nav2 stack                                        |
| use\_composition | False                                                     | Use composed bringup if True                                                |
| container\_name  | nav2\_container                                           | The name of container that nodes will load in if use composition            |
| use\_respawn     | False                                                     | Whether to respawn if a node crashes. Applied when composition is disabled. |
| log\_level       | info                                                      | Log level                                                                   |

Let's edit the nav2 stack configuration (knowns as params file). Each section in the file corresponds to a component in the nav2 stack. The details of those parameters can be found in  the [Nav2 Configuration Guide](https://navigation.ros.org/configuration/index.html).

We will put some emphasis on the namespae.

The end goal is to have

* topic with proper namespace
* frame with proper namespace
* node with proper namespace
* service with proper namespace
