Eric Trautmann
CS 134 - Project Proposal
4/20/09

 

Title: Proprioceptive Obstacle Recognition using Hidden Markov Models for Mobile Robot Navigation

 

Problem Statement

            Typical obstacle-recognition systems on mobile robots use stereo-vision or laser ranging to perform classification.  The Yeti Robot, a robot designed to perform medium range autonomous traverses in Antarctica and Greenland, is not currently equipped with vision or LADAR, but has a proprioceptive sensor suite including 6-axis IMU, wheel encoders, wheel motor current, and GPS.  The purpose of this project is to increase the mobility of the Yeti robot by enabling it to recognize obstacles in real time, so it can appropriately recover in the event that it becomes immobilized.  Different discrete types of obstacles, like a step obstruction, steep slope, or deep snow, require different control strategies for optimal recovery.  By identifying how the robot is immobilized, the robot can then apply an appropriate recovery strategy.

 

:image002.png

Figure 1 – Yeti robot in operation on the Greenland Ice Sheet outside of Thule.

 

Goals

   The goals of this project are to: 1) Create an HMM for each type of discrete obstacle in a training data set.  2) Evaluate the performance of classification using HMMs on training data. 

 

Method

            I plan to use Hidden-Markov Models (HMM) to identify obstacles from time-series data of robot immobilization events.  In initial work, I have used Support Vector Machine classification to attempt to identify obstacles using a four-feature vector of the distribution of wheel-motor torques alone.  Unfortunately, classification error is between 30-40% for a data set with three-classes.  There are two reasons that HMMs could increase classification accuracy.  First, since an immobilization event occurs over certain period of time, information is contained in the progression of sensor inputs from one data point to the next during this period.  SVM classification does not make use of this information, so a large amount of useful information is lost.  Second, features that vary throughout the immobilization event cannot be used in SVM classification.  For instance, IMU measurements of acceleration will present an informative time-series, but after the robot is fully immobilized on an obstacle, the x-axis accelerometer will return to zero. 
   Hidden-Markov Models are appropriate to solving this problem, since this tool makes use of sequential data to form a hypothesis about a hidden model given a series of observations.  HMMs are not fundamentally a classification tool, but by using an HMM for each class, we can classify the obstacle based on the most likely HMM given a series of observations (sensor inputs).   This method has been applied successfully to speech recognition [1], handwriting recognition, and many other recognition problems using sequential data. 

    I plan to perform obstacle recognition by building an HMM for each possible obstacle in the training set (deep snow, step obstruction, slope) using a set of L individual data runs for each obstacle type.  I will then test the models on unseen data in a test set, calculating the probability of the given observation sequence given the model.  The final recognized obstacle is that which has the highest probability.   HMMs are typically considered for discrete data.  The robot sensor inputs are continuous, which means we need to create a discrete set of states based on these continuous inputs.  I plan to use Vector Quantization (VQ) to represent feature vector inputs as a set of discrete states.  This method has been used successfully in speech processing and other applications. 

 

This project can be broke down into the following problems:

1.     Training - Find model parameters for an HMM given a series of obervations (training data)

2.     Find the state sequence corresponding to a given series of observations

3.     Using the models created in (1), find the probability for each model that that model created a given output sequence (test data).

 

Data sets

            I will be working with data sets I collected several weeks ago using the Yeti robot.  For these data sets, I sampled robot sensor data at 20 Hz during a series of different immobilization events on different obstacles.  I have multiple data sets and each obstacle has approximately three training examples and one test example.  This may be an issue since ideally it would be preferable to have significantly more examples for each case.  If this is a problem, I can easily collect additional data on a new set of obstacles. 

 

Project Timeline

¥  April 24 -     VQ applied to training data

¥  April 27th - Implement Baum-Welch Algorithm to find model parameters given observation sequence

¥  May 12–      Implement Viterbi Algorithm to find state sequence from observation sequence

¥  May 22th - Implement Forward-Backward algorithm to find probability that a model created a given output sequence

 

References:

 

1.     Dugad and Desai. A tutorial on hidden markov models. citeseerx.ist.psu.edu (1996)

2.     Jelinek. Statistical methods for speech recognition. books.google.com (1998)

3.     Rabiner and Juang. An introduction to hidden Markov models. ieee assp magazine (1986)