added wrapper for ProjectionFactorRollingShutter
parent
894605be3f
commit
0a06238785
|
@ -17,3 +17,4 @@
|
||||||
# for QtCreator:
|
# for QtCreator:
|
||||||
CMakeLists.txt.user*
|
CMakeLists.txt.user*
|
||||||
xcode/
|
xcode/
|
||||||
|
/Dockerfile
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
"""
|
||||||
|
GTSAM Copyright 2010-2019, Georgia Tech Research Corporation,
|
||||||
|
Atlanta, Georgia 30332-0415
|
||||||
|
All Rights Reserved
|
||||||
|
|
||||||
|
See LICENSE for the license information
|
||||||
|
|
||||||
|
ProjectionFactorRollingShutter unit tests.
|
||||||
|
Author: Yotam Stern
|
||||||
|
"""
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
import gtsam
|
||||||
|
import gtsam_unstable
|
||||||
|
from gtsam.utils.test_case import GtsamTestCase
|
||||||
|
|
||||||
|
|
||||||
|
pose1 = gtsam.Pose3()
|
||||||
|
pose2 = gtsam.Pose3(np.array([[ 0.9999375 , 0.00502487, 0.00998725, 0.1 ],
|
||||||
|
[-0.00497488, 0.999975 , -0.00502487, 0.02 ],
|
||||||
|
[-0.01001225, 0.00497488, 0.9999375 , 1. ],
|
||||||
|
[ 0. , 0. , 0. , 1. ]]))
|
||||||
|
point = np.array([2, 0, 15])
|
||||||
|
point_noise = gtsam.noiseModel.Diagonal.Sigmas(np.ones(2))
|
||||||
|
cal = gtsam.Cal3_S2()
|
||||||
|
body_p_sensor = gtsam.Pose3()
|
||||||
|
alpha = 0.1
|
||||||
|
measured = array([0.13257015, 0.0004157])
|
||||||
|
|
||||||
|
|
||||||
|
class TestProjectionFactorRollingShutter(GtsamTestCase):
|
||||||
|
|
||||||
|
def test_constructor(self):
|
||||||
|
'''
|
||||||
|
test constructor for the ProjectionFactorRollingShutter
|
||||||
|
'''
|
||||||
|
factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal)
|
||||||
|
factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal,
|
||||||
|
body_p_sensor)
|
||||||
|
factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal, True, False)
|
||||||
|
factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal, True, False,
|
||||||
|
body_p_sensor)
|
||||||
|
|
||||||
|
def test_error(self):
|
||||||
|
'''
|
||||||
|
test the factor error for a specific example
|
||||||
|
'''
|
||||||
|
values = gtsam.Values()
|
||||||
|
values.insert(0, pose1)
|
||||||
|
values.insert(1, pose2)
|
||||||
|
values.insert(2, point)
|
||||||
|
factor = gtsam_unstable.ProjectionFactorRollingShutter(measured, alpha, point_noise, 0, 1, 2, cal)
|
||||||
|
self.assertEqual(factor.error(values), 0)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
Loading…
Reference in New Issue