Ios 赛艇运动员划水速度感知算法
我试图计算沿加速度计Y轴的力或加速度 这就是我的代码的样子Ios 赛艇运动员划水速度感知算法,ios,iphone,objective-c,core-motion,Ios,Iphone,Objective C,Core Motion,我试图计算沿加速度计Y轴的力或加速度 这就是我的代码的样子 -(void)outputAccelertionData:(CMAcceleration)acceleration { self.accY.text = [NSString stringWithFormat:@" %.1fg",acceleration.y]; if(fabs(acceleration.y) < fabs(currentMaxAccelY)) { [self count]; } currentMa
-(void)outputAccelertionData:(CMAcceleration)acceleration
{
self.accY.text = [NSString stringWithFormat:@" %.1fg",acceleration.y];
if(fabs(acceleration.y) < fabs(currentMaxAccelY))
{
[self count];
}
currentMaxAccelY = acceleration.y;
}
- (void) count
{
counter = counter + 1;
self.countLabel.text = [NSString stringWithFormat:@"%d", counter];
}
-(无效)OutputAccelerationData:(cAcceleration)加速度
{
self.accY.text=[NSString stringWithFormat:@“%.1fg”,acceleration.y];
if(fabs(加速度y)
这目前不起作用,它只是不断地开始向上计数。我想实现的是这个
达到新的当前最大加速度(因此有效地高于先前的总加速度。随着加速度减慢,我将当前最大值更新为新的低变量,然后等待触发,但值更高)
目前我的代码不起作用。任何修复它的帮助,甚至改进算法都会非常有帮助……这是我第一次尝试这些方法,所以任何帮助或建议都会非常好。我建议看看如何通过低通过滤器运行数据。你可以在苹果的加速度计中看到一个例子RGRAPHE示例代码。我认为这会让你更接近你所需要的。我最近在一个摄像头应用程序中实现了类似的功能,用于检测手持设备的运动,效果不错。很多都取决于你的阈值以及它们需要有多敏感
好的,我想如果我的陈述现在正确,当加速度超过currentMaxAccelY时,我会用新的低值更新currentMaxAccelY,然后我添加到计数器中…但是它会导致敏感atm并不断计数..我想知道如何防止它变得如此敏感,以便更好地计算笔划。你试过放置在你的加速度的最小值?所以你只注意加速度,如果它高于某个阈值?不,我没有尝试过,但这是一个非常好的主意…我现在将研究它。我刚刚浏览了示例代码,不幸的是,这些框架中的大多数已经被去润滑并替换为核心运动,但是我仍然有一个广告和一个游戏回合,并设法得到了一个真正的基本计数器工作,并与图形和输出有一些乐趣,所以总的来说,我仍然学到了一点。我认为过滤将是这个笔划率计算器最困难的部分。毫无疑问。你可以使用CoreMotion数据作为输入为你的过滤器。鉴于划船的性质,你是p很有可能在拉动时看到一个较低阈值上的相对持续值,在重置时看到一个类似的负值。