rosrun allows you to run an executable(可执行) in an arbitrary(任意) package without having to cd (or roscd) there first.
roslaunch is a tool for easily launching multiple ROS nodes locally and remotely via SSH, as well as setting parameters on the Parameter Server. It includes options to automatically respawn processes that have already died. roslaunch takes in one or more XML configuration files (with the .launch extension) that specify the parameters to set and nodes to launch, as well as the machines that they should be run on.
测试发现,rosrun是运行一个单独节点的命令,如果要运行多个节点,则需要使用多次rosrun命令。
而roslaunch采用XML的格式对需要运行的节点进行描述,可以同时运行多个节点。例如:
<launch> <node name="listener" pkg="rospy_tutorials" type="listener.py" output="screen"/> <node name="publish_on_shutdown" pkg="rospy_tutorials" type="publish_on_shutdown.py" output="screen"/> </launch>
可以同时运行listener和publish_on_shutdown两个节点。