ros2 加载XACRO报错 ‘ using yaml rules: yaml.safe_load() failedmapping values are not allowed here in

memeros2 加载xacro文件可能有问题,我的xacro没报错但是python launch文件加载不出来

' using yaml rules: yaml.safe_load() failed
mapping values are not allowed here
  in "<unicode string>", line 7, column 20:
         Commit Version: 1.6.0-4-g7f85cfe  Build Versio ...

报错如上,我的文件前几行

<?xml version="1.0" encoding="utf-8"?>
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com) 
     Commit Version: 1.6.0-4-g7f85cfe  Build Version: 1.6.7995.38578
     For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
<robot
  name="arm_description">

可以看到报错提示指向了注释,把注释删除再build,显示正常,若再不正常,将xacro文件转成urdf文件可以解决问题,

ros2 run xacro xacro /home/zju/ur5-master/src/ur500_description/urdf/ur5_robot.urdf.xacro > your_robot.urdf

这行命令可以将xacro文件转成urdf文件,前面的填xacro文件路径,后面也是有路径,后面的没填具体路径会在当前命令行路径下生成指定名称的urdf文件,如果报错,说明者路径名没写对,或xacro文件有错误,检查完xacro错误后,会生成urdf文件,用命令检查urdf文件,

check_urdf your_robot.urdf 

没有报错会输出如下类似结果。

---------- Successfully Parsed XML ---------------
root Link: base_link has 2 child(ren)
    child(1):  base
    child(2):  shoulder_link
        child(1):  upper_arm_link
            child(1):  forearm_link
                child(1):  wrist_1_link
                    child(1):  wrist_2_link
                        child(1):  wrist_3_link
                            child(1):  ee_link
                            child(2):  tool0

生成成功,此时ros2 launch文件调用urdf文件就不会报错了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值