Giter VIP home page Giter VIP logo

pylon_camera's Introduction

New Official Version of Driver available

The new official driver (an extended version of this package with some bug-fixes and new functionality) is available at https://github.com/basler/pylon-ros-camera.

ROS-Driver for Basler Cameras

developed by Magazino GmbH, using the pylon Software Camera Suite by Basler AG

This package offers many functions of the Basler pylon API inside the ROS-Framwork.

The package supports Baslers USB 3.0, GigE as well as the DART cameras.

Images can continuously be published over /image_raw or the /image_rect topic. The latter just in case the intrinsic calibration matrices are provided through the camera_info_url parameter.

The camera-characteristic parameter such as hight, width, projection matrices and camera_frame were published over the /camera_info topic. Furthermore an action-based image grabbing with desired exposure, gain, gamma and / or brightness is provided. Hence one can grab a sequence of images with above target settings as well as a single image.

Adapting camera's settings regarding binning (in x and y direction), exposure, gain, gamma and brightness can be done using provided 'set_*' services. These changes effect the continuous image acquisition and hence the images provided through the image topics.

The default node operates in Software-Trigger Mode. This means that the image acquisition is triggered with a certain rate and the camera is not running in the continuous mode.

The package opens either a predefined camera (using a given 'device_user_id' parameter) or, if no camera id is predefined the first camera device it can find.


Installation

The package has been tested for ROS-Indigo and ROS-Kinetic.

The pylon_camera-pkg requires the pylonSDK to be installed on your system. Please download and install the pylon debian package for your architecture from:

https://www.baslerweb.com/de/support/downloads/downloads-software/

In order to build the package, you need to configure rosdep (i.e. the ROS command-line tool for checking and installing system dependencies for ROS packages) such that it knows how to resolve this dependency. This can be achieved by executing the following commands:

sudo sh -c 'echo "yaml https://raw.githubusercontent.com/magazino/pylon_camera/indigo-devel/rosdep/pylon_sdk.yaml " > /etc/ros/rosdep/sources.list.d/15-plyon_camera.list'

rosdep update

Then, clone the pylon_camera-pkg, and the camera_control_msgs-pkg and install the pylon SDK in your catkin_ws:

cd ~/catkin_ws/src/ && git clone https://github.com/magazino/pylon_camera.git && git clone https://github.com/magazino/camera_control_msgs.git

rosdep install --from-paths . --ignore-src --rosdistro=$ROS_DISTRO -y

Build the pylon_camera package as you would build a standard ROS-package unsing p.e.

cd ~/catkin_ws && catkin_make


Parameters

All parameters are listed in the default config file: config/default.yaml

Common parameters

  • camera_frame The tf frame under which the images were published
  • device_user_id The DeviceUserID of the camera. If empty, the first camera found in the device list will be used
  • camera_info_url The CameraInfo URL (Uniform Resource Locator) where the optional intrinsic camera calibration parameters are stored. This URL string will be parsed from the CameraInfoManager: http://docs.ros.org/api/camera_info_manager/html/classcamera__info__manager_1_1CameraInfoManager.html#details
  • image_encoding The encoding of the pixels -- channel meaning, ordering, size taken from the list of strings in include/sensor_msgs/image_encodings.h. The supported encodings are 'mono8', 'bgr8', 'rgb8', 'bayer_bggr8', 'bayer_gbrg8' and 'bayer_rggb8'. Default values are 'mono8' and 'rgb8'
  • binning_x & binning_y Binning factor to get downsampled images. It refers here to any camera setting which combines rectangular neighborhoods of pixels into larger "super-pixels." It reduces the resolution of the output image to (width / binning_x) x (height / binning_y). The default values binning_x = binning_y = 0 are considered the same as binning_x = binning_y = 1 (no subsampling).
  • downsampling_factor_exposure_search To speed up the exposure search, the mean brightness is not calculated on the entire image, but on a subset instead. The image is downsampled until a desired window hight is reached. The window hight is calculated out of the image height divided by the downsampling_factor_exposure search
  • frame_rate The desired publisher frame rate if listening to the topics. This parameter can only be set once at start-up. Calling the GrabImages-Action can result in a higher frame rate.
  • shutter_mode Set mode of camera's shutter if the value is not empty. The supported modes are 'rolling', 'global' and 'global_reset'. Default value is '' (empty)

Image Intensity Settings

The following settings do NOT have to be set. Each camera has default values which provide an automatic image adjustment resulting in valid images

  • exposure The exposure time in microseconds to be set after opening the camera.
  • gain The target gain in percent of the maximal value the camera supports. For USB-Cameras, the gain is in dB, for GigE-Cameras it is given in so called 'device specific units'.
  • gamma Gamma correction of pixel intensity. Adjusts the brightness of the pixel values output by the camera's sensor to account for a non-linearity in the human perception of brightness or of the display system (such as CRT).
  • brightness The average intensity value of the images. It depends the exposure time as well as the gain setting. If 'exposure' is provided, the interface will try to reach the desired brightness by only varying the gain. (What may often fail, because the range of possible exposure values is many times higher than the gain range). If 'gain' is provided, the interface will try to reach the desired brightness by only varying the exposure time. If 'gain' AND 'exposure' are given, it is not possible to reach the brightness, because both are assumed to be fix.
  • brightness_continuous Only relevant, if 'brightness' is set: The brightness_continuous flag controls the auto brightness function. If it is set to false, the brightness will only be reached once. Hence changing light conditions lead to changing brightness values. If it is set to true, the given brightness will be reached continuously, trying to adapt to changing light conditions. This is only possible for values in the possible auto range of the pylon API which is e.g. [50 - 205] for acA2500-14um and acA1920-40gm
  • exposure_auto & gain_auto Only relevant, if 'brightness' is set: If the camera should try to reach and / or keep the brightness, hence adapting to changing light conditions, at least one of the following flags must be set. If both are set, the interface will use the profile that tries to keep the gain at minimum to reduce white noise. The exposure_auto flag indicates, that the desired brightness will be reached by adapting the exposure time. The gain_auto flag indicates, that the desired brightness will be reached by adapting the gain.

Optional and device specific parameter

  • gige/mtu_size The MTU size. Only used for GigE cameras. To prevent lost frames configure the camera has to be configured with the MTU size the network card supports. A value greater 3000 should be good (1500 for RaspberryPI)
  • gige/inter_pkg_delay The inter-package delay in ticks. Only used for GigE cameras. To prevent lost frames it should be greater 0. For most of GigE-Cameras, a value of 1000 is reasonable. For GigE-Cameras used on a RaspberryPI this value should be set to 11772.

Usage

The pylon_camera_node can be started over the launch file which includes a config file with desired parameters as frame rate or exposure time

roslaunch pylon_camera pylon_camera_node.launch or rosrun pylon_camera pylon_camera_node

Images were only published if another node connects to the image topic. The published images can be seen using the image_view node from the image_pipeline stack:

rosrun image_view image_view image:=/pylon_camera_node/image_raw

Questions

Please provide your questions via http://answers.ros.org/questions/ and tag them with pylon_camera

pylon_camera's People

Contributors

csukuangfj avatar g-gemignani avatar lalten avatar mehditlili avatar mgrrx avatar plieningerweb avatar uliklank avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pylon_camera's Issues

White Balance disabling?

I connected a Basler acA1920-40uc USB3 camera and set up a profile on the cam in the pylon camera suite utility, among others enabling White Balance.

When running the pylon_camera stack, somehow this setting gets overwritten even if I remove this option from the yaml config file entirely, and the camera drops back into a non-white balanced image.

Is there any way to have the stack not modifying the internal camera params / overriding their settings there with the stack's defaults? Am I using it wrong?

Use standard topics for camera drivers

Usually nodes publish using the public node handle, and use the private node handle only for looking up parameters. This creates problems when trying to use image_proc. The normal setup would be to start the camera driver (this package) as a nodelet in a namespace, and image_proc nodelets in the same namespaces. the image proc nodelets expect raw images on "image_raw, the camera driver nodelet publishes them on "image_raw", and you end up with a nice neat set of topics:

<camera_namespace>/image_raw # published by pylon_camera nodelet
<camera_namespace/camera_info # published by pylon_camera nodelet
<camera_namespace>/image_rect  # published by image_proc nodelet
<camera_namespace>/image_mono # published by debayering nodelet from image_proc 
<camera_namespace>/image_color # published by debayering nodelet from image_proc 

But because pylon_camera advertises image_raw using a private nodehandle, we end up with

<camera_namespace>/<node_name>/image_raw

It's probably possible to workaround this with remappings, but I think it would be better to use a public node handle.

Problem with Jetson Nano

Hello.
I'm using Jetson Nano and Basler camera acA1300-30gc.

Actually, I've been using well this package with Jetson TX2.
However it didn't work with Jetson Nano.

Please refer below error messages.

Thanks!

... logging to /home/ubuntu/.ros/log/dcc3f7da-2887-11ea-9436-00044be6c7ed/roslaunch-ubuntu-desktop-10441.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ubuntu-desktop:34025/

SUMMARY
========

PARAMETERS
 * /pylon_camera_node/camera_frame: pylon_camera
 * /pylon_camera_node/camera_info_url: 
 * /pylon_camera_node/device_user_id: 
 * /pylon_camera_node/enable_current_params_publisher: True
 * /pylon_camera_node/enable_status_publisher: True
 * /pylon_camera_node/frame_rate: 15
 * /pylon_camera_node/gige/mtu_size: 1500
 * /pylon_camera_node/image_encoding: bayer_bggr8
 * /pylon_camera_node/startup_user_set: CurrentSetting
 * /rosdistro: melodic
 * /rosversion: 1.14.3

NODES
  /
    pylon_camera_node (pylon_camera/pylon_camera_node)

ROS_MASTER_URI=http://localhost:11311

process[pylon_camera_node-1]: started with pid [10458]
[ WARN] [1577437488.338045204]: Autoflash: 0, line2: 1 , line3: 1 
[ INFO] [1577437488.339996212]: No Device User ID set -> Will open the camera device found first
[ INFO] [1577437488.610115520]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437488.617584702]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437488.871814597]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437488.879322633]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437490.618761638]: using default calibration URL
[ INFO] [1577437490.619022994]: camera calibration URL: file:///home/ubuntu/.ros/camera_info/camera.yaml
[ INFO] [1577437490.619695136]: Unable to open camera calibration file [/home/ubuntu/.ros/camera_info/camera.yaml]
[ WARN] [1577437490.620089775]: Camera calibration file /home/ubuntu/.ros/camera_info/camera.yaml not found.
[ INFO] [1577437490.877369905]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437490.884735649]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437492.876095152]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437492.885041848]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437494.878154857]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437494.887480149]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437496.877581308]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437496.881910878]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437498.881967856]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437498.889893709]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437500.884021831]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437500.886008255]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437502.883671982]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437502.889633442]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437504.877274110]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437504.883623855]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ WARN] [1577437504.883807346]: No camera present. Keep waiting ...
[ INFO] [1577437506.875376226]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437506.879602098]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437508.871646764]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437508.874922939]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437510.872404633]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437510.878398281]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437512.882730452]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437512.890100414]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437514.882350600]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437514.893500336]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437516.882983935]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437516.894527112]: An exception while opening the desired camera with DeviceUserID:  occurred: 
Failed to create embedded nodemap 'GigEStreamParams'.
[ INFO] [1577437518.884637071]: Found camera with DeviceUserID : acA1300-30gc
[ERROR] [1577437518.894909611]: An exception while opening the desired camera with DeviceUserID:  occurred: 

Default config/MTU problem

Maybe I'm just too inexperienced with YAML, but I had great trouble tracking down the reason why I couldn't get my GigE camera to work. It turned out that the MTU had to go down to the (common) 1500 - the current default is 3000:

I wanted to just use the provided default config file so my intuition was to uncomment both GigE parameters by uncommenting the following four lines:

# gige:
# mtu_size: 3000
# Only used for GigE cameras.
# The inter-package delay in ticks to prevent lost frames.
# For most of GigE-Cameras, a value of 1000 is reasonable.
# For cameras used on a RaspberryPI this value should be set to 11772.
# gige:
# inter_pkg_delay: 1000

But then the problem is that the "nesting" can only be done once, i.e. the twofold appearance of gige: makes the node only load the last setting (the packet delay).

A suggested fix would be to simply remove line 118.

How to set ROI?

I would like to use ROI to get a smaller focus portion of the image, in hope to has less data to pack and unpack, hence increase performance (lower latency). I see that is an available option on the camera message but how do I set this? And if i use this, would it affect the latency in the negative way since introduce extra process to pylon camera node?

Hope for some input. Thanks!

Error Payload data on publish images

Hi, I newer in pylon_camera node. I'm try to connect a Basler daA1280 USB3.0 in USB2.0. Pylon Viewer and ROS node run ok but when I run rqt_image_view to watch the image, the pylon node show this error message:

Pylon camera returned invalid image! Skipping
Error: 3791651346 Payload data has been discarded. Payload data can be discarded by the camera device if the available bandwidth is insufficient.
Error: Grab was not successful

If I run first rqt_image_view and then pylon_camera_node, the error does not appear. Why?

Thanks in advanced

Basler Camera requires Dockercontainer restart

Whenever the rosrun pylon_camera pylon_camera_node ... get's interupted (Ctrl + c) the Dockercontainer has to be restarted (not rebuild).
Otherwise the camera will not be detected again and no messages will be published.

Used Camera: Basler acA2440 - 75 uc
Used with Basler Sdk 6.2

Node is not writable

When I use the pylon 5.10 on windows 10 32bit for an aca basler 60uc, it throws me an exception "then node is not writable " when I use linemode.setvalue.

Please let me know if there is a solution for that problem.

How to use stereo camera

I want to open two same type of camera at the same time as the stereo system. How should I use this driver?

unable to process source

Hi,

I am trying to install pylon_camera SDK, but I got the error when I ran 'rosdep update'

ERROR: unable to process source [https://raw.githubusercontent.com/magazino/pylon_camera/kinetic-devel/rosdep/pylon_sdk.yaml]:

I am using kinetic so I replaced 'indigo' with 'kinetic'. that's it.

What is the problem?

Visual artifacts on image_rect ROS topic when using "bayer_rggb8" encoding

When ROS-Driver for Basler Cameras is configured to use bayer_bggr8 efficient encoding, visual artifacts appear in rectified images. Image stream on image_raw topic is OK in both cases.

What is the root cause of this issue?

Attached:

  1. example of a problematic image from image_rect topic when in .yaml file
    image_encoding: "bayer_rggb8"
  2. image is OK when image_encoding: "rgb8" in yaml file.

bayer_rggb8
rgb8

Image quality

Hello guys,

I'm using the ROS pylon_camera package with a Basler acA4600-10uc and after taking some frames I notice that the image quality isn't the same as the PyloViewerApp (Pylo API Viewer), because the PylonViewer has a function named Automatic Image Adjustment, that basically changes the brightness parameters and also the auto white balance feature. The following images represent the difference:

With the PyloViewerApp Automatic Image Adjustment
With the Automatic Image Adjustment

ROS pylon_camera: without the Automatic Image Adjustment
Without the Automatic Image Adjustment

I'd like to know how to enable the auto white balance continuous mode in the ROS pylon_camera.

Thanks for the attention.

What is the best way to get snapshots from the package?

Hello guys,
I'm developing an application that needs to get some snapshots. I'm using a callback and a loop (along with a ros::spinOnce) to get the frames, but sometimes, maybe for the loop, the frames stop to arrived into the callback. Is there a way to improve this kind of operation?

Grab was not successful / Error: 3774873620 The buffer was incompletely grabbed.

I want to capture images from a Basler acA1300-60gm and the ROS pylon_camera node. I can open and control the camera with Pylon's PylonViewerApp. But when I'm starting the ROS node with roslaunch pylon_camera pylon_camera_node.launch I get error messages that the frames can't be grabbed:

started roslaunch server http://192.168.1.2:45055/

SUMMARY
========

PARAMETERS
 * /pylon_camera_node/binning_x: 2
 * /pylon_camera_node/binning_y: 2
 * /pylon_camera_node/camera_frame: pylon_camera_node
 * /pylon_camera_node/camera_info_url: 
 * /pylon_camera_node/device_user_id: 1
 * /pylon_camera_node/image_encoding: mono8
 * /pylon_camera_node/inter_pkg_delay: 11772
 * /rosdistro: kinetic
 * /rosversion: 1.12.7

NODES
  /
    pylon_camera_node (pylon_camera/pylon_camera_node)

auto-starting new master
process[master]: started with pid [10507]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to ba1098f6-28e9-11e7-84cf-f44d30679130
process[rosout-1]: started with pid [10520]
started core service [/rosout]
process[pylon_camera_node-2]: started with pid [10529]
binning x is given and has value 2
binning y is given and has value 2
[ INFO] [1493036997.880801762]: Trying to open the following camera: 1
[ INFO] [1493036998.138585721]: Found the desired camera with DeviceUserID 1: acA1300-60gm
[ INFO] [1493036998.407568803]: Cam has binning range: x(hz) = [1 - 4], y(vt) = [1 - 4].
[ INFO] [1493036998.408075961]: Cam has exposure time range: [10 - 916000] measured in microseconds.
[ INFO] [1493036998.408277173]: Cam has gain range: [0 - 3] measured in device specific units.
[ INFO] [1493036998.411048207]: Cam has gammma range: [0 - 3.99998].
[ INFO] [1493036998.412463342]: Cam has pylon auto brightness range: [50 - 205] which is the average pixel intensity.
[ INFO] [1493036998.429420227]: Cam supports the following [GenAPI|ROS] image encodings: ['Mono8'|'mono8'] ['Mono12'|'NO_ROS_EQUIVALENT'] ['Mono12Packed'|'NO_ROS_EQUIVALENT'] ['YUV422Packed'|'NO_ROS_EQUIVALENT'] ['YUV422_YUYV_Packed'|'NO_ROS_EQUIVALENT'] 
[ERROR] [1493036998.676944253]: Error: 3774873620 The buffer was incompletely grabbed. This can be caused by performance problems of the network hardware used, i.e. network adapter, switch, or ethernet cable. To fix this, try increasing the camera's Inter-Packet Delay in the Transport Layer category to reduce the required bandwidth, and adjust the camera's Packet Size setting to the highest supported frame size.
[ INFO] [1493036998.729242950]: CameraInfoURL needed for rectification! ROS-Param: '/pylon_camera_node/camera_info_url' = '' is invalid!
[ WARN] [1493036998.729288645]: Will only provide distorted /image_raw images!
[ INFO] [1493036998.777814074]: Setting horizontal binning_x to 2
[ WARN] [1493036998.777900512]: The image width of the camera_info-msg will be adapted, so that the binning_x value in this msg remains 1
[ INFO] [1493036998.834390106]: Setting vertical binning_y to 2
[ WARN] [1493036998.834634538]: The image height of the camera_info-msg will be adapted, so that the binning_y value in this msg remains 1
[ INFO] [1493036998.839134313]: Startup settings: encoding = 'mono8', binning = [2, 2], exposure = 5000, gain = 0, gamma = 1, shutter mode = default_shutter_mode
[ INFO] [1493036998.840824354]: Start image grabbing if node connects to topic with a frame_rate of: 5 Hz
[ INFO] [1493036998.841150046]: Camera not calibrated

When I start the ROS image viewer rosrun image_view image_view image:=/pylon_camera_node/image_raw I dont't get images but more error messages from the pylon_camera_node:

[ WARN] [1493037429.575879168]: Pylon camera returned invalid image! Skipping
[ERROR] [1493037429.784726148]: Error: 3774873620 The buffer was incompletely grabbed. This can be caused by performance problems of the network hardware used, i.e. network adapter, switch, or ethernet cable. To fix this, try increasing the camera's Inter-Packet Delay in the Transport Layer category to reduce the required bandwidth, and adjust the camera's Packet Size setting to the highest supported frame size.
[ERROR] [1493037429.784979476]: Error: Grab was not successful
[ WARN] [1493037429.785294487]: Pylon camera returned invalid image! Skipping
[ERROR] [1493037430.034649674]: Error: 3774873620 The buffer was incompletely grabbed. This can be caused by performance problems of the network hardware used, i.e. network adapter, switch, or ethernet cable. To fix this, try increasing the camera's Inter-Packet Delay in the Transport Layer category to reduce the required bandwidth, and adjust the camera's Packet Size setting to the highest supported frame size.
[ERROR] [1493037430.034807885]: Error: Grab was not successful

I tried different settings for packet delay, binning, framerate and PoE switch/PoE inserter but it's alway the same problem. After i started and closed the roslauncher I can't open the camera with PylonViewerApp until I replugged the device. The app prints these error messages to console:

Failed to get the node 'AcquisitionFrameRate' from the device's nodemap
Error while reading properties
onUpdateNode :  Exception occurred:
 Node is not readable. 
 /home/builder/jenkins_root/workspace/PylonLinux_ReleaseBuild/linux-build-tools/build/lsb-gcc-x86_64-release/build/genicam/Genicam/library/CPP/include/GenApi/impl/EnumerationT.h : 131 

Error while reading properties
onUpdateNode :  Exception occurred:
 Node is not readable. 
 /home/builder/jenkins_root/workspace/PylonLinux_ReleaseBuild/linux-build-tools/build/lsb-gcc-x86_64-release/build/genicam/Genicam/library/CPP/include/GenApi/impl/EnumerationT.h : 131

Any idea what's wrong?

Very low frame rate in ROS

Hi,
I have the a2A 1920-160ucBAS. I made all my settings in the pylon viewer and loaded the custom user set. In the pylon viewer, I get a FPS of around 150.

When I run the camera with the default settings, I get a super low framerate of only ~3.3. I would like to get a FPS of 30.

Here the logging when the camera starts.

SUMMARY
========

PARAMETERS
 * /pylon/camera_frame: camera_link
 * /pylon/camera_info_url: 
 * /pylon/device_user_id: 
 * /pylon/enable_current_params_publisher: True
 * /pylon/enable_status_publisher: True
 * /pylon/frame_rate: 30.0
 * /pylon/gige/mtu_size: 1500
 * /pylon/image_encoding: rgb8
 * /pylon/shutter_mode: global
 * /pylon/startup_user_set: CurrentSetting
 * /rosdistro: melodic
 * /rosversion: 1.14.10

NODES
  /
    pylon (pylon_camera/pylon_camera_node)

auto-starting new master
process[master]: started with pid [8049]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 5f87ba20-f43e-11eb-a05f-803253f0b437
process[rosout-1]: started with pid [8061]
started core service [/rosout]
process[pylon-2]: started with pid [8064]
[ WARN] [1627983430.598945296]: Autoflash: 0, line2: 1 , line3: 1 
[ INFO] [1627983430.599907126]: No Device User ID set -> Will open the camera device found first
[ INFO] [1627983430.912784193]: Found camera with DeviceUserID : a2A1920-160ucBAS
[ WARN] [1627983431.243624701]: No User Set Is selected, Camera current setting will be used
[ INFO] [1627983431.249538957]: Cam supports the following [GenAPI|ROS] image encodings: ['Mono8'|'mono8'] ['Mono12'|'mono16'] ['Mono12p'|'NO_ROS_EQUIVALENT'] ['RGB8'|'rgb8'] ['BGR8'|'bgr8'] ['YCbCr422_8'|'NO_ROS_EQUIVALENT'] ['BayerRG8'|'bayer_rggb8'] ['BayerRG12'|'bayer_rggb16'] ['BayerRG12p'|'NO_ROS_EQUIVALENT'] 
[ WARN] [1627983431.338918721]: [] name not valid for camera_info_manager
[ INFO] [1627983431.367113432]: CameraInfoURL needed for rectification! ROS-Param: '/pylon/camera_info_url' = '' is invalid!
[ WARN] [1627983431.367213801]: Will only provide distorted /image_raw images!
[ INFO] [1627983431.370467192]: Startup settings: encoding = 'rgb8', binning = [1, 1], exposure = 5000, gain = 0.0208343, gamma = 1, shutter mode = global
[ INFO] [1627983431.370934833]: Start image grabbing if node connects to topic with a frame_rate of: 30 Hz
[ INFO] [1627983431.371208085]: Camera not calibrated

When I subscribe to the image topic via "rostopic hz /pylong/image_raw", I get only these values.

subscribed to [/pylon/image_raw]
average rate: 3.565
	min: 0.270s max: 0.286s std dev: 0.00715s window: 4
average rate: 3.326
	min: 0.270s max: 0.323s std dev: 0.02079s window: 7
average rate: 3.300
	min: 0.270s max: 0.337s std dev: 0.02161s window: 10
average rate: 3.280
	min: 0.270s max: 0.337s std dev: 0.01954s window: 13
average rate: 3.301
	min: 0.270s max: 0.337s std dev: 0.01963s window: 16
average rate: 3.304
	min: 0.251s max: 0.337s std dev: 0.02285s window: 20

Any ideas how to solve the problem?

Feature request: Support 12bit pixel depth

Currently only 8bit pixel depth is supported. The brightness / exposure search and different other functions are operating on values between 0 and 255. The support of 12bit pixel depth would need to template multiple functions that take uint8_t as default pixel type by taking into account the number of channels.

"startGrabbing: Node is not writable." in pylon_camera package

When I try to launch the pylon_camera node, I receive the following error:

startGrabbing: Node is not writable.

I traced through the code and found that an exception is thrown when the node is trying to set the PixelFormat to Mono8 using the setValue function in pylon_camera_base.hpp in the startGrabbing function.

I'm using the basler ace acA4600-7gc GigE camera with pylon 5 sdk. I can view the camera images and set camera parameters just fine using the PylonViewerApp.

http://answers.ros.org/question/237591/startgrabbing-node-is-not-writable-in-pylon_camera-package/

Problems with compiling

Hey, I've had some trouble while following the installation, the catkin workspace wouldn't compile. The errors I've had were as follows (this is during catkin_make)

[  1%] Built target geometry_msgs_generate_messages_lisp
[  1%] Built target geometry_msgs_generate_messages_nodejs
[  1%] Built target geometry_msgs_generate_messages_cpp
[  1%] Built target std_msgs_generate_messages_lisp
[  1%] Built target _catkin_empty_exported_target
/usr/bin/ld: cannot find -lpylonbase
/usr/bin/ld: cannot find -lpylonutility
/usr/bin/ld: cannot find -lGenApi_gcc_v3_0_Basler_pylon_v5_0
/usr/bin/ld: cannot find -lGCBase_gcc_v3_0_Basler_pylon_v5_0
[  1%] Built target geometry_msgs_generate_messages_eus
[  1%] Built target std_msgs_generate_messages_eus
collect2: error: ld returned 1 exit status
pylon_camera/CMakeFiles/write_device_user_id_to_camera.dir/build.make:94: recipe for target '/home/user/catkin_ws/devel/lib/pylon_camera/write_device_user_id_to_camera' failed
make[2]: *** [/home/user/catkin_ws/devel/lib/pylon_camera/write_device_user_id_to_camera] Error 1
CMakeFiles/Makefile2:2662: recipe for target 'pylon_camera/CMakeFiles/write_device_user_id_to_camera.dir/all' failed
[  1%] Built target std_msgs_generate_messages_cpp
make[1]: *** [pylon_camera/CMakeFiles/write_device_user_id_to_camera.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  1%] Built target std_msgs_generate_messages_py
[  1%] Built target geometry_msgs_generate_messages_py
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

What solved it for now(didn't launch it with camera yet, but it compiled)
was to change
this line
to
string(REPLACE "lib" "" LIBS_OUT "${LIBS_OUT}")

I don't know if this really solves the problem and doesn't create more problems, but it compiled, and I only saw a handful of people with this error I thought I should mention this.

Feature request: Automatic configuration in case multiple gige cameras are connected

This affects the applyCamSpecificStartupSettings() method in the pylon_camera_gige.hpp.
cam_->GevSCPSPacketSize.SetValue(parameters.mtu_size_); cam_->GevSCPD.SetValue(parameters.inter_pkg_delay_);
The inter-pkg-delay should be adapted but one has to figure out how this can be done. As far as I know, this depends the image size in bytes and the number of connected cameras. The mtu size might no longer be a required parameter, but can be read out of the network config instead. The number of connected cameras should be a parameter instead.
Further documentation can be found here

Grabbing image unsuccesfully

Hi,

I have a USB Basler camera and I need to use this package to grab the camera frames in ROS, but when I run the image_view node I cannot see anything from the pylon_camera_node.
Sometimes I also get an error about ¨Payload data has been discarded [...] Grab was not successful¨, that I think depend from some parameters. But even if I don´t have this error I cannot see anything with image_view.

How can I do with this problem?
I can see something when I use the pypylon wrapper (changing some parameters and getting very slow frame rates) but I really need to use the camera with ROS, so this package.

Thank you very much

CPU Usage

Hello,

Thanks for this great package!

I have run some tests to compare the CPU usage of the official pylonViewer and pylon_camera when grabbing images at a constant fps with a GigE camera. The difference is quite significant, see procedure and results below. What is causing such a difference? Could it be because "the default node operates in Software-Trigger Mode" in pylon_camera?

Settings (same settings for pylonViewer and pylon_camera):
Host computer: Ubuntu 16 kernel v4.4.0-generic
Network setup: Basler plugged straight into the ethernet port using a POE injector
NIC of the host computer: Intel I217-LM
Model: Basler ace GigE
Image encoding: BayerRG8
MTU: 9000 (set both on the camera and on the NIC of the host computer)
FPS: 15
Inter-packet delay: 0

top reports a CPU usage of:

  • ~6% when using pylonViewer (Bandwith Manager > start analysis)
  • ~55% when using pylon_camera

timestampt incorrect

i have basler ace 1920 um camera,the camera is in the front of cornomter with millsecond percision,the chunk timestampt is 40 millisecond gap between each frame but real image shows frames gap is not as same as chunk timestamp to be the same(fps is 25 and chunke timestamp gap is 40 msc),the gap between each image in reality is 10,5,60 and sometime 31,what is have to do?
i have real time application for measure speed of car then i need real timestampt of frame.
would you guy help me?

Frame rate

Hi,

The max frame rate I get from ros does not match to the specs and the frame rates I get from pylon Viewer. I have tried the latest version of the software on daA1280-54um, daA1600-60um and acA1920-150um.

The frame rate I get from acA1920-150um is similar to what I get if I set the Sensor Readout mode to Normal instead of Fast, thinking that they might be related. From the pylon Viewer I get 55,61 and 150 fps for daA1280-54um, daA1600-60um and acA1920-150um respectively.

Another issue is how can we call user set's savings from RoS driver ?

You can see the logs below.

[ INFO] [1507797817.641419408]: No Device User ID set -> Will open the camera device found first
[ INFO] [1507797817.896556001]: Found camera with DeviceUserID N/A: daA1280-54um
[ INFO] [1507797817.998186892]: Cam has binning range: x(hz) = [1 - 2], y(vt) = [1 - 1].
[ INFO] [1507797817.998315158]: Cam has exposure time range: [10 - 1e+06] measured in microseconds.
[ INFO] [1507797817.998395708]: Cam has gain range: [0 - 18.0278] measured in dB.
[ INFO] [1507797817.998464220]: Cam has gammma range: [0.25 - 2].
[ INFO] [1507797817.998532050]: Cam has pylon auto brightness range: [25.5 - 255] which is the average pixel intensity.
[ INFO] [1507797817.998619946]: Cam supports the following [GenAPI|ROS] image encodings: ['Mono8'|'mono8'] ['Mono12'|'NO_ROS_EQUIVALENT']
[ WARN] [1507797817.998670233]: No image encoding provided. Will use 'mono8' or 'rgb8' as fallback!
[ WARN] [1507797818.128703051]: [] name not valid for camera_info_manger
[ INFO] [1507797818.154810623]: CameraInfoURL needed for rectification! ROS-Param: '/pylon_camera_node/camera_info_url' = '' is invalid!
[ WARN] [1507797818.154909389]: Will only provide distorted /image_raw images!
[ INFO] [1507797818.155640757]: Startup settings: encoding = 'mono8', binning = [1, 1], exposure = 13936, gain = 0, gamma = 1, shutter mode = default_shutter_mode
[ INFO] [1507797818.156033256]: Desired framerate 250.00 is higher than max possible. Will limit framerate to: 25.98 Hz
[ INFO] [1507797818.157779322]: Start image grabbing if node connects to topic with a frame_rate of: 25.9781 Hz
[ INFO] [1507797818.157937063]: Camera not calibrated

################################################################################
process[pylon_camera_node-2]: started with pid [23327]
[ INFO] [1507797886.810743783]: No Device User ID set -> Will open the camera device found first
[ INFO] [1507797887.072757470]: Found camera with DeviceUserID N/A: daA1600-60um
[ INFO] [1507797887.176956446]: Cam has binning range: x(hz) = [1 - 2], y(vt) = [1 - 1].
[ INFO] [1507797887.177075819]: Cam has exposure time range: [10 - 850000] measured in microseconds.
[ INFO] [1507797887.177157287]: Cam has gain range: [0 - 24.0143] measured in dB.
[ INFO] [1507797887.177244584]: Cam has gammma range: [0.25 - 2].
[ INFO] [1507797887.177313752]: Cam has pylon auto brightness range: [25.5 - 255] which is the average pixel intensity.
[ INFO] [1507797887.177400277]: Cam supports the following [GenAPI|ROS] image encodings: ['Mono8'|'mono8'] ['Mono12'|'NO_ROS_EQUIVALENT']
[ WARN] [1507797887.177450890]: No image encoding provided. Will use 'mono8' or 'rgb8' as fallback!
[ WARN] [1507797887.252042106]: [] name not valid for camera_info_manger
[ INFO] [1507797887.281953281]: CameraInfoURL needed for rectification! ROS-Param: '/pylon_camera_node/camera_info_url' = '' is invalid!
[ WARN] [1507797887.282034605]: Will only provide distorted /image_raw images!
[ INFO] [1507797887.282734670]: Startup settings: encoding = 'mono8', binning = [1, 1], exposure = 16439, gain = 0.115184, gamma = 1, shutter mode = default_shutter_mode
[ INFO] [1507797887.283175592]: Desired framerate 250.00 is higher than max possible. Will limit framerate to: 30.43 Hz
[ INFO] [1507797887.285038575]: Start image grabbing if node connects to topic with a frame_rate of: 30.4294 Hz
[ INFO] [1507797887.285205456]: Camera not calibrated

################################################################################

setting /run_id to cad5a1ec-af29-11e7-bf71-80fa5b3aea6e
process[rosout-1]: started with pid [23569]
started core service [/rosout]
process[pylon_camera_node-2]: started with pid [23586]
[ INFO] [1507797969.940313059]: No Device User ID set -> Will open the camera device found first
[ INFO] [1507797970.201851175]: Found camera with DeviceUserID N/A: acA1920-150um
[ INFO] [1507797970.449816427]: Cam has binning range: x(hz) = [1 - 4], y(vt) = [1 - 4].
[ INFO] [1507797970.449944276]: Cam has exposure time range: [105 - 1e+06] measured in microseconds.
[ INFO] [1507797970.450052102]: Cam has gain range: [0 - 12.0092] measured in dB.
[ INFO] [1507797970.451102246]: Cam has gammma range: [0 - 3.99998].
[ INFO] [1507797970.452156586]: Cam has pylon auto brightness range: [50 - 205] which is the average pixel intensity.
[ INFO] [1507797970.454060802]: Cam supports the following [GenAPI|ROS] image encodings: ['Mono8'|'mono8'] ['Mono10'|'NO_ROS_EQUIVALENT'] ['Mono10p'|'NO_ROS_EQUIVALENT']
[ WARN] [1507797970.454128755]: No image encoding provided. Will use 'mono8' or 'rgb8' as fallback!
[ WARN] [1507797970.516184271]: [] name not valid for camera_info_manger
[ INFO] [1507797970.545051917]: CameraInfoURL needed for rectification! ROS-Param: '/pylon_camera_node/camera_info_url' = '' is invalid!
[ WARN] [1507797970.545127496]: Will only provide distorted /image_raw images!
[ INFO] [1507797970.548246829]: Startup settings: encoding = 'mono8', binning = [1, 1], exposure = 5000, gain = 0, gamma = 1, shutter mode = default_shutter_mode
[ INFO] [1507797970.548958100]: Desired framerate 250.00 is higher than max possible. Will limit framerate to: 112.50 Hz
[ INFO] [1507797970.551190612]: Start image grabbing if node connects to topic with a frame_rate of: 112.499 Hz
[ INFO] [1507797970.551330538]: Camera not calibrated

Increase image frame rate

Hello,
The camera I used is basler daA1600-60uc, USB interface, ROS is kinetic, when I use pylon viewer software to capture image with Bayer8 format, the frame rate can up to 60fps, but when I use this ROS package with bayer_rggb8 format , the output include this


Desired framerate 60.00 is higher than max possible. Will limit framerate to: 30.60 Hz

the image can capture normally, but the image topic only 25.4fps. How to increase the frame rate?
Thanks

Basler pulse

Does this package work with Basler pulse?

Thanks,
-P

Fix typo in Tutorial

Hey,
there is a typo in your tutorial over at http://wiki.ros.org/pylon_camera it says

/etc/ros/rosdep/sources.list.d/15-plyon_camera.list

instead of

/etc/ros/rosdep/sources.list.d/15-pylon_camera.list

it does not break anything so this does not have a high priority. Also, the distribution names do not necessarily need to be changed for e.g. kinetic as the branch kinetic-devel does not exist.

reverse image and double binning issue

Hi,

I did create a bug before about binning before it was #26 I forgot to mention that there is an issue with the current version, it leads double binning both from hardware and software. I have simply commented out
cam_info->binning_y = pylon_camera_->currentBinningY();
and its x correspondence and added
cam_info->binning_y =1; to disable the software binning from Ros side. It might be better to add two separate options like hardware_binning and software_binning.
Secondly it might be nice to add the reverse X and reverse Y options as in pylon viewer

Error when testing a pylon dart

I get the following error when launching roslaunch pylon_camera pylon_camera_node.launch:

image

It seems that only mono8 cameras are supported. Is that true or I am missing something?

Binning and brightness bug

Hi,

I think I find a minor bug. I recently got some pylon cameras, when I was playing with the package I tried to use binning and set the brightness to a set value but it does not seem to work. Ii get the following error message.

[ WARN] [1504852077.113283476]: [] name not valid for camera_info_manger
[ INFO] [1504852077.141460250]: CameraInfoURL needed for rectification! ROS-Param: '/pylon_camera_node/camera_info_url' = '' is invalid!
[ WARN] [1504852077.141528307]: Will only provide distorted /image_raw images!
[ INFO] [1504852077.172282456]: Setting horizontal binning_x to 2
[ WARN] [1504852077.172356193]: The image width of the camera_info-msg will be adapted, so that the binning_x value in
[ INFO] [1504852077.200125703]: Setting vertical binning_y to 2
[ WARN] [1504852077.200154708]: The image height of the camera_info-msg will be adapted, so that the binning_y value i
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check: __n (which is 576240) >= this->size() (which is 576000)
[pylon_camera_node-2] process has died [pid 3716, exit code -6, cmd /home/xepost/catkin_ws/devel/lib/pylon_camera/pylolon_camera_node __log:=/home/xepost/.ros/log/d93f9a52-945e-11e7-be19-80fa5b351634/pylon_camera_node-2.log].
log file: /home/xepost/.ros/log/d93f9a52-945e-11e7-be19-80fa5b351634/pylon_camera_node-2*.log
^C[rosout-1] killing on exit
[master] killing on exit
shutting down processing

I change the binning values to binning_x: 1 binning_y: 1 and it starts to work again. Any idea how to fix it?

Thanks!

Installation command to add yaml url to 15-pylon_camera.list broken.

On ROS Wiki there is an extra semicolon that breaks this for me.

Command given on ROS Wiki (http://wiki.ros.org/pylon_camera)

sudo sh -c 'echo "yaml https://raw.githubusercontent.com/magazino/pylon_camera/indigo-devel/rosdep/pylon_sdk.yaml"; > /etc/ros/rosdep/sources.list.d/15-pylon_camera.list'

This simply prints "yaml https://raw.githubusercontent.com/magazino/pylon_camera/indigo-devel/rosdep/pylon_sdk.yaml" to the terminal for me instead of the file.

Easy fix: remove the semicolon to make this correct echo into a file.

Fixed command:
sudo sh -c 'echo "yaml https://raw.githubusercontent.com/magazino/pylon_camera/indigo-devel/rosdep/pylon_sdk.yaml" > /etc/ros/rosdep/sources.list.d/15-pylon_camera.list'

The device is currently in use by another application!

The camera is plugged, IP address is set, yet the PylonViewerApp cannot show an image from the camera. IP configuration page shows the warning of :

The device is currently in use by another application! Please close any applications currently using the device and click Refresh to check the status again.

which is nonsense since no other application uses it. It's only PylonViewerApp that is problematic, I can use the camera on ROS without a problem. But when I just want to take a couple of pictures, this shows up and I cannot take images.

Quite annoying.

Error in README installation

Hello !

If I may, there is an error in the README.rst in the Installation part:

You have this :

sudo sh -c 'echo "yaml https://raw.githubusercontent.com/magazino/pylon_camera/indigo-devel/rosdep/pylon_sdk.yaml " > /etc/ros/rosdep/sources.list.d/15-plyon_camera.list'

And I think it's more this :
sudo sh -c 'echo "yaml https://raw.githubusercontent.com/magazino/pylon_camera/indigo-devel/rosdep/pylon_sdk.yaml " > /etc/ros/rosdep/sources.list.d/15-pylon_camera.list'

Have a great day !

Installation instructions unclear

The instructions say

The package has been tested for ROS-Indigo. For other ROS versions, please replace 'indigo' with your desired ROS-Version in the following install instructions.

However, the only part where indigo occurs is in
sudo sh -c 'echo "yaml https://raw.githubusercontent.com/magazino/pylon_camera/indigo-devel/rosdep/pylon_sdk.yaml " > /etc/ros/rosdep/sources.list.d/15-plyon_camera.list'

Replacing indigo with something else will error since the file won't exist. So it's not clear if and how the installation instructions must be adapted for a different distro.

What's also not explicitly mentioned that that the Basler pylon5 camera driver must be installed before using these instructions. With that, installation on indigo seems to work without problems.

Changing Capture Resolution

Hello,
I am using
-Basler Ace acA4024-29uc camera,
-USB interface,
-ROS is Indigo ,
-Ubuntu 14.04
when I use pylon viewer software it allows me to change the resolution. However, with Pylon_camera ROS package I am not able to change the resolution down to 8 MP. I tried using the Binning option but it gives "Cam does not support binning…”. Does anyone have a recommendation?

framerate is ignored when it is less than the maximum supported framerate

See the config file

# The desired publisher frame rate if listening to the topics.
# This paramter can only be set once at startup
# Calling the GrabImages-Action can result in a higher framerate
frame_rate: 5.0

and the code

if ( pylon_camera_->maxPossibleFramerate() < pylon_camera_parameter_set_.frameRate() )
{
ROS_INFO("Desired framerate %.2f is higher than max possible. Will limit framerate to: %.2f Hz",
pylon_camera_parameter_set_.frameRate(),
pylon_camera_->maxPossibleFramerate());
pylon_camera_parameter_set_.setFrameRate(
nh_,
pylon_camera_->maxPossibleFramerate());
}
else if ( pylon_camera_parameter_set_.frameRate() == -1 )
{
pylon_camera_parameter_set_.setFrameRate(nh_,
pylon_camera_->maxPossibleFramerate());
ROS_INFO("Max possible framerate is %.2f Hz",
pylon_camera_->maxPossibleFramerate());
}
return true;
}

When the framerate is less than maxPossibleFramerate, it is ignored!

There should be another if to set the desired framerate when it is a valid value, i.e., in
the range [1, maxPossibleFramerate].

Pylon library download URL has changed

At least it appears that way. The rosdep rule to install the pylon library just started failing for me with:

--2017-05-02 16:37:31--  http://s.baslerweb.com/media/documents/pylon-5.0.1.6388-x86_64.tar.gz
Resolving s.baslerweb.com (s.baslerweb.com)... 8.253.43.254, 8.254.246.254, 8.27.253.125
Connecting to s.baslerweb.com (s.baslerweb.com)|8.253.43.254|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.baslerweb.com/media/documents/pylon-5.0.1.6388-x86_64.tar.gz [following]
--2017-05-02 16:37:31--  https://www.baslerweb.com/media/documents/pylon-5.0.1.6388-x86_64.tar.gz
Resolving www.baslerweb.com (www.baslerweb.com)... 174.35.25.26, 174.35.25.24
Connecting to www.baslerweb.com (www.baslerweb.com)|174.35.25.26|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.baslerweb.com/en/redirect.php?request=26e1b8d2c087b3848b57ed845628fe5b [following]
--2017-05-02 16:37:31--  https://www.baslerweb.com/en/redirect.php?request=26e1b8d2c087b3848b57ed845628fe5b
Reusing existing connection to www.baslerweb.com:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: /en/support/downloads/document-downloads/ [following]
--2017-05-02 16:37:32--  https://www.baslerweb.com/en/support/downloads/document-downloads/
Reusing existing connection to www.baslerweb.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘pylon-5.0.1.6388-x86_64.tar.gz’

pylon-5.0.1.6388-x86_64.tar.gz                         [ <=>                                                                                                             ] 286.26K  1.80MB/s    in 0.2s    

2017-05-02 16:37:32 (1.80 MB/s) - ‘pylon-5.0.1.6388-x86_64.tar.gz’ saved [293130]


gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

The URL for downloading the package redirects to https://www.baslerweb.com/en/support/downloads/document-downloads/, which is a general page for downloading various documents. I think that the correct URL should be https://www.baslerweb.com/media/downloads/software/pylon_software/

I've updated the rosdep rule in our fork, and it now works: iron-ox@c49e076#diff-09bbd2e96d45b3d48a2f272e99cf0d6c

Only the change in first file there needs to be merged in to this repo. I had to add the second so I could test. I'll make a PR with the change, but I'd also like to know that other people are running into the same issue, and this isn't just some temporary problem with basler's servers.

Cameras keep losing connection

I am trying to synchronize multiple cameras together ,I added ptp support to the package and fetching chunk timestamp ,also hardware triggering , however when I connect the 2 cameras ,they don't send data with the required frame rate ,then one of them disconnects and when tries to reconnect it gives an error that it is used by another application, Did anyone face this issue before ,please help?

Basler acA2500-14gc (23363392) Image acquisition on "Basler acA2500-14gc (23363392)" failed! Error: 0xe1000014 "The buffer was incompletely grabbed.

Basler acA2500-14gc (23363392) Image acquisition on "Basler acA2500-14gc (23363392)" failed! Error: 0xe1000014 "The buffer was incompletely grabbed. This can be caused by performance problems of the network hardware used, i.e. network adapter, switch, or ethernet cable. To fix this, try increasing the camera's Inter-Packet Delay in the Transport Layer category to reduce the required bandwidth, and adjust the camera's Packet Size setting to the highest supported frame size."

FindPylon.cmake Fix

I could not get the package to build when the pylon5 package was installed in a different location than /opt. I got it to work by changing the second line in FindPylon.cmake from:
if (NOT "${PYLON_ROOT}")
to:
if (NOT DEFINED ENV{PYLON_ROOT})

Missing opencv dependency on installation

I'm getting some errors trying to build the package with catkin:

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.3.2.0', needed by '~/catkin_ws/devel/.private/pylon_camera/lib/libpylon_camera.so'. Stop.
make[1]: *** [CMakeFiles/pylon_camera.dir/all] Error 2
make: *** [all] Error 2

I can't find any reference to OpenCV in the package, and I don't see why the object detection module is required. I assume this is coming from some outside dependency, but I have cv_bridge working in another node, so I'm not sure what's missing.

Any ideas where this dependency is coming from? Thanks!

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.