Skip to content

Merge fastlio2: lifecycle nodes, foxglove utilities#5

Open
baishibona wants to merge 15 commits intodevfrom
fastlio2
Open

Merge fastlio2: lifecycle nodes, foxglove utilities#5
baishibona wants to merge 15 commits intodevfrom
fastlio2

Conversation

@baishibona
Copy link
Collaborator

Summary

  • Convert all 7 SLAM nodes to lifecycle nodes (FASTLIO2 + arise_slam)
  • Add handle_once=True to prevent re-activation loops in launch files
  • Add foxglove relay scripts (twist, goal/autonomy)
  • Add Docker build/deployment setup and foxglove bridge support
  • Add FASTLIO2 SLAM integration with relocalization

Test plan

  • Verified on Jetson
  • Verified working on Go2

@baishibona baishibona requested a review from alexlin2 February 9, 2026 04:55
iserverobotics-bona and others added 12 commits February 9, 2026 14:17
A few things before you can run it:

To enable auto-relocalization, edit localizer.yaml:
  auto_relocalize: true
  default_pcd_path: "/path/to/your/map.pcd"
  initial_x: 1.0
  initial_y: 2.0
  initial_z: 0.0
  initial_yaw: 1.57  # radians

Expected Log Output

  [INFO] [localizer_node]: [AUTO-RELOC] Enabled with map: /path/to/map.pcd
  [INFO] [localizer_node]: [AUTO-RELOC] Initial pose: x=1.000, y=2.000, z=0.000, yaw=1.570
  ...
  [INFO] [localizer_node]: [AUTO-RELOC] Triggering relocalization...
  [INFO] [localizer_node]: [AUTO-RELOC] Map: /path/to/map.pcd
  [INFO] [localizer_node]: [AUTO-RELOC] Map loaded successfully
  [INFO] [localizer_node]: [AUTO-RELOC] Initial guess set, waiting for localization...
  [INFO] [localizer_node]: [RELOCALIZE] SUCCESS - Localization converged

Usage:

  FASTLIO2 only (SLAM):
  ros2 launch fastlio2 lio_launch.py

  FASTLIO2 + Localizer (with relocalization):
  ros2 launch localizer localizer_launch.py

  Both launch files include rviz2 automatically.
Enable proper TF synchronization when playing back bagfiles with
ros2 bag play --clock. Defaults to true for bagfile mode.
launch.actions.SetParameter only exists in Humble; Jazzy requires
launch_ros.actions.SetParameter. The launch_ros import works on both.
- Multi-stage Dockerfile (build + runtime) for all ROS 2 packages
- docker-compose.yml for deployment (Docker 24.x compatible)
- build.sh to build, tag, and push to iserverobotics/nav_autonomy
- .env for hardware configuration (lidar, motor, network)
- .dockerignore to exclude build artifacts from context
- Add ros-foxglove-bridge to Dockerfile runtime dependencies
- Launch foxglove_bridge on port 8765 in docker-compose command
- Default to use_fastlio2:=true in launch command
- Convert all 7 SLAM nodes to lifecycle nodes (FASTLIO2 + arise_slam)
- Add handle_once=True to prevent re-activation loops
- Add foxglove relay scripts (twist, goal/autonomy)
- Update Docker and launch files
This reverts commit 6156592.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants