locate_pattern_mono.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 import rospy
3 import rostest
4 
5 import os
6 import unittest
7 
8 import actionlib
9 from actionlib_msgs.msg import GoalStatus
10 from ensenso_camera_msgs.msg import LocatePatternMonoAction, LocatePatternMonoGoal
11 
12 from helper import Pose
13 
14 DATA_SET_DIRECTORY = "../data/mono_camera/locate_pattern/"
15 
16 
17 class TestLocatePattern(unittest.TestCase):
18  def setUp(self):
19  self.locate_pattern_client = actionlib.SimpleActionClient("locate_pattern", LocatePatternMonoAction)
20  self.locate_pattern_client.wait_for_server()
21 
23  self.locate_pattern_client.send_goal(LocatePatternMonoGoal())
24  self.locate_pattern_client.wait_for_result()
25  self.assertEqual(self.locate_pattern_client.get_state(), GoalStatus.SUCCEEDED)
26  result = self.locate_pattern_client.get_result()
27 
28  self.assertEqual(result.error.code, 0)
29 
30  self.assertTrue(result.found_pattern)
31  self.assertEqual(len(result.mono_patterns), 1)
32  self.assertEqual(len(result.mono_pattern_poses), 1)
33 
34  self.assertNotEqual(result.frame, "")
35 
36  pattern = result.mono_patterns[0]
37 
38  self.assertEqual(pattern.grid_spacing, 0.03625)
39  self.assertEqual(pattern.grid_size_x, 7)
40  self.assertEqual(pattern.grid_size_y, 7)
41  self.assertEqual(len(pattern.points), 49)
42 
43  self.assertNotEqual(result.mono_pattern_poses[0].header.stamp, 0)
44  self.assertNotEqual(result.mono_pattern_poses[0].header.frame_id, "")
45 
46  reference_pattern_pose = Pose.from_json(os.path.join(DATA_SET_DIRECTORY, "pattern_pose.json"))
47  estimated_pattern_pose = Pose.from_message(result.mono_pattern_poses[0].pose)
48  self.assertTrue(reference_pattern_pose.equals(estimated_pattern_pose))
49 
50 if __name__ == "__main__":
51  try:
52  rospy.init_node("test_locate_pattern_mono")
53  rostest.rosrun("ensenso_camera_test", "test_locate_pattern_mono", TestLocatePattern)
54  except rospy.ROSInterruptException:
55  pass


ensenso_camera_test
Author(s): Ensenso
autogenerated on Thu May 6 2021 02:50:10