20 lines
430 B
Matlab
20 lines
430 B
Matlab
|
% Christian Potthast
|
||
|
% create visibility matrix
|
||
|
|
||
|
function V = create_visibility(map,pose,threshold)
|
||
|
|
||
|
n = size(map,2);
|
||
|
m = size(pose,2);
|
||
|
V = sparse([],[],[],n+m,n+m);
|
||
|
|
||
|
for t = 1:m
|
||
|
% find measurements within Manhattan range
|
||
|
js = find(2==sum(abs(map-pose(:,t)*ones(1,n))<[threshold;threshold]*ones(1,n)));
|
||
|
for j = js
|
||
|
V(j,t+n)=1;
|
||
|
end
|
||
|
% add in odometry links
|
||
|
if t>1
|
||
|
V((t+n)-1,t+n)=1;
|
||
|
end
|
||
|
end
|