FUSIONHUB –传感器融合操作系统

FUSIONHUB –传感器融合操作系统

FUSIONHUB,传感器融合操作系统

  产品介绍

FUSIONHUB –传感器融合操作系统

介绍

在过去的几年里,LP-RESEARCH团队参与了许多客户项目,这些项目要求我们针对特定应用定制传感器融合算法。

这种定制通常不包括对现有滤波算法的重大改动,在大多数情况下,只需要对输入/输出接口进行改动,对核心功能进行专门扩展。

我们自己的产品,如 LPMS 惯性测量单元、LPVR 虚拟和增强现实跟踪系统系列以及 LPVIZ 在很大程度上都是基于相同的基本算法,只是传感器输入和数据输出接口不同而已。

因此,我们决定开发一个模块化平台,创建一个节点图,每个节点都有特定的功能:

  • 传感器数据源(陀螺仪数据源、全球定位系统等)
  • 过滤算法(IMU-光学滤波器、里程计-GPS滤波器等)
  • 输出汇(文件写入器、websocket 输出、VRPN 输出等)

FUSIONHUB –传感器融合操作系统

模块化平台

我们称这种模块化平台为 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提供

上一篇:

相关文章