Overview
This FYP is a ROS-based robotics navigation system that combines mapping, global localization, multi-floor navigation, and Unitree robot platform integration.
The system is built around an existing ROS workspace. It uses FAST-LIVO2 for mapping and odometry, HDL localization for relocalization against a known map, ROS Navigation Stack components for path planning, and custom navigation management logic for floor-aware waypoint navigation.
1. Project Summary
Section titled “1. Project Summary”The project connects the full workflow needed to run a robot in mapped indoor environments:
- FAST-LIVO2 mapping and odometry
- point cloud map preparation and localization map usage
- HDL localization with NDT-based matching
- TF alignment between global map and odometry frames
- ROS Navigation Stack deployment with costmaps and planners
- multi-floor map management and waypoint logic
- Unitree robot platform integration
The result is a reproducible navigation system that can run with prepared maps and can also be adapted to new environments by rebuilding maps and updating navigation configuration.
2. System Goals
Section titled “2. System Goals”The system is designed to support the following goals:
- create maps that can be used for localization and navigation
- relocalize the robot inside an existing map
- connect global localization to the odometry and navigation frames
- deploy navigation with configured maps, costmaps, planners, floors, and waypoints
- support multi-floor navigation through floor-specific maps and waypoint management
- provide a reproducible workflow for rebuilding and running the system from the ROS workspace
These goals shape the structure of the documentation: prepare the platform, run the existing system, rebuild the workflow in a new place, deploy navigation, then explain the codebase.
3. System Architecture
Section titled “3. System Architecture”The system can be understood as a pipeline:
Sensors -> FAST-LIVO2 Mapping / Odometry -> Map Preparation -> HDL Localization -> TF Alignment -> ROS Navigation / Multi-floor Navigation Management -> Unitree Robot PlatformEach layer has a clear role:
Sensors: provide input data for mapping, odometry, and localization.FAST-LIVO2 Mapping / Odometry: builds the map and provides odometry output.Map Preparation: prepares point cloud maps and navigation maps for localization and navigation.HDL Localization: matches live point cloud data against an existing map and estimates the robot pose in the global frame.TF Alignment: connects global map localization with the odometry frame chain used by the robot.ROS Navigation / Multi-floor Navigation Management: uses map files, costmaps, planners, floor selection, waypoints, and goals to drive navigation.Unitree Robot Platform: provides the robot platform integration layer for running the navigation result on the physical robot.
4. Main Components
Section titled “4. Main Components”The repository is organized as a ROS workspace with several mapping, localization, navigation, and robot integration packages.
Important folders include:
FAST-LIVO2: mapping and odometry related implementation.fastlivo2_bringup: launch files for starting the sensor and FAST-LIVO2 workflow.livox_ros_driver2: Livox sensor driver support.hdl_localization: relocalization against an existing point cloud map.hdl_global_localization: global localization related components.fast_gicpandndt_omp: point cloud registration and NDT acceleration dependencies.navigation: ROS Navigation Stack configuration, including costmaps and planners.navigation_manager: map loading, multi-floor management, waypoint logic, and navigation orchestration.robot_bringup: robot startup launch files.unitree: Unitree robot platform integration.
These components form the basis of the mapping, localization, and navigation workflow described throughout the documentation.
5. Documentation Structure
Section titled “5. Documentation Structure”The documentation is organized in the same order a future user should follow:
Preparation: ROS version, hardware platform, sensors, workspace layout, and assumptions.Getting Started: build the workspace and run the system with prepared maps.New Environment Workflow: rebuild maps and reconnect localization in a new place.Navigation Deployment: configure and launch multi-floor navigation.Codebase Explanation: understand the ROS packages, launch files, TF frames, configuration files, and extension points.
This order keeps the documentation focused on reproduction first and implementation details second.