Framework Integration

ROS Integration

Potential Strategies and Ideas

  • (Generic) Runtime Bridge with dynamic translation
  • Transport-level Integration
    • {TCP,UDP}ROS Connectors for RSB components
    • RSB Transport for ROS
      ROS Client API with RSB backend
  • Naming maintains features sets (which component understands what on which framework)

Integration Challenges and Experiences

IDL and Serialization
  • Non-standard, but de-facto standard of its own
  • Informal description of IDL is available
  • But no grammar
  • No standalone tools for using the IDL
    • Parsing and code generation are completely entangled in ROS framework code
Component Implementation
  • XMLRPC nameserver protocol must be implemented by hand
    • half specified
  • Complicated, mandatory state management (subscriber links)
    • creates coupling

YARP Integration

Strategies and Ideas

Bottle Serialization Mechanism
  • Deserialize into generic Bottle protocol buffers
  • Deserialize into port-specific, compatible protocol buffer objects
  • Guess port-specific layout and automatically generate compatible protocol buffer descriptor

Integration Challenges and Experiences

  • Bottle serialization is reasonably documented and implemented
  • But: nightmarish communication protocol