-
Notifications
You must be signed in to change notification settings - Fork 0
/
camera_davis.orogen
86 lines (74 loc) · 3.45 KB
/
camera_davis.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
name "camera_davis"
# 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 "camera_davisTypes.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 "libcaer"
using_library "frame_helper" # Image Frames
# If this project uses data types that are defined in other oroGen projects,
# these projects should be imported there as well.
import_types_from "std"
import_types_from "base"
import_types_from "frame_helper/Calibration.h"
# 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 camera_davis 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
#***************************
#**** Driver Properties ****
#***************************
property "serial_number", "/std/string"
doc "DAVIS camera serial number"
property "master", "bool", true
doc "reset timestamps is publisher as master or as slave"
property "reset_timestamps_delay", "double", -1.0
property "imu_calibration_sample_size", "unsigned int", 1000
property "acc_bias", "base::Vector3d"
doc "Accelerometers bias"
property "gyro_bias", "base::Vector3d"
doc "Gyroscope bias"
property "combined_output", "bool", false
doc 'Set to true is you want Frame + event combined out in an image'
#***************************
#**** Device Properties ****
#***************************
property "device_config", "camera_davis::DeviceConfig"
property "hardware_filters", "camera_davis::HardwareFilters"
property "dvs_region_interest", "camera_davis::DVSRegionOfInterest"
property "aps_region_interest", "camera_davis::APSRegionOfInterest"
property "pixel_filter", "camera_davis::PixelFilter"
property "davis_biases_1", "camera_davis::DavisBiasesStage1"
property "davis_biases_2", "camera_davis::DavisBiasesStage2"
property "davis_biases_aps", "camera_davis::DavisBiasesAPS"
#***************************
#**** Camera Calibration ****
#***************************
property("camera_parameters", 'frame_helper/CameraCalibration').
doc 'Camera intrinsic parameters.'
#******************************
#******* Output Ports *********
#******************************
output_port('imu', '/base/samples/IMUSensors').
doc 'provides timestamped inertial samples containing the calibrated sensor readings.'
output_port('frame', ro_ptr('base::samples::frame::Frame')).
doc 'Grayscale camera frame.'
output_port('events', 'base::samples::EventArray').
doc 'array of events'
output_port('events_frame', ro_ptr('base::samples::frame::Frame')).
doc 'RGB camera frame with events.'
# 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.01)
end