in pybulletX/gui/control_panel.py [0:0]
def __init__(self, robot):
self.robot = robot
self.sliders = collections.defaultdict(list)
# get states and action_space
states = self.robot.get_states()
action_space = self.robot.action_space
# turn states and action_space to flattend dictionary
states = flatten_nested_dict(states)
action_space = flatten_nested_dict(action_space)
for key, space in action_space.items():
if key not in states:
continue
state = states[key]
if isinstance(state, collections.abc.Iterable):
names = [f"{key}[{i}]" for i in range(len(state))]
self.sliders[key] = Sliders(names, space.low, space.high, state)
else:
self.sliders[key] = Slider(key, space.low[0], space.high[0], state)