Wrapped KalmanFilter and tested it in MATLAB
							parent
							
								
									3ce23e1f71
								
							
						
					
					
						commit
						cbd6446bd7
					
				
							
								
								
									
										173
									
								
								.cproject
								
								
								
								
							
							
						
						
									
										173
									
								
								.cproject
								
								
								
								
							| 
						 | 
				
			
			@ -375,14 +375,6 @@
 | 
			
		|||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="testGaussianFactor.run" path="linear/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>testGaussianFactor.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="all" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
| 
						 | 
				
			
			@ -409,6 +401,7 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="tests/testBayesTree.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>tests/testBayesTree.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -416,6 +409,7 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testBinaryBayesNet.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testBinaryBayesNet.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -463,6 +457,7 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testSymbolicBayesNet.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testSymbolicBayesNet.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -470,6 +465,7 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="tests/testSymbolicFactor.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>tests/testSymbolicFactor.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -477,6 +473,7 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testSymbolicFactorGraph.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testSymbolicFactorGraph.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -492,11 +489,20 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="tests/testBayesTree" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>tests/testBayesTree</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="testGaussianFactor.run" path="linear/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>testGaussianFactor.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
| 
						 | 
				
			
			@ -523,7 +529,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testGraph.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testGraph.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -595,7 +600,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testInference.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testInference.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -603,7 +607,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testGaussianFactor.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testGaussianFactor.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -611,7 +614,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testJunctionTree.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testJunctionTree.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -619,7 +621,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testSymbolicBayesNet.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testSymbolicBayesNet.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -627,7 +628,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testSymbolicFactorGraph.run" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testSymbolicFactorGraph.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -721,7 +721,15 @@
 | 
			
		|||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
			<target name="all" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>all</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>check</buildTarget>
 | 
			
		||||
| 
						 | 
				
			
			@ -729,6 +737,14 @@
 | 
			
		|||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="clean" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>clean</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="tests/testGeneralSFMFactor.run" path="build/gtsam/slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
| 
						 | 
				
			
			@ -769,15 +785,7 @@
 | 
			
		|||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="all" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>all</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
			<target name="check" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>check</buildTarget>
 | 
			
		||||
| 
						 | 
				
			
			@ -785,14 +793,6 @@
 | 
			
		|||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="clean" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>clean</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="build/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
| 
						 | 
				
			
			@ -1107,6 +1107,7 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testErrors.run" path="linear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testErrors.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -1506,7 +1507,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testSimulated2DOriented.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testSimulated2DOriented.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -1546,7 +1546,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testSimulated2D.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testSimulated2D.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -1554,7 +1553,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="testSimulated3D.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>testSimulated3D.run</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -1802,7 +1800,6 @@
 | 
			
		|||
			</target>
 | 
			
		||||
			<target name="tests/testGaussianISAM2" path="build/slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments/>
 | 
			
		||||
				<buildTarget>tests/testGaussianISAM2</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>false</useDefaultCommand>
 | 
			
		||||
| 
						 | 
				
			
			@ -1824,6 +1821,46 @@
 | 
			
		|||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="install" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>install</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>clean</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>check</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>all</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="dist" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>dist</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="testRot3.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
| 
						 | 
				
			
			@ -1920,54 +1957,6 @@
 | 
			
		|||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="install" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>install</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>clean</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>check</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>all</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="dist" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>dist</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>check</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="build" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
| 
						 | 
				
			
			@ -2008,6 +1997,22 @@
 | 
			
		|||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="check" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>check</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
			<target name="install" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
 | 
			
		||||
				<buildCommand>make</buildCommand>
 | 
			
		||||
				<buildArguments>-j2</buildArguments>
 | 
			
		||||
				<buildTarget>install</buildTarget>
 | 
			
		||||
				<stopOnError>true</stopOnError>
 | 
			
		||||
				<useDefaultCommand>true</useDefaultCommand>
 | 
			
		||||
				<runAllBuilders>true</runAllBuilders>
 | 
			
		||||
			</target>
 | 
			
		||||
		</buildTargets>
 | 
			
		||||
	</storageModule>
 | 
			
		||||
</cproject>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										10
									
								
								gtsam.h
								
								
								
								
							
							
						
						
									
										10
									
								
								gtsam.h
								
								
								
								
							| 
						 | 
				
			
			@ -114,6 +114,16 @@ class GaussianFactorGraph {
 | 
			
		|||
	Matrix sparseJacobian_() const;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class KalmanFilter {
 | 
			
		||||
	KalmanFilter(Vector x, const SharedDiagonal& model);
 | 
			
		||||
	void print(string s) const;
 | 
			
		||||
	Vector mean() const;
 | 
			
		||||
	Matrix information() const;
 | 
			
		||||
	Matrix covariance() const;
 | 
			
		||||
	void predict(Matrix F, Matrix B, Vector u, const SharedDiagonal& model);
 | 
			
		||||
	void update(Matrix H, Vector z, const SharedDiagonal& model);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class Landmark2 {
 | 
			
		||||
	Landmark2();
 | 
			
		||||
	Landmark2(double x, double y);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,15 @@ namespace gtsam {
 | 
			
		|||
		 */
 | 
			
		||||
		KalmanFilter(const Vector& x, const SharedDiagonal& model);
 | 
			
		||||
 | 
			
		||||
		/// print
 | 
			
		||||
	  void print(const std::string& s="") const {
 | 
			
		||||
	  	std::cout << s << "\n";
 | 
			
		||||
	    Vector m = mean();
 | 
			
		||||
	    Matrix P = covariance();
 | 
			
		||||
	    gtsam::print(m,"mean: ");
 | 
			
		||||
	    gtsam::print(P,"covariance: ");
 | 
			
		||||
	  }
 | 
			
		||||
 | 
			
		||||
		/** Return mean of posterior P(x|Z) at given all measurements Z */
 | 
			
		||||
		Vector mean() const;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,77 @@
 | 
			
		|||
% /* ----------------------------------------------------------------------------
 | 
			
		||||
%
 | 
			
		||||
%  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
 | 
			
		||||
%  * Atlanta, Georgia 30332-0415
 | 
			
		||||
%  * All Rights Reserved
 | 
			
		||||
%  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
 | 
			
		||||
%
 | 
			
		||||
%  * See LICENSE for the license information
 | 
			
		||||
%
 | 
			
		||||
%  * -------------------------------------------------------------------------- */
 | 
			
		||||
%
 | 
			
		||||
% /**
 | 
			
		||||
%  * @file testKalmanFilter.cpp
 | 
			
		||||
%  * @brief Test simple linear Kalman filter on a moving 2D point
 | 
			
		||||
%  * @date Sep 3, 2011
 | 
			
		||||
%  * @author Stephen Williams
 | 
			
		||||
%  * @author Frank Dellaert
 | 
			
		||||
%  * @author Richard Roberts
 | 
			
		||||
%  */
 | 
			
		||||
 | 
			
		||||
%% Create the controls and measurement properties for our example
 | 
			
		||||
F = eye(2,2);
 | 
			
		||||
B = eye(2,2);
 | 
			
		||||
u = [1.0; 0.0];
 | 
			
		||||
modelQ = SharedDiagonal([0.1;0.1]);
 | 
			
		||||
Q = 0.01*eye(2,2);
 | 
			
		||||
H = eye(2,2);
 | 
			
		||||
z1 = [1.0, 0.0]';
 | 
			
		||||
z2 = [2.0, 0.0]';
 | 
			
		||||
z3 = [3.0, 0.0]';
 | 
			
		||||
modelR = SharedDiagonal([0.1;0.1]);
 | 
			
		||||
R = 0.01*eye(2,2);
 | 
			
		||||
 | 
			
		||||
%% Create the set of expected output TestValues
 | 
			
		||||
expected0 = [0.0, 0.0]';
 | 
			
		||||
P00 = 0.01*eye(2,2);
 | 
			
		||||
 | 
			
		||||
expected1 = [1.0, 0.0]';
 | 
			
		||||
P01 = P00 + Q;
 | 
			
		||||
I11 = inv(P01) + inv(R);
 | 
			
		||||
 | 
			
		||||
expected2 = [2.0, 0.0]';
 | 
			
		||||
P12 = inv(I11) + Q;
 | 
			
		||||
I22 = inv(P12) + inv(R);
 | 
			
		||||
 | 
			
		||||
expected3 = [3.0, 0.0]';
 | 
			
		||||
P23 = inv(I22) + Q;
 | 
			
		||||
I33 = inv(P23) + inv(R);
 | 
			
		||||
 | 
			
		||||
%% Create the Kalman Filter initialization point
 | 
			
		||||
x_initial = [0.0;0.0];
 | 
			
		||||
P_initial = SharedDiagonal([0.1;0.1]);
 | 
			
		||||
 | 
			
		||||
%% Create an KalmanFilter object
 | 
			
		||||
kalmanFilter = KalmanFilter(x_initial, P_initial)
 | 
			
		||||
EQUALITY('expected0,kalmanFilter.mean', expected0,kalmanFilter.mean);
 | 
			
		||||
EQUALITY('expected0,kalmanFilter.mean', P00,kalmanFilter.covariance);
 | 
			
		||||
 | 
			
		||||
%% Run iteration 1
 | 
			
		||||
kalmanFilter.predict(F, B, u, modelQ);
 | 
			
		||||
EQUALITY('expected1,kalmanFilter.mean', expected1,kalmanFilter.mean);
 | 
			
		||||
EQUALITY('P01,kalmanFilter.covariance', P01,kalmanFilter.covariance);
 | 
			
		||||
kalmanFilter.update(H,z1,modelR);
 | 
			
		||||
EQUALITY('expected1,kalmanFilter.mean', expected1,kalmanFilter.mean);
 | 
			
		||||
EQUALITY('I11,kalmanFilter.information', I11,kalmanFilter.information);
 | 
			
		||||
 | 
			
		||||
%% Run iteration 2
 | 
			
		||||
kalmanFilter.predict(F, B, u, modelQ);
 | 
			
		||||
EQUALITY('expected2,kalmanFilter.mean', expected2,kalmanFilter.mean);
 | 
			
		||||
kalmanFilter.update(H,z2,modelR);
 | 
			
		||||
EQUALITY('expected2,kalmanFilter.mean', expected2,kalmanFilter.mean);
 | 
			
		||||
 | 
			
		||||
%% Run iteration 3
 | 
			
		||||
kalmanFilter.predict(F, B, u, modelQ);
 | 
			
		||||
EQUALITY('expected3,kalmanFilter.mean', expected3,kalmanFilter.mean);
 | 
			
		||||
kalmanFilter.update(H,z3,modelR);
 | 
			
		||||
EQUALITY('expected3,kalmanFilter.mean', expected3,kalmanFilter.mean);
 | 
			
		||||
		Loading…
	
		Reference in New Issue