example of joint motor with friction
This commit is contained in:
26
examples/pybullet/examples/jointFrictionAndMotor.py
Normal file
26
examples/pybullet/examples/jointFrictionAndMotor.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
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)
|
||||||
|
|
||||||
Reference in New Issue
Block a user