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 installIn 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.0or
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.0This 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 |
