(Georgia Institute of Technology, 2013-04)
Grey, M .X.; Dantam, Neil; Lofaro, Daniel M.; Bobick, Aaron F.; Egerstedt, Magnus B.; Oh, Paul; Stilman, Mike
Humanoid robots require greater software reliability than traditional mechantronic systems if they are to
perform useful tasks in typical human-oriented environments.
This paper covers a software architecture which distributes the
load of computation and control tasks over multiple processes,
enabling fail-safes within the software. These fail-safes ensure
that unexpected crashes or latency do not produce damaging
behavior in the robot. The distribution also offers benefits for
future software development by making the architecture modular
and extensible. Utilizing a low-latency inter-process communication protocol (Ach), processes are able to communicate with
high control frequencies. The key motivation of this software
architecture is to provide a practical framework for safe and
reliable humanoid robot software development. The authors test
and verify this framework on a HUBO2 Plus humanoid robot.