Agent skill · AI & Agents

sensor-fusion

Expert skill for multi-sensor fusion and state estimation using Kalman filtering. Implement EKF/UKF, configure robot_localization, fuse IMU, GPS, odometry, and visual sensors for robust localization.

a5c-aigithub.com/a5c-aiGitHub ↗
claude-codecodexcan modify filesMIT
Install
npx skills add a5c-ai/babysitter --skill sensor-fusion --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 20 KB
Bundled scripts: none
Version: 1.0.0
Declared author: babysitter-sdk
Allowed tools: Bash(*)ReadWriteEditGlobGrepWebFetch
Path: library/specializations/robotics-simulation/skills/sensor-fusion/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,642
Language: JavaScript

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Describes a specialized skill for multi-sensor fusion and state estimation using Kalman filtering and factor graph optimization. It enables implementing Extended Kalman Filter (EKF) for state estimation and configuring an Unscented Kalman Filter (UKF), along with robot_localization setup, IMU preintegration and bias estimation, GPS/RTK integration, wheel odometry fusion with slip compensation, visual odometry integration, outlier rejection, covariance tuning, and sensor delay compensation.

How it works

  • Provides ROS2 robot_localization configuration for EKF/UKF, including two example YAML blocks: one for continuous odometry using IMU and wheel odometry, and another for global localization combining odometry and GPS. It specifies frames, frequencies, input topics, and which state elements to fuse, plus process and initial covariances.
  • Describes a Two-EKF setup: one EKF for continuous odometry (odom frame) and another for global/localization (map/world frame) with specific fusion of IMU, odometry, and GPS data.
  • Includes a NavSat transform node configuration to broadcast GPS in a usable frame, with parameters for delays, yaw, and transforms.
  • Includes a Custom EKF implementation (Python) with a 12-state vector [x, y, z, roll, pitch, yaw, vx, vy, vz, wx, wy, wz], with predict step using a constant velocity model and Jacobian computation, update steps for IMU, odometry, and GPS measurements, and a protected GPS outlier rejection based on Mahalanobis distance.
  • Provides an IMU Preintegration class for factor-graph optimization, handling delta_R, delta_v, delta_p, and covariance, with bias handling and Jacobian updates.
  • Contains a Noise Covariance Tuning function template for autocalibration of Q and R through innovation analysis, including a skeleton for processing a data log and computing NEES over measurements.

When to use it

  • Use when developing robust robot localization with multiple sensors (IMU, wheel odometry, GPS, visual data) in ROS2 environments.
  • Use when you need EKF/UKF variants, IMU preintegration, and outlier rejection for GPS measurements.
  • Use when configuring robot_localization with precise frame mappings and timing settings, and when you require tuning guidance for process and measurement noise covariances.

What it can touch

  • robot_localization configuration through YAML parameters (ekf_filter_node, ekf_filter_node_odom, ekf_filter_node_map).
  • navsat_transform_node parameters for GPS integration.
  • Custom Python modules: RobotEKF (state estimation), IMUPreintegration (preintegration), and tune_noise_covariances function (noise calibration).
  • Input topics such as /imu/data, /wheel_odom, /odometry/filtered, /gps/odom.

Caveats

  • Requires ROS2 with robot_localization package and calibrated sensors (IMU, cameras, wheel encoders).
  • Original text includes extensive YAML examples and Python code snippets; actual outcomes depend on real sensor data and proper tuning.
  • GPS outlier rejection uses a fixed Mahalanobis distance threshold (5.0) as shown in the code.
  • The IMU preintegration implementation provides a simplified covariance propagation and may need adaptation for production-grade factor graphs.
From the SKILL.md

# sensor-fusion You are **sensor-fusion** - a specialized skill for multi-sensor fusion and state estimation using Kalman filtering and factor graph optimization. ## Overview This skill enables AI-powered sensor fusion including: - Implementing Extended Kalman Filter (EKF) for state estimation - Configuring Unscented Kalman Filter (UKF) for nonlinear systems - Setting up robot_localization package configuration - Implementing IMU preintegration and bias estimation - Configuring GPS/RTK integration with local coordinate frames - Implementing wheel odometry fusion with slip compensation - Setting up visual odometry integration - Configuring outlier rejection (Mahalanobis, chi-squared) - Tuning process and measurement noise covariances - Implementing sensor delay compensation ## Prerequisites - ROS2 with robot_localization package - Calibrated sensors (IMU, cameras, wheel encoders) - Understanding of coordinate frames (REP-105) - Sensor noise characteristics ## Capabilities ### 1. robot_localization Configuration Configure the ROS2 robot_localization package for EKF/UKF: ```yaml # ekf_localization.yaml ekf_filter_node: ros__parameters: # Coordinate frames map_frame: map odom_frame: od

What's inside
Steps it walks through
  1. Overview
  2. Prerequisites
  3. Capabilities
  4. 1. robotlocalization Configuration
  5. 2. Two-EKF Setup (Odom + Map Frames)
  6. 3. Custom EKF Implementation
  7. 4. IMU Preintegration
  8. 5. Noise Covariance Tuning
  9. 6. Launch Configuration
  10. MCP Server Integration
  11. Best Practices
  12. Process Integration
  13. Output Format
  14. Constraints
Ships with 1 file
  • README.md
More from babysitter
All skills →
About this skill
What does the sensor-fusion skill do?

Expert skill for multi-sensor fusion and state estimation using Kalman filtering. Implement EKF/UKF, configure robot_localization, fuse IMU, GPS, odometry, and visual sensors for robust localization.

How do I install it?

Run `npx skills add a5c-ai/babysitter --skill sensor-fusion --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From a5c-ai/babysitter, a repository with 1,642 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going