-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdemo_PrimitivesTest.m
72 lines (57 loc) · 2.1 KB
/
demo_PrimitivesTest.m
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
%
% Script: demo_PrimitivesTest.m
%
% Dependencies:
% +demos/data/visualtracking/state_order.mat
% +demos/data/visualtracking/Euler 1.mat
% +demos/data/visualtracking/Euler 2.mat
% +demos/data/visualtracking/Euler 3.mat
% +demos/data/visualtracking/Euler 4.mat
% +demos/data/visualtracking/Euler 5.mat
% +offlineanalysis/PrimtivesTest
%
%
% Description:
%
% Demonstrate the processing of visual tracking data of motion primitives
% after Euler tour (exhaustive exploration) experiments.
%
% This data corresponds to experiment 1 with the blue robot with the old
% frictional component.
%
clear; clc; close all
% [0] == Script setup
% Add dependencies to classpath
addpath('../');
load('data/visualtracking/state_order.mat')
% Configure figure tex interpreters
set(groot, 'defaultAxesTickLabelInterpreter','latex');
set(groot, 'defaultTextInterpreter','latex');
% [1] == Define experimental parameters after investigating video.
frame_start_list = [206, 142, 260, 363, 316];
for i = 1:5
% Define robot.
exp_1(i).params.robot_name = 'blue';
exp_1(i).params.substrate = 'black mat';
% Extract and store first frame information.
exp_1(i).params.frame_1 = frame_start_list(i);
% Extract and store raw data from each trial.
filename = ['data/visualtracking/Euler', ' ', num2str(i), '.mat'];
exp_1(i).raw_data = load(filename).all_pt;
end
% [2] == Instantiate experimental motion primitive data analysis and plot
% results.
% Set up figure.
figure(1)
tiledlayout(1, 5);
for i = 1:5
alltrials(i) = offlineanalysis.PrimitivesTest(exp_1(i).raw_data, exp_1(i).params, state_order(i,:));
nexttile;
alltrials(i).plot;
% Extract data to store in a more convenient way for gait synthesis.
delta_x_data(i, :) = alltrials(i).delta_x;
delta_y_data(i, :) = alltrials(i).delta_y;
delta_theta_data(i, :) = alltrials(i).delta_theta;
end
% [3] == Concatenate all motion primitive motion data into a 3D matrix.
motion_primitive_data = cat(3, delta_x_data, delta_y_data, delta_theta_data);