Awesome
ROS package with messages for event based cameras
This package has definitions for ROS / ROS2 messages created by event based vision sensors. The events are kept in a compact binary format to avoid slow serialization and deserialization during recording.
Event camera messages can be visualized with the event_camera_renderer and converted to other message formats using event_camera_tools.
For encoding and decoding of messages in C++ look at event_camera_codecs. The event_camera_py package provides a module for fast and convenient loading of events in python.
Messages
EventPacket
The EventPacket message contains a packet (array) of events in binary format.
Description of the encodings:
-
evt3
: raw Metavision evt3 data as it comes from the SDK. For the details of the encoding scheme refer to the Prophesee Metavision documents.The
time_base
field is not used and its content is undefined. Recovery of sensor time requires decoding the data packets. For more about time stamps see documentation in event_camera_codecs. -
libcaer_cmp
: compressed libcaer format. The compression is similar toevt3
but thetime_base
field is used to recover absolute sensor time. The decompression is best understood by looking at the source code here. -
libcaer
: uncompressed messages in the format that libcaer presents it to its upper layers. The encoding takes 64bits per event and is similar to themono
encoding described below. This message format is generally inferior tolibcaer_cmp
. -
mono
: (deprecated) event messages from the Prophesee cameras. Encodes on 64 bit boundaries as follows:bits interpretation 63 polarity: ON event = 1, OFF event = 0 48-62 y (15 bits) 32-48 x (16 bits) 0-32 dt (32 bits) To recover the original sensor time, add the delta
dt
to the messagetime_base
field. Bothdt
andtime_base
are in nanoseconds. To recover the best estimate ROS sensor time stamp adddt
to the ROS header stamp. -
trigger
(deprecated): external trigger messages from e.g. the Prophesee Metavision cameras.bits interpretation 63 polarity: ON event = 1, OFF event = 0 33-62 unused (31 bits) 0-32 dt (32 bits) To recover the original sensor time add the delta
dt
to the messagetime_base
field (in nanoseconds). To recover the best estimate ROS sensor time stamp adddt
to the header stamp.
License
This package is released under the Apache-2 license.