-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsimulate_neural_network_controller.py
More file actions
39 lines (33 loc) · 1.23 KB
/
Copy pathsimulate_neural_network_controller.py
File metadata and controls
39 lines (33 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from controllers.model import ModelController
from models.tf.nn import NeuralNetwork
from simulator.pyopengl import GLFWSimulator
from utils import control
from utils import dataset
model_checkpoint_directory = 'checkpoints/nn'
shadow_hand_xml_filepath = 'objects/shadow_hand/scene_left.xml'
ctrl_limits_filepath = 'data/ctrl_limits.csv'
dataset_filepath = 'data/expert_dataset.csv'
trajectory_steps = 100
cam_verbose = False
sim_verbose = True
def main():
model = NeuralNetwork(input_shapes={'sign': (), 'order': ()}, num_outputs=-1)
model.load(checkpoint_directory=model_checkpoint_directory)
ctrl_limits = control.read_ctrl_limits(csv_filepath=ctrl_limits_filepath)
hand_controller = ModelController(
model=model,
ctrl_limits=ctrl_limits,
num_actuators=dataset.NUM_ACTUATORS,
one_hot_signs=dataset.ONE_HOT_SIGNS,
one_hot_orders=dataset.ONE_HOT_ORDERS
)
simulator = GLFWSimulator(
shadow_hand_xml_filepath=shadow_hand_xml_filepath,
hand_controller=hand_controller,
trajectory_steps=trajectory_steps,
cam_verbose=cam_verbose,
sim_verbose=sim_verbose
)
simulator.run()
if __name__ == '__main__':
main()