|
gtsam
|
Aligns Pose3 trajectories from multiple child coordinate frames to a parent reference frame using Sim3 (similarity) transformations.
This class solves an optimization problem to find the best Sim3 transforms (rotation, translation, and scale) that align poses from one or more child coordinate frames to a parent reference frame. The optimization jointly refines both the parent frame poses and the child-to-parent transformations.
The class takes as input:
The output is a Values object containing:
Public Member Functions | |
| TrajectoryAlignerSim3 (const std::vector< UnaryMeasurement< Pose3 > > &aTi, const std::vector< std::vector< UnaryMeasurement< Pose3 > > > &bTi_all, const std::vector< Similarity3 > &bSa_all={}, const bool use_gnc_optimizer=false, const std::vector< std::vector< std::pair< Point3, Point3 > > > &overlapping_points={}, const double point3_factor_sigma=1e-2) | |
| Constructs a trajectory aligner with the given measurements. | |
| Values | solve () const |
| Optimizes the graph and returns optimized poses and Sim3 transforms. | |
| Marginals | marginalize (const Values &solution, const Ordering::OrderingType ordering_type=Ordering::COLAMD) const |
| Computes the marginals of the solution. | |
| gtsam::TrajectoryAlignerSim3::TrajectoryAlignerSim3 | ( | const std::vector< UnaryMeasurement< Pose3 > > & | aTi, |
| const std::vector< std::vector< UnaryMeasurement< Pose3 > > > & | bTi_all, | ||
| const std::vector< Similarity3 > & | bSa_all = {}, | ||
| const bool | use_gnc_optimizer = false, | ||
| const std::vector< std::vector< std::pair< Point3, Point3 > > > & | overlapping_points = {}, | ||
| const double | point3_factor_sigma = 1e-2 ) |
Constructs a trajectory aligner with the given measurements.
| aTi | Parent frame pose measurements (key-value pairs with noise) |
| bTi_all | Vector of child frame pose measurements, one vector per child |
| bSa_all | Initial Sim3 estimates transforming from parent to each child. If empty, initial estimates are computed automatically. |
| use_gnc_optimizer | Whether to use GncOptimizer for optimization. |
| overlapping_points | Vector of overlapping point3-point3 constraints, one vector per child. |
| point3_factor_sigma | Sigma for point3-point3 constraints. |
| Marginals gtsam::TrajectoryAlignerSim3::marginalize | ( | const Values & | solution, |
| const Ordering::OrderingType | ordering_type = Ordering::COLAMD ) const |
| Values gtsam::TrajectoryAlignerSim3::solve | ( | ) | const |
Optimizes the graph and returns optimized poses and Sim3 transforms.