Skip to Main Content
Component-based software design is a current trend, both in general software practice and in robot software practice. It brings benefits to the field of robot programming. Component interfaces are fixed at design time and form a contract with other components, guaranteeing functionality. Known interfaces are typically important to reusability. However, in certain cases fixed interfaces can limit the reusability of components. Utility components provide general functionality that is reused a large number of times both within a single software system and between systems. They need to be adapted to the interfaces for each specific use case. This paper presents a set of utility components that can adapt their interfaces to the user's needs without any code changes. Dynamic programming language techniques are used to provide the adaptability. The components are a great benefit to the reusability of common utility components, removing a common cause of reinvention.