我是Bullet的新手。我使用pybullet想要开车。 我使用this standard URDF-model为汽车建模。
我希望我的车能够以直线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 :(得分:0)
pybullet不处理URDF文件中的limit和effort字段。
您可以修改该赛车示例中的targetVelocity(用于车轮)以加快速度。