2017-07-19 16 views
0

私はBulletを初めて使用しています。私はパイブルを使い、車を作りたい。 車のモデリングにはthis standard URDF-modelを使用しています。弾丸物理の目標速度(Pythonインタフェース)

たとえば、私の車は、直進方向に20のスピードで移動します。 私は書くことができます:

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

すべてが動作します。

このコード:

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

意志出力(20, 0, 0)。もちろん、車輪の助けを借りてsetJointMotorControl2,VELOCITY_CONTROL、およびtargetVelocityを使ってこの効果を達成したいと思います。私は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で処理されません。

そのレースカーの例では、(車輪の)ターゲットの速度をより速く変更することができます。

関連する問題