51 lines
		
	
	
		
			821 B
		
	
	
	
		
			Matlab
		
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			821 B
		
	
	
	
		
			Matlab
		
	
	
| % create a linear factor graph
 | |
| % The non-linear graph above evaluated at NoisyConfig
 | |
| function fg = createGaussianFactorGraph()
 | |
| 
 | |
| c = createNoisyConfig(); 
 | |
| 
 | |
| % Create
 | |
| fg = GaussianFactorGraph;
 | |
| sigma1=.1;
 | |
| 
 | |
| % prior on x1
 | |
| A11=eye(2);
 | |
| b = - c.get('x1');
 | |
| 
 | |
| f1 = GaussianFactor('x1', A11, b, sigma1); % generate a Gaussian factor of odometry
 | |
| fg.push_back(f1);
 | |
| 
 | |
| % odometry between x1 and x2
 | |
| sigma2=.1;
 | |
| 
 | |
| A21=-eye(2);
 | |
| A22=eye(2);
 | |
| b = [.2;-.1];
 | |
| 
 | |
| f2 = GaussianFactor('x1', A21,  'x2', A22, b,sigma2);
 | |
| 
 | |
| fg.push_back(f2);
 | |
| 
 | |
| % measurement between x1 and l1
 | |
| sigma3=.2;
 | |
| A31=-eye(2);
 | |
| A33=eye(2);
 | |
| b = [0;.2];
 | |
| 
 | |
| 
 | |
| f3 = GaussianFactor('x1', A31, 'l1', A33, b,sigma3);
 | |
| 
 | |
| fg.push_back(f3);
 | |
| 
 | |
| % measurement between x2 and l1
 | |
| sigma4=.2;
 | |
| A42=-eye(2);
 | |
| A43=eye(2);
 | |
| b = [-.2;.3];
 | |
| 
 | |
| 
 | |
| f4 = GaussianFactor('x2', A42, 'l1', A43, b,sigma4);
 | |
| 
 | |
| fg.push_back(f4);
 | |
| 
 | |
| end |