试用pybullet进行一些轻量级的机械臂仿真,已经下载过panda的模型,就想直接导进去,使用如下代码:
pandaUid=p.loadURDF("/home/用户名/pybullet_test/panda_description/urdf/panda.urdf",useFixedBase=True)
结果报错:
Warning: failed to parse link
Traceback (most recent call last):
File "/home/用户名/pybullet_test/test.py", line 10, in <module>
pandaUid=p.loadURDF("/home/用户名/pybullet_test/panda_description/urdf/panda.urdf",useFixedBase=True)
pybullet.error: Cannot load URDF file.
查看了下报错日志,发现最主要的问题在这里:
b3Printf: /home/用户名/pybullet_test/panda_description/urdf/panda.urdf:10: cannot find 'moveit_resources_panda_description/meshes/visual/link0.dae' in any directory in urdf path
但panda的模型包里明明有/meshes/visual/link0.dae,问题就出在它按照moveit_resources_panda_description这个固定的文件夹名字来检索link0.dae文件,所以就出现了找不到的错误。不是很明白是哪里规定了配置文件的检索目录导致它这么死板地按图索骥,反正解决也很简单,就在程序所在目录下创建一个它期望的文件夹来存放配置文件就好了。

从panda_description中复制meshes文件夹到新建的moveit_resources_panda_description夹下即可。再运行程序发现问题解决了,可以成功仿真。