# Obstacle Course Demo Configuration
# Version 2.0 - Nav2 Autonomous Navigation with TurtleBot3
demo_name: "Obstacle Course Challenge - Nav2 Autonomous"
description: "Autonomous robot navigation with Nav2, TurtleBot3, and MCP conversational interface"
version: "2.0"
mode: "conversational" # Use natural language via MCP, not scripts
gazebo_world: "obstacle_course"
timeout: 180.0 # Increased for real navigation (3 minutes)
models:
# Mobile robot - TurtleBot3
robot:
type: "turtlebot3" # NEW: Use real TurtleBot3 instead of simple_robot
variant: "burger" # Options: burger, waffle, waffle_pi
sdf_file: "models/simple_robot.sdf" # Fallback for testing only
pose:
position: [0.0, 0.0, 0.01] # Lower height for TurtleBot3
orientation: [0.0, 0.0, 0.0, 1.0]
# Waypoints for Nav2 autonomous navigation
waypoints:
- position: [2.0, 0.0]
name: "waypoint_1"
tolerance: 0.25 # meters
- position: [4.0, 0.0]
name: "waypoint_2"
tolerance: 0.25
- position: [4.0, 2.0]
name: "waypoint_3"
tolerance: 0.25
- position: [6.0, 2.0]
name: "final_target"
tolerance: 0.30
max_velocity: 0.22 # TurtleBot3 Burger limit (m/s)
# Nav2 integration settings
nav2:
enabled: true
params_file: "nav2_params.yaml"
goal_timeout: 120.0 # seconds per waypoint
planner: "NavFn"
controller: "DWB"
initial_pose_required: true
sensors:
- lidar
- imu
- odom
# Obstacle 1: Wall
wall_1:
sdf_file: "inline"
pose:
position: [3.0, -1.0, 0.5]
orientation: [0.0, 0.0, 0.0, 1.0]
geometry:
type: "box"
size: [0.2, 4.0, 1.0]
color: [0.8, 0.2, 0.2, 1.0] # Red
static: true
# Obstacle 2: Wall
wall_2:
sdf_file: "inline"
pose:
position: [5.0, 1.0, 0.5]
orientation: [0.0, 0.0, 0.0, 1.0]
geometry:
type: "box"
size: [0.2, 2.0, 1.0]
color: [0.8, 0.2, 0.2, 1.0] # Red
static: true
# Target zone
target:
sdf_file: "inline"
pose:
position: [6.0, 2.0, 0.05]
orientation: [0.0, 0.0, 0.0, 1.0]
geometry:
type: "cylinder"
radius: 0.5
length: 0.1
color: [0.0, 1.0, 0.0, 1.0] # Green
static: true
navigation:
arrival_threshold: 0.3 # meters
velocity_step: 0.1 # m/s per update
update_rate: 10 # Hz
physics:
gravity: [0.0, 0.0, -9.81]
max_step_size: 0.001
real_time_factor: 1.0