63440f937f 
								
							
								 
							
						 
						
							
							
								
								almost fixed oredering except one function call  
							
							
							
						 
						
							2010-01-14 02:07:14 +00:00  
				
					
						
							
							
								 
						
							
							
								5a02b36723 
								
							
								 
							
						 
						
							
							
								
								Solved some linking problems  
							
							
							
						 
						
							2010-01-14 01:44:00 +00:00  
				
					
						
							
							
								 
						
							
							
								6c7dfabe5b 
								
							
								 
							
						 
						
							
							
								
								remove template class G and V from predecessorMap2Graph as Frank suggested  
							
							
							
						 
						
							2010-01-14 01:25:40 +00:00  
				
					
						
							
							
								 
						
							
							
								3c66861790 
								
							
								 
							
						 
						
							
							
								
								fix the graph related functions in FactorGraph as well as its unit tests  
							
							
							
						 
						
							2010-01-13 23:59:46 +00:00  
				
					
						
							
							
								 
						
							
							
								93465945e9 
								
							
								 
							
						 
						
							
							
								
								Large gtsam refactoring  
							
							... 
							
							
							
							To support faster development *and* better performance Richard and I pushed through a large refactoring of NonlinearFactors.
The following are the biggest changes:
1) NonLinearFactor1 and NonLinearFactor2 are now templated on Config, Key type, and X type, where X is the argument to the measurement function.
2) The measurement itself is no longer kept in the nonlinear factor. Instead, a derived class (see testVSLAMFactor, testNonlinearEquality, testPose3Factor etc...) has to implement a function to compute the errors, "evaluateErrors". Instead of (h(x)-z), it needs to return (z-h(x)), so Ax-b is an approximation of the error. IMPORTANT: evaluateErrors needs - if asked - *combine* the calculation of the function value h(x) and the derivatives dh(x)/dx. This was a major performance issue. To do this, boost::optional<Matrix&> arguments are provided, and tin EvaluateErrors you just  says something like
	if (H) *H = Matrix_(3,6,....);
3) We are no longer using int or strings for nonlinear factors. Instead, the preferred key type is now Symbol, defined in Key.h. This is both fast and cool: you can construct it from an int, and cast it to a strong. It also does type checking: a Symbol<Pose3,'x'> will not match a Symbol<Pose2,'x'>
4) minor: take a look at LieConfig.h: it help you avoid writing a lot of code bu automatically creating configs for a certain type. See e.g. Pose3Config.h. A "double" LieConfig is on the way - Thanks Richard and Manohar ! 
							
						 
						
							2010-01-13 22:25:03 +00:00  
				
					
						
							
							
								 
						
							
							
								22b4912d5e 
								
							
								 
							
						 
						
							
							
								
								adding #include<boost/shared_ptr.hpp> to graph-inl.h because this dependency doesnt seem to be working without it on gcc 4.3.3  
							
							
							
						 
						
							2010-01-13 19:36:52 +00:00  
				
					
						
							
							
								 
						
							
							
								c0bc7e6c10 
								
							
								 
							
						 
						
							
							
								
								fix a bug in composePoses that switched the order of compose parameters  
							
							
							
						 
						
							2010-01-13 06:02:18 +00:00  
				
					
						
							
							
								 
						
							
							
								2a094b7491 
								
							
								 
							
						 
						
							
							
								
								return shared_ptr in composePoses  
							
							
							
						 
						
							2010-01-13 02:09:16 +00:00  
				
					
						
							
							
								 
						
							
							
								8d28763339 
								
							
								 
							
						 
						
							
							
								
								Vector and Matrix initialization optimization  
							
							
							
						 
						
							2010-01-12 16:12:31 +00:00  
				
					
						
							
							
								 
						
							
							
								4369cd2d92 
								
							
								 
							
						 
						
							
							
								
								1) add a compose function that compose all the poses in a factor graph given the spanning tree  
							
							... 
							
							
							
							2) add a new graph-inl.h which takes care of all the boost graph related functions to prevent the copy and paste across several classes 
							
						 
						
							2010-01-12 16:12:25 +00:00  
				
					
						
							
							
								 
						
							
							
								bea55b5f5b 
								
							
								 
							
						 
						
							
							
								
								Fixed double map lookup  
							
							
							
						 
						
							2010-01-12 16:11:24 +00:00  
				
					
						
							
							
								 
						
							
							
								769763a35d 
								
							
								 
							
						 
						
							
							
								
								new target/ignore  
							
							
							
						 
						
							2010-01-12 03:16:45 +00:00  
				
					
						
							
							
								 
						
							
							
								fcb7c024a7 
								
							
								 
							
						 
						
							
							
								
								bearing functions and derivatives  
							
							
							
						 
						
							2010-01-12 02:10:42 +00:00  
				
					
						
							
							
								 
						
							
							
								4b459c45c3 
								
							
								 
							
						 
						
							
							
								
								return identity  
							
							
							
						 
						
							2010-01-12 02:09:43 +00:00  
				
					
						
							
							
								 
						
							
							
								5163684077 
								
							
								 
							
						 
						
							
							
								
								norm  
							
							
							
						 
						
							2010-01-12 02:09:03 +00:00  
				
					
						
							
							
								 
						
							
							
								1aed18717b 
								
							
								 
							
						 
						
							
							
								
								combined evaluation and derivatives  
							
							
							
						 
						
							2010-01-12 02:08:41 +00:00  
				
					
						
							
							
								 
						
							
							
								2c8d8dbde4 
								
							
								 
							
						 
						
							
							
								
								NonlinearOptimizer constructor now requires shared_ptr to prevent storing pointers to stack and temporary variables.  Code that uses it will need to be modified, but CitySLAM is already done.  
							
							
							
						 
						
							2010-01-11 20:17:28 +00:00  
				
					
						
							
							
								 
						
							
							
								40889e8f50 
								
							
								 
							
						 
						
							
							
								
								added an absolution threshold $epsilon_abs$ to conjugateGradients. added utility functions to several class to have the same interface which can be used by template functions  
							
							
							
						 
						
							2010-01-11 08:32:59 +00:00  
				
					
						
							
							
								 
						
							
							
								1b53a240b9 
								
							
								 
							
						 
						
							
							
								
								removed prints  
							
							
							
						 
						
							2010-01-11 01:09:07 +00:00  
				
					
						
							
							
								 
						
							
							
								e9b0bade03 
								
							
								 
							
						 
						
							
							
								
								Access to keys  
							
							
							
						 
						
							2010-01-11 00:53:53 +00:00  
				
					
						
							
							
								 
						
							
							
								71fe372fb3 
								
							
								 
							
						 
						
							
							
								
								test successive iterates  
							
							
							
						 
						
							2010-01-11 00:53:43 +00:00  
				
					
						
							
							
								 
						
							
							
								aa2aa4149c 
								
							
								 
							
						 
						
							
							
								
								Special case for trace==1 in Rot3 logmap  
							
							
							
						 
						
							2010-01-10 23:36:37 +00:00  
				
					
						
							
							
								 
						
							
							
								b0fd5396ad 
								
							
								 
							
						 
						
							
							
								
								Bug fix in Rot3 for logmap(identity)  
							
							
							
						 
						
							2010-01-10 22:58:30 +00:00  
				
					
						
							
							
								 
						
							
							
								1dcc864d97 
								
							
								 
							
						 
						
							
							
								
								Comment cleanup to /** style and adding global print functions  
							
							
							
						 
						
							2010-01-10 22:41:23 +00:00  
				
					
						
							
							
								 
						
							
							
								78a579a24a 
								
							
								 
							
						 
						
							
							
								
								add the missing #pragma once  
							
							
							
						 
						
							2010-01-10 22:15:34 +00:00  
				
					
						
							
							
								 
						
							
							
								f8be2c2626 
								
							
								 
							
						 
						
							
							
								
								dim, expmap, logmap works  
							
							
							
						 
						
							2010-01-10 21:53:38 +00:00  
				
					
						
							
							
								 
						
							
							
								64eca2d550 
								
							
								 
							
						 
						
							
							
								
								addConstraint  
							
							
							
						 
						
							2010-01-10 19:25:19 +00:00  
				
					
						
							
							
								 
						
							
							
								d11b2e6bd5 
								
							
								 
							
						 
						
							
							
								
								Added omitted headers  
							
							
							
						 
						
							2010-01-10 18:37:55 +00:00  
				
					
						
							
							
								 
						
							
							
								88ae5380a8 
								
							
								 
							
						 
						
							
							
								
								Removed Vector-specific versions of NumericalDerivative, instead Vector is now a Lie object  
							
							
							
						 
						
							2010-01-10 18:23:47 +00:00  
				
					
						
							
							
								 
						
							
							
								1a96ef41cf 
								
							
								 
							
						 
						
							
							
								
								Created Pose3Config, Pose3Graph, and tested loop closure optimization.  
							
							
							
						 
						
							2010-01-10 18:21:20 +00:00  
				
					
						
							
							
								 
						
							
							
								2fe02dbaa7 
								
							
								 
							
						 
						
							
							
								
								Moved optimization tests to testPose2Graph  
							
							
							
						 
						
							2010-01-10 18:20:10 +00:00  
				
					
						
							
							
								 
						
							
							
								edb68b3b60 
								
							
								 
							
						 
						
							
							
								
								Fixed typo in LieConfig expmap(Vector)  
							
							
							
						 
						
							2010-01-10 17:48:55 +00:00  
				
					
						
							
							
								 
						
							
							
								33ba34a1f6 
								
							
								 
							
						 
						
							
							
								
								Minimized headers included in Lie.h, removed print from testLieConfig  
							
							
							
						 
						
							2010-01-10 17:26:44 +00:00  
				
					
						
							
							
								 
						
							
							
								8d84078036 
								
							
								 
							
						 
						
							
							
								
								Loop closure tested  
							
							
							
						 
						
							2010-01-10 17:02:49 +00:00  
				
					
						
							
							
								 
						
							
							
								12caabb667 
								
							
								 
							
						 
						
							
							
								
								Method to add a factor without having to do shared factor dance  
							
							
							
						 
						
							2010-01-10 17:02:35 +00:00  
				
					
						
							
							
								 
						
							
							
								120f1301c2 
								
							
								 
							
						 
						
							
							
								
								operator[]  
							
							
							
						 
						
							2010-01-10 17:01:48 +00:00  
				
					
						
							
							
								 
						
							
							
								710bce5cc4 
								
							
								 
							
						 
						
							
							
								
								Pose2Config is now simply a typedef (note that for linking specific template instantiations were needed).  
							
							
							
						 
						
							2010-01-10 16:17:55 +00:00  
				
					
						
							
							
								 
						
							
							
								4a21fb9387 
								
							
								 
							
						 
						
							
							
								
								Fixed 2nd expmap template, which now creates a VectorConfig and calls the first template  
							
							
							
						 
						
							2010-01-10 16:16:03 +00:00  
				
					
						
							
							
								 
						
							
							
								65e4dc1342 
								
							
								 
							
						 
						
							
							
								
								pose2Circle  
							
							
							
						 
						
							2010-01-10 15:46:18 +00:00  
				
					
						
							
							
								 
						
							
							
								43b2facd10 
								
							
								 
							
						 
						
							
							
								
								Now Pose3Config == LieConfig  
							
							
							
						 
						
							2010-01-10 14:59:39 +00:00  
				
					
						
							
							
								 
						
							
							
								92c58e50a1 
								
							
								 
							
						 
						
							
							
								
								Small changes, mainly const correctness  
							
							
							
						 
						
							2010-01-10 14:59:22 +00:00  
				
					
						
							
							
								 
						
							
							
								c957672656 
								
							
								 
							
						 
						
							
							
								
								Small to change to work well with LieConfig  
							
							
							
						 
						
							2010-01-10 14:55:19 +00:00  
				
					
						
							
							
								 
						
							
							
								794ffd3b2f 
								
							
								 
							
						 
						
							
							
								
								Fixed significant bug in Pose2Factor, where we forgot to multiply the error with the square root inverse covariance.  
							
							
							
						 
						
							2010-01-10 13:55:55 +00:00  
				
					
						
							
							
								 
						
							
							
								8061f29ec5 
								
							
								 
							
						 
						
							
							
								
								added test clarifying Ax-b \approx h(x)-z  
							
							
							
						 
						
							2010-01-10 13:54:34 +00:00  
				
					
						
							
							
								 
						
							
							
								f1f21a8589 
								
							
								 
							
						 
						
							
							
								
								inverted sign of square root to make inv sqrt positive for simple covariance matrices  
							
							
							
						 
						
							2010-01-10 13:53:31 +00:00  
				
					
						
							
							
								 
						
							
							
								bf315781af 
								
							
								 
							
						 
						
							
							
								
								defined global functions in Lie.h rather than here  
							
							
							
						 
						
							2010-01-10 12:35:41 +00:00  
				
					
						
							
							
								 
						
							
							
								6bcb9d08d6 
								
							
								 
							
						 
						
							
							
								
								Unit tests for correct "Agrawal06iros" versions: they are indeed correct.  
							
							
							
						 
						
							2010-01-10 12:26:31 +00:00  
				
					
						
							
							
								 
						
							
							
								30367e35fb 
								
							
								 
							
						 
						
							
							
								
								Much faster compund rotation using Justin's (indeed correct) formula  
							
							
							
						 
						
							2010-01-10 12:25:46 +00:00  
				
					
						
							
							
								 
						
							
							
								d5eade62ef 
								
							
								 
							
						 
						
							
							
								
								Moved expmap and logmap to .cpp, also tested correct "Agrawal06iros" versions, and they are indeed correct (see testPose3).  
							
							
							
						 
						
							2010-01-10 12:24:31 +00:00  
				
					
						
							
							
								 
						
							
							
								ec1b57ed08 
								
							
								 
							
						 
						
							
							
								
								Added Lie required functions (trivial) for Vector. Not in Vector.h as this becomes circular.  
							
							
							
						 
						
							2010-01-10 12:22:59 +00:00