xacro代码示例:
<robot name="mycar" xmlns:xacro="http://wiki.ros.org/xacro">
<!--添加base_footprint or 参考点-->
<xacro:property name="footprint_radius" value="0.001">
<link name="base_footprint">
<visual>
<geometry>
<sphere radius="${footprint_radius}" />
</geometry>
</visual>
</link>
<!--添加小车底盘-->
<!--
形状:圆柱
半径:0.1m
高度:0.08m
离地高度:0.015m
-->
<xacro:property name="base_radius" value="0.1" />
<xacro:property name="base_length" value="0.08" />
<xacro:property name="lidi" value="0.015" />
<xacro:property name="base_joint_z" value="${base_length/2+lidi}" />
<link name="base_link">
<visual>
<geometry>
<cylinder radius="0.1" length="0.08" />
</geometry>
<origin xyz="0 0 0" rpy="0 0 0" />
<material name="baselink_color">
<color rgba="1 0.5 0.3 0.5" />
</material>
</visual>
</link>
<joint name="link2footprint" type="fixed">
<parent link="base_footprint" />
<child link="base_link" />
<!--关节z上的设置 = 车体高度/2 + 离地间距 -->
<origin xyz="0 0 0.055" rpy="0 0 0" />
</joint>
<!--驱动轮-->
<!--
形状:圆柱
半径:0.035m
长度:0.015m
-->
<!--属性-->
<xacro:property name="wheel_radius" value="0.0325" />
<xacro:property name="wheel_length" value="0.015" />
<xacro:property name="PI" value="3.1415927" />
<!--注意是负数-->
<xacro:property name="wheel_joint_z" value="${(base_length /2 +lidi-wheel_radius)*-1}" />
<!--宏封装-->
<!--
wheel_name:left or right
flag : 1 or -1
-->
<xacro:macro name="wheel_func" params="wheel_name flag">
<link name="${wheel_name}_wheel">
<visual>
<geometry>
<cylinder radius="${wheel_radius}" length="${wheel_length}" />
</geometry>
<origin xyz="0 0 0" rpy="${PI/2} 0 0" />
<material name="wheel_color">
<color rgba="0 0 0 0.3" />
</material>
</visual>
</link>
<joint name="${wheel_name}2link" type="continuous">
<parent link="base_link" />
<child link="${wheel_name}_wheel" />
<origin xyz="0 ${0.1*flag} ${wheel_joint_z}" rpy="0 0 0" />
<axis xyz="0 1 0" />
</joint>
</xacro:macro>
<!--调用-->
<xacro:wheel_func wheel_name="left" flag="1" />
<xacro:wheel_func wheel_name="right" flag="-1" />
</robot> //这是第85行
命令行:
zhanghaoming@Ubuntu18:~/workspace/ROS/urdf_ws/src/urdf01_rviz/urdf/xacro$
rosrun xacro xacro demo05_car_base.xacro > demo05_base.urdf
报错:
XML parsing error: mismatched tag: line 85, column 2
when processing file: demo05_car_base.xacro
Check that:
- Your XML is well-formed
- You have the xacro xmlns declaration: xmlns:xacro="http://www.ros.org/wiki/xacro"
中文大意:
XML分析错误:不匹配的标记:第85行第2列
处理文件时:demo05_car_base.xacro
检查:
-您的XML格式正确
-您有xacro xmlns声明:xmlns:xacro=“http://www.ros.org/wiki/xacro"
问题简述:
想要把xacro转成urdf文件来验证代码的正确性,结果出现根标签报错的情况,
1.请问各位同仁能说明下是什么情况吗?
2.又该如何能够解决?
3.如果你有遇到过类似的情况,可以和我们分享下吗?
O(∩_∩)O谢谢