ubuntu20.04+ros noetic: 运行 roslaunch文件 Invalid <param> tag: Cannot load command parameter

对应的是重德智能的教程,运行roslaunch robot_sim_demo robot_spawn.launch 后的报错

出现的错误:

出现错误的文件路径(就是上图中红色前两行显示的路径):

/home/chester/catkin_ws/src/ROS-Academy-for-Beginners/robot_sim_demo/launch/include/xbot-u.launch.xml

 根据路径找到 xbot-u.launch.xml 文件并用文本编辑器打开,如下:

<launch>

  <arg name="x" default="5.0" />
  <arg name="y" default=".0" />
  <arg name="z" default="0.0" />
  <arg name="yaw" default="-2.0" />

  <!-- Setup controllers -->
  <!-- rosparam file="$(find fetch_gazebo)/param/freight_controllers.yaml" command="load" / -->

  <!-- URDF and TF support -->
  <param name="robot_description" command="$(find xacro)/xacro.py $(find robot_sim_demo)/urdf/robot.xacro" />
  <!-- Put a robot in gazebo, make it look pretty -->
  <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen" 
        args="-urdf -x $(arg x) -y $(arg y) -z $(arg z) -Y $(arg yaw) -model xbot-u -param robot_description"/>

  <!--node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
    <param name="use_gui" value="false"/>
  </node-->

  <!--Load the joint controllers to param server-->
  <rosparam file="$(find robot_sim_demo)/param/xbot-u_control.yaml" command="load"/>

  <!--Load controllers-->
  <node name="spawner" pkg="controller_manager" type="spawner" respawn="false"
    output="screen" ns="/xbot" args="joint_state_controller
    yaw_platform_position_controller
    pitch_platform_position_controller
    "/>  <!--mobile_base_controller-->


  <!-- convert joint states to TF transforms for rviz, etc -->
  <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" ns="/xbot" respawn="false" output="screen">
    <param name="publish_frequency" value="20.0"/>
  </node>

  <!-- Publish base_scan_raw if anything subscribes to it -->
  <!--node name="publish_base_scan_raw" pkg="topic_tools" type="relay" args="base_scan base_scan_raw" >
    <param name="lazy" type="bool" value="True"/>
  </node-->

  <!-- Start a mux between application and teleop, but the switch must be called by service rather than automatically -->
  <!--<node pkg="topic_tools" type="mux" name="cmd_vel_mux" respawn="true" args="/cmd_vel /cmd_vel_mux/input/teleop /cmd_vel_mux/input/navi">
    <remap from="mux" to="cmd_vel_mux"/>
  </node>-->

  <!-- To make the interface of simulation identical to real XBot -->
  <node pkg="nodelet" type="nodelet" name="mobile_base_nodelet_manager" args="manager"/>
  <node pkg="nodelet" type="nodelet" name="cmd_vel_mux"  args="load yocs_cmd_vel_mux/CmdVelMuxNodelet mobile_base_nodelet_manager">
    <param name="yaml_cfg_file" value="$(find robot_sim_demo)/param/mux.yaml"/>
    <remap from="cmd_vel_mux/output/cmd_vel" to="cmd_vel"/>
  </node>


</launch>

 找到与错误中对应的一行代码,本例如下:

<param name="robot_description" command="$(find xacro)/xacro.py $(find robot_sim_demo)/urdf/robot.xacro"/>

 将其中的 xacro.py 的.py去掉后保存文档,如下:

<param name="robot_description" command="$(find xacro)/xacro $(find robot_sim_demo)/urdf/robot.xacro"/>

 终端重新运行roslaunch文件即可。

参考:https://blog.youkuaiyun.com/qq_29710939/article/details/117035802

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值