Navigation Config
This page explains the navigation package configuration used by the FYP system.
1. Role Of The Package
Section titled “1. Role Of The Package”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.
2. Main Configuration Files
Section titled “2. Main Configuration Files”Important files are:
navigation/config/common_costmap_params.yamlnavigation/config/global_costmap_params.yamlnavigation/config/local_costmap_params.yamlnavigation/config/move_base_params.yamlnavigation/config/global_planner_params.yamlnavigation/config/teb_local_planner_params.yaml
3. Frame Conventions
Section titled “3. Frame Conventions”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.
4. Obstacle Layers
Section titled “4. Obstacle Layers”The current setup uses:
spatio_temporal_voxel_layersob_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.
5. Global Planning
Section titled “5. Global Planning”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.
6. Local Planning With TEB
Section titled “6. Local Planning With TEB”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.
7. Recovery Behavior
Section titled “7. Recovery Behavior”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.
8. Why This Configuration Matters
Section titled “8. Why This Configuration Matters”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.