Repository Summary
Checkout URI | https://github.com/ros-event-camera/libcaer_driver.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libcaer_driver | 1.1.3 |
README
libcaer_driver
A ROS2 driver for event based cameras using Inilab’s Libcaer (Davis, DvXplorer). This driver is not written or supported by Inilabs.
This driver is intended to be a successor to the University of Zuerich ROS1 driver. The ROS2 port addresses some deficiencies of the ROS1 driver, in particular the performance problems due to the message format. Usage of the event_camera_msgs format allows for higher bandwidth and more efficient storage.
The events can be decoded and displayed using the following ROS/ROS2 packages:
- event_camera_codecs has C++ routines to decode event_camera_msgs.
- event_camera_py module for fast event decoding in python.
- event_camera_renderer a node / nodelet that renders and publishes ROS image messages.
- event_camera_tools a set of tools to echo, monitor performance and convert event_camera_msgs to legacy formats.
Supported platforms
Tested on the following platforms:
- ROS2 Humble on Ubuntu 22.04 LTS
Tested with the following hardware:
There is some code in place for the Davis 346 but that one has never been tested (hardware not available) and thus will not work out of the box.
How to build
Prerequisites:
Install vcs
(ubuntu package python3-vcstool
).
Make sure you have your ROS2 environment sourced such that the ROS_VERSION environment variable is set.
Create a workspace (libcaer_driver_ws
), clone this repo, and use vcs
to pull in the remaining dependencies:
pkg=libcaer_driver
mkdir -p ~/${pkg}_ws/src
cd ~/${pkg}_ws
git clone https://github.com/ros-event-camera/${pkg}.git src/${pkg}
cd src
vcs import < ${pkg}/${pkg}.repos
cd ..
Now build (the cmake flag to export compile commands is optional):
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
. install/setup.bash
This driver provides its own version of libcaer
, but you still need to copy the udev file into place
and modify the group permissions:
sudo cp src/libcaer/lib/udev/rules.d/65-inivation.rules /etc/udev/rules.d/
sudo usermod -aG video ${USER}
sudo usermod -aG plugdev ${USER}
sudo udevadm trigger
sudo service udev restart
Now you need to log out and back in to the host in order for the updated group permissions to take hold.
Driver Features
Driver parameters (besides biases and other device-specific parameters):
-
auto_exposure_enabled
: (defaults to False) enables/disables driver-provided auto exposure for APS frames. -
auto_exposure_illumination
: (0-255, defaults to 127) target brightness for APS frame exposure -
auto_exposure_hysteresis
: (0-0.5, defaults to 0.0625) relative tolerance for brightness error before adjusting exposure time. -
camera_frame_id
: the ROS frame id to use in the header of event and image messages -
camerainfo_url
: location of the ROS camera calibration file. -
device_type
: “davis”, “dvxplorer”, … -
device_id
: the libcaer device id (defaults to 1). -
event_message_time_threshold
: (in seconds) minimum time span of events to be aggregated in one ROS event message before message is sent. Defaults to 1ms. -
event_message_size_threshold
: (in bytes) minimum size of events (in bytes) to be aggregated in one ROS event message before message is sent. Defaults to 1MB. -
event_send_queue_size
: outgoing ROS message send queue size (defaults to 1000 messages). -
encoding
:libcaer_cmp
(compressed, default) orlibcaer
(uncompressed). The CPU usage for encoding is very small, and can actually reduce the CPU load on the driver because of the reduction of memory access when sending the message. Use of uncompressedlibcaer
is strongly discouraged. Only uselibcaer
encoding if low event rates are expected, and decompression latency is an issue. -
imu_frame_id
: the ROS frame id to use in the header of imu messages -
imu_send_queue_size
: (defaults to 10) max number of ROS messages to be buffered in send queue. -
master
: (defaults to True) whether the device is acting as synchronization master.
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
Repository Summary
Checkout URI | https://github.com/ros-event-camera/libcaer_driver.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libcaer_driver | 1.0.3 |
README
libcaer_driver
A ROS2 driver for event based cameras using Inilab’s Libcaer (Davis, DvXplorer). This driver is not written or supported by Inilabs.
This driver is intended to be a successor to the University of Zuerich ROS1 driver. The ROS2 port addresses some deficiencies of the ROS1 driver, in particular the performance problems due to the message format. Usage of the event_camera_msgs format allows for higher bandwidth and more efficient storage.
The events can be decoded and displayed using the following ROS/ROS2 packages:
- event_camera_codecs has C++ routines to decode event_camera_msgs.
- event_camera_py module for fast event decoding in python.
- event_camera_renderer a node / nodelet that renders and publishes ROS image messages.
- event_camera_tools a set of tools to echo, monitor performance and convert event_camera_msgs to legacy formats.
Supported platforms
Tested on the following platforms:
- ROS2 Humble on Ubuntu 22.04 LTS
Tested with the following hardware:
There is some code in place for the Davis 346 but that one has never been tested (hardware not available) and thus will not work out of the box.
How to build
Prerequisites:
Install vcs
(ubuntu package python3-vcstool
).
Make sure you have your ROS2 environment sourced such that the ROS_VERSION environment variable is set.
Create a workspace (libcaer_driver_ws
), clone this repo, and use vcs
to pull in the remaining dependencies:
pkg=libcaer_driver
mkdir -p ~/${pkg}_ws/src
cd ~/${pkg}_ws
git clone https://github.com/ros-event-camera/${pkg}.git src/${pkg}
cd src
vcs import < ${pkg}/${pkg}.repos
cd ..
Now build (the cmake flag to export compile commands is optional):
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
. install/setup.bash
This driver provides its own version of libcaer
, but you still need to copy the udev file into place
and modify the group permissions:
sudo cp src/libcaer/lib/udev/rules.d/65-inivation.rules /etc/udev/rules.d/
sudo usermod -aG video ${USER}
sudo usermod -aG plugdev ${USER}
sudo udevadm trigger
sudo service udev restart
Now you need to log out and back in to the host in order for the updated group permissions to take hold.
Driver Features
Driver parameters (besides biases and other device-specific parameters):
-
auto_exposure_enabled
: (defaults to False) enables/disables driver-provided auto exposure for APS frames. -
auto_exposure_illumination
: (0-255, defaults to 127) target brightness for APS frame exposure -
auto_exposure_hysteresis
: (0-0.5, defaults to 0.0625) relative tolerance for brightness error before adjusting exposure time. -
camera_frame_id
: the ROS frame id to use in the header of event and image messages -
camerainfo_url
: location of the ROS camera calibration file. -
device_type
: “davis”, “dvxplorer”, … -
device_id
: the libcaer device id (defaults to 1). -
event_message_time_threshold
: (in seconds) minimum time span of events to be aggregated in one ROS event message before message is sent. Defaults to 1ms. -
event_message_size_threshold
: (in bytes) minimum size of events (in bytes) to be aggregated in one ROS event message before message is sent. Defaults to 1MB. -
event_send_queue_size
: outgoing ROS message send queue size (defaults to 1000 messages). -
encoding
:libcaer_cmp
(compressed, default) orlibcaer
(uncompressed). The CPU usage for encoding is very small, and can actually reduce the CPU load on the driver because of the reduction of memory access when sending the message. Use of uncompressedlibcaer
is strongly discouraged. Only uselibcaer
encoding if low event rates are expected, and decompression latency is an issue. -
imu_frame_id
: the ROS frame id to use in the header of imu messages -
imu_send_queue_size
: (defaults to 10) max number of ROS messages to be buffered in send queue. -
master
: (defaults to True) whether the device is acting as synchronization master.
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
Repository Summary
Checkout URI | https://github.com/ros-event-camera/libcaer_driver.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libcaer_driver | 1.0.3 |
README
libcaer_driver
A ROS2 driver for event based cameras using Inilab’s Libcaer (Davis, DvXplorer). This driver is not written or supported by Inilabs.
This driver is intended to be a successor to the University of Zuerich ROS1 driver. The ROS2 port addresses some deficiencies of the ROS1 driver, in particular the performance problems due to the message format. Usage of the event_camera_msgs format allows for higher bandwidth and more efficient storage.
The events can be decoded and displayed using the following ROS/ROS2 packages:
- event_camera_codecs has C++ routines to decode event_camera_msgs.
- event_camera_py module for fast event decoding in python.
- event_camera_renderer a node / nodelet that renders and publishes ROS image messages.
- event_camera_tools a set of tools to echo, monitor performance and convert event_camera_msgs to legacy formats.
Supported platforms
Tested on the following platforms:
- ROS2 Humble on Ubuntu 22.04 LTS
Tested with the following hardware:
There is some code in place for the Davis 346 but that one has never been tested (hardware not available) and thus will not work out of the box.
How to build
Prerequisites:
Install vcs
(ubuntu package python3-vcstool
).
Make sure you have your ROS2 environment sourced such that the ROS_VERSION environment variable is set.
Create a workspace (libcaer_driver_ws
), clone this repo, and use vcs
to pull in the remaining dependencies:
pkg=libcaer_driver
mkdir -p ~/${pkg}_ws/src
cd ~/${pkg}_ws
git clone https://github.com/ros-event-camera/${pkg}.git src/${pkg}
cd src
vcs import < ${pkg}/${pkg}.repos
cd ..
Now build (the cmake flag to export compile commands is optional):
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
. install/setup.bash
This driver provides its own version of libcaer
, but you still need to copy the udev file into place
and modify the group permissions:
sudo cp src/libcaer/lib/udev/rules.d/65-inivation.rules /etc/udev/rules.d/
sudo usermod -aG video ${USER}
sudo usermod -aG plugdev ${USER}
sudo udevadm trigger
sudo service udev restart
Now you need to log out and back in to the host in order for the updated group permissions to take hold.
Driver Features
Driver parameters (besides biases and other device-specific parameters):
-
auto_exposure_enabled
: (defaults to False) enables/disables driver-provided auto exposure for APS frames. -
auto_exposure_illumination
: (0-255, defaults to 127) target brightness for APS frame exposure -
auto_exposure_hysteresis
: (0-0.5, defaults to 0.0625) relative tolerance for brightness error before adjusting exposure time. -
camera_frame_id
: the ROS frame id to use in the header of event and image messages -
camerainfo_url
: location of the ROS camera calibration file. -
device_type
: “davis”, “dvxplorer”, … -
device_id
: the libcaer device id (defaults to 1). -
event_message_time_threshold
: (in seconds) minimum time span of events to be aggregated in one ROS event message before message is sent. Defaults to 1ms. -
event_message_size_threshold
: (in bytes) minimum size of events (in bytes) to be aggregated in one ROS event message before message is sent. Defaults to 1MB. -
event_send_queue_size
: outgoing ROS message send queue size (defaults to 1000 messages). -
encoding
:libcaer_cmp
(compressed, default) orlibcaer
(uncompressed). The CPU usage for encoding is very small, and can actually reduce the CPU load on the driver because of the reduction of memory access when sending the message. Use of uncompressedlibcaer
is strongly discouraged. Only uselibcaer
encoding if low event rates are expected, and decompression latency is an issue. -
imu_frame_id
: the ROS frame id to use in the header of imu messages -
imu_send_queue_size
: (defaults to 10) max number of ROS messages to be buffered in send queue. -
master
: (defaults to True) whether the device is acting as synchronization master.
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
Repository Summary
Checkout URI | https://github.com/ros-event-camera/libcaer_driver.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libcaer_driver | 1.0.3 |
README
libcaer_driver
A ROS2 driver for event based cameras using Inilab’s Libcaer (Davis, DvXplorer). This driver is not written or supported by Inilabs.
This driver is intended to be a successor to the University of Zuerich ROS1 driver. The ROS2 port addresses some deficiencies of the ROS1 driver, in particular the performance problems due to the message format. Usage of the event_camera_msgs format allows for higher bandwidth and more efficient storage.
The events can be decoded and displayed using the following ROS/ROS2 packages:
- event_camera_codecs has C++ routines to decode event_camera_msgs.
- event_camera_py module for fast event decoding in python.
- event_camera_renderer a node / nodelet that renders and publishes ROS image messages.
- event_camera_tools a set of tools to echo, monitor performance and convert event_camera_msgs to legacy formats.
Supported platforms
Tested on the following platforms:
- ROS2 Humble on Ubuntu 22.04 LTS
Tested with the following hardware:
There is some code in place for the Davis 346 but that one has never been tested (hardware not available) and thus will not work out of the box.
How to build
Prerequisites:
Install vcs
(ubuntu package python3-vcstool
).
Make sure you have your ROS2 environment sourced such that the ROS_VERSION environment variable is set.
Create a workspace (libcaer_driver_ws
), clone this repo, and use vcs
to pull in the remaining dependencies:
pkg=libcaer_driver
mkdir -p ~/${pkg}_ws/src
cd ~/${pkg}_ws
git clone https://github.com/ros-event-camera/${pkg}.git src/${pkg}
cd src
vcs import < ${pkg}/${pkg}.repos
cd ..
Now build (the cmake flag to export compile commands is optional):
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
. install/setup.bash
This driver provides its own version of libcaer
, but you still need to copy the udev file into place
and modify the group permissions:
sudo cp src/libcaer/lib/udev/rules.d/65-inivation.rules /etc/udev/rules.d/
sudo usermod -aG video ${USER}
sudo usermod -aG plugdev ${USER}
sudo udevadm trigger
sudo service udev restart
Now you need to log out and back in to the host in order for the updated group permissions to take hold.
Driver Features
Driver parameters (besides biases and other device-specific parameters):
-
auto_exposure_enabled
: (defaults to False) enables/disables driver-provided auto exposure for APS frames. -
auto_exposure_illumination
: (0-255, defaults to 127) target brightness for APS frame exposure -
auto_exposure_hysteresis
: (0-0.5, defaults to 0.0625) relative tolerance for brightness error before adjusting exposure time. -
camera_frame_id
: the ROS frame id to use in the header of event and image messages -
camerainfo_url
: location of the ROS camera calibration file. -
device_type
: “davis”, “dvxplorer”, … -
device_id
: the libcaer device id (defaults to 1). -
event_message_time_threshold
: (in seconds) minimum time span of events to be aggregated in one ROS event message before message is sent. Defaults to 1ms. -
event_message_size_threshold
: (in bytes) minimum size of events (in bytes) to be aggregated in one ROS event message before message is sent. Defaults to 1MB. -
event_send_queue_size
: outgoing ROS message send queue size (defaults to 1000 messages). -
encoding
:libcaer_cmp
(compressed, default) orlibcaer
(uncompressed). The CPU usage for encoding is very small, and can actually reduce the CPU load on the driver because of the reduction of memory access when sending the message. Use of uncompressedlibcaer
is strongly discouraged. Only uselibcaer
encoding if low event rates are expected, and decompression latency is an issue. -
imu_frame_id
: the ROS frame id to use in the header of imu messages -
imu_send_queue_size
: (defaults to 10) max number of ROS messages to be buffered in send queue. -
master
: (defaults to True) whether the device is acting as synchronization master.
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
Repository Summary
Checkout URI | https://github.com/ros-event-camera/libcaer_driver.git |
VCS Type | git |
VCS Version | iron |
Last Updated | 2024-05-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libcaer_driver | 1.2.3 |
README
libcaer_driver
A ROS2 driver for event based cameras using Inilab’s Libcaer (Davis, DvXplorer). This driver is not written or supported by Inilabs.
This driver is intended to be a successor to the University of Zuerich ROS1 driver. The ROS2 port addresses some deficiencies of the ROS1 driver, in particular the performance problems due to the message format. Usage of the event_camera_msgs format allows for higher bandwidth and more efficient storage.
The events can be decoded and displayed using the following ROS/ROS2 packages:
- event_camera_codecs has C++ routines to decode event_camera_msgs.
- event_camera_py module for fast event decoding in python.
- event_camera_renderer a node / nodelet that renders and publishes ROS image messages.
- event_camera_tools a set of tools to echo, monitor performance and convert event_camera_msgs to legacy formats.
Supported platforms
Tested on the following platforms:
- ROS2 Humble on Ubuntu 22.04 LTS
Tested with the following hardware:
There is some code in place for the Davis 346 but that one has never been tested (hardware not available) and thus will not work out of the box.
How to build
Prerequisites:
Install vcs
(ubuntu package python3-vcstool
).
Make sure you have your ROS2 environment sourced such that the ROS_VERSION environment variable is set.
Create a workspace (libcaer_driver_ws
), clone this repo, and use vcs
to pull in the remaining dependencies:
pkg=libcaer_driver
mkdir -p ~/${pkg}_ws/src
cd ~/${pkg}_ws
git clone https://github.com/ros-event-camera/${pkg}.git src/${pkg}
cd src
vcs import < ${pkg}/${pkg}.repos
cd ..
Now build (the cmake flag to export compile commands is optional):
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
. install/setup.bash
This driver provides its own version of libcaer
, but you still need to copy the udev file into place
and modify the group permissions:
sudo cp src/libcaer/lib/udev/rules.d/65-inivation.rules /etc/udev/rules.d/
sudo usermod -aG video ${USER}
sudo usermod -aG plugdev ${USER}
sudo udevadm trigger
sudo service udev restart
Now you need to log out and back in to the host in order for the updated group permissions to take hold.
Driver Features
Driver parameters (besides biases and other device-specific parameters):
-
auto_exposure_enabled
: (defaults to False) enables/disables driver-provided auto exposure for APS frames. -
auto_exposure_illumination
: (0-255, defaults to 127) target brightness for APS frame exposure -
auto_exposure_hysteresis
: (0-0.5, defaults to 0.0625) relative tolerance for brightness error before adjusting exposure time. -
camera_frame_id
: the ROS frame id to use in the header of event and image messages -
camerainfo_url
: location of the ROS camera calibration file. -
device_type
: “davis”, “dvxplorer”, … -
device_id
: the libcaer device id (defaults to 1). -
event_message_time_threshold
: (in seconds) minimum time span of events to be aggregated in one ROS event message before message is sent. Defaults to 1ms. -
event_message_size_threshold
: (in bytes) minimum size of events (in bytes) to be aggregated in one ROS event message before message is sent. Defaults to 1MB. -
event_send_queue_size
: outgoing ROS message send queue size (defaults to 1000 messages). -
encoding
:libcaer_cmp
(compressed, default) orlibcaer
(uncompressed). The CPU usage for encoding is very small, and can actually reduce the CPU load on the driver because of the reduction of memory access when sending the message. Use of uncompressedlibcaer
is strongly discouraged. Only uselibcaer
encoding if low event rates are expected, and decompression latency is an issue. -
imu_frame_id
: the ROS frame id to use in the header of imu messages -
imu_send_queue_size
: (defaults to 10) max number of ROS messages to be buffered in send queue. -
master
: (defaults to True) whether the device is acting as synchronization master.
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).