报错Unknown tag "{http://wiki.ros.org/xacro}property" in /robot[@name='fanuc_m710ic50'] Unknown tag "{http://wiki.ros.org/xacro}property" in /robot[@name='fanuc_m710ic50'] Unknown tag "{http://wiki.ros.org/xacro}include" in /robot[@name='fanuc_m710ic50'] Unknown tag "{http://wiki.ros.org/xacro}fanuc_m710ic50" in /robot[@name='fanuc_m710ic50'] Unknown tag "{http://wiki.ros.org/xacro}include" in /robot[@name='fanuc_m710ic50'] Traceback (most recent call last): File "./move_fixed_trajectory.py", line 576, in <module> urdf_to_dh(urdf_name="/home/hq/git_test_20230705/ck_robot/src/hand_move/hand_model/urdf/m710ic50.xacro") File "/home/hq/git_test_20230705/ck_robot/src/lkai/script/function_lib.py", line 2795, in urdf_to_dh for joint_name, joint in joints.items(): AttributeError: 'list' object has no attribute 'items'、
时间: 2023-12-22 09:05:34 浏览: 132
这个错误是由于在URDF文件中使用了`xacro`标签,但没有正确处理`xacro`标签导致的。`xacro`是ROS中用于宏扩展和参数化URDF文件的工具。
要解决这个错误,您需要确保正确安装了ROS中的xacro工具。可以使用以下命令来安装xacro工具:
```bash
sudo apt-get install ros-noetic-xacro
```
安装完成后,使用xacro工具将URDF文件转换为纯URDF文件,然后再进行处理。在终端中运行以下命令来将xacro文件转换为urdf文件:
```bash
rosrun xacro xacro your_robot.xacro > your_robot.urdf
```
将上述命令中的`your_robot.xacro`替换为您实际的xacro文件名。转换完成后,您可以使用转换后的URDF文件进行DH参数的计算。
请注意,转换后的URDF文件可能会有不同的标签结构,因此在提取关节信息时可能需要相应地修改代码。
相关问题
xmlns:xacro="http://wiki.ros.org/xacro"和xmlns:xacro="http://www.ros.org/wiki/xacro",这两句有什么区别,哪个是正确的
这两个 URI 都是可以使用的,区别在于其版本不同。`http://www.ros.org/wiki/xacro` 是旧版本的 xacro 文档页面所使用的 URI,而`http://wiki.ros.org/xacro` 是新版本的 xacro 文档页面所使用的 URI。在 ROS 中,推荐使用 `http://wiki.ros.org/xacro`,因为它是更新的版本,并且更符合 ROS 中的标准。但是,如果您使用的是较早的 ROS 版本,可能需要使用 `http://www.ros.org/wiki/xacro`。
xmlns:xacro="http://www.ros.org/wiki/xacro"这句什么意思
`xmlns:xacro` 是一个 XML 属性,用于定义命名空间。其中,`xacro` 是命名空间的名称,`http://www.ros.org/wiki/xacro` 是该命名空间的唯一标识符,也称为命名空间 URI。在这个例子中,`xmlns:xacro="http://www.ros.org/wiki/xacro"` 意味着该 XML 文件中会使用到 ROS 中的 xacro 宏语言,且 xacro 属于 `http://www.ros.org/wiki/xacro` 命名空间。这样做的好处是,可以将不同的 XML 元素分组,避免了命名冲突。
阅读全文