-
Notifications
You must be signed in to change notification settings - Fork 308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support removing degrees of freedom from the optimization #152
base: master
Are you sure you want to change the base?
Support removing degrees of freedom from the optimization #152
Conversation
… when source and target are the same
Visualize results
support arbitrary search method in fast_gicp. de facto will only work…
rename kdtree members which dont have to be kdtree
… when source and target are the same
…tween PCL and fast_gicp
Co-authored-by: k.koide <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Todo: revert all this if it should be merged.
virtual ~LsqRegistration(); | ||
|
||
void setRotationEpsilon(double eps); | ||
void setInitialLambdaFactor(double init_lambda_factor); | ||
void setDebugPrint(bool lm_debug_print); | ||
|
||
void setOptimiuationParamProcessor(const typename OptimizationParamProcessor<Dim>::Ptr processor); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
void setOptimiuationParamProcessor(const typename OptimizationParamProcessor<Dim>::Ptr processor); | |
void setOptimizationParamProcessor(const typename OptimizationParamProcessor<Dim>::Ptr processor); |
template <typename PointTarget, typename PointSource> | ||
LsqRegistration<PointTarget, PointSource>::~LsqRegistration() {} | ||
template <typename PointTarget, typename PointSource, int N> | ||
void LsqRegistration<PointTarget, PointSource, N>::setOptimiuationParamProcessor(const typename OptimizationParamProcessor<N>::Ptr processor) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
void LsqRegistration<PointTarget, PointSource, N>::setOptimiuationParamProcessor(const typename OptimizationParamProcessor<N>::Ptr processor) { | |
void LsqRegistration<PointTarget, PointSource, N>::setOptimizationParamProcessor(const typename OptimizationParamProcessor<N>::Ptr processor) { |
@@ -1,11 +1,21 @@ | |||
cmake_minimum_required(VERSION 3.10.0) | |||
project(fast_gicp) | |||
set(CMAKE_CXX_STANDARD 20) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently this causes some problems in the CI pipeline
template <bool B, bool... Args> | ||
struct count_true { | ||
static constexpr int value = count_true<B>::value + count_true<Args...>::value; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think these fold expressions need c++ 20, not sure how this can be realized with prior language standards.
This is my first shot at using only a subset of parameters, e.g. when some angles are fixed or the registration happens in a plane. I templatized an object that would extract the relevant quantities from the matrices involved here.
I tested this a bit and it seems to work, but its WIP for now (if I get back to it).