“URDF/COLLADA file is not a valid robot model” | moveit setup assistant 报错

可能的问题1:启动前没有source

我先在一个终端 roscore
然后在另一个终端输入
rosrun moveit_setup_assistant moveit_setup_assistant
进入moveit_setup_assistant界面后选择了一个urdf文件(也可以是xacro文件),然后弹出窗口报错:

 URDF/COLLADA file is not a valid robot model

经过搜索发现,roscore后,在启动moveit setup assistant的终端要先在工作空间目录下

catkin_make
source devel/setup.bash

哪怕原来编译过也要先catkin_make哦~ 再

rosrun moveit_setup_assistant moveit_setup_assistant

才可以正常加载urdf文件

可能的问题2: urdf文件里没有模型

我按照上面的方法启动了,可是选取 “myarm.xacro” 后也报了这个错。后来我打开这个xacro文件一看,发现我是这么写的:

<?xml version="1.0"?>
<robot name="arm" xmlns:xacro="http://ros.org/wiki/xacro">
    <xacro:macro name="my_arm">
    
	<!-- 此处省略我的模型定义的的内容 -->

    </xacro:macro>
</robot>

也就是说,我为了在另外一个文件使用这个模型,我把这个模型定义成宏了,而这个文件里只有模型的宏定义而没有引用,相当于这个文件里没有模型。那么只要在末尾引用一下这个模型的宏就可以啦:

<!--上面省略,此处是文件末尾-->
    </xacro:macro>
    <my_arm />
</robot>

题外话:关于在xacro里定义(用<xacro:macro>标签)如果不知道的话,大家上网查查就有哒。(我好犹豫要不要把我xacro的学习笔记放出来哦,因为网上有好多,可是我的非常简短。(⊙o⊙)… 要不有几人点赞或几人评论说要的话我就放吧。。)

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值