-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtraversability.orogen
90 lines (64 loc) · 3.08 KB
/
traversability.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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
name "traversability"
# Optionally declare the version number
# version "0.1"
import_types_from "base"
import_types_from "envire"
using_library "envire"
import_types_from "envire/operators/SimpleTraversability.hpp"
import_types_from "envire/operators/TraversabilityGrassfire.hpp"
task_context "Common" do
abstract
property("mls_id", "std/string", "/slam/mls").
doc "the map ID of the input MLS map. This value is only used, if more than one map is received"
property("env_name", "std/string", "/traversability/").
doc "the envire prefix that should be used to create new maps"
property("env_save_path", "std/string").
doc "if set to a non-empty string, save each generated environment under env_save_path/<seq number>/"
input_port('mls_map', ro_ptr('std/vector</envire/BinaryEvent>')).
doc("Current map")
output_port('traversability_map', ro_ptr('std/vector</envire/BinaryEvent>')).
doc('Traversability map').
keep_last_written_value(false)
operation("addCircle").
doc("Adds a Circle with the griven parameters to the obstacle map.
The traversability will be lowered to the given level. Spots with
lower traversability inside the circle will not be modified").
argument("positionMap", "base::Vector3d").
argument("radius", "double").
argument("traversability", "double").
returns("int")
operation("removeObject").
doc("removes a object that was added using the addX operation.").
argument('objectId', 'int')
operation("removeAllObject").
doc("removes all object that was added using the addX operation.")
port_driven
end
task_context "Simple" do
subclasses("Common")
needs_configuration
property("map_extents", "/std/vector<base/Vector2d>").
doc "If necessary the size of the input map will be extended, such that the output always contains the provided points in world coordinates."
property("map_max_extent", "/int", 1000).
doc "Number of maximum patches per dimension x/y."
property("required_measurements_per_patch", "/int", 0).
doc "Number of required points per patch, can be used to remove mismeasurements (>0)"
property("window_size", "/int", 1).
doc "Size of the window used to calculate traversability of a cell."
property("traversability_conf", "/envire/SimpleTraversabilityConfig").
doc "configuration parameters for the traversability transformation"
port_driven
end
task_context "Grassfire" do
subclasses("Common")
needs_configuration
property("config", "/envire/TraversabilityGrassfire/Config").
doc "configuration parameters for the traversability transformation"
property("growTerrainRadius", "double", 0.0).
doc "If this number is bigger than 0, all terrains will be grown by this value. Terrains with better traversabilty will be overwritten by terrains with with worse terrains"
transformer do
transformation("body_center", "mls_map")
max_latency(0.1)
end
port_driven
end