68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
| /**
 | |
|  * @file    simulated2D.cpp
 | |
|  * @brief   measurement functions and derivatives for simulated 2D robot
 | |
|  * @author  Frank Dellaert
 | |
|  */
 | |
| 
 | |
| #include "simulated2D.h"
 | |
| 
 | |
| namespace gtsam {
 | |
| 
 | |
| 
 | |
| /** prior on a single pose */
 | |
| 
 | |
| /* ************************************************************************* */
 | |
| Vector prior (const Vector& x) {return x;}
 | |
| 
 | |
| /* ************************************************************************* */
 | |
| Matrix Dprior(const Vector& x) {
 | |
|   Matrix H(2,2);
 | |
|   H(0,0)=1;  H(0,1)=0;
 | |
|   H(1,0)=0;  H(1,1)=1;
 | |
|   return H;
 | |
| }
 | |
| /* ************************************************************************* */
 | |
| 
 | |
| /** odometry between two poses */                                
 | |
| 
 | |
| /* ************************************************************************* */
 | |
| Vector odo(const Vector& x1, const Vector& x2) {return x2 - x1;}
 | |
| Matrix Dodo1(const Vector& x1, const Vector& x2) {
 | |
|   Matrix H(2,2);
 | |
|   H(0,0)=-1;  H(0,1)= 0;
 | |
|   H(1,0)= 0;  H(1,1)=-1;
 | |
|   return H;
 | |
| }
 | |
| 
 | |
| /* ************************************************************************* */
 | |
| Matrix Dodo2(const Vector& x1, const Vector& x2) {
 | |
|   Matrix H(2,2);
 | |
|   H(0,0)= 1;  H(0,1)= 0;
 | |
|   H(1,0)= 0;  H(1,1)= 1;
 | |
|   return H;
 | |
| }
 | |
| 
 | |
| /* ************************************************************************* */
 | |
| 
 | |
| /** measurement between landmark and pose */
 | |
| 
 | |
| /* ************************************************************************* */
 | |
| Vector mea(const Vector& x,  const Vector& l)  {return l  - x;}
 | |
| Matrix Dmea1(const Vector& x, const Vector& l) {
 | |
|   Matrix H(2,2);
 | |
|   H(0,0)=-1;  H(0,1)= 0;
 | |
|   H(1,0)= 0;  H(1,1)=-1;
 | |
|   return H;
 | |
| }
 | |
| 
 | |
| /* ************************************************************************* */
 | |
| Matrix Dmea2(const Vector& x, const Vector& l) {
 | |
|   Matrix H(2,2);
 | |
|   H(0,0)= 1;  H(0,1)= 0;
 | |
|   H(1,0)= 0;  H(1,1)= 1;
 | |
|   return H;
 | |
| }
 | |
| 
 | |
| /* ************************************************************************* */
 | |
| } // namespace gtsam
 |