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

康谋应用 | 基于多传感器融合的海洋数据采集系统

在海洋监测领域,基于无人艇能够实现高效、实时、自动化的海洋数据采集,从而为海洋环境保护、资源开发等提供有力支持。其中,无人艇的控制算法训练往往需要大量高质量的数据支持。然而,海洋数据采集也面临数据噪声和误差数据融合与协同复杂海洋环境适应等诸多挑战,制约着无人艇技术的发展。

针对这些挑战,我们探索并推出一套基于多传感器融合的海洋数据采集系统,能够高效地采集和处理海洋环境中的多维度数据,为无人艇的自主航行和控制算法训练提供高质量的数据支持。

一、方案架构

无人艇要在复杂海上环境中实现自主导航,尤其是完成障碍物检测和跟踪任务,其关键在于对海面环境的高效感知。因此,通过集成多种传感器,包括相机、激光雷达、IMU(惯性测量单元)和GPS(全球定位系统),能够采集更全面、更精确的海洋环境数据。但这种系统也会进一步涉及时间同步、数据传输与存储以及环境适应性等问题。

基于以上考虑,采用BRICKplus(工控机)+ETH6000+传感器套件(6*iDS相机+1*LiDAR+1*IMU+1*GPS)方案架构,如下图所示:

基于BRICKplus+ETH6000构建的数采平台,提供12个以太网接口(10*1Gb+2*10Gb)可以有效接入各个传感器,并为后续升级技术架构、接入更多传感器预留更多空间。多传感器产生的数据量巨大,对数据传输和存储提出了高要求,特别是8MP相机6个同时采集。

采用BRICKplus提供大容量(8/16/32TB)高速写入(16Gbit/s)存储硬盘,能够高效稳定落盘传感器数据。采用GPS模块,支持(g)PTP时间同步与定位

二、系统搭建

为了更好的感知无人艇周边环境信息,对传感器分布和方式进行了设计和调整,布局如下图所示。该布局可以更有效的应对海面复杂环境下的数据采集。

三、数据采集

在面向无人艇数据采集时,需要使传感器套件(四类传感器)能够同时采集数据,并具备时间同步,实时可视化、存储和回放等能力。整体软件架构采用ROS+传感器集成方式,支持即插即用,使用便捷。

比如在iDS相机采集链路上,涉及到多相机同步采集的实现难度大、图像数据的实时传输和存储需求高和动态参数调整的灵活性不足等问题。通过定制化开发,采用ROS+PEAK SDK方案进行深度集成,实现了多相机同步采集、实时可视化、动态参数调整等功能,灵活适应海面复杂的采集环境,提高了系统的通用性。

四、总结

海洋监测无人艇控制领域,数据采集的准确性和可靠性至关重要。基于多传感器融合的海洋数据采集系统方案,利用高性能的BRICKplus+ETH6000模块作为中央处理单元,连接多个传感器,能够实现高速数据传输和同步。

该系统采用ROS框架与传感器SDK进行定制开发,实现了多线程数据采集、处理和发布。同时支持配置文件动态加载传感器参数,支持实时调整和优化,进而显著提高了数据采集的同步性、实时性和可靠性,为无人艇的自主航行和控制算法训练提供了高质量的数据支持。


康谋专注于自动驾驶技术,欢迎关注互动~自动驾驶数据采集入门探索套装 - 高性价比数据采集测试方案 | 数采系统测试与开发 | 多传感器采集与同步 | 康谋科技康谋数采入门探索套装,适用于ADAS和自动驾驶系统的高速数据采集与记录。硬件方面,我们提供数据采集平台、多种传感器和存储、供电模块;软件则包括时间同步、硬件系统监控以及汽车数据采集软件框架等,以实现全方位、高精度、智能化的数据采集,同时确保数据的准确性和可靠性。此外,我们提供专业的技术支持和测试服务,加持项目快速上线。https://keymotek.com/explorer-kit-for-data-harvesting/

相关文章:

康谋应用 | 基于多传感器融合的海洋数据采集系统

在海洋监测领域,基于无人艇能够实现高效、实时、自动化的海洋数据采集,从而为海洋环境保护、资源开发等提供有力支持。其中,无人艇的控制算法训练往往需要大量高质量的数据支持。然而,海洋数据采集也面临数据噪声和误差、数据融合…...

双周报Vol.67: 模式匹配支持守卫、LLVM 后端发布、支持 Attribute 语法...多项核心技术更新!

2025-03-10 语言更新 模式匹配支持守卫(Pattern Guard) 模式守卫可以通过在模式后追加 if ... 的语法结构来指定。有模式守卫的分支只有在被模式匹配的值满足对应模式,并且模式守卫为真的情况下才会执行。如果模式守卫为假,则会…...

深入探索 Java Stream

目录 引言一、Java Stream 基础二、Java Stream 常用操作的语法结构及示例三、Java Stream 的应用场景四、总结 引言 在 Java 编程领域,随着数据量的不断增长以及对高效数据处理需求的日益迫切,Java 8 引入的 Stream API 成为了开发者们的得力助手。Str…...

搜广推校招面经四十六

Minimax llm&广告推荐算法 一、反向梯度下降的数学推导(以逻辑回归为例) 1.1. 模型定义 假设模型为逻辑回归,输入特征为 x ∈ R d \mathbf{x} \in \mathbb{R}^d x∈Rd,权重参数为 w ∈ R d \mathbf{w} \in \mathbb{R}^d …...

【Java 和 Scala】-- Java 与 Scala 的 Assert 断言对比

目录 Java 与 Scala 的 Assert 断言对比 1. 什么是 Assert(断言)? 2. 断言的使用场景 3. Java 断言示例 3.1 Java 断言的基本用法 3.2 Java 启用断言 4. Scala 断言示例 4.1 Scala 断言的基本用法 4.2 Scala 断言默认行为 5. Java 与…...

嵌入式软件测试的东方智慧:WinAMS工具的技术哲学与实践启示——一名汽车电子工程师的七年工具演进观察

引言:在丰田精益生产线上诞生的测试哲学 2017年参与某日系车企的ECU(电子控制单元)联合开发时,我第一次在名古屋工厂见到产线旁部署的WinAMS测试站。不同于欧美工具强调的“全流程覆盖”,这个诞生于日本制造业精益文化…...

MCP-代码解读TypeScript版本

MCP-代码解读TypeScript版本 文章目录 MCP-代码解读TypeScript版本1-参考网址2-TypeScript代码3-代码解读1-[非重点]定义函数2-[非重点]定义工具说明3-[重点]运行MCP服务 1-参考网址 B站视频参考 2-TypeScript代码 import { McpServer } from "modelcontextprotocol/sd…...

写了一个二叉树构造函数和画图函数,方便debug

代码 class TreeNode(object):def __init__(self, val, leftNone, rightNone):self.val valself.left leftself.right rightdef construct_tree(nodes):if not nodes:return Noneroot TreeNode(nodes[0])queue [root]index 1while index < len(nodes):node queue.p…...

docker 小记

一、卸载 查看当前版本 docker -v2. 如果有&#xff0c;先停止docker systemctl stop docker如果是yum安装&#xff0c;卸载方式为 #已防版本冲突&#xff0c;直接卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-lat…...

G-Star 公益行起航,挥动开源技术点亮公益!

公益组织&#xff0c;一直是社会温暖的传递者&#xff0c;但在数字化浪潮中&#xff0c;也面临着诸多比大众想象中复杂的挑战&#xff1a;项目管理如何更高效&#xff1f;志愿者管理又该如何创新&#xff1f;宣传推广怎么才能更有影响力&#xff1f;内部管理和技术支持又该如何…...

CMD批处理一些冷门命令,编写windows脚本常用?

场景1&#xff1a; 考虑一种情况&#xff0c;需要使用变量对变量循环替换这个时候&#xff0c;如果不加以一些特殊的设置&#xff0c;很有可能出现与预设的结果不相符的情况&#xff0c;这个时候可以通过设置这样一个命令来避免这个问题。 解决方式&#xff1a; setlocal ena…...

医疗AI测试实战:如何确保人工智能安全赋能医疗行业?

一、医疗AI测试的重要性 人工智能&#xff08;AI&#xff09;正广泛应用于医疗行业&#xff0c;如疾病诊断、医学影像分析、药物研发、手术机器人和智能健康管理等领域。医疗AI技术的应用不仅提高了诊断效率&#xff0c;还能降低误诊率&#xff0c;改善患者治疗效果。然而&…...

k9s入门及实战

概述 k9s&#xff0c;GitHub&#xff0c;是用于管理k8s集群的CLI&#xff0c;提供一个终端UI来与k8s集群进行交互。通过封装kubectl功能&#xff0c;k9s会以特定时间间隔监控k8s的变化&#xff0c;默认为2秒&#xff0c;并提供后续命令来与k8s资源进行交互&#xff0c;k9s可让…...

嵌入式硬件篇---手柄控制控制麦克纳姆轮子

文章目录 前言1. 变量定义2. 摇杆死区设置3. 模式检查4. 摇杆数据处理4.1 右摇杆垂直值&#xff08;psx_buf[7]&#xff09;4.2 右摇杆水平值&#xff08;psx_buf[8]&#xff09;4.3 左摇杆水平值&#xff08;psx_buf[5]&#xff09;4.4 左摇杆垂直值&#xff08;psx_buf[6]&am…...

redis增加ip白名单

Redis增加IP白名单 随着互联网的快速发展&#xff0c;网络安全问题也日益凸显。为了保护服务器安全&#xff0c;我们常常需要对访问服务器的IP地址进行限制。而Redis作为一种高性能的缓存数据库&#xff0c;可以用来实现IP白名单功能。本文将介绍如何使用Redis来增加IP白名单&…...

git commit messege 模板设置 (规范化管理git)

配置方法 git config --global core.editor vim &#xff08;设置 Git 的默认编辑器为 Vim&#xff09;在用户根目录下&#xff08;~&#xff09;&#xff0c;创建一个.git_commit_msg文件&#xff0c;然后把下面的内容拷贝到文件中并保存。 [version][模块][类型]{解决xxx问题…...

Franka机器人ROS 2 发布:赋能机器人研究和行业应用

Franka机器人 ROS 2 发布&#xff1a;赋能机器人研究和行业应用 Franka ROS 2 发布&#xff1a;赋能机器人研究和行业应用 由zlem Odeh 于Franka Robotics 发布 在机器人操作系统 (ROS) 等技术和生态系统的推动下&#xff0c;机器人世界正以前所未有的速度发展。ROS 2 是广受…...

docker部署jenkins,安装使用一条龙教程

Jenkins k8s 实现CI/CD 一、简介 1. JenKins是什么? Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。 2. 什么是CI / CD…...

短视频下载去水印,用什么工具好?

去除视频和图片水印是许多用户的需求&#xff0c;尤其是在分享或保存内容时。以下是6款超好用的工具&#xff0c;帮助你轻松去除水印&#xff0c;享受纯净的视觉体验&#xff1a; 1. 易下载去水印小程序 特点&#xff1a; 操作简单&#xff0c;支持抖音、快手、小红书、哔哩哔哩…...

达梦数据库中插入导出图片的方法与应用

达梦数据库中插入导出图片的方法与应用 在数据库的实际应用场景中&#xff0c;图片存储是一项常见且重要的需求。以电商平台为例&#xff0c;商品展示图片是吸引消费者的关键元素&#xff1b;而在社交软件里&#xff0c;用户头像更是个人形象的直观体现。针对达梦数据库&#…...

推理大模型时代,TextIn ParseX助力出版业知识资产重构

在大语言模型&#xff08;LLM&#xff09;与推理能力快速进化的技术浪潮下&#xff0c;出版机构沉淀数十年的非结构化数据资产&#xff0c;包括书籍、期刊、手稿及历史档案&#xff0c;正在焕发新的机遇。基于文档解析、NLP与大模型的推理生成能力&#xff0c;我们在图书馆层层…...

怎么删除百度搜索下拉框里的搜索引导词

搜索引擎已成为我们获取信息的主要渠道之一。百度&#xff0c;作为中国最大的搜索引擎&#xff0c;其下拉框中的搜索引导词&#xff08;也称联想词或推荐词&#xff09;不仅提升了搜索效率&#xff0c;还常常反映了用户的搜索习惯和热门话题。然而&#xff0c;当这些下拉词包含…...

网络爬虫-1:发送请求+维持会话+代理设置/超时设置

1.基于get发送请求 2.基于post发送请求 3.维持会话 4.代理设置/超时设置 一.基于get发送请求 1.获取网页源码1 使用json库中的json.loads(),将json格式的字符串变为Python的字典形式 以下通过http://httpbin.org/get网址进行基本练习操作 import requests import json urlh…...

GPU加速的国密SM2算法实现

目录 GPU加速的国密SM2算法实现一、前言二、国密SM2算法概述2.1 国密SM2算法背景2.2 SM2的数学基础2.3 SM2数字签名流程三、GPU加速在SM2算法中的应用3.1 高性能运算需求3.2 GPU加速优势3.3 加速实现思路四、基于Python的SM2算法实现与GPU加速4.1 算法模块设计4.2 主要数学公式…...

Redis 2025/3/9

Redis主从集群 搭建主从集群 Redis并发能力非常强&#xff0c;单节点能够达到数万的并发。 不过对一些用户规模大&#xff0c;并发量比较高的应用来讲&#xff0c;数万并发不太够。这时候就用到redis的集群了。因为Redis中的数据通常读多写少&#xff0c;所以最常用的集群方…...

2min搞定~Mac Pro 编译安装 Nginx 1.8.1

2min搞定&#xff5e;Mac Pro 编译安装 Nginx 1.8.1 一安装流程简述1、编译源码前&#xff0c;获取要依赖的源码包2、进行编译、安装nginx3、启动 二、实战部分&#xff1a;测试demo1、nginx.conf改动2、代码改动3、访问 一安装流程简述 阿哟啊哟老铁&#xff0c;别嫌我啰嗦奥…...

要在Unreal Engine 5(UE5)中实现角色打击怪物并让怪物做出受击反应,

UE5系列文章目录 文章目录 UE5系列文章目录前言一、实现思路二、最终效果 前言 ue5角色受击没有播放受击动画&#xff0c;主角达到怪物身上没有反应 一、实现思路 要在Unreal Engine 5&#xff08;UE5&#xff09;中实现角色打击怪物并让怪物做出受击反应&#xff0c;你需要…...

C++蓝桥杯基础篇(十一)

片头 嗨~小伙伴们&#xff0c;大家好&#xff01;今天我们来学习C蓝桥杯基础篇&#xff08;十一&#xff09;&#xff0c;学习类&#xff0c;结构体&#xff0c;指针相关知识&#xff0c;准备好了吗&#xff1f;咱们开始咯~ 一、类与结构体 类的定义&#xff1a;在C中&#x…...

【贪心算法4】

力扣452.用最少数量的剪引爆气球 链接: link 思路 这道题的第一想法就是如果气球重叠得越多那么用箭越少&#xff0c;所以先将气球按照开始坐标从小到大排序&#xff0c;遇到有重叠的气球&#xff0c;在重叠区域右边界最小值之前的区域一定需要一支箭&#xff0c;这道题有两…...

Leetcode 698-划分为k个相等的子集

给定一个整数数组 nums 和一个正整数 k&#xff0c;找出是否有可能把这个数组分成 k 个非空子集&#xff0c;其总和都相等。 示例 1&#xff1a; 输入&#xff1a; nums [4, 3, 2, 3, 5, 2, 1], k 4 输出&#xff1a; True 说明&#xff1a; 有可能将其分成 4 个子集&#…...