@@ -34,28 +34,29 @@ class SoccerIPM(Node):
34
34
35
35
def __init__ (self ) -> None :
36
36
super ().__init__ ('soccer_ipm' )
37
- # We need to create a tf buffer
38
- self .tf_buffer = tf2 .Buffer (cache_time = Duration (seconds = 30.0 ))
39
- self .tf_listener = tf2 .TransformListener (self .tf_buffer , self )
40
-
41
- # Create an IPM instance
42
- self .ipm = IPM (self .tf_buffer )
43
-
44
37
# Declare params
45
38
self .declare_parameter ('balls.ball_diameter' , 0.153 )
46
- self .declare_parameter ('output_frame' , 'base_footprint' )
47
39
self .declare_parameter ('goalposts.footpoint_out_of_image_threshold' , 0.8 )
40
+ self .declare_parameter ('goalposts.object_default_dimensions.x' , 0.1 )
41
+ self .declare_parameter ('goalposts.object_default_dimensions.y' , 0.1 )
42
+ self .declare_parameter ('goalposts.object_default_dimensions.z' , 1.0 )
48
43
self .declare_parameter ('obstacles.footpoint_out_of_image_threshold' , 0.8 )
49
- self .declare_parameter ('robots.footpoint_out_of_image_threshold' , 0.8 )
50
44
self .declare_parameter ('obstacles.object_default_dimensions.x' , 0.2 )
51
45
self .declare_parameter ('obstacles.object_default_dimensions.y' , 0.2 )
52
46
self .declare_parameter ('obstacles.object_default_dimensions.z' , 1.0 )
47
+ self .declare_parameter ('output_frame' , 'base_footprint' )
48
+ self .declare_parameter ('robots.footpoint_out_of_image_threshold' , 0.8 )
53
49
self .declare_parameter ('robots.object_default_dimensions.x' , 0.2 )
54
50
self .declare_parameter ('robots.object_default_dimensions.y' , 0.2 )
55
51
self .declare_parameter ('robots.object_default_dimensions.z' , 1.0 )
56
- self .declare_parameter ('goalposts.object_default_dimensions.x' , 0.1 )
57
- self .declare_parameter ('goalposts.object_default_dimensions.y' , 0.1 )
58
- self .declare_parameter ('goalposts.object_default_dimensions.z' , 1.0 )
52
+ self .declare_parameter ('use_distortion' , False )
53
+
54
+ # We need to create a tf buffer
55
+ self .tf_buffer = tf2 .Buffer (cache_time = Duration (seconds = 30.0 ))
56
+ self .tf_listener = tf2 .TransformListener (self .tf_buffer , self )
57
+
58
+ # Create an IPM instance
59
+ self .ipm = IPM (self .tf_buffer , distortion = self .get_parameter ('use_distortion' ).value )
59
60
60
61
# Subscribe to camera info
61
62
self .create_subscription (CameraInfo , 'camera_info' , self .ipm .set_camera_info , 1 )
0 commit comments