![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch
Services
Plugins
Recent questions tagged camera_aravis at Robotics Stack Exchange
![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch
Services
Plugins
Recent questions tagged camera_aravis at Robotics Stack Exchange
![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch
Services
Plugins
Recent questions tagged camera_aravis at Robotics Stack Exchange
![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch
Services
Plugins
Recent questions tagged camera_aravis at Robotics Stack Exchange
![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch
Services
Plugins
Recent questions tagged camera_aravis at Robotics Stack Exchange
![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch
Services
Plugins
Recent questions tagged camera_aravis at Robotics Stack Exchange
![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch
Services
Plugins
Recent questions tagged camera_aravis at Robotics Stack Exchange
![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch
Services
Plugins
Recent questions tagged camera_aravis at Robotics Stack Exchange
![]() |
camera_aravis package from camera_aravis repocamera_aravis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.1.0 |
License | LGPL v2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A ROS1 driver for GenICam based GigE and USB3 cameras. |
Checkout URI | https://github.com/FraunhoferIOSB/camera_aravis.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-23 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | video camera ros usb3 gige aravis ros1 genicam ros-noetic |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Boitumelo Ruf, Fraunhofer IOSB
Authors
- Boitumelo Ruf, Fraunhofer IOSB
- Dominik Kleiser, Fraunhofer IOSB
- Dominik A. Klein, Fraunhofer FKIE
- Steve Safarik, Straw Lab
- Andrew Straw, Straw Lab
- Floris van Breugel, van Breugel Lab
camera_aravis
!!! IMPORTANT UPDATE !!!
camera_aravis for ROS 2 is now released as camera_aravis2: https://github.com/FraunhoferIOSB/camera_aravis2
Actively maintained repository for the ROS1 camara_aravis driver. It is open source under the LGPL (like Aravis itself).
The Aravis library is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.
The camera_aravis driver has long history of multiple forks and now abandoned GitHub repositories. This repository is based on https://github.com/florisvb/camera_aravis.git, which in turn was forked from a deleted github repo (https://github.com/CaeruleusAqua/camera_aravis), which was itself forked from https://github.com/ssafarik/camera_aravis.
Tested with Aravis version 0.6.X. Since Ubuntu 20.04 the library can be installed from the official Ubuntu package repository. Install with:
sudo apt install libaravis-dev
The basic command to run camera_aravis:
$ rosrun camera_aravis cam_aravis
To run it in a given namespace:
$ ROS_NAMESPACE=cam1 rosrun camera_aravis cam_aravis
Continuous Integration
Service | Noetic | Master |
---|---|---|
GitHub | ||
ROS Build Farm | N/A |
Configuration
This ROS node publishes messages image_raw and camera_info for a specified camera. It supports a variety of camera features via the ROS reconfigure_gui, including the following:
- ExposureAuto (string: Off, Once, Continuous)
- GainAuto (string: Off, Once, Continuous)
- ExposureTimeAbs (float)
- Gain (float)
- AcquisitionMode (string: Continuous, SingleFrame, MultiFrame)
- AcquisitionFrameRate (float)
- TriggerMode (string: Off, On)
- TriggerSource (string: Any, Software, Line0, Line1, Line2)
- softwaretriggerrate (float)
- frame_id (string)
- FocusPos (integer)
- mtu (integer)
Note that if the camera parameters are to be initialized from the parameters from the dynamic
reconfigure server, the launch parameter
init_params_from_dyn_reconfigure
needs to be set
to
true
(Default:
false
);
Note that the above are also the ROS parameter names of their respective feature. You may set initial values for the camera by setting ROS parameters in the camera’s namespace.
In addition to the above features, this driver now supports (almost) every feature of every camera, you just have to know how the feature is specified; each GenICam-based camera contains an XML file onboard, and by viewing this file you can determine which ROS parameters to set for camera_aravis to write to the camera. Details on how to export the camera-specific XML can be found here: Extracting Camera-Specific GenICam XML.
Note that for this special feature access, the ROS parameter type must match the feature type. For example, a Basler ac640 has a boolean feature called “GammaEnable”, an integer feature called “BlackLevelRaw”, and a string enum feature called “PixelFormat” that takes values (Mono8, Mono12, Mono12Packed, YUV422Packed, etc). The ROS params that you set for these must be, respectively, a bool, an integer and a string. Also note that boolean features must be specified as ROS params false/true, not as integer 0/1.
$ rosparam set /camera_aravis/GammaEnable false
$ rosparam set /camera_aravis/BlackLevelRaw 5
$ rosparam set /camera_aravis/PixelFormat Mono12
$ rosrun camera_aravis cam_aravis
camera_aravis supports multiple cameras, each of which may be specified on the command-line, or via parameter. Runs one camera per node.
To specify which camera to open, via the command-line:
$ rosrun camera_aravis cam_aravis _guid:=Basler-21237813
To specify which camera to open, via a parameter:
$ rosparam set /camera_aravis/guid Basler-21237813
$ rosrun camera_aravis cam_aravis
It supports the dynamic_reconfigure protocol, and once the node is running, you may adjust its parameters by running the following and then manipulating the GUI:
File truncated at 100 lines see the full file
Changelog for package camera_aravis
4.1.0 (2024-03-12)
- Feature: Export GenICam XML
(#32)
- Added node export_genicam_xml
- Updated Readme
- Contributors: Boitumelo Ruf
4.0.5 (2024-02-01)
- Added launch parameters allowing to manually set white balance
- Launch configuration, scripts and adjustments to allow raspawning
- Moved execution of set latch command for ptp
- Added parameter init_params_from_dyn_reconfigure and minor bugfix
- Read and publish camera diagnostics
- Improved support for Precision Time Protocol (PTP)
- Minor bugfixes
- Opened device output
- Resetting ptp timestamp
- Updated documentation in README.md
- Contributors: Boitumelo Ruf
4.0.4 (2022-12-23)
- Update package maintainer
- Refactor node params
(#21)
- Refactor node params
- Rename extended_camera_info_ -> pub_ext_camera_info_
- Move stream parameters to the top of onInit()
- fix: only reset PTP clock when in "Faulty" or "Disabled" state (#23)
- Update industrial_ci default branch to main
- Contributors: Dominik Kleiser, Peter Mortimer, Ruf, Boitumelo
4.0.3 (2022-07-08)
- Refactor image conversion (#20)
- Use plain file names for includes (#17)
- Add verbose flag for feature detection (default = false) (#19)
- Assume num_streams_ = 1 if DeviceStreamChannelCount and GevStreamChannelCount unavailable (#18)
- Add Line0 to Line5 to TriggerSource Enum
- Fix: nodelet namespace
- Fix: onInit deadlock
- Contributors: Dominik Kleiser, Boitumelo Ruf, Thomas Emter, Peter Mortimer, tas, Geoff McIver
4.0.2 (2022-05-04)
- Add optional ExtendedCameraInfo message to publish additional camera acquisition parameters
- Fix: Set reasonable height and width when not given in the CameraInfo
- Contributors: Peter Mortimer
4.0.1 (2022-03-25)
- Add ROS getter/setter services for camera features
- Add support for multistream encoding conversion
- Fix: Pass on the correct encoding for the additional streams of multisource cameras
- Fix: Continuously check the spawning_ flag
- Fix: Check spawning_ flag only once during spawnStream
- Contributors: Peter Mortimer, Thomas Emter, Dominik Kleiser
4.0.0 (2021-10-27)
- Major refactoring
- Add support for ROS Noetic and aravis-0.6
- Fix several bugs (see git history)
- Add new features:
- Support for multisource cameras
- Zero-copy transport with ROS nodelets
- Camera time synchronization
- Example launch files
- Update package author and maintainer
- Contributors: Dominik Klein, Floris van Breugel, Gaël Écorchard, Thomas Emter, Peter Mortimer, Dominik Kleiser
Package Dependencies
Deps | Name |
---|---|
message_generation | |
catkin | |
message_runtime | |
roscpp | |
nodelet | |
std_msgs | |
sensor_msgs | |
diagnostic_msgs | |
image_transport | |
camera_info_manager | |
dynamic_reconfigure | |
tf | |
tf2_ros |
System Dependencies
Name |
---|
aravis-dev |
libglib-dev |
aravis |
Dependant Packages
Launch files
- launch/camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: ]
- pixel_format [default: BGR8]
- width [default: 640]
- height [default: 480]
- fps [default: 25]
- verbose [default: false]
- launch/multisource_camera_aravis.launch
-
- load_manager [default: true]
- manager_name [default: camera_manager]
- manager_threads [default: 4]
- sensor_name [default: aravis_cam]
- serial_no [default: ]
- camera_info_url [default: file://$(find camera_aravis)/launch/calib_vis.yaml,file://$(find camera_aravis)/launch/calib_nir.yaml]
- channel_names [default: vis,nir]
- pixel_format [default: BayerRG8,Mono8]
- width [default: 2048]
- height [default: 1536]
- fps [default: 10]
- launch/respawning_camera_aravis.launch