«

»

Jan 08

Instrumented Steering Wheel Project Demo

The Instrumented Steering Wheel Project is the senior project of Adam Leone, Computer Science, and Travis Royer, Computer Engineering.  It operates under the umbrella of the University of New Hampshire’s Project 54 with Electrical and Computer Engineering Associate Professor Andrew Kun advising.

 

This project seeks to develop an additional form of authentication for vehicle security, specifically in the form of a tapped password.  The goal of this project is to implement this form of authentication and determine the level of possible security while maintaining enough flexibility to allow human variation in password inputs.  In order to test the efficacy of this authentication, a test rig has been built and programmed for an initial demonstration.

 

Arduino microcontroller, force sensing resistors, bluetooth shield

 

The test rig uses force sensing resistors as input devices that register user taps.  An Arduino microcontroller collects data from the FSRs at regular intervals and analyzes the input by determining where the tapping force exceeds a predefined threshold.  The first tap marks the start of input and each successive tap is recorded as its time from the absolute start point.

 

When a user inputs their tapped password, the Arduino compares it against the correct pattern and determines if it matches within some fixed error rate.  The pattern recognition algorithm compares the tapping times of the template and input based off the absolute start point.  It allows for input tap variation within a fixed percentage error window.  This means that initial taps have a smaller window they must fall within but taps later in the pattern have an increasingly large window of time.  Basing the time off the absolute start point forces the user to tap a sequence at roughly the same tempo, rather than a system of comparing the times in between taps, which allows for more tempo variation due to the error window.  This tap ‘window’ based on the error rate can be seen in this graph, where the blue bar represents the expected tap time and the green bar represents the window of opportunity based on the error rate.

 

Visual graph shows taps at the rising edge of FSR input, comparison windows based on error rate

 

Currently programmed for this demonstration, the test rig inputs a password pattern then an input pattern, outputs the comparison results, and waits for a new password pattern.  When a password pattern is given and the arduino finishes processing that input, the left, green LED turns on.  Next, the user inputs taps that may or may not match the password.  If the input matches the password pattern within the 15% error rate currently set, theright, green LED turns on and both turn off, otherwise the left LED turns off.  The arduino is now ready for new input

 

The following videos demonstrate the preliminary capabilities of the project test rig and the concepts we are implementing.

A pattern guaranteed to match is one tap because there is no comparison of times between taps.

One Tap Password Pattern

A more complex pattern requires the input cadence to be similar to the password.  Input given too slowly is rejected.

Different Tempos

Different numbers of taps are rejected.

Different Number of Taps

The error rate allows simple patterns to be easily matched, but makes it more difficult for longer patterns.

Varying Difficulty
Future functionality will be added to the test rig such as the ability to store multiple users in a database and add users by normalizing a pattern they enter multiple times.  If the main project goals are accomplished, the input analysis will be enhanced to calculate the tap time based on the peak input pressure and the pattern comparison algorithm will be modified to compare pressure within a fixed error rate.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>