| 
									
										
										
										
											2016-06-11 08:48:42 +08:00
										 |  |  | NonlinearFactorGraph graph; | 
					
						
							| 
									
										
										
										
											2019-02-11 22:39:48 +08:00
										 |  |  | noiseModel::Diagonal::shared_ptr priorNoise = | 
					
						
							| 
									
										
										
										
											2016-06-16 01:18:23 +08:00
										 |  |  |   noiseModel::Diagonal::Sigmas(Vector3(0.3, 0.3, 0.1)); | 
					
						
							| 
									
										
										
										
											2020-04-13 01:10:09 +08:00
										 |  |  | graph.addPrior(1, Pose2(0, 0, 0), priorNoise); | 
					
						
							| 
									
										
										
										
											2016-06-11 08:48:42 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | // Add odometry factors
 | 
					
						
							| 
									
										
										
										
											2019-02-11 22:39:48 +08:00
										 |  |  | noiseModel::Diagonal::shared_ptr model = | 
					
						
							| 
									
										
										
										
											2016-06-16 01:18:23 +08:00
										 |  |  |   noiseModel::Diagonal::Sigmas(Vector3(0.2, 0.2, 0.1)); | 
					
						
							| 
									
										
										
										
											2016-06-11 08:48:42 +08:00
										 |  |  | graph.add(BetweenFactor<Pose2>(1, 2, Pose2(2, 0, 0     ), model)); | 
					
						
							|  |  |  | graph.add(BetweenFactor<Pose2>(2, 3, Pose2(2, 0, M_PI_2), model)); | 
					
						
							|  |  |  | graph.add(BetweenFactor<Pose2>(3, 4, Pose2(2, 0, M_PI_2), model)); | 
					
						
							|  |  |  | graph.add(BetweenFactor<Pose2>(4, 5, Pose2(2, 0, M_PI_2), model)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-16 01:18:23 +08:00
										 |  |  | // Add the loop closure constraint
 | 
					
						
							| 
									
										
										
										
											2016-06-11 08:48:42 +08:00
										 |  |  | graph.add(BetweenFactor<Pose2>(5, 2, Pose2(2, 0, M_PI_2), model)); | 
					
						
							|  |  |  | 
 |