Handling of Asynchronous Data Flow in Robot Perception Subsystems

Robot perception subsystems typically form complex networks, with boxes representing computations and arrows presenting the exchanged data. Taking into account that data acquired from robot sensors may arrive with different frequencies, as well as that computations may by performed on different processor cores, a problem of handling of asynchronous data flows appears. Hence appropriate tools facilitating the implementation are highly demanded. In this article we propose a solution to the aforementioned problem, enabling the activation of a conditional behaviour of a given computational block, depending on the presence of data in its input buffers. Theoretical considerations led to the implementation of these mechanisms in a component-oriented framework for development of robot perception subsystems: DisCODe. Operation of the solution was verified on an exemplary perception subsystem using RGB-D camera.