About Klaus Petersen

I like to create magical things, especially projects related to new technologies like augmented and virtual reality, mobile robotics and MEMS-based sensor networks. I code in C(++) and Python, trying to keep up with my very talented colleagues :-)

Visualization of Magnetic Field Calibration Data

One of the trickiest things for reliably measuring orientations with the LPMS is the calibration of the magnetic field sensor. The functionality of the sensor is essential for determining the yaw angle of the sensor without drift. If we used only the gyrsocope to measure the yaw angle a drift of a few angles would already occur after 10 or 20 seconds of movement.

The normally spherical shape of the environment magnetic field is, especially in the vicinity of metal or electric circuits, often distorted to an ellipsoid. Such distoritions are efficiently compensated by calibrating the LPMS. However it is hard for the user to see if the calibration was successful or what the resulting data means about the surrounding electromagnetic field. Therefore we added a visualization of this data to the control software of the sensor (LpmsControl) that is to give a better understanding of the calibration results (see image below).

We use a special algorithm to reduce the influence of a distorted magnetic environment field on the orientation measurements of the sensor. A comparison of orientation tracking without and with using this algorithm is shown below.

LPMS Head Tracking Demo

We have been playing around with several applications of the LPMS sensors and thought that an interesting one might be tracking a person’s head movements in real-time. This might be useful for virtual reality applications, medical training, tele-control systems etc. The important thing that we would like to show in the video above is that we can record head movements at high sampling frequencies (200Hz in the video) and low latency (average 1.5ms in the video). We use gyroscope information to achieve good response times and keep measurements drift-free by correcting the gyroscope data using the magnetometer (yaw axis) and accelerometer (roll and pitch axis).

This implementation is based on a great demo called San Angeles Observation by jetro (his page). We added some music of our own.

Introducing LpTracker6D

We have created a first demo of our latest development, LpTracker6D. LpTracker6D is a system that allows the simultaneous tracking of position and orientation of a single point. Our system does not require any markers. Orientation readings are accurate to < 2° under dynamic and < 0.5° under static conditions.

LPMS-B on Android

Here is a first demo of the Android driver of our LPMS-B inertial measurement unit. The LPMS-B is controlling the orientation of a simple 3D cube on the screen of a Samsung Galaxy Tab 10.1. Improvements that are soon to be completed are faster response times and enhanced GUI functionality for calibration.

1 6 7 8 9 10