Skip to content

Navigation Config

This page explains the navigation package configuration used by the FYP system.

The navigation package is the parameter layer for the ROS navigation stack. It defines:

  • frame conventions
  • costmap plugins
  • obstacle handling
  • global planning behavior
  • local planning behavior
  • recovery behavior

The package itself is not where multi-floor logic is implemented. It is where the base navigation behavior is tuned so the rest of the system can work.

Important files are:

  • navigation/config/common_costmap_params.yaml
  • navigation/config/global_costmap_params.yaml
  • navigation/config/local_costmap_params.yaml
  • navigation/config/move_base_params.yaml
  • navigation/config/global_planner_params.yaml
  • navigation/config/teb_local_planner_params.yaml

The config is tied to the FYP frame chain rather than generic ROS defaults.

Important frame choices include:

  • global frame: map
  • local costmap frame: camera_init
  • robot base frame: aft_mapped

This is consistent with the mapping and localization chain used elsewhere in the repository, especially the FAST-LIVO2 and HDL localization setup.

The current setup uses:

  • spatio_temporal_voxel_layer
  • sob_layer

The obstacle source is:

  • /cloud_registered

with:

  • sensor_frame: aft_mapped
  • obstacle height limits
  • voxel filtering
  • finite obstacle range

This means the navigation stack is tuned around the LiDAR point cloud output produced by the localization and mapping pipeline rather than a simple 2D laser scan.

The global planner configuration uses:

  • global_planner/GlobalPlanner

Important tuned choices include:

  • grid-path planning
  • Dijkstra disabled
  • custom lethal, neutral, and scaling costs
  • explicit orientation handling

These parameters are part of the route quality and map-following behavior in the final system.

The local planner is:

  • teb_local_planner/TebLocalPlannerROS

The current TEB config includes project-specific settings for:

  • robot footprint
  • command topic assumptions
  • maximum velocity and acceleration
  • obstacle distance and inflation
  • goal tolerances
  • optimization weights

This is not a default demo configuration. It has been tuned for the real deployment platform and the expected operating environment.

The current move_base setup explicitly enables:

  • local costmap clearing
  • rotation recovery
  • global costmap clearing

This is important because the robot is expected to operate in cluttered indoor environments, not just ideal open maps.

Even though these files are “just config”, they are a significant part of the FYP implementation because they define how the robot:

  • interprets obstacles
  • follows the global path
  • performs local motion optimization
  • recovers from planning problems

Without these settings, the mapping and localization parts would still exist, but the navigation behavior would not match the physical platform or the indoor multi-floor mission scenario.