计算iPhone行驶的短垂直距离



目前我正在开发一个应用程序,该应用程序需要检测iPhone是否开始和停止垂直移动。我需要能够检测到相当短(50-100厘米(的垂直行进距离,即一个人是否进行深蹲。

有没有办法计算核心运动框架?

let motion = CMMotionManager()
if motion.isDeviceMotionAvailable {
self.motion.deviceMotionUpdateInterval = 1.0 / 60.0
self.motion.showsDeviceMovementDisplay = true
self.motion.startDeviceMotionUpdates(using: .xMagneticNorthZVertical, to: .main, withHandler: { (data, error) in
if let validData = data {
// Just a random minimum acceleration threshold                    
if validData.userAcceleration.y > 3 {
print(validData.userAcceleration.y)
}
}
})
}

有没有办法计算使用Core Motion框架行进的垂直距离?

Core Motion可以检测姿态(手机的方向(和加速度(手机如何启动或停止移动,加速或减速(。平稳的垂直运动根本不会记录。你可能知道运动的开始和结束,但不知道这些事件发生的时间有多远。您可能会根据初始加速度(可以让您计算出我们的行驶速度(和减速前的时间猜测一些事情。但这不会只是一个猜测。

好吧,我不得不为我之前开发的一个应用程序做一些类似的工作。所以关键是使用你可以访问的所有传感器。加速度计、陀螺仪、GPS 和磁力计(在您的情况下可能不是 GPS 和指南针(。然后下一步是进行几次完整的深蹲(希望您的办公室对此没问题:-(正如你期望用户在获取数据基线时所做的那样。然后你可以在此基础上建立一个模型。

好吧,如果你想变得非常厚脸皮,你可以做我们所做的,我们将这些传感器数据发送到ML API/模型。随着时间的推移,它变得非常准确。现在我们的准确率超过90%。但是,在您的情况下,这可能是矫枉过正。

最新更新