首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >难以读取Klampt中的*.urdf和*.rob文件

难以读取Klampt中的*.urdf和*.rob文件
EN

Stack Overflow用户
提问于 2022-07-22 20:05:06
回答 1查看 53关注 0票数 0

希望之前有人用过Klampt,但我看不懂。因此,这个问题仅仅是关于我在urdf文件中遗漏了什么,这似乎是正确的,这是从一本使用Klampt进行机器人建模和仿真的电子书中的一个例子中直接得出的。

代码语言:javascript
复制
from __future__ import print_function,division
from klampt import *
import math
import os   


world = WorldModel()
fileurdf = r"planar2R.urdf"    
path = os.path.join(r"data",fileurdf)
res = world.readFile(path)
assert res, "There was an error loading data/planar2R.urdf"

urdf文件的格式很好。

代码语言:javascript
复制
<robot name="test_robot">
    <link name="base_link"> 
    </link> 
    <link name="link1">
    </link> 
    <link name="link2">
    </link> 
    <link name="link3">
    </link> 
    <link name="end_effector">
    </link>
    <joint name="joint1" type="revolute">       
        <parent link="base_link"/>
        <child link="link1"/>
    </joint>
    <joint name="joint2" type="revolute">
        <origin xyz="1 0 0" rpy="0 0 0"/>
        <axis xyz="0 1 0"/>
        <parent link="link1"/>
        <child link="link2"/>
    </joint>
    <joint name="joint3" type="revolute">
        <parent link="link2"/>
        <child link="link3"/>
    </joint>
    <joint name="joint4" type="fixed">      
        <parent link="link3"/>
        <child link="end_effector"/>
    </joint>
</robot>

我解析文件失败了

EN

回答 1

Stack Overflow用户

发布于 2022-11-08 15:02:39

可能有很多原因会导致“无法加载urdf”错误。

原因1:指定的文件地址不正确/可读。

原因2: urdf文件本身有一个错误。请记住,可以在一个urdf模拟器中加载urdf文件,而不会出现任何错误,但是相同的文件可能会导致klampt中的错误。

我面对这个问题已经有一段时间了,我不得不通过尝试并编写我的整个urdf文件来调试它,并向示例urdf学习。

Try 1:首先确保文件地址没有引起任何问题。

Try 2:从一个给定的示例开始。对urdf文件进行小修改,并同时进行调试。

Try 3:关于klampt的urdf,它需要最后一个<klampt> </klampt>数据。除非正确给出,否则编译将产生“无法加载urdf”错误。

可以给<klampt> </klampt>数据如下所示:

代码语言:javascript
复制
   <klampt world_frame="world" defaultAccMax="4" use_vis_geom="1">
     <noselfcollision group1="" group2="" />
    
     <link name="world" />    
     <link name="base_link" />
     <link name="link_1" servoP="1400" servoI="0" servoD="6" dryFriction="0.5" viscousFriction="8" />
     <link name="link_2" servoP="1400" servoI="0" servoD="6" dryFriction="0.5" viscousFriction="8" />
     <link name="fcp" />
   </klampt>
</robot>

我不喜欢这个klampt包的一件事是,它们没有说明加载urdf文件失败的原因,从而使初学者难以理解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73085580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档