[Documentation] [TitleIndex] [WordIndex


This site and the code provided here are under active development. Even though we try to only release working high quality code, this version might still contain some issues. Please use it with caution.


This Stack contains a sensor fusion framework based on an Extended Kalman Filter (EKF) for vehicle pose estimation including intra- and inter-sensor calibration. It assumes full 6DoF motion of the vehicle and an IMU centred platform. It is a self-calibrating approach rendering a vehicle a true power-on-and-go system. More precisely it estimates the

The framework is particularly designed to work on an Micro Aerial Vehicle (MAV) carrying an IMU and one single camera performing visual odometry as only navigation sensors (see publications below and ethzasl_ptam). It has the following properties:

This package contains the single sensor fusion code to fuse one sensor with an IMU. Our extension to fuse multiple sensors with an IMU is documented here and available here. We recommend that you read in particular this tutorial if you plan to fuse multiple sensors with an IMU.

Relevant publications are:

ethzasl_ptam_icarus.jpg ethzasl_ptam_traj.jpg

Vision based MAV navigation in not so small environments: We use ethzasl_ptam and ethzasl_sensor_fusion for vision based navigation for computationally constrained MAVs in large environments:

Top image: vision based height test up to 70m above ground and landing in the same mission

Bottom image: long-term vision based navigation for 360m (one battery life-time) with about 0.4% position drift (Bing Maps)


ssf packages are for single sensor fusion msf packages are for multi sensor fusion

ssf_core: core package containing the EKF propagation steps using IMU inputs and the shell for the update step

ssf_updates: contains update sensor modules with the update equations that are fed to the core


The following commands will fetch and compile the ethzasl_sensor_fusion stack.

# Fetch ethzasl_sensor_fusion stack
git clone git://github.com/ethz-asl/ethzasl_sensor_fusion.git ethzasl_sensor_fusion

# Update ROS_PACKAGE_PATH (if necessary)
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:`pwd`/ethzasl_sensor_fusion

# build
rosmake ethzasl_sensor_fusion

Change Log

August 21st 2012

June 27th 2012

May 9th 2012

Report a Bug

ethzasl_sensor_fusion issues


2024-07-13 13:15