ipywidgetsに似たような機能としてaddUserDebugParameterというのもあります
実際のところ
メソッドの説明
paramId = p.addUserDebugParameter(paramName, rangeMin, rangeMax, startValue)
スクリプト例
import pybullet as p import time # PyBulletのGUIモードで接続 p.connect(p.GUI) # 重力の設定 p.setGravity(0, 0, -9.8) # 環境のロード planeId = p.loadURDF("plane.urdf") # xArm 7ロボットアームのロード(正確なURDFファイルパスを指定してください) robotId = p.loadURDF("/path/to/xarm7.urdf", useFixedBase=True) # 第一関節と第二関節の制御パラメータ用のスライダーを追加 paramId1 = p.addUserDebugParameter("joint1", -3.14, 3.14, 0) paramId2 = p.addUserDebugParameter("joint2", -3.14, 3.14, 0) # シミュレーションループ while True: # スライダーの現在値を読み取る jointPos1 = p.readUserDebugParameter(paramId1) jointPos2 = p.readUserDebugParameter(paramId2) # 第一関節と第二関節を指定した位置に制御 p.setJointMotorControl2(robotId, 0, p.POSITION_CONTROL, targetPosition=jointPos1) p.setJointMotorControl2(robotId, 1, p.POSITION_CONTROL, targetPosition=jointPos2) # 1ステップシミュレーションを実行 p.stepSimulation() time.sleep(1./240.)