Skip to content

Commit

Permalink
Adds code that cleans up adding trajectories from data.
Browse files Browse the repository at this point in the history
  • Loading branch information
andybarry committed Oct 5, 2015
1 parent 0f73309 commit a8fc92e
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 64 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ trajlib/
abort.txt
funnels/funnelStuff.mat
funnels/inside_verification0.mat
funnels/*.gz
*.slx
2 changes: 1 addition & 1 deletion AddLqrControllersToLib.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

add_open_loop = false;
add_pd = false;
add_pd_xyz = true;
add_pd_xyz = false;

p = lib.p;
p_body_frame = DeltawingPlantStateEstFrame(p);
Expand Down
32 changes: 32 additions & 0 deletions AddTrajectoryFromData.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
function lib = AddTrajectoryFromData(lib, est, u, start_t, end_t, name)
u_trim = TrimU(start_t, end_t, u);
est_trim = TrimEst(start_t, end_t, est);

% create xtraj
est_t0 = est_trim.est_frame(1,:);

% zero yaw
est_frame = est_trim.est_frame;

rpy_to_zero = [0 0 -est_t0(6)];
Mz = rpy2rotmat(rpy_to_zero);

drake_frame = zeros(size(est_frame));
for i = 1 : size(est_frame, 1)
drake_frame(i, :) = ConvertStateEstimatorToDrakeFrame(est_frame(i, :)', Mz);
end

drake_t0 = drake_frame(1,:);

% zero x, y and z
drake_frame(:, 1:3) = drake_frame(:, 1:3) - repmat(drake_t0(1:3), size(drake_frame, 1), 1);
xtraj = PPTrajectory(spline(est_trim.logtime - est_trim.logtime(1), drake_frame'));

% create utraj
utraj = PPTrajectory(spline(u_trim.logtime - u_trim.logtime(1), u_trim.rad.zeroed_vector'));

% run tvlqr
[~, gains] = GetDefaultGains();

lib = AddLqrControllersToLib(name, lib, xtraj, utraj, gains, false, true);
end
40 changes: 40 additions & 0 deletions LibraryFromData.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
%% load data

clear

%% load trajectories we like already

trajectory_library = 'traj-archive/basic-lib.mat';
disp(['Loading ' trajectory_library '...']);
load(trajectory_library);


%%

date = '2015-09-17';
name = 'field-test';
log_number = '04';
hostname = 'odroid-gps2';


dir = [date '-' name '/' hostname '/'];
filename = ['lcmlog_' strrep(date, '-', '_') '_' log_number '.mat'];


dir_prefix = '/home/abarry/rlg/logs/';
dir = [ dir_prefix dir ];

addpath('/home/abarry/realtime/scripts/logs');

disp(['Loading ' filename '...']);

loadDeltawing

disp('done.');

%% extract time

start_t = 127.629;
end_t = 131.0;

lib = AddTrajectoryFromData(lib, est, u, start_t, end_t, 'right-turn-from-data');
63 changes: 0 additions & 63 deletions TrajectoryFromData.m

This file was deleted.

0 comments on commit a8fc92e

Please sign in to comment.