ukf-sensor-fusion

Configure robot_localization UKF nodes for nonlinear ROS2 sensor fusion.

Updated Aug 16, 2026
One-click install
npx skills add https://github.com/three1324/yeonjinautomotive --skill ukf-sensor-fusion-three1324
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ukf-sensor-fusion
Source: https://github.com/three1324/yeonjinautomotive/tree/main/.claude/skills/ukf-sensor-fusion
Command: npx skills add https://github.com/three1324/yeonjinautomotive --skill ukf-sensor-fusion-three1324

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Fusing wheel odometry and IMU data on robots with nonlinear dynamics (Ackermann steering, aggressive maneuvering) causes EKF linearization errors or divergence, and engineers need a drop-in Unscented Kalman Filter configuration without rewriting their localization stack. ## Core Features & Use Cases - UKF vs EKF Decision Guidance: Explains sigma-point approximation versus Jacobian linearization and when each filter is appropriate for ground robots. - Complete UKF Configuration: Provides a full ukf_filter_node YAML including alpha, kappa, beta sigma-point parameters, frame definitions, odometry/IMU input matrices, and process noise covariance. - Drop-in Launch Replacement: Shows how to swap ekf_node for ukf_node in ROS2 launch files and run both filters side-by-side on recorded bags for comparison. - Use Case: An Ackermann-steering RC car's EKF diverges during rapid turns; switch the executable to ukf_node, keep the identical sensor config, and validate against the EKF trace in PlotJuggler. ## Quick Start Configure a robot_localization UKF node that fuses my wheel odometry and IMU topics for my Ackermann robot.

Frequently Asked Questions about ukf-sensor-fusion

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure a UKF node in robot_localization?

Use the ukf_node executable with the same YAML structure as the EKF, adding the UKF-specific parameters alpha (0.001), kappa (0.0), and beta (2.0). Sensor input configs for odometry and IMU remain identical to the EKF setup.

UKF vs EKF in robot_localization: which should I use?

EKF is the default for diff-drive robots at low-to-moderate speeds, where both filters produce nearly identical results. Choose UKF for Ackermann steering, aggressive maneuvering, or highly nonlinear dynamics where EKF linearization breaks down.

What do the alpha, kappa, and beta parameters control in a UKF?

Alpha controls sigma-point spread around the mean (default 0.001), kappa is a secondary scaling factor usually left at 0, and beta encodes prior distribution knowledge with 2.0 optimal for Gaussian distributions.

Can I run EKF and UKF simultaneously to compare results?

Yes, run both nodes on a recorded rosbag with different odom_frame names and remapped output topics. Then plot both filtered odometry topics in RViz or PlotJuggler to compare the traces directly.

Why does my EKF diverge during rapid turns?

EKF linearizes dynamics via first-order Taylor expansion, which breaks down under high angular velocities and nonlinear kinematics. Switching to UKF is a low-cost fix since the configuration format is identical and sigma points capture second-order statistics.