FUSIONHUB –传感器融合操作系统
FUSIONHUB,传感器融合操作系统
产品介绍
介绍
在过去的几年里,LP-RESEARCH团队参与了许多客户项目,这些项目要求我们针对特定应用定制传感器融合算法。
这种定制通常不包括对现有滤波算法的重大改动,在大多数情况下,只需要对输入/输出接口进行改动,对核心功能进行专门扩展。
我们自己的产品,如 LPMS 惯性测量单元、LPVR 虚拟和增强现实跟踪系统系列以及 LPVIZ 在很大程度上都是基于相同的基本算法,只是传感器输入和数据输出接口不同而已。
因此,我们决定开发一个模块化平台,创建一个节点图,每个节点都有特定的功能:
- 传感器数据源(陀螺仪数据源、全球定位系统等)
- 过滤算法(IMU-光学滤波器、里程计-GPS滤波器等)
- 输出汇(文件写入器、websocket 输出、VRPN 输出等)
模块化平台
我们称这种模块化平台为 FusionHub 或传感器融合操作系统(SFOS),因为它为需要高性能、灵活的传感器输入/输出和过滤系统的应用提供了端到端的解决方案。FusionHub 与平台无关,可在 Windows、Linux 和 Android 上运行。我们还在努力将其移植到苹果的 VisionOS 上。
也许有人会说,机器人操作系统(ROS)就是一个非常类似的解决方案。ROS 是一个功能强大的平台,但其运行所需的基础组件数量相对较多。
在 FusionHub 中,我们依靠 ZeroMQ 协议和谷歌的协议缓冲区来实现节点间的通信。这使得应用程序重量轻,并且独立于任何其他软件栈或平台。
除了连接某些传感器系统可能需要的专有外部库之外,FusionHub 是一个独立的应用程序。即使在嵌入式硬件系统(如 Meta Quest 虚拟现实显示器系列)上也能轻松运行。
简易配置
FusionHub 图形的组件是通过一个简单的 JSON 脚本配置的。例如,来自 LPMS-IG1 IMU 的传感器输入配置如下所示:
"imu": { "outEndpoint": "inproc://imu_data_source", "settings": { "autodetectType": "ig1" }, "type": "OpenZen" }
IMU 与光学传感器融合节点的配置与下面的脚本类似:
"fusion": { "dataEndpoint": "inproc://fusion_output", "inputEndpoints": [ "inproc://optical_data_source", "inproc://imu_data_source" ], "settings": { "SensorFusion": { "alignment": { "w": 0.464394368797396, "x": -0.545272191516426, "y": 0.5236543865322006, "z": 0.46130487841960544 }, "orientationWeight": 0.005, "predictionInterval": 0.01, "sggPointsEachSide": 5, "sggPolynomialOrder": 5, "tiltCorrection": null, "yawWeight": 0.01 } }, "type": "ImuOpticalFusion" }
每个节点都包含输入和输出端点,或者源节点和汇节点的输入和输出端点之一,允许其他节点与其连接。连接可以仅限于应用程序内部(“inproc://…”),也可以从应用程序外部访问(“tcp://…”)。这样就可以构建在分布式机器上运行的节点网络。例如,一台计算机可以从特定传感器获取数据,另一台计算机可以对接收到的数据应用传感器融合算法。
这也是第三方开发的附加节点与 FusionHub 通信或通过 FusionHub 通信的简单方法。
到目前为止,我们已经创建了以下节点组件:
输入
- LPMS 输入节点
- 光学跟踪系统输入节点(ART、Optitrack、VICON、Antilatency)
- (RTK-)GPS 输入节点(NMEA、RTCM)
- 通过 CAN 总线输入节点的汽车里程测量
输出
- 文件写入器节点
- VRPN 输出节点
- Websocket 输出节点
滤波器
- IMU 光电融合节点(用于 LPVR 系统)
- GPS-里程计融合节点(用于汽车导航)
- RTK-GPS-里程计-IMU 融合节点(用于汽车导航)
未来前景
我们为自己的产品和几个客户项目部署了 FusionHub,并取得了巨大成功。
在我们收集的节点组件和 FusionHub 的应用范围不断扩大的同时,我们花费了大量的开发资源来创建测试框架,以确保 FusionHub 的性能和稳健性。由于FusionHub在我们的LPVIZ驾驶辅助系统中的应用至关重要,因此我们核心框架的可靠性和冗余性至关重要。
未来,我们希望将 FusionHub 与我们的内部物联网解决方案 LPIOT 相连接,以便向大量传感器设备并行开放我们的核心算法。此外,我们正在与专注于机器学习的 Archetype AI 公司合作,为这一解决方案提供更深入的智能。
有关如何使用 FusionHub 的更多信息,请参阅 FusionHub 文档。
内容由LP同事KlausPetersen提供