详细报错:
RLException: Invalid roslaunch XML syntax: mismatched tag: line ???, column ???
The traceback for the exception was written to the log file
原因:
未修改之前
<!-- 启动乌龟GUI和键盘控制节点 -->
<launch>
<!-- 乌龟GUI -->
<node pkg="turtlesim" type="turtlesim_node" name="turtle1" output="screen"/>
<!-- 给乌龟GUI传参 -->
<param name="background_b" value="255" type="int"/>
<param name="background_g" value="255" type="int"/>
<param name="background_r" value="255" type="int"/>
</node>
<!-- 键盘控制 -->
<node pkg="turtlesim" type="turtle_teleop_key" name="key" output="screen"/>
<!-- 乌龟位姿订阅 -->
<node pkg="wugui_ttest" type="test01_sub_pose_p.py" name="wugui_pose" output="screen"/>
<!-- 加一个乌龟 -->
<node pkg="wugui_ttest" type="wugui_service_client" name="wugui_spawn" output="screen"/>
<!-- 加另一个乌龟 -->
<node pkg="wugui_ttest" type="wugui_service_client_p.py" name="wugui_spawn_p" output="screen"/>
</launch>
出现问题位置
<node pkg="turtlesim" type="turtlesim_node" name="turtle1" output="screen"/>
<!-- 给乌龟GUI传参 -->
<param name="background_b" value="255" type="int"/>
<param name="background_g" value="255" type="int"/>
<param name="background_r" value="255" type="int"/>
</node>
其中launch文件标签以/为结束标志。其中出现问题位置第一行的node带了/,最后一行</node>,意味着出现了两次结束,第二次结束找不到开始,故报错在第二次结束地方。
改正:
<node pkg="turtlesim" type="turtlesim_node" name="turtle1" output="screen">
<!-- 启动乌龟GUI和键盘控制节点 -->
<launch>
<!-- 乌龟GUI -->
<node pkg="turtlesim" type="turtlesim_node" name="turtle1" output="screen">
<!-- 给乌龟GUI传参 -->
<param name="background_b" value="255" type="int"/>
<param name="background_g" value="255" type="int"/>
<param name="background_r" value="255" type="int"/>
</node>
<!-- 键盘控制 -->
<node pkg="turtlesim" type="turtle_teleop_key" name="key" output="screen"/>
<!-- 乌龟位姿订阅 -->
<node pkg="wugui_ttest" type="test01_sub_pose_p.py" name="wugui_pose" output="screen"/>
<!-- 加一个乌龟 -->
<node pkg="wugui_ttest" type="wugui_service_client" name="wugui_spawn" output="screen"/>
<!-- 加另一个乌龟 -->
<node pkg="wugui_ttest" type="wugui_service_client_p.py" name="wugui_spawn_p" output="screen"/>
</launch>
普遍性:
常出现在想给节点添加参数时,忘记了去掉/,为了框起<param>,又加上了</node>,出现错误。