Stable Robot Domain Model definition
Software stability can be defined as a software system's resilience to changes in the original requirements specification. Stability-oriented design promotes reuse since new applications may be developed adapting and specializing enduring knowledge, architecture and components of an existing software system. We are currently investigating the concept of software stability applied to robot architectures. The expected result what we call the AnyRobot Domain Model. Our starting point is a milestone paper of Rodney Brooks where he describes a set of properties of every robotic system, among which three are of interest for our discussion: Situatedness, Intelligence, and Embodiment.
Robot Embodiment model
Robot control applications strongly depend on the type of robot used to carry out a task, i.e. the robot mechanical structure greatly influences the requirements of the software applications that control it. In order to make robot control applications reusable across different robotic platforms and stable against the evolution of robot hardware technologies, there is the need to make software dependencies to the mechanical structure explicit. This means to define a common mechanism model that is used by every functional module to refer to the specific characteristics of the robot hardware. The expected result is a stable model of robotic mechanical mechanism.