问题标签 [devicemotion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 在 CreateML 中使用序列记录设备运动
所以我想训练一个 MLClassifier 来识别特定的设备运动。所以我所做的就是记录运动数据和我相应标记的非常记录的数据。当这并没有像我希望的那样奏效时,我开始意识到我必须记录“动作”本身,而不仅仅是暂时的。
所以我连续打包了 5 个数据集(字典),这是我的新训练功能。所以我想,但是在尝试训练我的新数据时,我看到了这个错误,试图创建我的分类器:
在“s”列中遇到的值属于“字典”类型,无法映射到分类值。分类值必须是整数、字符串或无。
现在我正在慢慢放弃......你们有没有人建议或知道为什么我不能使用序列(数组)作为特征?
...
顺便说一句,这是我的 JSON 的一些示例数据:
[{"s":[{"rZ":-1.0,"p":0.2,"aY":-0.0,"rX":1.5,"y":0.1,"r":-1.3,"aZ":0.2,"rY":-2.8,"aX":0.6},{"rZ":-1.9,"p":0.2,"aY":0.0,"rX":2.0,"y":0.2,"r":-1.4,"aZ":0.0,"rY":-3.2,"aX":0.5},{"rZ":-1.8,"p":0.3,"aY":0.0,"rX":2.4,"y":0.2,"r":-1.5,"aZ":0.9,"rY":-4.8,"aX":0.5},{"rZ":-1.6,"p":0.3,"aY":0.0,"rX":2.5,"y":0.3,"r":-1.6,"aZ":0.9,"rY":-3.8,"aX":0.6},{"rZ":-1.8,"p":0.3,"aY":0.1,"rX":2.2,"y":0.3,"r":-1.7,"aZ":0.1,"rY":-3.0,"aX":0.6}],"v":0}]
我用来创建模型的代码:
javascript - 如何在 JS 上正确使用 devicemotion
我试图像这样使用“devicemotion”:function fun(){
alert("Work!");
}
window.addEventListener('devicemotion', fun);
我做错了什么?
swift - CoreMotion - 识别跳跃 (Swift)
我对 CoreMotion 很陌生,但我正在尝试构建一个使用 CoreMotion 来查看用户是否在上下跳动的应用程序(想想跳绳)。它还需要让用户能够以他们想要的方式(横向、纵向、奇怪的倾斜方式等)握住他们的手机(没有 iWatch),并且仍然能够判断他们是否在上下移动。我想这有点像“扔手机”应用程序,但没有测量距离。
所以我使用 userAcceleration 和重力通过检查不同重力轴的值来查看哪个方向是“向下”的,它工作正常,但感觉像是一种笨拙的方式。
有没有更好的方法来做我正在做的事情?基本上,当前应用程序需要能够判断是否存在垂直于地面的加速度(无论您如何握住手机)。
javascript - Javascript - 将设备加速度转换为地球坐标
我在使用纯 JavaScript 的网络应用程序中将设备加速度值转换为地球坐标系时遇到问题(解决方案的大多数问题都是 Android 或 iOS 特定的)。
我正在使用 gl-matrix 库来执行计算,并且到目前为止,我的解决方案主要基于我为 Android 本机应用程序找到的答案。到目前为止,我对方向和运动的事件处理程序有什么:
如果我将手机平放在桌子上(纵向模式),顶部指向远离我,并执行“resetOrientation”,这适用于左/右和向前/向后移动。也就是说,如果我将手机绕 z 轴旋转 180 度(意味着仍然平放在桌子上),所以我的顶部指向我,L/R 和 F/B 运动的加速度(代码中的 earthAcc 矩阵)是仍然正确。但是向上/向下不正确,一旦我开始围绕其他轴旋转手机,我就会得到不一致的结果。
可能只是缺少一行或类似的东西,希望矩阵代数大师能发现问题:)
更新:通过将我在 handleMotion 中创建 accMatrix 的方式更改为:
...我也有 UP/DOWN 工作,但如果我在 Z 轴以外的任何其他轴上旋转手机,它不再给出正确的值。
更新 2:我正在 iOS Safari (Iphone) 上对此进行测试,所以我不知道这是否可能是特定于设备类型的问题,但我正在使用应该返回标准化值的 Gyronorm 库。
ionic-framework - 在应用程序在后台运行时读取加速度计数据
我想构建一个 Ionic 应用程序,在应用程序最小化(在后台运行)时仍然可以使用加速度计数据。
我试过使用:
- 离子设备运动插件 https://ionicframework.com/docs/native/device-motion
- 浏览器支持的 Device Motion Web API https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotionEvent
- 记录为受 Chrome 浏览器支持的通用传感器 API https://developers.google.com/web/updates/2017/09/sensors-for-the-web
前两个在前台工作,但在应用程序在后台时不会工作(加速度计读数暂停并在前台再次恢复)。通用传感器 API 根本不起作用,即使我使用这个 polyfill:https ://github.com/kenchris/sensor-polyfills
我也尝试过 Ionic Background Mode 插件,但是,加速度计读数仍在后台暂停。 https://ionicframework.com/docs/native/background-mode
Ionic 应用程序如何在后台使用加速度计?任何我不知道它存在的插件(例如,Ionic Background Geolocation 让应用程序在后台接收位置)?还有什么办法吗?
android - Roll Pitch 和 Yaw 相互依赖
我正在使用这个库,希望从给定的参考框架中找到以度数为单位的偏航旋转。
然而,当开始测试它时,我注意到当以滚动和俯仰方式稍微移动设备时,偏航会发生巨大变化。当将设备放在桌子上并在其中旋转时,它似乎给出了正确的值。
在查看滚动时,我也注意到 - 当以滚动方式旋转它时,它似乎给出了正确的值 - 在俯仰中稍微移动它会突然剧烈地改变值。
给定的值是否相互隔离 - 从给定的参考系旋转?
请注意,该库使用四元数 - 所以不应该存在万向节锁定问题 - 或者它是否源于简单地以度数表示旋转(使用欧拉角)?
这是源代码
编辑:我修改了react-native-sensors以在 iOS 上给我 CMDeviceMotions 态度(滚动、俯仰、偏航)。他们彼此独立地给了我轮换 - 这解决了问题。
javascript - 如何让 DeviceOrientationEvent 和 DeviceMotionEvent 在 Safari 上工作?
我正在尝试在我的网站上实现 DeviceOrientationEvent 和 DeviceMotionEvent 以获得 3D 效果。但是,控制台不记录任何信息,显然 iOS 13 需要用户设置权限才能开始执行此操作。我似乎无法弄清楚如何正确设置它。
我做了一些研究,这就是我发现的:https ://github.com/w3c/deviceorientation/issues/57#issuecomment-498417027
遗憾的是,在线提供的所有其他方法都不再可用。
我收到以下错误消息:
[警告] 在请求并授予权限之前,不会触发任何设备运动或方向事件。
javascript - DeviceMotionEvent 的 IOS safari 13.1 权限
DeviceMotionEvent.requestPermission 适合第一次使用。如果用户在第一次对话窗口中取消对运动传感器的访问,则以后调用 requestPermission 函数时不会出现。并且承诺总是通过响应==='拒绝'来实现。
如何再次提示用户?
javascript - 关于画布动画和设备运动的问题
我想在我的画布上实现设备运动,当我移动手机时,画布也将沿 x 和 y 轴移动,以便画布可以显示更多图像。但我无法弄清楚如何通过javascript来做到这一点。我是否需要先创建画布动画并向其中添加设备运动事件侦听器?如果是这样,我如何将动画代码与我的设备运动代码(所有加速的东西)结合起来。或者我只是将设备运动事件侦听器添加到我的画布以便它移动?我的感觉是我需要先写一个动画,但不确定我是否正确。
希望我的解释是有道理的。谢谢!