"dt": dt, "mass": 1.0, "force_max": 1.0, "force_min": -1.0, "friction": 0.01, "sysnoise": 1e-2, } ], # robots, brains, interfaces need to match / correspond "ifs": [ { # dimensions of different subparts of sm vector # make that more compact / automatically inferred # actually: make that lists of names whose length is the dim # from world "dim_s_proprio": make_column_names_numbered("j_ang", motors), "dim_s_extero": make_column_names_numbered("ee_pos", 2), # internal "dim_s_intero": make_column_names_numbered("j_ang_", motors) + \ make_column_names_numbered("j_ang_error", motors) + \ make_column_names_numbered("j_ang_goal", motors) + \ make_column_names_numbered("pos_", extero) + \ make_column_names_numbered("pos_error", extero) + \ make_column_names_numbered("pos_goal", extero) + \ ["avgerror_prop", "avgerror_ext", "davgerror_prop", "davgerror_ext", "avgderror_prop", "avgderror_ext"], "dim_s_reward": make_column_names_numbered("dist_goal", 1), "dim_s_pred": make_column_names_numbered("j_ang_vel_pred", motors), # to world "dim_s_motor": make_column_names_numbered("m", motors), }, ],
expr_id = make_expr_id(name) # using dict convention seemed to be the best over yaml and friends conf = { # first level corresponds to experiment "numsteps": numsteps, "id": "%s_%s" % (name, time.strftime("%Y%m%d_%H%M%S")), # these are arrays of dicts specifying components # robots, brains, interfaces need to match / correspond "ifs": [ { # dimensions of different subparts of sm vector # make that more compact / automatically inferred # actually: make that lists of names whose length is the dim # from world "dim_s_proprio": make_column_names_numbered("acc", motors), "dim_s_extero": make_column_names_numbered("vel", motors), # internal "dim_s_intero": make_column_names_numbered("vel_", motors) + \ make_column_names_numbered("pos_", motors) + \ make_column_names_numbered("vel_error", motors) + \ make_column_names_numbered("vel_goal", motors), #+ \ # make_column_names_numbered("thresh", motors), "dim_s_reward": make_column_names_numbered("dist_goal", 1), "dim_s_pred": make_column_names_numbered("acc_pred", motors), # to world "dim_s_motor": make_column_names_numbered("m", motors), }, ], "robots": [ {
numsteps, "id": expr_id, # these are arrays of dicts specifying components "robots": [{ "class": PointmassRobot, # SimpleRandomRobot, "type": "explauto", "name": make_robot_name(expr_id, "pm", 0), # dimensions of different subparts of sm vector # make that more compact / automatically inferred # actually: make that lists of names whose length is the dim "dim_s_proprio": make_column_names_numbered("acc", motors), "dim_s_extero": make_column_names_numbered("vel", motors), "dim_s_intero": make_column_names_numbered("vel_", motors) + make_column_names_numbered("pos_", motors) + make_column_names_numbered("vel_goal", motors), "dim_s_reward": make_column_names_numbered("dist_goal", 1), "dim_s_pred": make_column_names_numbered("acc_pred", motors), "dim_s_motor": make_column_names_numbered("m", motors), "numsteps": numsteps, "control":
# using dict convention seemed to be the best over yaml and friends conf = { # first level corresponds to experiment "numsteps": numsteps, "id": expr_id, # these are arrays of dicts specifying components "robots": [ { "class": PointmassRobot, # SimpleRandomRobot, "type": "explauto", "name": make_robot_name(expr_id, "pm", 0), # dimensions of different subparts of sm vector # make that more compact / automatically inferred # actually: make that lists of names whose length is the dim "dim_s_proprio": make_column_names_numbered("acc", motors), "dim_s_extero": make_column_names_numbered("vel", motors), "dim_s_intero": make_column_names_numbered("vel_", motors) + make_column_names_numbered("pos_", motors) + make_column_names_numbered("vel_goal", motors) + make_column_names_numbered("vel_error", motors), "dim_s_reward": make_column_names_numbered("dist_goal", 1), "dim_s_pred": make_column_names_numbered("acc_pred", motors), "dim_s_motor": make_column_names_numbered("m", motors), "numsteps": numsteps, "control": "force", "ros": False, "brains": [ { "class": TaxisBrain, "name": "taxisbrain", "dim_s_motor": motors, "variant": "continuous_linear", # "binary_threshold" # tasks be of length either one or same as len(robots)
numsteps, "id": expr_id, # these are arrays of dicts specifying components "robots": [{ "class": SimplearmRobot, "type": "explauto", "name": make_robot_name(expr_id, "sa", 0), # dimensions of different subparts of sm vector # make that more compact / automatically inferred # actually: make that lists of names whose length is the dim "dim_s_proprio": make_column_names_numbered("j_ang", motors), "dim_s_extero": make_column_names_numbered("ee_pos", 2), "dim_s_intero": make_column_names_numbered("j_ang_", motors) + make_column_names_numbered("ee_pos_", 2) + make_column_names_numbered("j_ang_goal", motors), "dim_s_reward": make_column_names_numbered("dist_goal", 1), "dim_s_pred": make_column_names_numbered("j_ang_pred", motors), "dim_s_motor": make_column_names_numbered("m", motors), "numsteps": numsteps, "control":