1. 连线
- 相机本身有两个接口,1个是WTB网口,这里
可以用来供电
,输入电压限制
看说明书就知道了 - 另一个是POE口,该口可以通过网口供电,
可以直接连接电脑
,在WTB供电
的情况下 - 连接如下图
2. 相机的参数设置
- 安装官方的MVS软件
- 我这里下载的是Linux版本:https://www.hikrobotics.com/cn/machinevision/service/download?module=0
- 解压后,里面有个
***.deb
的安装包,正常安装就行 - 软件的默认安装位置是
/opt/MVS/bin
,因此启动的方式为cd /opt/MVS/bin sh ./MVS.sh
- 启动完成后,它会自动检测相机,如果相机不可达,需要设置相机的IP,实际上只需要设置相机和电脑在同一个网段下就行,我这里设置相机的IP为
192.168.1.103
- 连接完成后,可以设置相机的相关参数,
记得点击保存
- 关于软件的使用,自己琢磨吧
3. ROS驱动相机
-
安装过程
编译过程mkdir -p HIK_Camera_ws/src cd HIK_Camera_ws/src git clone https://github.com/HippoSoX/HIKROBOT-MVS-CAMERA-ROS.git cd .. catkin_make
-
启动相机
source devel/setup.bash roslaunch hikrobot_camera hikrobot_camera.launch
-
参数设置
曝光时间(us)
:这个会影响人眼看到的影像的亮暗程度,太短会暗,太长会过亮
- 自动增益:我这里关了,
实际上就是ISO增益
,太低会欠曝(三极管的偏执太低,无法准确放大),太高过曝(三极管偏执过高,部分无法放大) - 伽马矫正:因为
人眼对亮度的敏感度
是一个非线性函数,我这里设置了一个固定值;如果用来跑视觉里程计最好关闭此参数
- 白平衡:关闭
最终参数如下:
width: 1280 #图像宽度 height: 720 #图像高度 # !调整尺寸后,为了畸变的均匀性,尽量将最后的尺寸放在镜头中心,因此需要进行偏移,我这里相机的默认输出尺寸为1440*1080 Offset_x: 80 #X方向偏置 Offset_y: 180 #Y方向偏置 PixelFormat: 12 #像素格式,12: BayerRG8 FrameRateEnable: true # 帧率控制 FrameRate: 30 # 帧率 ExposureTime: 20000 # 手动曝光时间,降低会暗,太高会量同时也会影响帧率 ExposureAuto: false AutoExposureTimeLowerLimit: 100 AutoExposureTimeUpperLimit: 16777 BalanceWhiteAuto: 0 # 自动白平衡 Brightness: 100 # 手动亮度 GammaEnable: true # 伽马矫正 GammaSelector: 1 # 1: User Gamma: 0.5 # 伽马因子 GainAuto: 0 #亮度的固定增益 CalibrateEnable: false ResizeEnable: false DestinationHeight: 640 DestinationWidth: 640 # ImageCompressionMode: 1 # ImageCompressionQuality: 50 TriggerMode: 0 # hikrobot_camera: # rgb: # compressed: # format: "png" # png_level: 100
4. MVS软件相关的坑
- 安装MVS软件后,影响pcl库的使用,报错:libpcl_io.so: undefined reference to `libusb_set_option’
解决方案是,删除MVS目录下的两个.so文件,首先查找MVS安装路径下面的文件
然后,我这里删除locate libusb
sudo rm /opt/MVS/lib/64/libusb-1.0.so.0 sudo rm /opt/MVS/lib/32/libusb-1.0.so.0