Livox Lidar + HIKROBOT Camera系列
最近在开发相机和激光雷达融合的slam算法,主要用于三维重建,想实时的得到彩色点云地图,传感器选择了海康威视的工业相机和大疆的固态激光雷达。
海康Camera MVS Linux SDK二次开发封装ROS packge过程记录(c++)
Livox Lidar+海康Camera实时三维重建生成RGB彩色点云地图
前言
海康的相机没有ros驱动,而且对linux开发不太用好(windows的支持还是不错的),就重写了sdk接口,并创建了ros节点封装成ros包,方便linux环境下ros的调用,用于开发后面的算法,完整版ros驱动:https://github.com/luckyluckydadada/HIKROBOT-MVS-ROS-package,请自取。
本文主要是对sdk的封装过程,和创建ros驱动包的开发过程记录。
虽然海康的相机是usb传输数据,但是不同于其他usb设备的调用,海康的相机并不会在/dev/目录下映射ttyUSB或video1这样的设备,所以不能用open/read/write这样的system call的方式打开设备,所以https://github.com/ros-drivers/usb_cam这样的usb ros驱动无法支持。基于此,就只能自己开发ros驱动包。
海康的打开设备的方式在MvUsb3VDevice.h和MvGigEDevice.h中实现(分别对应usb3.0相机和以太网相机),具体过程并没有开源,只提供了相应的so文件,海康提供了统一的接口MV_CC_EnumDevices实现对两种设备(usb3.0接口和以太网接口)的调用,因此开发一个ros驱动包是两种相机都适用的。
如果你的相机在/dev/下有映射(比如笔记本自带的摄像头一般是/dev/video1),可以使用https://github.com/ros-drivers/usb_cam这个驱动包,如果是海康这样的方式,请使用我的ros驱动包https://github.com/luckyluckydadada/HIKROBOT-MVS-ROS-package。
海康的相机sdk虽然不开源,但是提供了armhf和aarch64架构编译的so文件,之后我会移植到jetson上。
环境
- Ubuntu 18.04
-
机器视觉工业相机客户端MVS V2.1.0(Linux)
-
相机型号:MV-CE060-10UC
适用于海康机器视觉工业相机系列(以太网传输和usb传输同样适用),相机接入pc或开发板的usb3.0接口或网口。
下载海康mvs sdk
https://www.hikrobotics.com/machinevision/service/download?module=0,选linux的最新版:机器视觉工业相机客户端MVS V2.1.0(Linux)
解压
MVS_Linux_STD_V2.1.0_201228.zip解压后,目录中含有多种架构已经编译好并打包的*.dpkg包,另外还有tar.gz(也含编译好的so和bin文件)。
MVS-2.1.0_aarch64_20201228.deb MVS-2.1.0_i386_20201228.deb
MVS-2.1.0_aarch64_20201228.tar.gz MVS-2

本文介绍了如何通过自定义驱动和二次开发,将海康威视工业相机与大疆固态激光雷达结合,实现实时彩色点云生成与三维重建,重点分享了SDK封装及ROS包开发的过程。
最低0.47元/天 解锁文章
7887





