How real-lsy/that-nav works
PermitNav integrates ROS 2 components into a Go2-W 3D navigation demo. MID360 data feeds FAST-LIO for mapping and odometry; FAST_LIO_LOCALIZATION2 localizes against a saved point-cloud map, and a bridge supplies the navigation-frame transform. Maps can be converted to OctoMap and managed; the Web interface supports map interaction and goal setting, while the planner and controller produce velocity commands for the robot bridge. README documentation establishes the overall pipeline and capabilities; sampled source confirms selected driver, mapper, map-manager, Web, launch, and controller behavior, but not every integration detail.
Main entry points: main.js Web interface · jie_path_node.cpp 3D path planner · laserMapping.cpp FAST-LIO mapping · d1_controller.cpp Path controller
Components 17
Sensing and odometry
- Livox ROS driver
go2w_nav_ws/src/livox_ros_driver2/src/driver_node.cpp - FAST-LIO mapping
go2w_nav_ws/src/FAST_LIO_ROS2/src/laserMapping.cpp
Global localization
- FAST-LIO localization
go2w_nav_ws/src/FAST_LIO_LOCALIZATION2/src/laserMapping.cpp - Localization tools
go2w_nav_ws/src/FAST_LIO_LOCALIZATION2/fast_lio_localization - Localization TF bridge
go2w_nav_ws/scripts/localization_to_base_link_tf.py
3D map management
- Point-cloud map import
go2w_nav_ws/src/jie_3d_nav/jie_octomap - OctoMap generation
go2w_nav_ws/src/jie_3d_nav/jie_octomap/src/pcd_to_octomap_node.cpp - Map package manager
go2w_nav_ws/src/jie_3d_nav/jie_octomap/jie_octomap/map_package_manager.py - Map viewer
go2w_nav_ws/src/jie_3d_nav/jie_octomap/jie_octomap/map_viewer_gui.py
Web navigation
- Web interface
go2w_nav_ws/src/jie_3d_nav/jie_octomap/web/main.js - 3D path planner
go2w_nav_ws/src/jie_3d_nav/octo_planner/src/jie_path_node.cpp - Path controller
go2w_nav_ws/src/jie_3d_nav/octo_planner/src/d1_controller.cpp
Robot control
- Velocity command bridge
go2w_nav_ws/src/go2w_cmd_bridge/src/go2w_cmd_bridge.cpp
Other components
- Operator
- Livox MID360
- Unitree SDK2
- Go2-W
Connections 17
- Livox MID360 → Livox ROS driver: sends sensor data
- Livox ROS driver → FAST-LIO mapping: publishes cloud and IMU
- FAST-LIO mapping → FAST-LIO localization: provides live sensor data
- FAST-LIO mapping → Point-cloud map import: saves point-cloud maps
- Point-cloud map import → OctoMap generation: converts point clouds
- OctoMap generation → 3D path planner: supplies occupancy map
- Map package manager → 3D path planner: loads map snapshots
- Map viewer → Operator: presents map
- FAST-LIO localization → Localization TF bridge: provides localization pose
- Localization TF bridge → Web interface: publishes map transform
- Operator → Web interface: sets navigation goal
- Web interface → 3D path planner: sends start and goal
- 3D path planner → Path controller: publishes planned path
- Web interface → Path controller: sends start command
- Path controller → Velocity command bridge: publishes cmd_vel
- Velocity command bridge → Unitree SDK2: forwards velocity commands
- Unitree SDK2 → Go2-W: controls locomotion