We want to be able to control the framerate at which we capture images. To do this, we need to set the AcquisitionFrameRate
and the AcquisitionFrameRateEnable
parameters in the camera. AcquisitionFrameRateEnable
is a boolean parameter, which the default version of this repo doesn't support. We've added support for boolean parameters to this fork.
We also wanted support for dynamic reconfigure of camera parameters. So we merged a branch from someone who forked the original repo into this fork that does that.
These are the steps needed to publish Basler camera images to ROS:
-
Get the Pylon 5 Camera Software Suite from the Basler website:
http://www.baslerweb.com/en/support/downloads/software-downloads?type=28&series=0&model=0
-
Follow these instructions (also available in the install file):
a. Change to the directory which contains this INSTALL file, e.g.:
cd ~/pylon-5.0.1.6388-x86_64
b. Extract the corresponding SDK into /opt
sudo tar -C /opt -xzf pylonSDK*.tar.gz
c. Install udev-rules to set up permissions for basler USB cameras
./setup-usb.sh
d. Unplug and replug all USB cameras to get the udev rules applied.
e. Execute /opt/pylon5/bin/PylonViewerApp to test your cameras.
-
Setup your environment for pylon to find the necessary dependencies:
source /opt/pylon5/bin/pylon-setup-env.sh /opt/pylon5
If using it more than once, you probably also want to add this to your ~/.bashrc
-
Build the package using catkin_make
-
Launch the basler_Camera node with:
roslaunch basler_camera basler_camera.launch
The frame rate could be modified using the
frame_rate
parameter.The camera can optionally be selected with the
serial_number
parameter. -
The image can be visualized using image_view:
rosrun image_view image_view image:=/camera/image_raw
-
If you have a stereo system then launch the cameras as:
roslaunch basler_camera stereo_rectified.launch
or:
roslaunch basler_camera stereo_unrectified.launch