This paper introduces an Embedded Software Architecture for Intelligent Robot systems (ESAIR) that addresses issues with 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. We describe the object-oriented design and the control functions of the ESAIR. The modular design of ESAIR helps improve software quality, reliability, and scalability in both research and practical settings. We demonstrate this 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, among others. With the support of ESAIR, Avatar can integrate a comprehensive set of behaviors and peripherals with better resource utilization.
|Number of pages||10|
|Journal||International Journal of Automation and Smart Technology|
|State||Published - 1 Jan 2013|
- Behavior-based software design
- Human-robot interaction
- Multi-core platform
- Software architecture