ceres::LocalParameterization* se3_param;
if(FLAGS_oriFixed){
se3_param = new ceres::SubsetParameterization(7,std::vector<int>{0,1,2,3});
}else if(FLAGS_posFixed){
se3_param = new ceres::ProductParameterization(new eigen_quaternion::EigenQuaternionParameterization(),new ceres::SubsetParameterization(3,std::vector<int>{0,1,2}));
}else{
se3_param = new ceres::ProductParameterization(new eigen_quaternion::EigenQuaternionParameterization(),new ceres::IdentityParameterization(3));
}
new ceres::SubsetParameterization(3,std::vector<int>{0,1,2}
fails with:
local_parameterization.cc:103 Check failed: constant_parameters.size() < size Number of parameters held constant should be less than the size of the parameter block. If you wish to hold the entire parameter block constant, then a efficient way is to directly mark it as constant instead of using a LocalParameterization to do so.
CHECK_LT(constant_parameters.size(), size)
<< "Number of parameters held constant should be less "
<< "than the size of the parameter block. If you wish "
<< "to hold the entire parameter block constant, then a "
<< "efficient way is to directly mark it as constant "
<< "instead of using a LocalParameterization to do so.";
so is there another way to set part of a ProductParameterization constant? Or could you soften the requirement above, e.g replace CHECK_LT with CHECK_LE?
thanks!
Adrian
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/c43ff099-d7e5-4b06-ad60-e645e717d2b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/c43ff099-d7e5-4b06-ad60-e645e717d2b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAK0oyEpGSGfPjQKAw9wRTxW_k9O%2BRSXyG6yy8UWJ8Nqq5MPPDQ%40mail.gmail.com.To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/c43ff099-d7e5-4b06-ad60-e645e717d2b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAK0oyEpGSGfPjQKAw9wRTxW_k9O%2BRSXyG6yy8UWJ8Nqq5MPPDQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAB_M7uX8joGR5POX_Evz6Wk4obkSVfOF5af-PJZ2Tp5YAPQgEQ%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/c43ff099-d7e5-4b06-ad60-e645e717d2b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAK0oyEpGSGfPjQKAw9wRTxW_k9O%2BRSXyG6yy8UWJ8Nqq5MPPDQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAB_M7uX8joGR5POX_Evz6Wk4obkSVfOF5af-PJZ2Tp5YAPQgEQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CABqdRUAVSLhBHTa7KTHgwLdYLRbA8EUTUvyAaOK0PLHJ%3DrJFJA%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/c43ff099-d7e5-4b06-ad60-e645e717d2b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAK0oyEpGSGfPjQKAw9wRTxW_k9O%2BRSXyG6yy8UWJ8Nqq5MPPDQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAB_M7uX8joGR5POX_Evz6Wk4obkSVfOF5af-PJZ2Tp5YAPQgEQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CABqdRUAVSLhBHTa7KTHgwLdYLRbA8EUTUvyAaOK0PLHJ%3DrJFJA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAB_M7uWGd8Mf%3DO-8t9pU2grsjayWOKqCwq8zQWbekctnUMTyOQ%40mail.gmail.com.
All,In general, I think it would be a nice feature to add a new composite type SE(3)/rigid body motion, consisting of a translation vector and a quaternion, to the next Ceres Version. Rigid body motions are used extensively and in each example I look, the translation and the rotation part has to be treated separately, instead of just using an overloaded * operator, like in Eigen::Isometry3d().
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/0e3bb1e7-3b6f-4afe-979a-a8f296d0ac3e%40googlegroups.com.
Extend eigen: add new class:
I would like to extend Eigen in such a way to support "Frames". A frame is a 7D vector containing a quaternion and a vector3: hence it is a compact representation of an homogeneous matrix (only much less redundant).
template<typename Scalar>
class Frame {
Quaternion<Scalar> m_orientation;
Matrix<Scalar,3,1> m_position;
};To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/840e52b0-873d-41d7-ad76-649b53674b3c%40googlegroups.com.
/**
* \brief SO3 default type - Constructors and default storage for SO3 Type
*/
template <typename _Scalar>
class SO3Group {
Eigen::Quaternion<Scalar> unit_quaternion_;
};
/**
* \brief SE3 default type - Constructors and default storage for SE3 Type
*/
template <typename _Scalar>
class SE3Group{
Sophus::SO3Group<Scalar> so3_;
Eigen::Matrix<Scalar, 3, 1> translation_;
};