Результат датчика гироскопа Android

Я только что сделал свой проект по получению датчика гироскопа данных. Если я положу свой телефон на стол горизонтально, то датчик гироскопа покажет: Крен (X): 5,326322E-7 Шаг (Y): 5,326322E-7 Рыскание (Z): 5,326322E-7

По логике результат должен быть 0, т.к. трубка лежала на столе. Итак, кто-нибудь может мне помочь? Я даю свой код ниже. Заранее большое спасибо за ответ :).

public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType()==Sensor.TYPE_GYROSCOPE)
    {


        float roolX = event.values[0];
        float pitchY = event.values[1];
        float yawZ = event.values[2];

        koordinatrollX.setText("Orientation X (Roll) :" + Float.toString(event.values[0]));
        koordinatpitchY.setText("Orientation Y (Pitch) :" + Float.toString(event.values[1]));
        koordinatyawZ.setText("Orientation Z (Yaw):" + Float.toString(event.values[2]));
    }

person user2080041    schedule 18.02.2013    source источник


Ответы (1)


E-7 = 10^-7, так что это очень близко к 0. Вы не можете ожидать, что оборудование будет идеально откалибровано или стол будет идеально плоским. Вы можете позволить пользователю выполнить повторную калибровку в зависимости от поверхности, на которой находится телефон, но результат, который вы получите, уже очень близок к нулю.

person Warpzit    schedule 18.02.2013
comment
ой, простите. все результаты -5.326322E-7, должно быть 0 или почти 0. но по факту получается отрицательный результат. - person user2080041; 18.02.2013
comment
@user2080041 user2080041 это все еще не имеет значения, результат по-прежнему почти 0. Ваши датчики очень точные, поэтому этот результат следует читать как 0. - person Warpzit; 18.02.2013