当前位置: 首页 > article >正文

海康MV-EB435i立体相机SDK安装(ROS 2)

文章目录

  • 一、简介
  • 二、驱动配置
  • 小结

一、简介

MV-EB435i相机是一款低成本、小体积、配置全面的立体相机,凭借硬件级的深度图像处理方案,相机可在高性能输出的同时维持低功耗的水平。相机采用海康MV3D SDK,并提供跨平台支持,广泛应用于测量、识别、定位、计数、等场景。这款相机算是对标intelD435i了,至于行不行事儿,见仁见智了。相关的参数可以参考官网介绍。这款相机的客户端,类似于realsense-view,但推荐平台是windows,在linux平台下会有一些问题,这里主要介绍在ROS 2环境下如何使用这款相机。
相机图

二、驱动配置

  1. 下载官方SDK,也可以关注一下官方仓库中的其他资源。

    git clone https://gitee.com/Hikrobot/Mv3dRgbdSDK_ROS2.git
    
  2. 根据你的ros版本修改CMakeLists.txt文件中可执行文件的链库路径。
    修改链库路径

  3. 修改hik_rgbd_launch.py文件,从ROS 2 Foxy版本开始,node_executable已被弃用,所以需要将其修改为executable

    from launch import LaunchDescription
    import launch_ros.actions
    from ament_index_python.packages import get_package_share_directory
    import os.path
    
    def generate_launch_description():
        return LaunchDescription([
            launch_ros.actions.Node(
                package = "hik_rgbd", executable = "image_pipeline_all_in_one", output = "screen"
            ),   # node_executable 改为 executable
            launch_ros.actions.Node(
                package = "rviz2", executable = "rviz2", arguments = ['-d' + os.path.join(get_package_share_directory('hik_rgbd'), 'config', 'hik_camera.rviz')], output = "screen"
            ),   # node_executable 改为 executable
        ])
    
  4. 编译工作空间,执行ros2 launch hik_rgbd hik_rgbd_launch.py之后,如果提示如下的错误,且通过rviz无法看到图像信息,可以修改CMakeLists.txt文件解决。
    异常情况

  5. CMakeLists.txt中增加如下内容,指定搜索路径。

    set(CMAKE_INSTALL_RPATH "${PROJECT_SOURCE_DIR}/lib")
    set(CMAKE_BUILD_RPATH "${PROJECT_SOURCE_DIR}/lib")
    set(CMAKE_SKIP_BUILD_RPATH FALSE)
    set(CMAKE_SKIP_INSTALL_RPATH FALSE)
    
  6. 重新编译工作空间,启动launch节点,在rviz中可以正常显示图像信息,如果仍然显示无图片,尝试将相关Policy修改为系统默认
    修改rviz

  7. 以上配置在22.04+humble系统下可以正常发布图像话题数据,包括左右目红外、RGB以及深度图。

小结

以上是关于MV-EB435i的驱动配置方法,如有其他问题欢迎在评论区讨论,关于图像及imu等话题数据的发布及参数的修改问题可以关注后续的博文,谢谢。


http://www.kler.cn/a/505730.html

相关文章:

  • TCP-IP详解卷 TCP的超时与重传
  • 【STM32-学习笔记-7-】USART串口通信
  • 计算机视觉与深度学习:使用深度学习训练基于视觉的车辆检测器(MATLAB源码-Faster R-CNN)
  • (三)c#中const、static、readonly的区别
  • Qi认证怎么办理?
  • 【微信小程序】let和const-综合实训
  • 瑞芯微 RK 系列 RK3588 使用 ffmpeg-rockchip 实现 MPP 视频硬件编解码-代码版
  • 设计模式学习手册(四)(原型模式)
  • C++—17、C++ 中的类和结构体的区别
  • 《计算机网络》课后探研题书面报告_了解PPPoE协议
  • 基于Springboot: 宠物小程序开发笔记(上)
  • Unity2017 控制.abc格式的三维动画播放
  • Kylin Linux V10 替换安装源,并在服务器上启用 EPEL 仓库
  • Python 替换excel 单元格内容
  • Pyinstaller打包
  • Python与Excel:开启自动化办公新时代
  • AudioGPT全新的 音频内容理解与生成系统
  • 深入理解 MySQL 中 FIND_IN_SET 函数在查询中的应用
  • 美化IDE之修改IDEA启动界面logo图片
  • laravel中请求失败重试的扩展--Guzzle
  • 【Hive】海量数据存储利器之Hive库原理初探
  • mysql,PostgreSQL,Oracle数据库sql的细微差异(2) [whith as; group by; 日期引用]
  • 24-25-1-单片机开卷部分习题和评分标准
  • SpringBoot工程快速启动
  • Chatper 4: Implementing a GPT model from Scratch To Generate Text
  • 为独特工作流设计 K8s 健康检查(Design k8s Health Check for Unique Workflow)