ios - 苹果 watch CMDeviceMotion 没有给我很好的读数

标签 ios objective-c watchkit apple-watch core-motion

目前,我只是记录一堆运动数据并将其保存到文件中。然而,当我绘制数据时,我很难相信我得到了正确的读数。这是我的 watch 代码:

- (IBAction)startStopRecording {
    if (!recording){
        NSLog(@"starting to record");
        recording = YES;
        data = [[NSMutableArray alloc] init];
        [self.startRecording setTitle:@"Stop Recording"];
        if (self.motionManager.deviceMotionAvailable) {
            [self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMDeviceMotion *motion, NSError *error) {
                [data addObject:[NSString stringWithFormat:@"%f, %f, %f, %f, %f, %f, %f, %f, %f", motion.attitude.pitch, motion.attitude.roll, motion.attitude.yaw, motion.userAcceleration.x, motion.userAcceleration.y, motion.userAcceleration.z, motion.rotationRate.x, motion.rotationRate.y, motion.rotationRate.z]];
                NSLog(@".");
            }];
        }
    }else{
        recording = NO;
        NSLog(@"stopping recording");
        [self.motionManager stopDeviceMotionUpdates];
        [self.startRecording setTitle:@"Start Recording"];
        [InterfaceController openParentApplication:@{ @"data": data } reply:^(NSDictionary *replyInfo, NSError *error) {
            NSLog(@"Data has been saved.");
            NSLog(@"replyInfo %@", replyInfo);
        }];
    }
}

父应用程序只是将所有数据写入文件。我记录了 watch 在所有三个轴上来回旋转(俯仰,然后滚动,然后偏航):

enter image description here

然后当我绘制数据时,这就是我得到的:

pitch plot roll plot yaw plot

偏航噪音太大,你根本看不到信号。在绘制向三个不同方向猛拉 watch 后的加速度时,我也遇到类似的问题。我可以看到加速度的峰值,但它们似乎与方向无关。关于如何改进这一点有什么想法吗?我错过了什么吗?难道是我 watch 的传感器坏了?

最佳答案

原因是因为我实际上并没有从 watch 中提取数据。它正在从手机中提取数据。为了提取数据(目前 watch 仅提供 acc 数据),您需要有 watchOS2(目前处于测试阶段)。否则 watch 只会从手机获取数据。

关于ios - 苹果 watch CMDeviceMotion 没有给我很好的读数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32466314/

相关文章:

ios - 在 Swift 中从 App 向 watchOS 发送消息

ios - 防止在 Xcode 中使用 iOS iPhone App 部署(禁用)WatchKit App

objective-c - 如何仅在 tableview 中显示 UISearchbar 栏而不是在 objective-c 中的 UINavigationbar 上

ios - 如何查看一个字符串是否与另一个字符串中的任何字符匹配?

ios - Autolayot 纵横比 iOS

ios - uiscreen SWIFT 的旋转

objective-c - 检测Xcode项目开发语言

c++ - 如何在内存中保留 C++ 对象?

xcode - Watchkit - 共享代码 - 框架、应用程序扩展、应用程序组、添加目标或只是复制文件?

ios - 如何在 ffmpeg 中使用 librtmp?