35 #ifndef SLAMALIGN_HPP_ 36 #define SLAMALIGN_HPP_ void setOptions(const SLAMOptions &options)
Sets the SLAMOptions struct to the parameter.
Wrapper class for running GraphSLAM on Scans.
void loopClose(size_t first, size_t last)
Closes a simple Loop between first and last.
void checkLoopClose(size_t last)
Checks for and executes any loopcloses that occur.
void checkLoopCloseOtherOrder(size_t last)
checkLoopClose(size_t last) if the m_icp_graph is in a spezial order
SLAMOptions & options()
Returns a reference to the internal SLAMOptions struct.
std::shared_ptr< Scan > ScanPtr
Shared pointer to scans.
SLAMScanPtr scan(size_t index) const
Returns a shared_ptr to a Scan.
A struct to configure SLAMAlign.
void createIcpGraph()
Create m_icp_graph which defined the order of registrations.
std::vector< std::pair< int, int > > m_icp_graph
std::vector< bool > m_new_scans
std::vector< SLAMScanPtr > m_scans
void graphSLAM(size_t last)
Executes GraphSLAM up to and including the specified last Scan.
virtual ~SLAMAlign()=default
void finish()
Indicates that no new Scans will be added.
A class to run SLAM on Scans.
void addScan(const SLAMScanPtr &scan, bool match=false)
Adds a new Scan to the SLAM instance.
Eigen::Matrix4d Matrix4d
Eigen 4x4 matrix, double precision.
std::shared_ptr< SLAMScanWrapper > SLAMScanPtr
void reduceScan(const SLAMScanPtr &scan)
Applies all reductions to the Scan.
SLAMAlign(const SLAMOptions &options, const std::vector< SLAMScanPtr > &scans, std::vector< bool > new_scans=std::vector< bool >())
Creates a new SLAMAlign instance with the given Options and Scans.
void match()
Executes SLAM on all current Scans.
void applyTransform(SLAMScanPtr scan, const Matrix4d &transform)
Applies the Transformation to the specified Scan and adds a frame to all other Scans.