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

news/2025/1/18 12:05:52/

文章目录

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

一、简介

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

二、驱动配置

  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.pathdef generate_launch_description():return LaunchDescription([launch_ros.actions.Node(package = "hik_rgbd", executable = "image_pipeline_all_in_one", output = "screen"),   # node_executable 改为 executablelaunch_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.ppmy.cn/news/1564142.html

相关文章

内网渗透测试工具及渗透测试安全审计方法总结

1. 内网安全检查/渗透介绍 1.1 攻击思路 有2种思路&#xff1a; 攻击外网服务器&#xff0c;获取外网服务器的权限&#xff0c;接着利用入侵成功的外网服务器作为跳板&#xff0c;攻击内网其他服务器&#xff0c;最后获得敏感数据&#xff0c;并将数据传递到攻击者&#xff0…

2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)

游泳竞技策略优化模型代码详解 第一题&#xff1a;速度优化模型 在这一部分&#xff0c;我们将详细解析如何通过数学建模来优化游泳运动员在不同距离比赛中的速度分配策略。 1. 模型概述 我们的模型主要包含三个核心文件&#xff1a; speed_optimization.py: 速度优化的核…

2025年供应链攻击或成企业主要威胁

2024年由于网络安全领域的活动显著增加&#xff0c;网络威胁动态性和数字攻击面不断扩大&#xff0c;预计2025年企业将面临更大的网络攻击挑战。 安全专家预测&#xff0c;在众多形式的网络攻击中&#xff0c;供应链攻击正成为一种日益严重的安全隐患&#xff0c;它通过渗透企…

Lambda 架构之实时处理层的深度剖析:从原理到 Java 实战

一、背景知识 在当今的信息时代&#xff0c;数据的产生速度呈现爆炸式增长&#xff0c;并且越来越多的业务场景对数据处理的实时性提出了严格的要求。传统的数据处理架构往往侧重于批处理&#xff0c;对于实时数据的处理能力有限&#xff0c;难以满足诸如实时监控、即时推荐、…

【UNION与UNION ALL的区别?】

UNION与UNION ALL的区别&#xff1f; UNION和UNION ALL都是用来合并两个或多个SQL查询的结果集的运算符&#xff0c;但它们之间有一些关键的区别&#xff1a; 重复数据处理: UNION会自动去除所有结果集中的重复记录。这意味着如果你从不同的查询中得到了相同的行&#xff0c;U…

Java ee 文件操作和IO

字节输入流 字节输入流通过FileInputStream实现对文件的读取操作。 通过文件路径来创建一个输出流&#xff0c;通过一个byte数组来接受读取到的文件内容&#xff0c;用read方法进行循环读取。当返回-1时则表示读取完成。关闭输入流。 import java.io.FileInputStream; import…

59_Redis键值设计

1.拒绝BigKey BigKey通常以Key的大小和Key中成员的数量来综合判定。例如: Key本身的数据量过大:一个String类型的Key,它的值为5MB。Key中的成员数过多:一个ZSET类型的Key,它的成员数量为10000个。Key中成员的数据量过大:一个Hash类型的Key,它的成员数量虽然只有1000个但…

Python GUI Pyside6 实例笔记

例【1】 好的&#xff01;我们将通过一个简单的案例来学习如何使用 PySide6 创建一个基本的桌面应用程序。这个案例将展示如何创建一个带有按钮的窗口&#xff0c;当点击按钮时&#xff0c;会弹出一个消息框。 1. 安装 PySide6 首先&#xff0c;确保你已经安装了 PySide6。如…