Namespaces | Macros | Typedefs | Functions | Variables
testSmartProjectionPoseFactorRollingShutter.cpp File Reference

Unit tests for SmartProjectionPoseFactorRollingShutter Class. More...

#include <CppUnitLite/TestHarness.h>
#include <gtsam/base/numericalDerivative.h>
#include <gtsam/base/serializationTestHelpers.h>
#include <gtsam/nonlinear/LevenbergMarquardtOptimizer.h>
#include <gtsam/slam/PoseTranslationPrior.h>
#include <gtsam/slam/ProjectionFactor.h>
#include <gtsam_unstable/slam/ProjectionFactorRollingShutter.h>
#include <gtsam_unstable/slam/SmartProjectionPoseFactorRollingShutter.h>
#include <iostream>
#include "gtsam/slam/tests/smartFactorScenarios.h"
#include <gtsam/geometry/SphericalCamera.h>
Include dependency graph for testSmartProjectionPoseFactorRollingShutter.cpp:

Go to the source code of this file.

Namespaces

 sphericalCameraRS
 
 vanillaPoseRS
 

Macros

#define DISABLE_TIMING
 

Typedefs

typedef PinholePose< Cal3_S2vanillaPoseRS::Camera
 
typedef SphericalCamera sphericalCameraRS::Camera
 
typedef CameraSet< CameravanillaPoseRS::Cameras
 
typedef CameraSet< CamerasphericalCameraRS::Cameras
 
typedef std::vector< MatrixZD, Eigen::aligned_allocator< MatrixZD > > FBlocks
 
typedef Eigen::Matrix< double, ZDim, DimBlockMatrixZD
 
typedef SmartProjectionPoseFactorRollingShutter< PinholePose< Cal3_S2 > > SmartFactorRS
 
typedef SmartProjectionPoseFactorRollingShutter< CamerasphericalCameraRS::SmartFactorRS_spherical
 

Functions

static EmptyCal::shared_ptr sphericalCameraRS::emptyK (new EmptyCal())
 
int main ()
 
static Point2 measurement1 (323.0, 240.0)
 
static Point2 measurement2 (200.0, 220.0)
 
static Point2 measurement3 (320.0, 10.0)
 
static SharedIsotropic model (noiseModel::Isotropic::Sigma(2, sigma))
 
static Cal3_S2::shared_ptr vanillaPoseRS::sharedK (new Cal3_S2(fov, w, h))
 
 TEST (SmartProjectionPoseFactorRollingShutter, add)
 
 TEST (SmartProjectionPoseFactorRollingShutter, Constructor)
 
 TEST (SmartProjectionPoseFactorRollingShutter, Constructor2)
 
 TEST (SmartProjectionPoseFactorRollingShutter, Equals)
 
 TEST (SmartProjectionPoseFactorRollingShutter, hessian_simple_2poses)
 
 TEST (SmartProjectionPoseFactorRollingShutter, hessianComparedToProjFactorsRollingShutter)
 
 TEST (SmartProjectionPoseFactorRollingShutter, hessianComparedToProjFactorsRollingShutter_measurementsFromSamePose)
 
 TEST (SmartProjectionPoseFactorRollingShutter, noiselessErrorAndJacobians)
 
 TEST (SmartProjectionPoseFactorRollingShutter, noisyErrorAndJacobians)
 
 TEST (SmartProjectionPoseFactorRollingShutter, optimization_3poses)
 
 TEST (SmartProjectionPoseFactorRollingShutter, optimization_3poses_dynamicOutlierRejection)
 
 TEST (SmartProjectionPoseFactorRollingShutter, optimization_3poses_EPI)
 
 TEST (SmartProjectionPoseFactorRollingShutter, optimization_3poses_landmarkDistance)
 
 TEST (SmartProjectionPoseFactorRollingShutter, optimization_3poses_measurementsFromSamePose)
 
 TEST (SmartProjectionPoseFactorRollingShutter, optimization_3poses_multiCam)
 
 TEST (SmartProjectionPoseFactorRollingShutter, optimization_3poses_multiCam2)
 
 TEST (SmartProjectionPoseFactorRollingShutter, optimization_3poses_sphericalCameras)
 

Variables

static Pose3 body_P_sensor
 
Camera sphericalCameraRS::cam1 (interp_pose1, emptyK)
 
Camera vanillaPoseRS::cam1 (interp_pose1, sharedK)
 
Camera sphericalCameraRS::cam2 (interp_pose2, emptyK)
 
Camera vanillaPoseRS::cam2 (interp_pose2, sharedK)
 
Camera sphericalCameraRS::cam3 (interp_pose3, emptyK)
 
Camera vanillaPoseRS::cam3 (interp_pose3, sharedK)
 
static size_t cameraId1 = 0
 
static const int DimBlock = 12
 
static double interp_factor = 0.5
 
static double interp_factor1 = 0.3
 
static double interp_factor2 = 0.4
 
static double interp_factor3 = 0.5
 
Pose3 vanillaPoseRS::interp_pose1 = interpolate<Pose3>(level_pose, pose_right, interp_factor1)
 
Pose3 sphericalCameraRS::interp_pose1 = interpolate<Pose3>(level_pose, pose_right, interp_factor1)
 
Pose3 vanillaPoseRS::interp_pose2 = interpolate<Pose3>(pose_right, pose_above, interp_factor2)
 
Pose3 sphericalCameraRS::interp_pose2 = interpolate<Pose3>(pose_right, pose_above, interp_factor2)
 
Pose3 vanillaPoseRS::interp_pose3 = interpolate<Pose3>(pose_above, level_pose, interp_factor3)
 
Pose3 sphericalCameraRS::interp_pose3 = interpolate<Pose3>(pose_above, level_pose, interp_factor3)
 
static Symbol l0 ('L', 0)
 
LevenbergMarquardtParams lmParams
 
SmartProjectionParams vanillaPoseRS::params (gtsam::HESSIAN, gtsam::ZERO_ON_DEGENERACY)
 
static const double rankTol = 1.0
 
static const double sigma = 0.1
 
static Symbol x1 ('X', 1)
 
static Symbol x2 ('X', 2)
 
static Symbol x3 ('X', 3)
 
static Symbol x4 ('X', 4)
 
static const int ZDim = 2
 Measurement dimension (Point2) More...
 

Detailed Description

Unit tests for SmartProjectionPoseFactorRollingShutter Class.

Author
Luca Carlone
Date
July 2021

Definition in file testSmartProjectionPoseFactorRollingShutter.cpp.

Macro Definition Documentation

◆ DISABLE_TIMING

#define DISABLE_TIMING

Typedef Documentation

◆ FBlocks

◆ MatrixZD

typedef Eigen::Matrix<double, ZDim, DimBlock> MatrixZD

◆ SmartFactorRS

Function Documentation

◆ main()

int main ( )

◆ measurement1()

static Point2 measurement1 ( 323.  0,
240.  0 
)
static

◆ measurement2()

static Point2 measurement2 ( 200.  0,
220.  0 
)
static

◆ measurement3()

static Point2 measurement3 ( 320.  0,
10.  0 
)
static

◆ model()

static SharedIsotropic model ( noiseModel::Isotropic::Sigma(2, sigma )
static

◆ TEST() [1/17]

◆ TEST() [2/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
Constructor   
)

◆ TEST() [3/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
Constructor2   
)

◆ TEST() [4/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
Equals   
)

◆ TEST() [5/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
hessian_simple_2poses   
)

◆ TEST() [6/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
hessianComparedToProjFactorsRollingShutter   
)

◆ TEST() [7/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
hessianComparedToProjFactorsRollingShutter_measurementsFromSamePose   
)

◆ TEST() [8/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
noiselessErrorAndJacobians   
)

◆ TEST() [9/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
noisyErrorAndJacobians   
)

◆ TEST() [10/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
optimization_3poses   
)

◆ TEST() [11/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
optimization_3poses_dynamicOutlierRejection   
)

◆ TEST() [12/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
optimization_3poses_EPI   
)

◆ TEST() [13/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
optimization_3poses_landmarkDistance   
)

◆ TEST() [14/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
optimization_3poses_measurementsFromSamePose   
)

◆ TEST() [15/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
optimization_3poses_multiCam   
)

◆ TEST() [16/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
optimization_3poses_multiCam2   
)

◆ TEST() [17/17]

TEST ( SmartProjectionPoseFactorRollingShutter  ,
optimization_3poses_sphericalCameras   
)

Variable Documentation

◆ body_P_sensor

Pose3 body_P_sensor
static
Initial value:
=
Pose3(Rot3::Ypr(-0.1, 0.2, -0.2), Point3(0.1, 0.0, 0.0))

Definition at line 51 of file testSmartProjectionPoseFactorRollingShutter.cpp.

◆ cameraId1

size_t cameraId1 = 0
static

◆ DimBlock

const int DimBlock = 12
static

size of the variable stacking 2 poses from which the observation pose is interpolated

Definition at line 216 of file testSmartProjectionPoseFactorRollingShutter.cpp.

◆ interp_factor

double interp_factor = 0.5
static

◆ interp_factor1

double interp_factor1 = 0.3
static

◆ interp_factor2

double interp_factor2 = 0.4
static

◆ interp_factor3

double interp_factor3 = 0.5
static

◆ l0

Symbol l0( 'L', 0)
static

◆ lmParams

◆ rankTol

const double rankTol = 1.0
static

◆ sigma

const double sigma = 0.1
static

◆ x1

Symbol x1( 'X', 1)
static

◆ x2

Symbol x2( 'X', 2)
static

◆ x3

Symbol x3( 'X', 3)
static

◆ x4

Symbol x4( 'X', 4)
static

◆ ZDim

const int ZDim = 2
static

Measurement dimension (Point2)

Definition at line 218 of file testSmartProjectionPoseFactorRollingShutter.cpp.

gtsam::Pose3
Definition: Pose3.h:37
gtsam::Point3
Vector3 Point3
Definition: Point3.h:38


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:18:36