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文件就不会报错了