RosIntegration » History » Version 6

« Previous - Version 6/7 (diff) - Next » - Current version
J. Moringen, 06/12/2011 06:23 PM
updated ROS section


Framework Integration

ROS Integration

Potential Strategies

  • (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

Ideas

  • 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

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