44 lines
1.1 KiB
Matlab
44 lines
1.1 KiB
Matlab
% frank03: create Beijing matrices in a cleaner way
|
|
|
|
load beijing.mat;
|
|
load beijing_angles.mat;
|
|
load beijing_graph.mat;
|
|
n=size(points,1);
|
|
|
|
% create config or load it from file
|
|
if 0
|
|
load beijing_config.mat;
|
|
else
|
|
config=Pose2Config();
|
|
for j=1:n
|
|
if mod(j,1000) == 0, fprintf(1, 'adding node %d to config\n', j); end
|
|
pose=Pose2(points(j,1),points(j,2),angles(j));
|
|
key = sprintf('x%d', j);
|
|
config.insert(key,pose);
|
|
end
|
|
save('beijing_config.mat','config');
|
|
end
|
|
|
|
sd = [0.25;0.25;0.01];
|
|
|
|
% Build factor graph for entire graph
|
|
graph = Pose2Graph;
|
|
|
|
% First add tree constraints
|
|
[I J] = find(tree);
|
|
for k=length(edge_order):-1:1
|
|
edge = edge_order(k);
|
|
if mod(k,1000) == 0, fprintf(1, 'simulating constraint %d\n', k); end
|
|
addSimulatedConstraint(points,angles,sd,I(edge),J(edge),graph);
|
|
end
|
|
|
|
% Then add remaining constraints C
|
|
C=G-tree;
|
|
[I J] = find(C);
|
|
for k=1:length(I)
|
|
if mod(k,100) == 0, fprintf(1, 'simulating constraint %d\n', k); end
|
|
addSimulatedConstraint(points,angles,sd,I(k),J(k),graph);
|
|
end
|
|
|
|
% generate ordering
|
|
ordering = bottom_up_ordering(pred); |