ESAIR: A Behavior-Based Robotic Software Architecture on Multi-Core Processor Platforms - Chin-Yuan Tseng; Yu-Lun Huang; Jwu-Sheng Hu (International Journal of Automation and Smart Technology, 2013)
This paper introduces an Embedded Software Architecture for Intelligent Robot systems (ESAIR) that addresses the issues of parallel thread executions on multi-core processor platforms. ESAIR provides a thread scheduling interface to improve the execution performance of a robot system by assigning a dedicated core to a running thread on the fly and dynamically rescheduling the priority of the thread. In the paper, we describe the object-oriented design and the control functions of ESAIR. The modular design of ESAIR helps improve the software quality, reliability and scalability in research and real practice. We prove the improvement by realizing ESAIR on an autonomous robot, named AVATAR. AVATAR implements various human-robot interactions, including speech recognition, human following, face recognition, speaker identification, etc. With the support of ESAIR, AVATAR can integrate a comprehensive set of behaviors and peripherals with better resource utilization.