骑行有时间变化(例如,有时从 A 到 B 需要 300 毫秒的时间)
在骑行的某些部分(例如上坡),推车由电机驱动。在这些部分中,加速度应该相当稳定。任何时间变化,如果不是归因于不同的采集时间,可能是由于空气动力学因素。对于给定的骑行,这可能是空气温度(影响密度)、手推车中的乘客数量(身体部位干扰空气流动)和风向。过山车的平均速度为 82 mph (~ 132kmh。的“位置误差” 。根据骑行的实际长度,这可能可以忽略不计。132000m3600000ms≈0.03666m/ms300ms×0.03666m/ms=11m
除此之外,您的采样频率也会有些抖动,因为手机的操作系统不能保证它会以绝对严格的频率进行采样。
手机可能有不同的初始方向
没关系,如果您从后续测量中减去第一次测量,那么您将获得相对指示而不是绝对指示。例如,假设您的轴承的前几次测量结果是[270, 265, 260, 255, . . .]该系列[0, -5, -10, -15, . . .]表示相对转动。
手机留在受试者的口袋里,但有点挤
同样,与表征骑行转折点的 G 力相比,手机在某人口袋中的碰撞可能可以忽略不计。将手机紧紧地塞在前袋中是一回事,将其固定在夹克的拉链口袋中(在骑行过程中可能会晃动)是另一回事。
学习“平均”过山车
“平均”过山车骑行是给定骑行的所有可用记录的平均值,每个传感器。那里没有什么可以“学习”的,您拥有的记录越多,您的平均值就越接近骑行中的“平均”体验,因为您在骑行中的每个时间实例都会获得许多不同的加速/旋转/轴承样本。
一旦你对什么是“重大过山车事件”有了明确的定义,就很容易提取出一系列“重大过山车事件”。
例如,“重大过山车事件”可能是急剧下降或急转弯。这两者的特点是推车上物体的总加速度变化速度很快。因此,您可以从 3D 加速度计得出总加速度为然后应用一些“事件阈值在您的上。由此产生的指标函数(一些)指向一些“重大过山车事件”。在上面,是加速度计测量的单个组件。显然,也可以组合多个传感器来提取“Atotal(n)=x(n)2+y(n)2+z(n)2−−−−−−−−−−−−−−−−−√TeAtotal(n)Zn=aTn≥Tex,y,z
在新的旅程中,实时可靠地确定主题在路径上的位置,以便我们可以将音乐与他们的体验对齐 \m/
奖励:过山车路径的 3D 模型
您将无法从加速度中提取过山车路径的准确 3D 模型,因为无法将手机的传感器准确集成到适当的 6 自由度惯性导航系统中。如果您想要一个过山车路径的精确模型,只需记录 GPS 坐标,您就可以在零时间内以 3D 形式获得骑行的形状,并且只需最少的数据处理。
一旦生成了“平均轨迹”信号,跟踪用户在给定行程中的位置就变得微不足道了。有了这个,在骑行中跟踪用户被翻译为“给定用户的几个点的“过去历史”,他们可能沿着这个特定的一维曲线在哪里?”。
因此,鉴于“随机”电话的信号预计会以大致给定的方式(骑行的形状)变化,您所要做的就是检查它们的位置。您可以通过在“位置”上建立一个卡尔曼滤波器来监控当前的总加速度和转弯率。Kalman 将不断猜测它应该在曲线上的位置,并使用它从传感器接收到的实际信号来纠正这个猜测。您也可以使用粒子过滤器来实现相同的效果,可以说需要更少的处理。
显然,然后您可以在一维曲线上设置标记来触发您的音乐重播。
希望这可以帮助。