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.

majiayu000github.com/majiayu000GitHub ↗
claude-codecan modify filesMIT
Install
npx skills add majiayu000/claude-skill-registry --skill sensor-fusion-a5c-ai-babysitter-2 --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: skills/ai-ml/sensor-fusion-a5c-ai-babysitter-2/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

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

The skill provides multi-sensor fusion and state estimation using Kalman filtering and factor graph optimization. It includes implementations for Extended Kalman Filter (EKF) and Unscented Kalman Filter (UKF), configuration of the robot_localization package, IMU preintegration with bias estimation, GPS/RTK integration, wheel odometry fusion with slip compensation, and visual odometry integration. It also covers outlier rejection and covariances tuning, along with sensor delay compensation.

How it works

  • robot_localization Configuration: Defines a YAML setup for EKF/UKF in ROS2, wiring IMU (/imu/data) and wheel odometry (/wheel_odom) into an EKF, including transform and noise parameters, plus a dual EKF setup: one for continuous odometry in the odom frame and another for global/localization in the map frame, and a NavSat transform node for GPS handling.
  • Two-EKF Setup: Provides two separate EKF configurations (ekf_filter_node_odom and ekf_filter_node_map) to fuse IMU and odometry for odom frame, and to fuse odometry with GPS for global localization, respectively.
  • Custom EKF Implementation: A Python-based Extended Kalman Filter class (RobotEKF) handling state as [x, y, z, roll, pitch, yaw, vx, vy, vz, wx, wy, wz], with a constant-velocity motion model, Jacobian calculation, IMU/odometry/GPS update methods, and a robust covariance update using Joseph form.
  • IMU Preintegration: An IMUPreintegration class that accumulates delta_R, delta_v, delta_p over time using accelerometer and gyroscope data, with bias handling, Jacobians for bias correction, and a simplified covariance propagation for preintegrated measurements.
  • Noise Covariance Tuning: Provides a function scaffold (tune_noise_covariances) for autonomously tuning Q and R via innovation analysis, using NEES/NEES-related metrics within an EKF context.

When to use it

Use when you need robust localization by fusing IMU, wheel odometry, GPS, and visual sensors in a ROS2 environment. Enable two EKFs for continuous odometry and global localization, and leverage IMU preintegration for optimization-based estimation.

What it can touch

  • robot_localization package configuration files (YAML blocks in EKF setups)
  • Python modules for RobotEKF and IMUPreintegration (predict and update steps with sensor inputs)
  • GPS/NavSat transform node parameters for map/world frame alignment
  • Data inputs: IMU (/imu/data), wheel odometry (/wheel_odom), odometry (/odometry/filtered), GPS (/gps/odom), and potentially visual odometry inputs (not explicitly spelled as a separate node but included in the overview)

Caveats

  • Requires ROS2 with robot_localization and calibrated sensors (IMU, cameras, wheel encoders).
  • The GPS update includes an outlier rejection step using Mahalanobis distance for robustness.
  • The custom EKF and preintegration code assumes certain state representations and noise models; integration with real robot data may require adjustments to sensor topics and covariances.
  • The skill’s content includes sizable code blocks; ensure compatibility with existing codebase styles and dependencies.
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
  • metadata.json
More from claude-skill-registry
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 majiayu000/claude-skill-registry --skill sensor-fusion-a5c-ai-babysitter-2 --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 majiayu000/claude-skill-registry, a repository with 534 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