Blog Home

FarOut extends the range of Kinect-based touch sensing

Arduino TeamNovember 10th, 2021

Capacitive touchscreens today use a digitizer to pinpoint the coordinates of a finger tap. That makes sense for smartphones and tablets, but isn’t ideal for large scale applications. If you want to recognize touches on the scale of an entire wall, a Kinect sensor could be more appropriate. But such a setup traditionally has a limited range — usually less than 1.5 meters. FarOut is a new system developed by Carnegie Mellon researchers that extends Kinect touch sensing range to 3 meters.

Like other Kinect-based touch sensing systems, this can detect the coordinates of a finger tap on an ordinary wall. Due to resolution and other factors, a typical Kinect sensor can’t reliably detect the position of a fingertip during a tap at a long distance. But the FarOut team doubled that distance using a series of techniques, including thermal mitigation, background subtraction, and de-noising. To reduce noise and increase the Kinect’s effective resolution, they turned to Arduino.

The Kinect v2 sensor is stationary, which limits the resolution of the depth map that it creates. By moving the camera a tiny amount, the team increased the sensor’s effective depth resolution by a substantial degree. It’s similar how you move your head to better judge the distance to a faraway object. They introduced that movement using a custom pan-tilt mount for the Kinect sensor. That mount has two stepper motors that an Arduino Uno controls via a CNC shield. With sophisticated post-processing, FarOut can detect a touch 3 meters away with a precision of less than 10 millimeters.


Leave a Reply

You must be logged in with your Arduino account to post a comment.