首先,我是使用VMware workstation pro 15搭建的Ubuntu 18.04系统环境。
使用python3.5.6 和 pip3 安装的pybullet
(sudo) pip3 install pybullet
然后运行任意一个示例的时候,环境中没有物理模型,但是程序是在运行的。比如说
import pybullet as p
import time
import pybullet_data
physicsClient = p.connect(p.GUI)#or p.DIRECT for non-graphical version
p.setAdditionalSearchPath(pybullet_data.getDataPath()) #optionally
p.setGravity(0,0,-10)
planeId = p.loadURDF("plane.urdf")
cubeStartPos = [0,0,1]
cubeStartOrientation = p.getQuaternionFromEuler([0,0,0])
boxId = p.loadURDF("r2d2.urdf",cubeStartPos, cubeStartOrientation)
for i in range (10000):
p.stepSimulation()
time.sleep(1./240.)
cubePos, cubeOrn = p.getBasePositionAndOrientation(boxId)
print(cubePos,cubeOrn)
p.disconnect()
找了很久的原因,是因为虚拟机中默认使用OpenGL2,这样渲染就不够,导致模型画不出来。
根据国外大腿的各种解释,你可以将启动物理引擎代码做个修改
physicsClient = p.connect(p.GUI,"option=opengl2")#or

本文介绍在Ubuntu18.04环境下使用PyBullet时遇到的物理模型无法正常显示的问题及解决办法。作者最初在虚拟机中安装了Ubuntu并配置了PyBullet,但在运行示例代码时发现无法正确渲染模型。经过排查,发现是由于OpenGL版本问题导致,并提供了两种解决方案。
最低0.47元/天 解锁文章





