FLIR Blackfly S
Item Numbers
Description | CPR Item | Sales Kit | Installation Kit, With Fasteners |
---|---|---|---|
FLIR Blackfly sensor | Many options | 027118 | 027218 |
Specifications
Description | Value |
---|---|
Mass, Camera | 53 g |
Voltage, Minimum | 8 V or USB |
Voltage, Maximum | 24 V or USB |
Power, Average | 4.2 W |
Data | GigE or USB3 |
Resolution | 0.4 - 24.5 MP (depending on model) |
Frame Rate | 15 - 552 FPS |
Operating Temperature, Min | 0°C |
Operating Temperature, Max | 50°C |
Software Bringup
This sensor is included in the Clearpath Robotics robot package that is installed on all of our robots. This allows you to add or remove the sensor from your robot's software description by modifying the robot configuration yaml.
|
Package and Setup
The Flir Blackfly cameras use the spinnaker_camera_driver
ROS 2 package. The driver is open source, maintained by the ROS community, and hosted on GitHub. The spinnaker_camera_driver
depends on the Spinnaker SDK, which is installed automatically alongside the package.
Before using the camera, the computer needs further setup. The setup can be done automatically using the linux setup script:
ros2 run spinnaker_camera_driver linux_setup_flir
Or, manually by following the instructions on the GitHub README.
For specifics on the way Clearpath's configuration system launches the camera, see the Flir Blackfly launch file and the default parameter file in clearpath_sensors
.
Serial Number
The serial_number
parameter must be set to successfully launch the node. The serial number can be found on the label on the camera. However, if this label is not available and the camera is a USB camera, connect the camera to the computer and use lsusb
to its three digit Bus
and Device
number. Then, find the serial number using the following command, replacing BUS
and DEV
with the three digit numbers found in the previous step:
udevadm info --attribute-walk /dev/bus/usb/BUS/DEV | grep -i serial
The resulting output of the command should appear as:
ATTR{serial}=="013686A9"
Then, convert attribute serial hexadecimal value to decimal representation and set it to the serial_number
parameter. Convert values from hexadecimal to decimal representation using the following terminal command, where HEX
needs to be swapped with the hexadecimal value:
echo $((16#HEX))
For the example above, the hexadecimal serial number 013686A9
would be converted to 20350633
. Use the decimal representation to set the parameter: serial_number: 20350633
.
Resolution
The image_height
and image_width
parameters define the area of the raw image to crop. It does not downsample the image. Use the offset_x
and offset_y
parameters to change the origin of the cropped area. These parameters would be best used to define an area of interest.
To reduce the size of the image using downsampling, use the binning_x
and binning_y
parameters. These parameters define the number of pixels that will be binned together in each axis. If both binning_x
and binning_y
are set to 2
, then the resolution of the image will be quartered.
Reducing the resolution of the image improves the performance of the camera driver and network transit of image packets.
Image Compression
By default, the camera feed is also available in compressed formats including compressed
(JPEG) and ffmpeg
(H.264). Each of these topics is made available by an image transport plugin. Which plugins are active can be controlled by adding the following ROS parameters to the Blackfly section of the robot.yaml
:
ros_parameters:
flir_blackfly:
serial_number: ''
image_debayer:
image_mono:
enable_pub_plugins:
- image_transport/compressed
- image_transport/ffmpeg
- image_transport/raw
image_color:
enable_pub_plugins:
- image_transport/compressed
- image_transport/ffmpeg
- image_transport/raw
FFMPEG Compression Settings
To modify the FFMPEG compression settings, add the following ROS parameters to the Blackfly section of the robot.yaml
:
ros_parameters:
flir_blackfly:
serial_number: ''
image_debayer:
ffmpeg_image_transport:
qmax: 40
preset: superfast
tune: zerolatency
bit_rate: 1000000
gop_size: 15
For documentation on these parameters see the ffmpeg_image_transport GitHub repo.
Troubleshooting
Clearpath is committed to your success. Please get in touch with us and we will do our best to get you rolling again quickly: support@clearpathrobotics.com.
To get in touch with a salesperson regarding Clearpath Robotics products, please email research-sales@clearpathrobotics.com.
If you have an issue that is specifically about ROS and is something which may be of interest to the broader community, consider asking it on https://robotics.stackexchange.com. If you do not get a satisfactory response, please ping us and include a link to your question as posted there. If appropriate, we will answer in the ROS Answers context for the benefit of the community.