## page was renamed from roslaunch/2008-09-18 Specification Review ## page was renamed from roslaunch/2008-09-18 roslaunch Specification Review = roslaunch/2008-09-18 roslaunch Specification Review = Package Developer: KenConley Reviewers: * StuGlaser * BrianGerkey * TullyFoote * EricBerger * MorganQuigley == Agenda == The focus of this review will focus on the features that roslaunch provides as well as the XML format of the roslaunch files. In particular: * What remaining features are necessary? * What use cases is roslaunch poor at? * Is roslaunch sufficient for our PR2 needs? These are the currently open feature/bug tickets: * [[https://prdev.willowgarage.com/trac/ros/ticket/264|Support for xmlparam/yamlparam files]] * [[https://prdev.willowgarage.com/trac/ros/ticket/235|Re-implementing SSH support]] Please add your questions/answers here: == Package Specification == * [[http://pr.willowgarage.com/wiki/roslaunch|XML format documentation]] * [[http://pr.willowgarage.com/pr-docs/ros-packages/roslaunch/html/index.html|Doxygen]] === Key features === * Establish the state of the ROS runtime environment, including the master, parameters, nodes, and services * Correctly tear down the ROS runtime environment * Restart ROS nodes as necessary * Support multi-machine setups === Dependencies === * [[rostools]] : library for manipulating ROS environment === Testing strategy === * XML-parsing unit tests against XML files * Implicit integration testing via rostest == Minutes == *rosout is preferred over routing console output to screen. *Getting console output from remote processes to the local screen is not a priority. rosout is the solution there. *Morgan uses roslaunch on each machine, and it works "awesome". *Groups cannot be combined; i.e., a group can be declared only in one place. *Startup errors (e.g., executable bit not set) are communicated by the "process died" message to console from roslaunch. If respawn is set, you may get a fast sequence of startup / die messages. *Once support is added for referencing xmlparam and yamlparam files, roslaunch will call out to them (i.e., not reimplement that functionality) *After roslaunch dies, parameters stay up; use the master tag to control this behavior. *Will eventually add 'roscore' that brings up rosout, master, and param server. Works in a singleton fashion, not restarting any of these core services. *Can we extend the singleton behavior to user-defined ros nodes? No need, because the master will kill the first instance of two nodes with the same name already. *We could add the 'start' attribute to the node tag, allowing the user to specify start or restart. No, don't do that; instead use multiple roslaunch files (either with multiple invocations of roslaunch, or with one invocation and use of the include tag) *How is include pathing done? It happens rospack-relative. All includes happen on the local machine. == Conclusion == PASSED! ---- ## PackageReviewCategory