(text, pre_seq, waypoint, motion_length)
| 70 | return data |
| 71 | |
| 72 | def diffusion_planner(text, pre_seq, waypoint, motion_length): |
| 73 | if waypoint is not None and pre_seq is not None: |
| 74 | pre_seq = set_endpoint_to_xy(pre_seq, -0.5 * waypoint[0], -0.5 * waypoint[1]) |
| 75 | pred_motion = infer_motion_diffusion(text, pre_seq, waypoint, motion_length) |
| 76 | if pre_seq is not None: |
| 77 | pred_motion = set_startpoint_to_zero(pred_motion[:, pre_seq.shape[1]-1:]) |
| 78 | pre_seq = set_endpoint_to_zero(pre_seq) |
| 79 | pred_motion = np.concatenate([pre_seq[:, -1:], pred_motion[:, 1:]], axis=1) # include the start state |
| 80 | elif waypoint is not None: |
| 81 | pred_motion = set_startpoint_to_zero(pred_motion) |
| 82 | return np.array(pred_motion) |
| 83 | |
| 84 | def generative_controller(planned_motion, perturb, motion_length): |
| 85 | if motion_length == planned_motion.shape[1]: |
no test coverage detected