-
Notifications
You must be signed in to change notification settings - Fork 3
/
imu_an_spatial.orogen
66 lines (57 loc) · 2.92 KB
/
imu_an_spatial.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
name "imu_an_spatial"
# Optionally declare the version number
version "0.1"
# If new data types need to be defined, they have to be put in a separate C++
# header, and this header will be loaded here
#import_types_from "imu_an_spatialTypes.hpp"
# Finally, it is pretty common that headers are directly loaded from an external
# library. In this case, the library must be first used (the name is the
# library's pkg-config name) and then the header can be used. Following Rock
# conventions, a common use-case would be:
#
using_library "imu_an_spatial"
using_library "mb500"
# import_types_from "imu_an_spatial/CustomType.hpp"
# If this project uses data types that are defined in other oroGen projects,
# these projects should be imported there as well.
import_types_from "base"
import_types_from "gps_types.hh"
# Declare a new task context (i.e., a component)
#
# The corresponding C++ class can be edited in tasks/Task.hpp and
# tasks/Task.cpp, and will be put in the imu_an_spatial namespace.
task_context "Task" do
# This is the default from now on, and should not be removed. Rock will
# transition to a setup where all components use a configuration step.
needs_configuration
# A configuration property (here, a std::string). Its value can be retrieved
# in the C++ code with # _config_value.get() and _config_value.set(new_value).
property("port", "/std/string").doc 'Port the device is connected to'
property("baudrate", "int", 115200).doc 'Serial device baudrate'
property("sourceFrame", "/std/string").doc 'IMU pose source frame'
property("targetFrame", "/std/string").doc 'IMU pose target frame'
property("NED2NWU", "bool", true).
doc 'Switch IMU axis convention from NED(Advanced Navigation default) to NWU(Rock default)'
property("local_cartesian_origin", "base/Vector3d").doc("Origin of local cartesion coordinate system in lat/lon/height")
# An input port, i.e. an object from which the component gets data from
# other components' outputs
#
# Data can be retrieved using _input.read(value), which returns true if data
# was available, and false otherwise. _input.connected() returns if this
# input is connected to an output or not.
#input_port "input", "/std/string"
# An output port, i.e. an object to which the component pushes data so that
# it is transmitted to other components' inputs
#
# Data can be written using _output.write(value). _output.connected() returns
# if this output is connected to an input or not.
output_port "imu_samples", "base/samples/IMUSensors"
output_port "imu_pose", "base/samples/RigidBodyState"
output_port "gps_solution", "/gps/Solution"
# If you want that component's updateHook() to be executed when the "input"
# port gets data, uncomment this and comment the 'periodic' line
# port_driven "input"
# By default, the task will be periodic with a period of 0.1
#periodic 0.1
fd_driven
end