我的船和大多数船一样,有一个NMEA网络和一套输出数据的仪器。我想知道如果我记录并分析这些数据,我可能会获得什么见解。有图案吗?我的航行比我想象的好还是坏?
我决定找出答案,并构建了一个硬件设备来监听我的 NMEA 网络并记录数据。对记录数据的分析揭示了有趣的见解,我希望利用这些见解更快地航行。这已经很有趣了。
下面的图 1 显示了我在 2019 年苏必利尔湖海上比赛中航行的部分路线,以及我从我的船的网络获得的关于实际性能的数据,叠加在预测性能之上。
图 1:海上比赛的预测与实际表现的航行路线
我们在竞争激烈的领域赢得了这场比赛。查看数据,我们的航行速度比预期的要快。事实上,在图 1 左侧的比赛中,我在想,“为什么我们跑得这么快?这些仪器还对吗?”
我们已经进入了区域。该区域在图 1 右侧的散点图中可以看到。它是该图左下方的紫色和绿色云。
受创客文化的启发,这篇文章介绍了我如何构建一种方法来收集该图中显示的数据。下面的详细信息描述了我的路径,并告诉你如何做到这一点!
我很想知道是否可以建立一种方法来打开我船上的 NMEA 网络,以分析我和船员在该区域的时间。有没有在水上看不见的原因可以被发现?当我们离该区域不远时,同样的分析能否产生对那些时代的洞察?作为第一步,我想记录我的数据进行分析。一旦我致力于这个项目,深入研究细节让我能够学习并获得一些乐趣。
结果是BoatThing 。BoatThing 是一个解锁、分析和利用仪器网络数据以提高航行性能的项目。它既是硬件设备又是软件,可以轻松安装在任何拥有 NMEA 2000 网络的船上。
对地速度(SOG)、良好速度(VMG) 和其他指标帮助我了解给定时刻的水上表现。但是,一时的知识并不能帮助我理解在预期或先前基准的上下文中的性能。我相信提供上下文将帮助我更好地理解如何改进。
例如,图 1 显示我的实际表现(点)与预测的表现(线条)相差很大。让我解释。
像大多数赛车手一样,我使用源自速度预测程序(VPP)的Polars 。(例如,参见下面的图 2。)极坐标是给定观察到的风力条件下预期最大船速的粗略近似值。彩色实线是对各种风速范围的预测。图中的角度是相对于船的真实风角。半径(与原点的距离)是风条件下的预期船速,以角度和线的颜色为参考。Polars 帮助我了解在当前风速和方位的情况下我应该走多快以及应该保持什么航向。
图 2:Islander 36 的 Polars
如果我的船处于良好的维修状态,我希望能够达到极地预测的速度,钻机已经调整好,并且船员们一起工作得很好。但海况、洋流或简单的注意力不集中和疲劳都会导致我们航行的速度比预期的快或慢。当我开始随着时间的推移跟踪我的实际船速和风速时,我看到的范围比我预期的还要大!
图 3:顺风表现超出预期,而一些逆风表现低于预期
我将部分比赛的实际数据(如图 1 所示)覆盖在我的极地之上。结果如上图 3 所示。这表明我在这部分比赛中的大部分顺风表现都非常好,远远超出了预期。例如,200 度(顺风航行)附近的绿点(11-13 节风速)比绿线(11-13 节风速的预测速度)更远离原点。
其他时候,我的表现远低于预期。例如,紫色点(5-7 节的风)通常更接近 300 度左右的原点(逆风航行)。
但为什么?性能更好是因为电流、帆选择、修剪吗?性能是否因为海况、舵、调整而变差?尽管回答这些问题很困难,但我相信我可以通过收集和分析我的数据来获得更好的洞察力。这些数据将为我通常航行的条件建立基线。事实上,在以后的帖子中,我将分享一个程序,用于绘制比赛每条腿的实际与预测性能。
此外,我也许可以进行更深入的分析。数据可以分为不可修改和可修改的特征。不可修改的特征包括风速、风角、海况和海流。可修改的特性包括船速、配平设置和船员体重。
使用在R等程序中免费提供的各种机器学习分析技术,应该可以识别允许我们超出基线或未达到目标的可修改因素,从而帮助提高我们在各种条件下的性能标准。
船上使用的NMEA 2000总线是SAE J1939的一种变体,它基本上是具有更高比特率和更宽负载的CAN 总线。只需稍加修改,就可以在BeagleBone Black之类的设备上设置嵌入式 Linux SoC ,并使用CAN收发器监控 NMEA 2K 流量,并使用CANBOAT等开源软件将二进制数据流转换为可导入的 csv 数据进入分析工具,例如R 。
图 4:显示 NMEA 2K 高/低线的示波器
通过实时监控 NMEA 2K 流量的通用计算设备,有大量可能的应用和分析。上面的例子只是冰山一角。
图 5:BoatThing 在长凳上运行
我的下一篇文章将描述我如何创建具有足够详细信息的 BoatThing,您应该能够自己构建一个。如果您不想组装设备,我也会为您组装设备(以合理的成本)。
在接下来的文章中,我将描述更多分析以及 R 代码片段。然后您就可以开始了解您的船在水上的表现,并提高您的比赛表现!
请随时在下面发表评论或通过boatthing@dherring.com与我联系。谢谢!
我是大卫,职业程序员。我在硬件和数据科学方面有一些经验,并且喜欢通过破解来理解不易访问的系统。我也是一名在苏必利尔湖上比赛的 Islander 36 赛车手。我追求BoatThing是为了优化我的比赛表现,同时也是为了学习和享受乐趣。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !