25 lines
832 B
Python
25 lines
832 B
Python
import pybullet as p
|
|
import time
|
|
|
|
p.connect(p.GUI)
|
|
door = p.loadURDF("door.urdf")
|
|
|
|
#linear/angular damping for base and all children=0
|
|
p.changeDynamics(door, -1, linearDamping=0, angularDamping=0)
|
|
for j in range(p.getNumJoints(door)):
|
|
p.changeDynamics(door, j, linearDamping=0, angularDamping=0)
|
|
print(p.getJointInfo(door, j))
|
|
|
|
frictionId = p.addUserDebugParameter("jointFriction", 0, 20, 10)
|
|
torqueId = p.addUserDebugParameter("joint torque", 0, 20, 5)
|
|
|
|
while (1):
|
|
frictionForce = p.readUserDebugParameter(frictionId)
|
|
jointTorque = p.readUserDebugParameter(torqueId)
|
|
#set the joint friction
|
|
p.setJointMotorControl2(door, 1, p.VELOCITY_CONTROL, targetVelocity=0, force=frictionForce)
|
|
#apply a joint torque
|
|
p.setJointMotorControl2(door, 1, p.TORQUE_CONTROL, force=jointTorque)
|
|
p.stepSimulation()
|
|
time.sleep(0.01)
|