2017-07-19 40 views
0

我是Bullet的新手。我正在使用pybullet並想製作一輛車。 我使用this standard URDF-model來模擬汽車。子彈物理目標速度(python界面)

我想讓我的車去,例如,在直線方向20的速度。 我可以這樣寫:

p.resetBaseVelocity(car, [20, 0, 0]) 

和一切都會工作。

此代碼:

linearVelocity, angularVelocity = p.getBaseVelocity (car) 
print(linearVelocity) 

將輸出(20, 0, 0)。但當然,我想借助車輪,使用setJointMotorControl2,VELOCITY_CONTROLtargetVelocity來實現這種效果。我看到this example racecar,我試圖在無限平面上運行這臺機器,但是我設法達到的線速度大約是(1.0, 0, 0),我想要linearVelocity (20, 0, 0)。我試圖改變在URDF模型的代碼:

<Limit effort = "10" velocity = "100" /> 

我將它設置爲非常高的值,並提出目標速度非常大,但沒有效果。如何更改URDF模型或請給出一個可以高速行駛的模型的簡單示例。

我當然可以做到人爲地:

linearVelocity = [x * 2 for x in linearVelocity] 
p.resetBaseVelocity (my_car, linearVelocity) 

但它不漂亮,我想用車輪的目標速度做到這一點。請幫忙。

回答

0

在URDF文件中的限制和努力字段不由pybullet處理。

您可以修改該賽車示例中的targetVelocity(對於車輪)以加快速度。