在ubuntu14.04+ROS(indigo)下驱动并调试Basler(acA3800-14um)摄像头

1 篇文章 0 订阅
1 篇文章 0 订阅

本文主要记录如何在ubuntu14.04+ROS(indigo)环境下驱动Basler(acA3800-14um)摄像头,以及如何将获取图像和图像处理程序(Opencv+c)写成ROS节点的形式运行。此外还有一些关于linux常用知识的备注。接触ubuntu和ROS系统时间较短,很多东西理解的并不深刻。由于项目开发需要,所以在此记录一些开发过程和心得,以免日后遗忘。

1 安装摄像头驱动
参考ROS Wiki,下载并安装Basler摄像头的驱动pylon_camera.
http://wiki.ros.org/pylon_camera
在indigo 版本的ROS上安装成功,之前在hydro版本的ROS上安装失败,不太清楚原因。

2 编写图像获取程序节点
2.1 源代码网址:https://github.com/ceezeh/pylontest/blob/master/src/grab.cpp
我所做的修改只是把图像类型做了改变。Opencv中有3种图像数据类型:Mat、cvMat和IplImage,根据实际需要,我将原本的cvMat型转换为了IplImage型。参考网址:http://www.cnblogs.com/Key-Ky/p/4150531.html,具体代码如下。

cv_img=cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC3,(uint8_t*)image.GetBuffer());
IplImage image=cv_img;
IplImage *input=cvCloneImage(&image);
cvShowImage("Example",input);

注:Opencv与ROS的图像数据类型转化依靠了CvBridge。

2.2 我把该程序放到了pylon_camera(安装完摄像头驱动后会自动生成的)这个package的src/pylon_camera当中了,该程序完成修改后,需在原来的基础上修改这个package中的CMakeLists.txt文件,添加一部分依赖等,主要包括以下几个部分:

roslint_cpp(
src/${PROJECT_NAME}/filename.cpp
)
include_directories(
${catkin_INCLUDE_DIRS}
)
add_executable(target src/${PROJECT_NAME}/filename.cpp) #添加可执行文件
target_link_libraries(
target
${Pylon_LIBRARIES}
${catkin_LIBRARIES}
)
add_dependencies(target pylon_camera_generate_messages_cpp)

程序运行结果如下图所示:
这里写图片描述

3 编写图像处理程序节点
这一部分是直接将windows下结合Opencv和C程序开发的程序直接移植到ROS平台。可以直接使用catkin_create_pkg创建一个新的package,将程序放置于其src文件目录下。此外,同样需修改CMakeLists.txt和package.xml文件,此处可参照ROSWiki 上的标准写法:http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29

备注(Ubuntu环境下):
(1)如何查看Opencv的版本(同样可用于查看其它软件版本):
pkg-config –modversion opencv
(2)先编译后运行某个.cpp程序:
生成可执行文件(将opencv的库加入到路径,从而让系统可以找到):

g++ `pkg-config --cflags opencv` codename.cpp `pkg-config --libs opencv` -o codename   

运行可执行文件:
cd 至执行文件目录后 ./filename
(3)临时关闭和开启笔记本自带摄像头:
关闭:

sudo modprobe –rv uvcvideo

开启:

sudo modprobe –v uvcvideo

(4)在/dev目录下执行 ls –l 可查看主次设备号。
(5)lsusb 可用于查看接入的usb设备。


如有误,日后发现再做订正!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值