我打算用海康相机搭建一个双目相机平台,用的是jetson orin NX开发板,配置了ubuntu20.04系统,接下来我将介绍一下海康相机的驱动安装
1.ROS配置
配置的是ROS Noetic版本,建议直接使用小鱼大佬的一键安装命令
wget http://fishros.com/install -O fishros && . fishros
用这个命令可以轻松避免一些换源的问题
2.海康相机客户端配置
直接在官网 https://www.hikrobotics.com/cn/machinevision/service/download/?module=0下载linux版本的客户端——机器视觉工业相机客户端MVS V3.0.1 (Linux)
然后直接在ubuntu系统解压缩,然后找到相应版本的deb文件安装,硬件架构是arm64的,所以我打开终端后输入
sudo dpkg -i MVS-3.0.1_aarch64_20241128.deb
安装完成后输入以下命令启动客户端
cd /opt/MVS/bin/
./MVS.sh
3.驱动程序配置
ubuntu20.04系统默认装了opencv4.2.0,因为大多数人采用的是一位大佬2021年写的https://github.com/luckyluckydadada/HIKROBOT-MVS-CAMERA-ROS,默认要配置opencv3.2.0版本,所以大家吭哧吭哧的重新配置opencv3.2.0,我也这样做了,然后碰的问题一大堆,人都快逼疯了,其实是不需要这样做的。可以跟着我的步骤下来做
首先,下载或者直接克隆就可以
mkdir -p ~/ws_hikrobot_camera/src
git clone https://github.com/luckyluckydadada/HIKROBOT-MVS-CAMERA-ROS.git
然后在ws_hikrobot_camera/src/hikrobot_camera包的CMakeLists.txt在第20行可以找到这样一段代码:
find_package(OpenCV 3.2.0 REQUIRED)
只需要把它修改为
find_package(OpenCV 4 REQUIRED)
就可以适应opencv4.2
但除了这个还需要修改,找到第36行
target_link_libraries(${PROJECT_NAME}
如果按照这个内容去编译很容易出现找不到 -lGCBase_gcc421_v3_0、lMvCameraControl等文件,是因为这些内容都相对旧了,需要找到对应内容,这个内容就是在 /opt/MVS/lib的文件下,我的对应的是aarch64文件夹下的动态库,所以将36行-46行的内容替换对相应的位置和文件名
target_link_libraries(${PROJECT_NAME}
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
MvCameraControl
MVGigEVisionSDK
MVRender
MvUsb3vTL
MediaProcess
X11
)
修改完成后保存一下就可以开始编译,打开终端,输入:
cd ~/ws_hikrobot_camera
catkin_make
然后就可以编译成功了。
4.运行
运行只需要参考网址https://github.com/luckyluckydadada/HIKROBOT-MVS-CAMERA-ROS给出的命令,打开终端,输入
cd ~/ws_hikrobot_camera
source ./devel/setup.bash
roslaunch hikrobot_camera hikrobot_camera_rviz.launch
即可打开rviz,看到相机拍摄的图像了。
当图像亮度、分辨率要调整时,一般是修改ws_hikrobot_camera/src/hikrobot_camera/config中的camera.yaml
调整里面的参数后再运行,可能出现rviz界面显示No Image,终端显示process has died exit code -11等等
其实是因为大佬写的时候限制了部分参数的范围,这个时候只需要修改ws_hikrobot_camera/src/hikrobot_camera/include中的hikrobot_camera.hpp文件的参数,用nano命令修改限定的参数范围就可以了,打开终端输入:
nano ~/ws_hikrobot_camera/src/hikrobot_camera/include/hikrobot_camera.hpp
然后找到对应的参数进行调整,再Ctrl+O保存,回车键确认修改,然后Ctrl+X退出编辑器。
修改完成后,再重新打开终端,再次编译一下就可以了
cd ~/ws_hikrobot_camera
rm -rf build devel
catkin_make