ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Welcome to the ROS community!

Launch files & ROS nodes

A launch file is used to start the nodes required for the application. In the launch file, these nodes are independent. It should not matter if you start them from one launch file or from multiple launch files. As the startup order of the nodes is not guaranteed anyway, the nodes should be able to handle the delayed startup of collaborating nodes. Thus splitting the nodes over multiple launch files that are run on two systems is certainly possible. So in summary, removing parts of the launch file (or commenting them) can be done.

Networking two ROS systems

The two systems should be able to communicate to each other. See this networking guide from ros.org, to setup the connections. Choose one of the systems to start the ros master. The other system should connect to it.

Questions

  1. Yes, that is possible. If you want to run PX4 to run on a separate computer, then I would suggest separating this part from avoidance_sitl_mavros.launch. I have not used these systems, so it is an educated guess.

    <!-- Launch PX4 SITL -->
    <include file="$(find px4)/launch/px4.launch">
        <arg name="vehicle" value="$(arg vehicle)"/>
    </include>
    
  2. ROS communication is separate from MAVROS/mavlink. Thus if nodes on one system don't need it, then on that system is does not have to be running.

  3. If you follow the suggestion above, then the only parameter that should be set on both systems is the vehicle argument. I cannot see from the launch files if the PX4 node, requires topics, service or actions from other nodes. Again, this is an educated guess.