jjzjj

Gyroscope

全部标签

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 - 垂直运动传感器

我正在开发一个需要检测垂直运动的Android应用程序。向上移动平板电脑时,陀螺仪、加速度计和线性加速度传感器会给出相应的值,指示向上或向下运动。我遇到的问题是,当您将平板电脑向用户倾斜或远离用户时,这些传感器也会读取向上/向下的运动。例如陀螺仪中的x值代表垂直面。但是当你向前倾斜设备时,x值会改变。当我做这个Action时,读取垂直运动的同一个传感器会为此读取一个值。其余传感器也是如此。我曾尝试使用方向和陀螺仪来制作条件语句,如果音高没有变化,但x变量在上升/下降,那么我们就有垂直运动。这样做的问题是,如果用户将其向上移动但稍微倾斜,它将不再起作用。我也尝试过这样做,如果倾斜度发生变

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 - type_gyroscope 和 type_gyroscope_uncalibrated 有什么区别?

在Android4.3中,有type_gyroscope_uncalibrated、magnetic_field_uncalibrated、game_rotation_vector、significant_motion等新传感器。我想知道type_gyroscope和type_gyroscope_uncalibrated之间有什么不同。(我可以理解type_magnetic_field_uncalibrated和hardiron错误。)首先,Type_gyroscope可以返回以rad/sec为单位的角速度。这是原始数据!如果我将这些值用于角度,我必须整合值[0]、[1]、[2]。然后

android - Android获得标准化加速

我希望获得Android手机的加速度矢量。问题在于,加速度计的坐标是相对于手机的旋转而言的。我想要的是“绝对”加速度,即无论手机面对哪种方式,它都应返回相同的值。(我想检测正在滑雪的用户是否在不使用GPS的情况下滑下斜坡。我还需要能够区分滑行和升降椅的上升。)我可能可以通过将加速度计与陀螺仪结合使用来获得这些值,但是我不知道如何用陀螺仪的偏移量来抵消加速度计的值。这可能吗?如果可以,怎么办? 最佳答案 您描述的内容无法完成,除非您重新定义问题。为了帮助您重新定义它,我将概述主要问题:首先,我想您所说的“绝对加速度”是相对于地理引用的

android - 手机传感器

经过几个小时的搜索,我很困惑,所以我现在就说说我学到的东西,如果我错了,请纠正我:光传感器:周围光磁性传感器:我可以得到北方的位置。加速计传感器:重力XYZ、地球重力或任何加速度。接近传感器:就像parking传感器一样。方向传感器:告诉XYZ度从他们的轴。我已经使用来自Android市场的一些应用程序(例如“我的传感器”)尝试了这些传感器,并且我可以确认如果您在table上方旋转手机,加速度计传感器不会感觉到。虽然方向传感器似乎捕捉到了所有的Action。现在我可以得出结论,指南针应用程序使用磁传感器来查看北方在哪里,然后使用方向传感器来了解您使用设备的方向,对吗?在纵向和横向模式之

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