Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定

本人相机:Basler AG ace acA1920-155uc(usb3.0)
目录:
1.安装ROS kinetic
2.安装pylon6
3.安装pylon-ROS-camera 驱动包
4.下载camera_calibration工具包,进行摄像头标定

1.安装ROS kinetic(具体安装方法看目录链接,这里贴一下安装命令)

卸载旧版本

sudo apt-get remove gezabo*
sudo apt-get -purge ros*
sudo rm -r etc/ros
gedit ~/.bashrc

安装ROS kinetic

$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install ros-kinetic-desktop-full # Ubuntu 16.04
$ sudo rosdep init && rosdep update
2.安装pylon6 软件套装

注: Linux版本的pylon只支持GE(千兆以太网) 和 USB相机,该安装包已经在ROS-Indigo 和 ROS-Kinetic下通过测试。
pylon6下载地址
下载对应版本的.deb二进制安装包

sudo dpkg -i pylon_6.1.1.19861-deb0_amd64.deb

添加环境变量

echo “export PYLON_ROOT=/opt/pylon” >> ~/.bashrc
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
3.安装pylon-ROS-camera 驱动包
cd ~/catkin_ws/src/ && git clone https://github.com/basler/pylon-ros-camera
git clone https://github.com/dragandbot/dragandbot_common.git

安装所有依赖

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

如果安装依赖失败,将命令修改为:

rosdep install --from-paths ~/catkin_ws/src/xxxxxxxx --ignore-src -r

编译

cd ~/catkin_ws && catkin_make
echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc
 roslaunch pylon_camera pylon_camera_node.launch

报错:
Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定_第1张图片
解决方案:
打开pylon_camera文件下的config/default.yaml文件,将# image_encoding: "mono8"取消注释,并改为 image_encoding: “bayer_rggb8”。
再次执行命令:

roslaunch pylon_camera pylon_camera_node.launch

结果如下图所示:
Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定_第2张图片
执行一下命令显示图像:

rosrun image_view image_view image:=/pylon_camera_node/image_raw

Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定_第3张图片
Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定_第4张图片

4.摄像头标定

切换到工作空间目录下,下载image_pipeline将其中的camera_calibration目录移动到到src目录下,

Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定_第5张图片
编译工程

cd Basler_ws
catkin_make

运行图像采集节点

roslaunch pylon_camera pylon_camera_node.launch

Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定_第6张图片
显示图像

rosrun image_view image_view image:=/pylon_camera_node/image_raw  #其中pylon_camera_node替换成自己的节点

执行cameracalibrator.py节点,开始标定,其中size 6x4表示标定板的内角点个数square 0.055表示标定板正方形方格的边长,这个地方需要根据自己使用的标定板尺寸修改,我用的是6x4,方格边长0.055m。

rosrun camera_calibration cameracalibrator.py --size 6x4 --square 0.055 image:=/pylon_camera_node/image_raw camera:=/pylon_camera_node

移动标定板的位置,直到界面上的calibrate按钮变绿,然后点击该按钮,开始标定,标定过程需要1-2分钟,
Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定_第7张图片
标定结束后各参数会打印在终端,如果你对标定结果还满意的话,就可以按下commit按钮,提交结果并保存,参数会版存到默认文件(~/.ros/camera_info/camera,yaml)中,下次运行pylon_camera_node
Ubuntu16.04+ROS kinetic +Basler_camera环境配置以及相机标定_第8张图片
当你下一次运行pylon_canera_node节点时,这些参数就会被自动加载。

你可能感兴趣的:(Basler相机,Basler相机)