Contents
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
- Transports:
- 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.