This is the pylon device for YARP. It supports the Basler cameras.
The Basler™ cameras currently compatible with YARP are:
This software may be modified and distributed under the terms of the BSD-3-Clause license. See the accompanying LICENSE file for details.
The pylonCamera device uses the pylon sdk, released under the pylon license. See the relative documentation for the terms of the license.
Before proceeding further, please install the following dependencies:
- Nvidia JetPack ver 4.4.1 supported for Basler cameras.
- YARP 3.5 or greater
- pylon by Basler ver 7.1.0
- OpenCV ( + CUDA optional)
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=<installation_path> ..
make
make install
In order to make the device detectable, add <installation_path>/share/yarp
to the YARP_DATA_DIRS
environment variable of the system.
Alternatively, if YARP
has been installed using the robotology-superbuild, it is possible to use <directory-where-you-downloaded-robotology-superbuild>/build/install
as the <installation_path>
.
From command line:
yarpdev --device frameGrabber_nws_yarp --subdevice pylonCamera --name /right_cam --serial_number 1234567 --period 0.033 --width 640 --height 480 --rotation 90.0
or
yarpdev --from PylonConf.ini
Where PylonConf.ini
:
device frameGrabber_nws_yarp
subdevice pylonCamera
name /right_cam
serial_number 1234567
period 0.033
width 640
height 480
rotation 90.0
This is instead the minimum number of parameters for running the device, the default nws is frameGrabber_nws_yarp
:
yarpdev --device pylonCamera --serial_number 1234567
This device driver exposes the yarp::dev::IFrameGrabberImage
and
yarp::dev::IFrameGrabberControls
interfaces to read the images and operate on
the available settings.
See the documentation for more details about each interface.
YARP device name | YARP default nws |
---|---|
pylonCamera |
frameGrabber_nws_yarp |
The parameters accepted by this device are:
Parameter name | SubParameter | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|---|
serial_number | - | int | - | - | Yes | Serial number of the camera to be opened | |
period | - | double | s | 0.0333 | No | Refresh period of acquistion from the camera in s | The cameras has a value cap for the acquisition framerate, check the documentation |
rotation | - | double | degrees | 0.0 | No | Rotation applied from the center of the image | Depending the size requested some rotations are not allowed. The rotation worse the performance of the device. Allowed values: 0.0, 90.0, -90.0, 180.0. |
width | - | uint | pixel | 640 | No | Width of the images requested to the camera | The cameras has a value cap for the width of the image that can provide, check the documentation. Zero or negative value not accepted |
height | - | uint | pixel | 480 | No | Height of the images requested to the camera | The cameras has a value cap for the width of the image that can provide, check the documentation. Zero or negative value not accepted |
rotation_with_crop | - | bool | - | false | No | The rotation, if the param is true, is obtained swapping x with y | The image will have a resolution swapper respect to what is requested |
Suggested resolutions
resolution | carrier | fps |
---|---|---|
640x480 | mjpeg | 30 |
1024x768 | mjpeg | 30 |
1920x1080 | mjpeg | 30 (Xavier NX) - 20 (Nano) |
This page contains useful informations for developers.
Board install informations this page contains the procedure for install the Xavier board and Quark carrier.
This repository is maintained by:
@Nicogene | @triccyx |