草庐IT

android - 由于 OTA 更新到 Marshmallow,我基于陀螺仪的应用程序不再工作

我已通过OTA将我的Nexus5升级到Marshmallow。由于更新简单的基于传感器的Activity不再起作用。以下代码执行它在其他设备(GalaxyS4Lolipop、AVD、...)上应该执行的操作有人做过这个实验吗?我错过了什么吗?代码如下:build.gradleapplyplugin:'com.android.application'android{compileSdkVersion22buildToolsVersion"23.0.1"defaultConfig{applicationId"fr.rouk1.test"minSdkVersion16targetSdkVer

android - 如何在android中实现陀螺仪传感器?

我正在尝试编写最简单的陀螺仪实现(仅在屏幕更改时记录屏幕的方向)。有人可以提供一个简单的例子吗?这就是我现在正在尝试的:publicclassLessonFiveGLSurfaceViewextendsGLSurfaceViewimplementsSensorEventListener{privateLessonFiveRenderermRenderer;publicLessonFiveGLSurfaceView(Contextcontext){super(context);System.out.println("test");}@OverridepublicvoidonSensorC

android - 卡尔曼滤波器 - 指南针和陀螺仪

我正在尝试用陀螺仪、加速度计和磁力计构建指南针。我将acc值与磁力计值融合以获得方向(使用旋转矩阵)并且它工作得很好。但现在我想添加陀螺仪来帮助补偿磁传感器不准确的情况。所以我想使用卡尔曼滤波器来融合这两个结果并得到一个很好的过滤结果(acc和mag已经使用lpf进行了过滤)。我的矩阵是:state(Xk)=>{CompassHeading,Ratefromthegyrointhataxis}.transition(Fk)=>{{1,dt},{0,1}}measurement(Zk)=>{CompassHeading,Ratefromthegyrointhataxis}Hk=>{{1,

android - Unity3D Android 加速度计和陀螺仪控件

我正在尝试在UnityforAndroid中实现加速度计/陀螺仪控制的游戏。用户将以45度角握住手机横屏。根据他的倾斜度,它将控制相机的俯仰。根据他的滚动,它将控制相机的偏航。我一直在研究加速度计和陀螺仪,但似乎无法理解如何应用它来满足我的需要。 最佳答案 要通过加速度计控制您的相机,您应该使用低通滤波器,因为原始加速度计数据会产生大量噪声,从而导致抖动publicfloatAccelerometerUpdateInterval=1.0f/100.0f;publicfloatLowPassKernelWidthInSeconds=0

android - 从 Android 陀螺仪获取四元数?

Theofficialdevelopmentdocumentation建议使用以下方法从3D旋转速率向量(wx,wy,wz)中获取四元数。//Createaconstanttoconvertnanosecondstoseconds.privatestaticfinalfloatNS2S=1.0f/1000000000.0f;privatefinalfloat[]deltaRotationVector=newfloat[4]();privatefloattimestamp;publicvoidonSensorChanged(SensorEventevent){//Thistimestep

android - 陀螺仪传感器漂移和正确的角度估计

我正在使用LGOptimus2x智能手机(陀螺仪和加速计传感器)进行定位。我想从陀螺仪获得正确的旋转角度,稍后可以将其用于body到地球坐标的转换。我的问题是我如何测量和消除陀螺仪传感器中的漂移。一种方法是取陀螺仪样本(当手机处于静止状态时)一段时间的平均值,然后从当前样本中减去,这不是好方法。当移动设备处于旋转/运动状态时,如何获得无漂移角度? 最佳答案 据我所知,卡尔曼滤波器或类似的东西是在SensorManager中实现的。查看SensorFusiononAndroidDevices:ARevolutioninMotionPr

android - 将陀螺仪与加速度计相结合以获得航向

我正在使用Android设备获取航向(方位角或偏航角)。AndroidAPI使用加速度计值+磁场来计算矩阵旋转,然后从该矩阵中提取方位角(又名SensorManager.getOrientation(...))但结果非常不准确!特别是如果手机受到一些磁性物质的干扰。然后我有了陀螺仪,如果我整合陀螺仪波谷时间的值,我就能得到一个实际的角度,但正如每个人都知道的那样:p,这会发生漂移......甚至在10秒后艰难的我不会移动角度漂移10°...所以这里我的一侧是加速器+磁电机的结果,它在磁场附近非常糟糕另一方面,我得到的陀螺仪结果非常好,但会随着时间漂移...所以我的问题是,是否有一种简单

android - 互补滤波器(陀螺仪+加速器)与安卓

最近我做了一些研究,使用加速度计+陀螺仪来使用这些传感器在没有GPS帮助的情况下跟踪智能手机(见这篇文章)IndoorPositioningSystembasedonGyroscopeandAccelerometer为此,我将需要我的方向(角度(俯仰、滚动等..))所以这里是我到目前为止所做的:publicvoidonSensorChanged(SensorEventarg0){if(arg0.sensor.getType()==Sensor.TYPE_ACCELEROMETER){accel[0]=arg0.values[0];accel[1]=arg0.values[1];acce

android detect 陀螺仪是否可用

如何检测安卓设备是否有陀螺仪?目前我正在使用以下方法来检测陀螺仪是否可用。如果陀螺仪不可用,则使用加速度计。SensorManagermgr=(SensorManager)getSystemService(SENSOR_SERVICE);Listsensors=mgr.getSensorList(Sensor.TYPE_ALL);for(Sensorsensor:sensors){Log.i("sensors",sensor.getName());if(sensor.getName().contains("Gyroscope")){try{mSensorManager.register

android - 不同移动设备中的加速度计和陀螺仪精度

我想使用移动设备的传感器(加速度计、指南针、陀螺仪)。这个问题已经在几个地方讨论过了,比如-here和here第一步是确定哪个平台最适合实现此类系统。主要的可能性是三星的Galaxy/Galaxytab,或iphone/ipad。最重要的标准是传感器数据的准确性。然而,这种比较非常复杂,因为准确性不仅取决于设备本身,还取决于其上方的软件层。是否有关于该主题的任何研究?智能手机的传感器和平板电脑的传感器有区别吗?任何指向网站或文章的链接都是最有帮助的提前致谢!爱丽儿 最佳答案 我为Android平板电脑开发了同样的东西。当谈到传感器的