Giter Club home page Giter Club logo

flir_adk_ethernet's Introduction

flir_adk_ethernet

Drivers for running FLIR ethernet interface cameras (BlackFly and Boson)

Getting Started

Prerequisites

  • ROS (ros-kinetic-desktop-full) or later
  • Spinnaker (download and install from FLIR website)
  • OpenCV2

Installation

To install the drivers, first navigate to your catkin workspace. If one does not exist, create one

mkdir -p ~/catkin_ws/src

Clone the repo and build

cd ~/catkin_ws/src
git clone <repo-url>
cd ~/catkin_ws
catkin_make
source devel/setup.sh

Running Launchers

Single camera

Connect a BlackFly camera and run

roslaunch flir_adk_ethernet blackfly.launch

If you have a Boson, run

roslaunch flir_adk_ethernet boson.launch

These examples include an image viewer. You should see window pop up with the streaming video displayed.

If you want to demo a Boson and a BlackFly running concurrently, run

roslaunch flir_adk_ethernet multiple_cameras.launch

If you want a demo of stereo vision, connect 2 BlackFlys. Get their IP addresses and modify launch/sync_camera.launch lines 11 and 12. For example, if the left IP address is 169.254.87.157 and the right is 169.254.82.142. Change the lines to:

<arg name="left_ip" default="169.254.87.157"/>
<arg name="right_ip" default="169.254.82.142"/>

Next run the node:

roslaunch flir_adk_ethernet sync_camera.launch

You should see 3 image panes appear: left, right and disparity

Parameters

  • frame_id (string)
    Identifier for publishing frames. Specific to the device
  • camera_type (string, accepted values: blackfly, boson)
    Which type of camera to which to connect. Only to be used if there is a single camera of this type connected
  • ip_addr (string)
    IP address of the camera to which to connect. Takes precedence over camera_type for connection. In the form e.g. 169.254.87.157
  • frame_rate (float)
    Publish rate of frames from the camera. Does not affect the actual capture rate of the cameras
  • video_format (string accepted values: MONO_8, MONO_16, COLOR_8)
    Pixel type for the image. Choices are mono 8 and 16 bit and 8 bit color. Note: Boson cannot change to COLOR_8 format
  • camera_info_url (string)
    Path to camera info file. This information will be published to the camera_info topic
  • width (int, optional)
    Width of the output image
  • height (int, optional)
    Height of the output image
  • xOffset (int, optional)
    Horizontal offset from left for the viewing window
  • yOffset (int, optional)
    Vertical offset from top for the viewing window

Subscribed topics

In order to control the camera(s) during operation, the nodes subscribe to topics where the user can send messages. Note: when using these with sub-namespaced nodes e.g. flir_adk_ethernet/left, then the topic will be under the sub-namespace

  • pixel_format (string, accepted values: MONO_8, MONO_16, COLOR_8)
    Same as video_format parameter
  • auto_ffc (bool)
    Sets Boson auto FFC on or off
  • ffc (command - no additional parameters)
    Triggers Boson shutter
  • set_node (key value pair)
    Sets Spinnaker node map to specified value. Warning: this is unstable. Any change to image size or format may result in a fatal error due to buffer sizes not resizing. Use set_roi or set_center_roi to change image size
  • set_roi (region of interest)
    Sets region of interest for the viewing window. Specify x_offset, y_offset, width and height
  • set_center_roi (region of interest)
    Sets region of interest to center of the max viewing window. Specify only width and height

Services

The nodes advertise services so that user can query them for information

  • get_node (string)
    Gets value of the Spinnaker node specified

sendCommand script

Included is a script that makes sending commands to the camera easier. Run sendCommand.

sendCommand <command> <command param> [args]

Commands:

autoFFC <setting>
set the auto FFC setting on Boson. Valid values are "true" or "false"

pixelFormat <setting>
set the pixel format. Valid values are "mono_8" and "mono_16" for Boson and, additionally, "color_8" for BlackFly

ffc
trigger shutter in Boson camera

nodeMap <node name> [value]
get or set node value. To get node value, only specify the node name. To set, specify the value to set. As mentioned above, this can cause unstable behavior. Do not change node values that would change the buffer size of the image (width, height, pixel format)

setROI <setting>
sets the viewing window within the entire scene of the camera view. Setting must be in the form e.g. "x_offset: 10, y_offset: 20, width: 400, height: 300"

setCenterROI <setting>
sets the viewing window to be centered within the camera view. Setting must be in the form e.g. "width: 400, height: 300"

Options:

-n <namespace> DEFAULT flir_adk
Specifies a namespace for the topic

-s <sub-namespace>
Specifies a sub-namespace for the topic. Typically left or right
e.g. topic is /flir_adk/left/pixel_format then run:
sendCommand pixelFormat mono_8 -n flir_adk -s left

flir_adk_ethernet's People

Contributors

anildhurjaty avatar jmuncaster avatar linknum23 avatar lohrer avatar pavanvempaty avatar robustify avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.