前言
根据数据统计,绞痛是造就马匹死亡的主要原因。这是一个惊人的数字,但是如果能及时发现的话,绞痛很容易治愈。对马匹来说,这意味着生存的希望。不像人们养的小猫小狗,马匹的活动场所是在牲口棚或者大型牧场里,即大量时间处于无人监督的状态。NIGHTWATCH智能缰绳(和可选的安全颈圈)正是为了解决这个问题而生。
在大约两年半之前,笔者对工业物联网(IIoT)进行研究并撰写了一篇在马匹生长早期将相关技术应用于马缰绳的文章,称为NIGHTWATCH(守夜者)。令我万万没想到的是,竟然有超过10万人有兴趣阅读这篇文章。如今,总部位于美国奥斯汀的生物医学工程&数据科学公司Protequus与工程物联网咨询公司NRGXP达成合作,宣布美国和加拿大将共同发布这款NIGHTWATCH智能缰绳。
当我***次介绍NIGHTWATCH时,因为尚处于早期发展阶段,所以我并没有探究所有的技术细节,而这正是我现在要做的。我为将如此复杂大量的边缘技术集成于这么小的一方之地内而感到无比惊讶。
下面我将介绍有关NIGHTWATCH的有趣技术细节,包括其边缘计算能力,其如何利用机器学习,如何利用超高频脉冲雷达以及无线通信技术。不过在这之前,让我们先来回顾一下NIGHTWATCH的诞生原因。
图:NIGHTWATCH能够监测马匹的心率、呼吸频率、活动、位置和姿势
AAEP(美国马从业者协会,AmericanAssociation of Equine Practitioners)估计,在美国有超过9万的马匹每年都会遭受一段时期的腹绞痛。根据NIGHTWATCH的数据统计,绞痛也是造就马匹死亡的主要原因。这是一个惊人的数字,但是如果能及时发现的话,绞痛很容易治愈。对马匹来说,这意味着生存的希望。不像人们养的小猫小狗,马匹的活动场所是在牲口棚或者大型牧场里,即大量时间处于无人监督的状态。当一匹马出现绞痛症状的时候,可能并没有人在照看它们,或者即使有人在,他们也不知道如何发现它。
NIGHTWATCH智能缰绳(和可选的安全颈圈)正是为了解决这个问题而生。它能够实时监测马匹的生物&行为数据,并在出现早期迹象的时候就及时通过电话和短信向相关负责人报警(最多可达5人),这样人们就可以提前介入,避免事态进一步恶化。因为该技术是“智能”的,所以它能够学习每匹马的独特生理特征数据,并寻找能够证明马匹正在遭受痛苦(比如绞痛、分娩等)的偏差。
选择边缘计算
过去两年中,“边缘计算”的概念急剧升温,话题讨论度也越来越高,原因是随着物联网的发展,人们意识到并不是所有的计算在云端处理都是有意义的。和那些认为云计算应该包揽一切的非理性者相比,还有相当一部分人认为边缘侧、网关和云端同样重要。
某些应用程序对延迟性、安全性、成本甚至容错都有很高的要求,所以应用边缘计算更有意义。这正是NIGHTWATCH智能缰绳所需要具备的特性,公司表示其每件设备每天需要处理超过300MB的数据。
因此,NIGHTWATCH需要找到一种方式,在有没有无线连接的情况下,都能持续地对马匹进行远程监控。你可能会觉得这看上去就像是亚马逊的Echo无法连接到WiFi或Amazon.com,但在昂贵的爱马身上,这完全是另一件事。如果本地设备没有计算功能,那么设备必须将收集到的数据传输上云,然后再进一步通知业主或者看护者,这个过程会产生延迟,并造成昂贵的电源消耗。此外,即使马匹现在正处于没有连接信号的区域,设备上也有像LED那样的装置可以报告马匹是否正在遭受痛苦。因此,只要一个人从旁经过,他就能在没有任何连接信号的情况下迅速评估一匹马的总体幸福指数。
当然,也有一些数据需要上传到云端,以提高机器学习的培训模型并在Amazon.com AWS S3中存档,所以该智能缰绳支持WiFi和蜂窝通讯。因为很多数据需要通过昂贵的蜂窝网络进行传输,因此预处理数据是有意义的。
下面是NIGHTWATCH智能缰绳中的MCU和MPU:
- NoveldaXethru超宽频雷达—它工作在3 GHz 到10 GHz的频率之间,传输原始的UWB-IR射频信号,然后在设备上计算马匹的心率和呼吸频率。马耳后的传感器可以通过微血管系统的微小位移和身体软组织的变化测量马匹的心率和呼吸频率。MCU中的原始雷达数据的速率是7KB每秒。
- 泰利特GNSS GPS模组—该传感器用于确定马的位置和计算其移动距离。
- Invensense9轴加速度传感器、指南针、陀螺仪—这用于测量马的运动,并以每秒1KB的速度传输进入MCU。
- TE连接式气压传感器—除了9轴加速度传感器,该传感器能够帮助更好的预测马的姿势。
所以总体来说,每匹马每秒产生大约8KB的数据,每12小时设备要收集处理300MB的数据。
这里还有一些引人注目的处理器:
- NXP半导体MCU—用于精确取样并预测上述传感器的数据。它运行在FreeRTOS 和Arm CMSIS软件之上,以实现MCU和传感器的连接。
- NXP半导体I.MX6处理器(CPU)—基于来自MCU的预处理数据进行实时模糊逻辑机器学习推理算法以计算EDI(马匹痛苦指数)。CPU运行在定制化的Linux操作系统和为线性代数算法、频率分析、评价方程、对象关系映射和模糊逻辑而设的软件上。
- 美光科技4GB eMMC—在AWS S3存档之前储存运动数据。
- 德州仪器和NXP半导体PMIC—用于管理和优化系统,使得电池寿命***化
- Maxim集成式袖珍电流计—用户可以借此估计当前的电池容量。
随着时间的推移,NIGHTWATCH能够优化算法来减少耗电,使得电池寿命超出夜间续航的规定(12-16小时)。一旦算法被完全优化,公司可以换用FPGA和ASIC。这听起来是不是很像许多其它龙头公司在思考有关边缘计算的问题?绝对是的!
算法和机器学习
NIGHTWATCH使用MathWorks 公司的MATLAB来进行原型机器学习训练,并使用设备内置算法(hand-converted/optimized to C)来预测马匹的痛苦程度。
训练模型上创建了一个本地集群。公司表示,它们将AWS S3和缰绳上本地储存的数据进行同步以训练模型,然后再将其上传至S3供本地设备下载。在大约2周的训练过程中,模型需要超过16GB RAM的数据。NIGHTWATCH并没有基于AWS进行模型学习,因为公司更倾向于在选择合适的云计算基础设施之前,完整的理解内存、CPU和GPU需求。如有必要,NIGHTWATCH未来还可能基于Amazon.com AWS,谷歌GCP,或微软 Azure进行云端训练。
NIGHTWATCH可以通过智能手机、平板电脑和个人电脑来进行管理
NIGHTWATCH可以通过智能手机、平板电脑和个人电脑来进行管理。
出于实用主义的目的,NIGHTWATCH选择了MATLAB,高斯混合模型(GMM)和期望***化(EMM)算法——因为该项目始于2014年,那时包括Tensorflow, Caffe和Torch在内的框架并不可用。再加上NIGHTWATCH相信很多人使用的编程语言和多个第三方库并不适用于资源约束型底层嵌入式处理器。
无线技术
虽然NIGHTWATCH智能缰绳是一种特殊的边缘计算IIoT案例,但这并不意味着它就不需要领先的无线解决方案。而且因为马缰形状的特殊性和较小的面积,使得这一切变得更加困难。
下面是缰绳中使用的无线技术:
- NoveldaXethru UWB-IR 和定制天线—工作在3000MHz到10000MHz之间,用于检测马的心率和呼吸频率。
- 泰利特通信GPS模块和Antenova天线—工作在1559MHz到1609MHz之间,GPS天线被用于确定缰绳的位置以及更好的确定马匹的运动。
- 德州仪器WIFI芯片和TDK公司天线—工作在5000MHz到2400MHz之间,使得缰绳能够与WiFi路由器连接,便于报警和数据上传。
- 泰利特通信PLC蜂窝调制解调器和Antenova天线—工作在824MHz到960MHz以及1710MHz到2170MHz之间,使得缰绳能够连接到3G运营商网络,便于报警和数据上传。
像WiFi、蜂窝网络和蓝牙这样的通信协议众所周知,但是却几乎没有人知道UWB-IR。设计NIGHTWATCH的工程师吐槽,大多数测试实验室甚至没有合适的设备来测试他们的产品,他们同样不理解该用例和测试需求,甚至必须打破一些常规。手机是一回事,但专为马匹设计并且需要使用UWB-IR的物联网设备完全是另外一回事。
这款NIGHTWATCH智能缰绳已经通过了FCC, IC 和 PTCRB的认证,而且于2017年秋季通过了IEC-60950安全测试。该公司表示,从2018年4月26日开始,美国和加拿大的马匹就能享受这种服务了。
边缘计算虽好,但云依然重要
尽管NIGHTWATCH是一个典型的边缘计算案例,但它仍然使用公有云来执行各种任务。公司使用Amazon.com AWS S3:
- 用户登录和安全
- 网页用户界面展示和后端数据库
- 向所有者和看护者发送警报
- 对原始的生物&行为数据、日志和机器学习模型进行储存和归档
- 向缰绳下发新的推理机器学习算法
结束
NIGHTWATCH是我目前研究过的最复杂的一种专为动物设计的物联网设备,也是我所见过的最复杂的物联网设备之一。希望通过这篇文章,你能理解为什么我会觉得NIGHTWATCH智能缰绳是一个伟大的IIoT边缘计算案例。对于那些对延迟性、网络弹性和蜂窝网络成本要求较高的用例来说,在边缘侧收集数据更有意义。