System Example

  • This example shows components implementing robot navigation capabilities. The base server and the laser server are hardware specific components providing access to a specific robot platform and a specific laser ranger. The components self localization, map building, path planning and motion execution implement robot navigation functionalities.
  • The services provided and required by these components are all based on standardized communication patterns and standardized communication objects. Thus, one can easily replace components as long as the provided and required services needed for the application are all available again. As example, one can reuse the navigation components on a different platform as soon as their required and provided services have the appropriate counterpart.
  • The wiring between the components can be rearranged at run-time either by the client services themselves from inside a component or by another component from outside. This gives maximum flexibility for implementing dynamic rewirings as is needed for situation-dependent and context-sensitive task executions.
  • There can be even several instances of the same service as is the case when components provide similar or even completely overlapping functionalities. Due to the explicit wiring, one can directly access alternative implementations. This allows for load balancing as well as for selecting the most suitable path planner for a specific situation out of a set of alternative path planners, for example.
  • In the example, the following services are provided and required by the shown components:
    • Base Server Component
      • provides base state communication object via push timed pattern (server)
      • requires pose update communication object via send pattern (server)
      • requires motion command communication object via send pattern (server)
    • Laser Server Component
      • provides laserscan communication object via push timed pattern (server)
      • requires base state communication object via push timed pattern (client)
    • Self Localization Component
      • provides pose update communication object via send pattern (client)
      • requires laserscan communication object via push timed pattern (client)
    • Map Building Component
      • provides map communication object via push newest pattern (server)
      • requires laserscan communication object via push timed pattern (client)
    • Path Planning Component
      • provides waypoint communication object via send pattern (client)
      • requires map communication object via push newest pattern (client)
      • requires base state communication object via push timed pattern (client)
    • Motion Execution Component
      • provides motion command communication object via send pattern (client)
      • requires waypoint communication object via send pattern (server)
      • requires map communication object via push newest pattern (client)
      • requires laserscan communication object via push timed pattern (client)