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'
|Ulrich Klank||pushed cf3b209208a1a3634cef10cb4f41f223744c51b0||2018-06-19 10:52:42 UTC|
|Uli Klank||pushed 0ae919b8727316c85a63daf3a611faf139b06b96||2018-05-30 14:57:13 UTC|
|Uli Klank||pushed 41ff5106e6d9abe5489b01f803bc2f7d2aab48a2||2018-05-30 14:52:22 UTC|
|Nikolas Engelhard||pushed 97e5579afb847552a482bc262da2081c6aacb6e1||2018-05-25 11:36:27 UTC|
|Ulrich Klank||pushed 78582fb6f5679a5f816d0bb0e7d20515a5cab497||2018-05-25 07:30:33 UTC|
|Ulrich Klank||pushed d4d810c88e89a30460e7ab1928761b8cc38083fd||2018-05-22 13:53:23 UTC|
|Ulrich Klank||pushed c465dbad2d3d57a12c9e4fc8c9b393eceb322766||2018-05-17 11:50:25 UTC|
|Ulrich Klank||pushed d1b7d18b0c4467015b5f05369153a547616ef6f1||2018-05-17 10:37:07 UTC|
|Marcel Debout||pushed 6540e9e841b7e37a82f4c767536e72d2ff80d039||2018-05-16 16:14:17 UTC|
|Marcel Debout||pushed ff8a38913d58d611976b18b5ca3a131125de3348||2018-05-16 15:43:21 UTC|
|Marcel Debout||pushed 464b713dcfcdb6ca074fb1b8f94aea804d6cd836||2018-05-16 14:05:47 UTC|
|Marcel Debout||pushed 556855f456738609300678f7d2312c2af3002540||2018-05-16 13:54:50 UTC|
|Marcel Debout||pushed 0d838bcda51e2aeb164310f9b4a93074becbb029||2018-05-16 10:29:01 UTC|
|Ulrich Klank||pushed d2396b4a846c2cb7e656be34491d10bd00e88816||2018-05-16 08:29:46 UTC|
|Marcel Debout||pushed 436491b8f6fa6739e326d9f49f1a16f3e3552581||2018-05-15 12:01:38 UTC|
|Marcel Debout||pushed ecf70b3a3fdee872390437d2eba77df06edcf1a1||2018-05-15 11:40:46 UTC|
|Marcel Debout||pushed 0b974dff61f09c46a9b233b4cf38c2ebfb0ddae8||2018-05-07 15:47:09 UTC|
|Marcel Debout||pushed da3ecc11f83b7f53b53cfe6bd176a1033b6d708b||2018-05-07 15:46:21 UTC|
|Marcel Debout||pushed 5a94e98e217c4081ec2d37db16e826c004a1f2d7||2018-05-07 15:45:37 UTC|
|Marcel Debout||pushed f0f5d3b67828c41b8666f6e04a09858bf8cdfc30||2018-05-07 15:43:20 UTC|
|Marcel Debout||pushed 44e113743c3bf209eb64145c5f207525f8f62723||2018-05-07 15:42:36 UTC|
|Marcel Debout||pushed 9629b8d2aef5e7e1aaff38b521c88373bc2b4c18||2018-05-07 12:35:08 UTC|
|Marcel Debout||pushed b4bbb2b90d67b9f04774151a9923f2deda18c487||2018-05-07 12:34:27 UTC|
|Marcel Debout||pushed 6457892286f60b60f02a72d7d753867cefc37d74||2018-04-20 08:29:35 UTC|
|Fangjun Kuang||pushed ea4734e9307e68b61f99eaae2acec721121af7e6||2018-04-14 14:33:37 UTC|
|Alexandr Kondratev||pushed 12ad1766de46ca63a0441cdcc075cc7cb9833976||2018-04-02 17:46:50 UTC|
|Alexandr Kondratev||pushed 3824ac528a4cd1c7ffdb0a6dc0d4c6cdfae82b10||2018-04-02 17:24:24 UTC|
|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|