![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
Messages
Services
Plugins
Recent questions tagged spinnaker_sdk_camera_driver at Robotics Stack Exchange
![]() |
spinnaker_sdk_camera_driver package from spinnaker_sdk_camera_driver repospinnaker_sdk_camera_driver |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vikrant Shah
Authors
- Abhishek Bajpayee
- Pushyami Kaveti
- Vikrant Shah
spinnaker_sdk_camera_driver
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
Compatibility Matrix
| Spinnaker | Architecture | Ubnuntu 16.04 Xenial +
ROS Kinetic | Ubnuntu 18.04 Bionic +
ROS Melodic | Ubnuntu 20.04 Focal +
ROS Noetic |
|———–|:————:|:————————————–:|:————————————-:|:———————————–:|
| 1.17.0.23 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.17.0.23 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | AMD64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 1.24.0.60 | ARM64 | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| 2.0.0.147 | AMD64 | :heavy_check_mark: | :white_check_mark: | :heavy_minus_sign: |
| 2.0.0.147 | ARM64 | :heavy_check_mark: | | :heavy_minus_sign: |
| 2.2.0.48 | AMD64 | :heavy_minus_sign: | :heavy_check_mark: | :white_check_mark: |
| 2.2.0.48 | ARM64 | :heavy_minus_sign: | | |
| 2.3.0.77 | AMD64 | :heavy_minus_sign: | | :x: |
| 2.3.0.77 | ARM64 | :heavy_minus_sign: | :x: | |
:heavy_check_mark: Tested :heavy_minus_sign: Not Applicable :white_check_mark: Reported to work :x: Known compatibility Issue
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The pre-requisites for this repo include:
- ros-kinetic-desktop-full
- spinnaker (download from Pt Grey’s website)
- ros-kinetic-cv-bridge
- ros-kinetic-image-transport
After installing spinnaker, Verify that you can run your cameras with SpinView.
For x86_64 or x86_32 architecture, install the following:
- libunwind-dev
# after installing ros, install other pre-requisites with:
sudo apt install libunwind-dev ros-kinetic-cv-bridge ros-kinetic-image-transport
For arm64 (aarch64) architecture, install pre-requisites with:
sudo apt install ros-kinetic-cv-bridge ros-kinetic-image-transport
Installing
To install this spinnaker_sdk_camera_driver
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
# add this to ~/.bashrc to make this permanent
Running the drivers
Modify the params/test_params.yaml
file replacing the cam-ids and master cam serial number to match your camera’s serial number. Then run the code as:
# To launch nodelet verison of driver, use #
roslaunch spinnaker_sdk_camera_driver acquisition.launch
# To launch node version of driver, use #
roslaunch spinnaker_sdk_camera_driver node_acquisition.launch
# Test that the images are being published by running
rqt_image_view
Parmeters
All the parameters can be set via the launch file or via the yaml config_file. It is good practice to specify all the ‘task’ specific parameters via launch file and all the ‘system configuration’ specific parameters via a config_file.
Task Specific Parameters
- ~binning (int, default: 1)
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged - ~color (bool, default: false)
Should color images be used (only works on models that support color images) - ~exposure_time (int, default: 0, 0:auto)
Exposure setting for cameras, also available as dynamic reconfiguarble parameter. - ~external_trigger (bool, default: false)
Camera triggering setting when using an external trigger. In this mode, none of the cameras would be set as a master camera. All cameras are setup to use external trigger. In this mode the main loop runs at rate set by soft_framerate, so if the external trigger rate is higher than the soft_framerate, the buffer will get filled and images will have a lag. Also in this mode, the getnextimage timeout is set to infinite so that the node dosen’t die if a trigger is not received for a while. - ~target_grey_value (double, default: 0 , 0:Continous/auto) Setting target_grey_value > 4 (min:4 , max:99) will turn AutoExposureTargetGreyValueAuto to ‘off’ and set AutoExposureTargetGreyValue to target_grey_value. Also available as dynamic reconfigurable parameter. see below in Dynamic reconfigurable parameter section.
- ~frames (int, default: 50)
Number of frames to save/view 0=ON - ~live (bool, default: false)
Show images on screen GUI - ~live_grid (bool, default: false)
Show images on screen GUI in a grid
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
nodelet | |
catkin | |
message_runtime | |
roscpp | |
std_msgs | |
cv_bridge | |
image_transport | |
sensor_msgs |
System Dependencies
Name |
---|
libunwind-dev |
Dependant Packages
Launch files
- launch/acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array
- launch/acquisition_external_trigger.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: true] — External trigger (No camera is master)
- gain [default: 0] — Gain setting. Gain should be positive (full range - 0 - 18 dB for blackfly-s camera) or zero (auto gain). if gain > max, it will be set to max allowed value. Default is 0, auto gain which is set according to target grey value or autoexposure settings
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter. This parameter has no meaning when auto exposure and auto gain are off
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 30] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- manager [default: vision_nodelet_manager] — name of the nodelet manager, comes handy when launching multiple nodelets from different launch files
- external_manager [default: false] — If set to False(default), creates a nodelet manager with $(arg manager). If True, the acquisition/Capture waits for the nodelet_manager name $(arg manager)
- tf_prefix [default: ] — will prefix (arg tf_prefix)/ to existing frame_id in Image msg and camerainfo msg
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/external_trigger_params.yaml] — File specifying the parameters of the camera_array
- launch/multiple_nodelet_example.launch
-
- robot_ns [default: $(optenv ROBOT_NAME uas2)]
- vision_nm [default: vision_nodelet_manager_ext] — name of the nodelet manager
- camera_tf_prefix [default: ]
- launch/node_acquisition.launch
-
- binning [default: 1] — Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
- color [default: false] — Should color images be used (only works on models that support color images)
- exposure_time [default: 0] — Exposure_time setting for cameras
- external_trigger [default: false] — External trigger (No camera is master)
- target_grey_value [default: 0] — AutoExposureTargetGreyValue min: 4 max: 99 if set below 4, AutoExposureTargetGreyValueAuto will be set to continuous(auto) also available as dynamic reconfigurable parameter
- frames [default: 3400] — Numer of frames to save/view 0=ON
- live [default: false] — Show images on screen GUI
- live_grid [default: false] — Show images on screen GUI in a grid
- output [default: screen] — display output to screen or log file
- save [default: false] — flag whether images should be saved or not
- save_path [default: ~] — location to save the image data
- save_type [default: bmp] — Type of file type to save to when saving images locally: binary, tiff, bmp, jpeg etc.
- soft_framerate [default: 20] — When hybrid software triggering is used, this controls the FPS, 0=as fast as possible
- time [default: false] — Show time/FPS on output
- to_ros [default: true] — Flag whether images should be published to ROS
- utstamps [default: false] — Flag whether each image should have Unique timestamps vs the master cams time stamp for all
- max_rate_save [default: false] — Flag for max rate mode which is when the master triggerst the slaves and saves images at maximum rate possible
- tf_prefix [default: ]
- config_file [default: $(find spinnaker_sdk_camera_driver)/params/test_params.yaml] — File specifying the parameters of the camera_array