Main Page
Namespaces
Classes
Files
File List
test
multi_sensor_unittest.py
Go to the documentation of this file.
1
#!/usr/bin/env python
2
# Software License Agreement (BSD License)
3
#
4
# Copyright (c) 2008, Willow Garage, Inc.
5
# All rights reserved.
6
#
7
# Redistribution and use in source and binary forms, with or without
8
# modification, are permitted provided that the following conditions
9
# are met:
10
#
11
# * Redistributions of source code must retain the above copyright
12
# notice, this list of conditions and the following disclaimer.
13
# * Redistributions in binary form must reproduce the above
14
# copyright notice, this list of conditions and the following
15
# disclaimer in the documentation and/or other materials provided
16
# with the distribution.
17
# * Neither the name of Willow Garage, Inc. nor the names of its
18
# contributors may be used to endorse or promote products derived
19
# from this software without specific prior written permission.
20
#
21
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
# POSSIBILITY OF SUCH DAMAGE.
33
34
35
import
roslib; roslib.load_manifest(
'calibration_estimation'
)
36
37
import
sys
38
import
unittest
39
import
rospy
40
import
numpy
41
import
yaml
42
43
import
calibration_estimation.sensors.multi_sensor
44
45
class
TestMultiSensor
(unittest.TestCase):
46
def
test_BlockDiag
(self):
47
m1 = numpy.ones([2,2])
48
m2 = numpy.ones([1,1])*2
49
m3 = numpy.ones([3,3])*3
50
m_list = [m1, m2, m3]
51
52
bd = numpy.matrix(
calibration_estimation.sensors.multi_sensor.block_diag
(m_list))
53
54
self.assertEqual(bd.shape, (6,6))
55
56
expected = numpy.matrix( [ [1, 1, 0, 0, 0, 0],
57
[1, 1, 0, 0, 0, 0],
58
[0, 0, 2, 0, 0, 0],
59
[0, 0, 0, 3, 3, 3],
60
[0, 0, 0, 3, 3, 3],
61
[0, 0, 0, 3, 3, 3]] )
62
self.assertAlmostEqual(numpy.linalg.norm(bd - expected), 0.0, 6)
63
64
if
__name__ ==
'__main__'
:
65
import
rostest
66
rostest.unitrun(
'calibration_estimation'
,
'test_MultiSensor'
, TestMultiSensor)
multi_sensor_unittest.TestMultiSensor.test_BlockDiag
def test_BlockDiag(self)
Definition:
multi_sensor_unittest.py:46
calibration_estimation.sensors.multi_sensor.block_diag
def block_diag(m_list)
Definition:
multi_sensor.py:39
calibration_estimation.sensors.multi_sensor
Definition:
multi_sensor.py:1
multi_sensor_unittest.TestMultiSensor
Definition:
multi_sensor_unittest.py:45
calibration_estimation
Author(s): Vijay Pradeep, Michael Ferguson
autogenerated on Thu Jun 6 2019 19:17:16