The use of Hidden Markov Models for pattern recognition in robots is
discussed in a newly released paper, titled Learning to automatically
detect features for mobile robots using second-order Hidden Markov
Models (PDF format). Hidden
Markov Models have traditionally been used for applications like
speech recognition but Richard
Washington and his fellow robotics researchers have successfully
applied the
technique to data from ultrasonic and IR sensors on experimental mobile
robots. The robots learned to identified indoor navigational features
such as doorways and T-intersections as well as outdoor navigational
situations like climbing a hill or crossing over a rock.
I wonder if this modeling approach would be suitable for use with the
Subsumption Architecture that Rodney Brooks developed around 1990. The
ability to automatically identity features, adding new features as
needed reminds me of the layered design process used in Subsumption.
The idea of subsumption, in a nutshell, seems to be to create
behaviors, starting with the most critical behavior first. As that
behavior is perfected, another behavior is placed "on top". For
example, have a layer that avoids objects and then a layer that
navitages paths.
One criticism of this approach is that there is no rigourous design
process- the roboticist has to fumble through, largly unguided, to
create his layers. Could this Markov Chain model, with it's ability to
dynamically create new features be applied to Subsumption?
Instead of giving the robot a 3d world to traverse and identify, give
it samples of a successful task being performed (under control from the
roboticist), for example, walking the hallway. Assuming the robot has
already divided the physical space into Markov chains, as described in
the paper, a simular algorithm could be used to divide the TASK into
markov chains.
In the paper, the robot learns to identify the location of hills in a
sandbox. Could this algorithm be used to identify the completion of
steps in a process?