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 |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
spinnaker_sdk_camera_driver | 1.1.1 |
README
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