import pybullet as p import time cid = p.connect(p.SHARED_MEMORY) if (cid < 0): cid = p.connect(p.GUI) p.resetSimulation() useRealTime = 0 p.setRealTimeSimulation(useRealTime) p.setGravity(0, 0, -10) p.loadSDF("stadium.sdf") obUids = p.loadMJCF("mjcf/humanoid_fixed.xml") human = obUids[0] for i in range(p.getNumJoints(human)): p.setJointMotorControl2(human, i, p.POSITION_CONTROL, targetPosition=0, force=500) kneeAngleTargetId = p.addUserDebugParameter("kneeAngle", -4, 4, -1) maxForceId = p.addUserDebugParameter("maxForce", 0, 500, 10) kneeAngleTargetLeftId = p.addUserDebugParameter("kneeAngleL", -4, 4, -1) maxForceLeftId = p.addUserDebugParameter("maxForceL", 0, 500, 10) kneeJointIndex = 11 kneeJointIndexLeft = 18 while (1): time.sleep(0.01) kneeAngleTarget = p.readUserDebugParameter(kneeAngleTargetId) maxForce = p.readUserDebugParameter(maxForceId) p.setJointMotorControl2(human, kneeJointIndex, p.POSITION_CONTROL, targetPosition=kneeAngleTarget, force=maxForce) kneeAngleTargetLeft = p.readUserDebugParameter(kneeAngleTargetLeftId) maxForceLeft = p.readUserDebugParameter(maxForceLeftId) p.setJointMotorControl2(human, kneeJointIndexLeft, p.POSITION_CONTROL, targetPosition=kneeAngleTargetLeft, force=maxForceLeft) if (useRealTime == 0): p.stepSimulation()