Skip to content

Nav2 changes and improvements from SAR#94

Merged
ErikCald merged 1 commit intomainfrom
erik-nav2-swerve
Apr 28, 2026
Merged

Nav2 changes and improvements from SAR#94
ErikCald merged 1 commit intomainfrom
erik-nav2-swerve

Conversation

@ErikCald
Copy link
Copy Markdown
Contributor

@ErikCald ErikCald commented Apr 22, 2026

All the changes and improvements made for SAR.

This pull request introduces several important updates across navigation, localization, and perception components to improve system robustness, path planning quality, and integration with Aruco marker workflows. The major changes include improved EKF configuration for odometry and pose fusion, updates to Aruco detection topics and message types, enhancements to navigation parameter tuning (especially smoothing and costmap behavior), and the addition of a visualization tool for search patterns.

Localization and Sensor Fusion Improvements:

  • Updated EKF (Extended Kalman Filter) configurations to use /chassis_controller/wheel_odom instead of /drive/odom for odometry, and enabled additional velocity and angular velocity components for improved state estimation in both global and local configurations (gps_ekf_global.yaml, gps_ekf_local.yaml, indoor_aruco_boards_ekf_global.yaml, indoor_aruco_boards_ekf_local.yaml). Also, added fusion with ZED pose and switched EKFs from 2D to 3D mode (two_d_mode: false) for better accuracy. [1] [2] [3] [4] [5] [6]
  • Lowered odometry republishing frequency from 10 Hz to 1 Hz to reduce computational load (republish_odometry.py).

Aruco Marker Detection Integration:

  • Changed Aruco detection topic from /aruco_detections to /marker_detected and message type from Int32MultiArray to Int32 for compatibility with the latest detection node output (nav_to_gps_aruco.py). [1] [2] [3] [4] [5]
  • Updated default Aruco dictionary to DICT_4X4_50 for board detection, likely to match the physical marker set (aruco_board_params.yaml).

Navigation Parameter Tuning:

  • Increased global costmap publish frequency, added transform tolerance, and tuned planner parameters for tighter turns and smoother, more robust path generation. Switched to a constrained smoother plugin for path smoothing and adjusted its parameters for better obstacle avoidance and smoother paths (nav2.yaml). [1] [2] [3]
  • Adjusted traversability filter weights to increase the influence of slope and roughness in elevation mapping, potentially making the robot more cautious in rough terrain (postprocessing_traversability.yaml).

New Features and Utilities:

  • Added a new ROS2 node, search_pattern_viz_node, for visualizing lawnmower search patterns in RViz, aiding debugging and mission planning (search_pattern_viz.py, setup.py). [1] [2]
  • Added a markdown file with launch and command-line instructions for navigation and perception stack startup (nav_launch.md).

Other Changes:

  • Commented out the Spin behavior in the dynamic replanning behavior tree, possibly to disable unnecessary spinning during navigation (bt_swerve_dynamic_replanning.xml).
  • Minor launch file import cleanup (rover.launch.py).

These changes collectively improve the system's localization accuracy, navigation smoothness, robustness to terrain, and compatibility with the latest Aruco detection workflows.

@ErikCald ErikCald self-assigned this Apr 22, 2026
@CPRTSoftwareLead CPRTSoftwareLead force-pushed the erik-nav2-swerve branch 2 times, most recently from 7ac65af to 22e707e Compare April 28, 2026 14:48
@ErikCald ErikCald requested review from ConnorNeed and Copilot and removed request for ConnorNeed April 28, 2026 14:50
@ErikCald ErikCald changed the title [DRAFT] Nav2 changes and improvements from SAR Nav2 changes and improvements from SAR Apr 28, 2026
@ErikCald ErikCald requested a review from ConnorNeed April 28, 2026 14:53
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

/marker_detected \
/intended_search_path

# Note: /tf and /tf_static were added (see explanation below) No newline at end of file
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see an explination but also I don't really care

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a debug thing or is there a production use?

@ErikCald ErikCald merged commit 14d31f6 into main Apr 28, 2026
2 checks passed
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.

3 participants