# Profile: Outdoor Mode (Issue #506)
# Moderate settings for outdoor GPS-based navigation
#   - Medium velocities for practical outdoor operation (0.8 m/s)
#   - Standard costmap inflation (0.3m)
#   - Larger local costmap window (4m x 4m) for path preview
#   - Reduced obstacle layer complexity (LIDAR focused)

velocity_smoother:
  ros__parameters:
    max_velocity: [0.8, 0.0, 1.0]      # Moderate: 0.8 m/s forward, 1.0 rad/s angular
    min_velocity: [-0.4, 0.0, -1.0]

controller_server:
  ros__parameters:
    controller_frequency: 10.0          # Hz
    FollowPath:
      max_vel_x: 0.8                    # Moderate forward speed
      max_vel_theta: 1.0
      min_vel_x: -0.4
      vx_samples: 20
      vy_samples: 5
      vtheta_samples: 20
      sim_time: 1.7
      critics:
        ["RotateToGoal", "Oscillation", "BaseObstacle", "GoalAlign", "PathAlign", "PathDist", "GoalDist"]
      BaseObstacle.scale: 0.02          # Standard obstacle avoidance
      PathAlign.scale: 32.0
      GoalAlign.scale: 24.0
      PathDist.scale: 32.0
      GoalDist.scale: 24.0
      RotateToGoal.scale: 32.0

local_costmap:
  local_costmap:
    ros__parameters:
      width: 4                          # 4m x 4m rolling window
      height: 4
      resolution: 0.05
      update_frequency: 5.0
      plugins: ["obstacle_layer", "inflation_layer"]

      obstacle_layer:
        plugin: "nav2_costmap_2d::ObstacleLayer"
        observation_sources: scan
        scan:
          topic: /scan
          max_obstacle_height: 0.80
          clearing: true
          marking: true
          data_type: "LaserScan"
          raytrace_max_range: 8.0
          obstacle_max_range: 7.5

      inflation_layer:
        cost_scaling_factor: 3.0
        inflation_radius: 0.3           # Standard inflation

global_costmap:
  global_costmap:
    ros__parameters:
      resolution: 0.05
      update_frequency: 5.0
      plugins: ["static_layer", "obstacle_layer", "inflation_layer"]

      obstacle_layer:
        observation_sources: scan
        scan:
          topic: /scan
          max_obstacle_height: 0.80
          clearing: true
          marking: true
          data_type: "LaserScan"
          raytrace_max_range: 8.0
          obstacle_max_range: 7.5

      inflation_layer:
        cost_scaling_factor: 3.0
        inflation_radius: 0.3           # Standard inflation
