计算加速度(驾驶汽车)
Posted
技术标签:
【中文标题】计算加速度(驾驶汽车)【英文标题】:Calculate Acceleration (Driving a Car) 【发布时间】:2011-11-16 19:48:59 【问题描述】:我正在尝试复制应用程序“Dynolicious”之类的加速度计算,但我不知道该去哪里进行计算。我是使用Core Motion
还是使用其他数字进行计算?
我曾尝试使用Core Motion
的userAcceleraion
值,但它与我所寻找的完全不同。
coreMotion = [[CMMotionManager alloc]init];
[coreMotion startDeviceMotionUpdates];
//then every second it updates my label...
NSString *accel = [NSString stringWithFormat:@"%f", [[coreMotion accelerometerData]acceleration].x];
accelerationLabel.text = accel;
即我希望我的值像 0.4、-0.4 等一样。
【问题讨论】:
【参考方案1】:您可能需要考虑低通滤波(如 this SO post 所示),这实际上是 Apple 的指南(请参阅事件处理编程指南的 Isolating the Gravity Component from Acceleration Data)
如果您使用加速度计数据来检测当前 设备的方向,您需要能够过滤掉该部分 由重力引起的加速度数据的一部分 由设备运动引起的数据。为此,您可以使用 低通滤波器,以减少突然变化对 加速度计数据。得到的过滤值然后反映 更恒定的重力影响。
您还可以查看“从加速度数据中分离瞬时运动”部分
如果您使用加速度计数据仅检测即时运动 的设备,您需要能够隔离运动的突然变化 来自重力的恒定作用。你可以用高通来做到这一点 过滤器。
它接着给出了一个简单的实现来完成这个。
【讨论】:
【参考方案2】:Apple 在http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MotionEvents/MotionEvents.html 获得了一些关于收集加速信息的好文档
看起来您需要设置加速度计,然后使用委托方法来读取数据。
【讨论】:
以上是关于计算加速度(驾驶汽车)的主要内容,如果未能解决你的问题,请参考以下文章
阿里云 ACK@Edge 助力元戎启行加速进入自动驾驶规模化生产
阿里云 ACK@Edge 助力元戎启行加速进入自动驾驶规模化生产