23 lines
		
	
	
		
			597 B
		
	
	
	
		
			Matlab
		
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			597 B
		
	
	
	
		
			Matlab
		
	
	
| 
								 | 
							
								% Christian Potthast
							 | 
						||
| 
								 | 
							
								% simulate measurements
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function [measurements,odometry] = simulate_measurements(map, pose, visibility, noise_sigma, odo_sigma)
							 | 
						||
| 
								 | 
							
								m = size(pose,2);
							 | 
						||
| 
								 | 
							
								n = size(map,2);
							 | 
						||
| 
								 | 
							
								measurements = {};
							 | 
						||
| 
								 | 
							
								odometry = {};
							 | 
						||
| 
								 | 
							
								k =1;
							 | 
						||
| 
								 | 
							
								for i = 1:m
							 | 
						||
| 
								 | 
							
								    js = find(visibility(1:n,i+n));
							 | 
						||
| 
								 | 
							
								    if size(js ,1) > 0
							 | 
						||
| 
								 | 
							
								        for j = js'
							 | 
						||
| 
								 | 
							
								            z = map(:,j)-pose(:,i)+randn(2,1)*noise_sigma;
							 | 
						||
| 
								 | 
							
								            measurement = struct('z',z,'i',i,'j',j);
							 | 
						||
| 
								 | 
							
								            measurements{k}=measurement;
							 | 
						||
| 
								 | 
							
								            k = k+1;
							 | 
						||
| 
								 | 
							
								        end
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								    if i>1
							 | 
						||
| 
								 | 
							
								        odometry{i}= pose(:,i)-pose(:,i-1)+randn(2,1)*odo_sigma;
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								end
							 |