Future Work

ros_comm 1.

/2010-12-15 ros_comm 1.5 planning meeting

ros_comm 1.7

  • rosnode: 'machines' command <<Ticket(ros 3650)>>

  • rostest: remove deprecated bare commands

  • deploy rosbuild2
  • ros_msgs stack
  • port code to use rospkg instead of roslib (REP 114)
  • move message code from roslib into ros_msgs
  • polled topics (REP 106)
  • roslaunch:
    • meta-tag for roslaunch?
    • scripting API for roslaunch
  • Mature rosjava/android
  • mature interfaces
  • mature app_manager

Brainstorming

  • subscribe to sub-topics if sub-topic is a message
  • multiple masters
  • roslaunch
    • network API: launch processes, as well as query state of existing processes. See <<Ticket(ros 1128)>> for ideas.

    • roslaunch-console: curses GUI for interacting with roslaunch-based processes
    • optional include: add an attribute to include that makes "file not found" not a fatal error (to facilitate optional files).
    • substitution arg based on shell command: similar to how environment variables can be used to build names, create an option that uses the output of a shell command (e.g. date, hostname).
  • Networking:
    • Transports:
      • UDP support in rospy
      • Compressed transports
      • UDT?
      • Spread?
      • ZeroMQ?
      • multicast UDP
    • Shared memory transport (C++ only). Need to run tests that demonstrate the benefit of shared memory.
    • Support compression of serialized data
    • Handle firewalls, one-way connectivity (see rosproxy prototype)

    • Published and/or sent timestamps in transport header
  • Logging
    • Unify client libraries for setting logging levels, expose ability to externally set logging level in rospy/roslisp
  • Security
    • Client libs (e.g., vet roscpp for security issues)
    • Embed security into wire protocol?
    • Resource management, and related permissions issues (e.g., prevent a node from controlling motors)
  • Pub/Sub:
    • Support for optional fields in messages
    • Default values for message fields
    • Export doc strings from nodes / topics / params = semantic description of node API
    • Subscriptions to sub-messages (possibly just subscribe to actual sub-message fields and not allow subscribe to primitives)
  • ROS spec
    • new separator to distinguish between topics and fields (for rostopic, rxplot, and potentially other tools)
    • Interfaces prototype in ROS (e.g. camera, actions)
    • Provide a standard way to report status of a node.
    • introspection into who is calling service calls
  • Other:
    • Remote-launch roswtf. For inspiration, see closed ticket https://code.ros.org/trac/ros/ticket/1130

    • Handle backward time jumps in some way
      • wire only supports un-acknowledged 'poll' signal. Fancier semantics, like synchronous poll, and push at some rate, are implemented in the client lib.

Wiki: ros_comm/Roadmap (last edited 2012-12-26 18:16:28 by raywilhe)