Check out a short tutorial for a ROS-Driver for Basler Cameras to publish images from the cam. Supported are Basler cameras with USB 3.0 and GigE and also the dart cameras. It is developed by Magazino GmbH.
developed by Magazino GmbH, using the pylon Software Camera Suite by Basler AG, written for the ROS Wiki
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.
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.
The pylon_camera-pkg requires the pylonSDK to be installed on your system. 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 achived 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'
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
All parameters are listed in the default config file: config/default.yaml
The CameraInfo URL (Uniform Resource Locator) where the optional intrinsic camera calibration matrices are stored. This URL string will be parsed from the CameraInfoManager:
- binning_x & binning_y
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.
The following settings do NOT have to be set. Each camera has default values which provide an automatic image adjustment resulting in valid images
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.
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
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
Please provide your qustions via http://answers.ros.org/questions/ and tag them with 'pylon_camera'
|Marcel Debout||pushed ea4d9438b8351b6577dc1fd2bd29d961c21415db||2018-03-28 09:53:20 UTC|
|Marcel Debout||pushed 444612191f9e823c160e1b2c50a3e169493fa1f4||2018-03-28 09:20:51 UTC|
|Marcel Debout||pushed 1d7169eb5d1410de55a18319789a3241ea5c2407||2018-03-26 13:27:18 UTC|
|Marcel Debout||pushed fc5dfc2c2b9512b7f2c25d02834f299c2c545e99||2018-03-26 11:42:45 UTC|
|Marcel Debout||pushed 7c9c0cd3bf747f2e16b55140f2cbd1446e6395bd||2018-03-06 09:28:53 UTC|
|Marcel Debout||pushed 9a86d9d6c959d2a12cca16df87e8a3f8279e60c0||2018-03-05 09:54:47 UTC|
|Marcel Debout||pushed c98ba1e05165cf978f9264dfae0a499cb6b8c9b3||2018-03-05 09:52:54 UTC|
|Marcel Debout||pushed 0f5916fa51264677d75c33bb380c3c833416c23f||2018-03-05 09:42:51 UTC|
|Laurenz||pushed ffed58c934ed9c740ba0b93007fda7f4905eda3b||2018-03-02 14:19:17 UTC|
|Marcel Debout||pushed 8e20743d66c88358438e2caf175bf8e4dff62da0||2018-02-13 16:48:14 UTC|
|Marcel Debout||pushed 06c02ef6e0ce0bddcb6ada6d0283605b9a9853b3||2018-02-13 11:58:21 UTC|
|Marcel Debout||pushed 01195a79c3cbb9e7250fde918e1044d5d128c6a4||2018-02-13 11:56:07 UTC|
|Marcel Debout||pushed 9899e6e5fb636199ed47f9222806552039af72b5||2018-02-13 11:51:34 UTC|
|Marcel Debout||pushed 1f1fe51484be338e23d6b4e9152f619729eef11e||2018-02-13 09:20:36 UTC|
|Marcel Debout||pushed b70bf81a75a8fa27ae9c4826dd7e67a399f4a364||2018-02-12 15:55:58 UTC|
|Marcel Debout||pushed d9258dc2ab5db934e63fe933422ce424afe2b734||2018-02-08 14:33:21 UTC|
|Marcel Debout||pushed c683a428452c8e3894bc08867c4918b10cd4a2f0||2018-01-29 08:54:39 UTC|
|Marcel Debout||pushed f92e857f0f29278b1bc2a2a499759acbecaf1b75||2018-01-29 08:50:15 UTC|
|Ulrich Klank||pushed 559d9691bc584873c26eba34758efdb4912d4ef9||2018-01-25 11:57:03 UTC|
|Marcel Debout||pushed 8eeee9e0b3b71fe09f90e4a2e1e191354955bc63||2018-01-04 13:09:28 UTC|
|Markus Grimm||pushed f000bd4c385214ea8aede59b8fd7450ece755eb3||2017-12-22 11:35:10 UTC|
|Marcel Debout||pushed 26fc670823e5780bc35c4228d9a72414ff21330b||2017-11-20 08:21:54 UTC|
|Marcel Debout||pushed f828432dfef18186e044a1fb307a99929876a488||2017-11-16 10:41:25 UTC|
|Markus Grimm||pushed 9950249dc95b3cb978b7325840b73705aa6730a9||2017-10-13 19:32:28 UTC|
|Markus Grimm||pushed cc6304e9f5277acd360aa2b4078504d5cb4ba9e7||2017-10-13 19:28:07 UTC|
|Marcel Debout||pushed 8de53f63ed5b62f0181c28057040beba5c3a3404||2017-09-28 09:42:09 UTC|
|Marcel Debout||pushed b79f5d45c96f2f459ec9ca8a8459137ee6eb0b7c||2017-09-28 09:39:53 UTC|
|Marcel Debout||pushed d15eb51c06c64b849928825020dbc117e41ada8c||2017-09-12 09:55:41 UTC|
|Marcel Debout||pushed cff9b7b848732d9d1b66276d6370465c11db4265||2017-09-11 14:27:06 UTC|
|Marcel Debout||pushed e2cc087ebb360c98faa20def6ffe9e2bb81476cb||2017-09-11 07:15:07 UTC|