Invalid <param> tag: Cannot load command parameter [robot_description] 出错解决

 

启动机器人时,运行launch文件突然报错。按照提示是xacro命令出错

 

 

打开提示错误的文件description.launch.xml

<!--
  Robot description only (used in private and paired master).
 -->
<launch>
  <arg name="base"/>
  <arg name="stacks"/>
  <arg name="3d_sensor"/>
  
  <arg name="urdf_file" default="$(find xacro)/xacro --inorder '$(find turtlebot_description)/robots/$(arg base)_$(arg stacks)_hokuyo.urdf.xacro'" />

  <param name="robot_description" command="$(arg urdf_file)" />

</launch>

 

发现文件中的--inorder不被识别。把这里替换成.py如下

<!--
  Robot description only (used in private and paired master).
 -->
<launch>
  <arg name="base"/>
  <arg name="stacks"/>
  <arg name="3d_sensor"/>
 
  <arg name="urdf_file" default="$(find xacro)/xacro.py '$(find turtlebot_description)/robots/$(arg base)_$(arg stacks)_$(arg 3d_sensor).urdf.xacro'" />

  <param name="robot_description" command="$(arg urdf_file)" />

</launch>

 

 

如图,不报错了,但是有个警告,意思 .py已经过时了,需要替换

 

但我这里 --inorder又报错,然后去github看了下xacro更新日志https://github.com/ros/xacro/blob/kinetic-devel/CHANGELOG.rst

1.11.0 (2016-03-25)

  • added short option -i as alternative to --inorder

 

所以直接把 .py 换成 -i,如下

  <arg name="urdf_file" default="$(find xacro)/xacro -i '$(find turtlebot_description)/robots/$(arg base)_$(arg stacks)_hokuyo.urdf.xacro'" />

 

然后没有错误也没有警告,终于ok了。

 

 

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值