-
Notifications
You must be signed in to change notification settings - Fork 1
/
depth_map_preprocessing.orogen
67 lines (51 loc) · 2.28 KB
/
depth_map_preprocessing.orogen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name "depth_map_preprocessing"
version "0.1"
using_library "depth_map_preprocessing"
import_types_from "base"
import_types_from "depth_map_preprocessing/Config.hpp"
# This filter has the goal to remove separated measurements in the scan
# and support measurements with neighboring measurements.
task_context "OutlierFilter" do
needs_configuration
# A neighbor of a measurement is valid if the angle between the plain described by
# this measurement and the vector between the measurement and the neighbor is less
# or equal to this property. The angle is in range [0,0.5PI].
property('maximum_angle_to_neighbor', 'double', 1.05).dynamic
# Minimum amount of valid neighbors each measurement must have.
property('valid_neighbors', 'int', 2).dynamic
input_port 'depth_map', '/base/samples/DepthMap'
output_port 'filtered_depth_map', '/base/samples/DepthMap'
port_driven
end
task_context "ConverterBase" do
abstract
needs_configuration
# Selects the type of odometry based motion compensation.
# Possible options:
# :NoCompensation
# No motion compensation will be applied.
# :HorizontalInterpolation and :VerticalInterpolation
# Will interpolate the local movement by the first and the last timestamp
# and will apply the transformations either horizontal (column-wise) or
# vertical (row-wise) in the frame of the newest scan.
# Note that |depth_map.timestamps| >= 2.
# :Horizontal and :Vertical
# Will get one transformation for each timestamp in depth_map.timestamps
# and will apply them in the frame of the newest scan.
# Note that |depth_map.timestamps| == |depth_map.horizontal_size| for the
# horizontal case and |depth_map.timestamps| == |depth_map.vertical_size|
# for the vertical case.
property('motion_compensation', '/depth_map_preprocessing/MotionCompensation', :NoCompensation)
input_port 'depth_map', '/base/samples/DepthMap'
transformer do
transform 'laser', 'odometry'
align_port('depth_map', 0.1)
max_latency 0.2
end
port_driven
end
task_context "PointcloudConverter" do
subclasses "ConverterBase"
needs_configuration
output_port 'pointcloud', '/base/samples/Pointcloud'
end