Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

# OS generated files #
######################
.DS_Store
Expand Down
4 changes: 2 additions & 2 deletions ProgramFiles/Utilities/LieGroups.m
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@
% matrix mapping
function fn = mat_fn(group)
if group == LieGroups.SE2
fn = @vec_to_mat_SE2;
fn = @vec_to_mat_SE2_lie;
elseif group == LieGroups.SO3
fn = @vec_to_mat_SO3;
end
end
% vector mapping
function fn = vec_fn(group)
if group == LieGroups.SE2
fn = @mat_to_vec_SE2;
fn = @mat_to_vec_SE2_lie;
elseif group == LieGroups.SO3
fn = @mat_to_vec_SO3;
end
Expand Down
6 changes: 6 additions & 0 deletions ProgramFiles/Utilities/kinematics/mat_to_vec_SE2_lie.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
function vector = mat_to_vec_SE2_lie(matrix)
%Convert SE(2) matrices to a set of row vectors

vector = [matrix(1,3);matrix(2,3);matrix(2,1)];

end
9 changes: 9 additions & 0 deletions ProgramFiles/Utilities/kinematics/vec_to_mat_SE2_lie.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
function matrix = vec_to_mat_SE2_lie(vector)

theta = vector(3);
x = vector(1);
y = vector(2);

matrix = [0,-theta,x;theta,0,y;0,0,0];

end
17 changes: 11 additions & 6 deletions ProgramFiles/sys_calcsystem_fcns/calc_ccf.m
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,10 @@
end
% iter. thru J (all rows, col < row):
entry = 1;
for r = 1:size(A,2)
for c = 1:r
% for r = 1:size(A,2)
% for c = 1:r
for c = 1:size(A,2)
for r = c:size(A,2)
% combine like bases (respecting wedge product rules)
% if doing a different choice of basis, change:
% which entry (r,c) pairs are saved in
Expand All @@ -47,7 +49,7 @@
continue;
end
% two partials for this basis
dA{i,entry} = -partials{r,c} + partials{c,r};
dA{i,entry} = partials{r,c} - partials{c,r};

entry = entry + 1;
end
Expand All @@ -66,8 +68,10 @@
lb_pts{i} = zeros(size(dA));
% iterate thru. combinations of bases
entry = 1;
for aj = 1:size(A,2)
for ak = 1:aj
% for aj = 1:size(A,2)
% for ak = 1:aj
for ak = 1:size(A,2)
for aj = ak:size(A,2)
% skip zero wedge products
if aj == ak
continue;
Expand All @@ -86,6 +90,7 @@
%% combine for DA
DA = cell(size(dA));
for i = 1:numel(dA)
DA{i} = -(dA{i} + lb{i}); %sign choice for consistency
DA{i} = dA{i} - lb{i}; %sign choice for consistency
end

end