Refactoring Registration: added RegistrationInfo class, pipeline registration. Camera source: create laser scan from depth image. Removed OdometryICP as the same behavior can be achieved with OdometryF2F and "Reg/Strategy" = 1 (ICP) or 2 (Vis+ICP).

This commit is contained in:
matlabbe
2016-01-06 17:26:55 -05:00
parent 1c66ad1db2
commit 28d9bbb85d
35 changed files with 1209 additions and 1362 deletions
+9 -17
View File
@@ -39,33 +39,25 @@ namespace rtabmap {
class RTABMAP_EXP RegistrationIcp : public Registration
{
public:
RegistrationIcp(const ParametersMap & parameters = ParametersMap());
// take ownership of child
RegistrationIcp(const ParametersMap & parameters = ParametersMap(), Registration * child = 0);
virtual ~RegistrationIcp() {}
virtual void parseParameters(const ParametersMap & parameters);
virtual Transform computeTransformationMod(
protected:
virtual Transform computeTransformationImpl(
Signature & from,
Signature & to,
Transform guess = Transform::getIdentity(),
std::string * rejectedMsg = 0,
std::vector<int> * inliersOut = 0,
float * varianceOut = 0,
float * inliersRatioOut = 0) const;
Transform computeTransformation(
const SensorData & from,
const SensorData & to,
Transform guess = Transform::getIdentity(),
std::string * rejectedMsg = 0,
std::vector<int> * inliersOut = 0,
float * varianceOut = 0,
float * inliersRatioOut = 0) const;
Transform guess,
RegistrationInfo & info) const;
virtual bool isImageRequiredImpl() const {return false;}
virtual bool isScanRequiredImpl() const {return true;}
virtual bool isUserDataRequiredImpl() const {return false;}
private:
float _maxTranslation;
float _maxRotation;
bool _icp2D;
float _voxelSize;
int _downsamplingStep;
float _maxCorrespondenceDistance;