# Issue #506: Indoor Launch Profile
# Optimized for controlled indoor environments: tight spaces, no GPS, conservative speed
#
# Parameters:
#   - Max speed: 0.2 m/s (tight indoor corridors)
#   - Geofence: tight (e.g., single room: ~5m radius)
#   - GPS: disabled
#   - Costmap inflation: aggressive (0.55m → 0.65m for safety)
#   - Recovery behaviors: conservative (short spin/backup distances)
#   - Tricks: enabled (safe for indoor demo)

profile: indoor
description: "Tight indoor spaces, no GPS, conservative speed (0.2 m/s)"

# ── Navigation & Velocity ──────────────────────────────────────────────────────
max_linear_vel: 0.2            # m/s — tight indoor corridors
max_angular_vel: 0.3           # rad/s — conservative rotation
max_vel_theta: 0.3             # rad/s — Nav2 controller (same as above)

# ── Costmap Configuration ──────────────────────────────────────────────────────
costmap:
  inflation_radius: 0.65       # 0.35m robot + 0.30m padding (aggressive for safety)
  cost_scaling_factor: 10.0
  obstacle_layer:
    inflation_radius: 0.65
    clearing: true
    marking: true

# ── Behavior Server (Recovery) ─────────────────────────────────────────────────
behavior_server:
  spin:
    max_rotational_vel: 1.0
    min_rotational_vel: 0.4
    rotational_acc_lim: 3.2
  backup:
    max_linear_vel: 0.10        # very conservative backup
    min_linear_vel: -0.10
    linear_acc_lim: 2.5
    max_distance: 0.3           # 30cm max backup distance
  wait:
    wait_duration: 2000         # 2 second waits

# ── Geofence (if enabled) ──────────────────────────────────────────────────────
geofence:
  enabled: true
  mode: "tight"                 # tight geofence for single-room operation
  radius_m: 5.0                 # 5m radius max (typical room size)

# ── Trick Behaviors (Social) ───────────────────────────────────────────────────
tricks:
  enabled: true
  available: ["spin", "dance", "nod", "celebrate", "shy"]

# ── SLAM Configuration ─────────────────────────────────────────────────────────
slam:
  enabled: true
  mode: "rtabmap"              # RTAB-Map SLAM for indoor mapping
  gps_enabled: false            # no GPS indoors

# ── Person Follower ────────────────────────────────────────────────────────────
follower:
  follow_distance: 1.5          # meters
  max_linear_vel: 0.2
  min_linear_vel: 0.05
  kp_linear: 0.5                # proportional gain for linear velocity
  kp_angular: 0.3               # proportional gain for angular velocity
