Robert Eisele
Engineer, Systems Architect and DBA

# How to plot a covariance error ellipse

A typical way to visualize two-dimensional gaussian distributed data is plotting a confidence ellipse. Lets assume we have data $$D\sim\mathcal{N}(\mu, \Sigma)$$ and want to plot an ellipse representing the confidence $$p$$ by calculating the radii of the ellipse, its center and rotation. The following plot shows randomly drawn data and the ellipses for $$p\in\{0.9, 0.95, 0.99\}$$:

# Create a circle out of three points

A circle is a set of infinite points in two dimensions. However, a circle is clearly described by three of such points. The opposite direction is also correct as long as not all three points are on a straight line.

# Make a Fair Coin from a Biased Coin

If we have a biased coin, i.e. a coin that comes up heads with a probability not equal to $$\frac{1}{2}$$, how can we simulate a fair coin? The naive way would be throwing the coin 100 times and if the coin came up heads 60 times, the bias would be 0.6. We could then conduct an experiment to cope with this bias.

# Mathematics of a roller chain animation

Given two circular sprockets $$C_1(M_1, r_1)$$ and $$C_2(M_2, r_2)$$ with their midpoint and radius, we want to find a way to put a chain around them and animate the links like this:

# Operate a Syma S107G Remote Control Helicopter with an Arduino

Some time ago I saw people reverse engineering the infrared protocol of the Syma S107G toy helicopter and I wanted to get my hands on it as well. It is a coaxial helicopter, which means that it doesn't require a torque cancelling tail rotor. Yaw is controlled by using the speed difference to a second rotor underneath the main rotor, which spins in the opposite direction. It's really astonishing what good quality you get for just 20 bucks. It crashed quite often and it still flies like new.

# How to map a Square to a Circle

When you work with a game controller, you would expect the joystick coordinates to be circular. In reality, you get the information from two seperated axis, which spans a rectangular coordinate-frame. I was thinking about how to derive a way of mapping a rectangular grid to a circular space like so (use your mouse):

# Using Gamepads in JavaScript via node.js

I needed game controller support in node.js for a bigger JavaScript robotics project I'm currently working on. There are a few libraries already but none of them were sufficient for this job, so I wrote an own library called gamecontroller myself.

# Set up Internet Sharing on Mac OSX using Command Line Tools

Even if Mac-OSX has a Unix core, Apple put some layers on top of it, which makes it rather hard to freely hack around. That's why I wrote an own small DHCP server recently. Configuring a Mac (Macbook Pro in my case) to act as a NAT router is hairy as well. Sure, there are the sharing options, but they're quite limited and bring their own DHCP server, with no control over it anymore.