# museum_guide

A beginner ROS2 (Jazzy) stack that autonomously guides a differential-drive
robot through a simulated museum. It senses obstacles with a LiDAR, decides a
direction based on configurable thresholds, drives the base, broadcasts its
pose into TF, and publishes its full traced path — with five operating modes
selectable at launch time.

## Quickstart

Clone into the `src` directory of your colcon workspace (e.g. `~/ros2_ws`), install
the declared dependencies, then build and launch:

```bash
# Clone into your workspace's src/
cd ~/ros2_ws/src
git clone <repo-url> museum_guide

# Install the ROS2 packages this stack depends on
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

# Build, source, and launch
colcon build --symlink-install
source install/setup.bash
ros2 launch museum_guide bringup.launch.py
```

## Operating modes

Pick a mode at launch time by pointing `params_file` at one of the config
YAMLs:

```bash
ros2 launch museum_guide bringup.launch.py \
  params_file:=$(ros2 pkg prefix museum_guide)/share/museum_guide/config/cautious_tour.yaml
```

Available modes: `standard_guide`, `cautious_tour`, `after_hours`,
`crowded_gallery`, `agile_demo` — one `config/*.yaml` each.