Sensor fusion implemented on Android?
Asked Answered
E

2

9

I listened to this talk: http://www.youtube.com/watch?v=C7JQ7Rpwn2k

which is Invensense Inc prototyping their "Sensor fusion" system, which is where they combine gyro, accelerometer, compass measurements in Android, to get better results.

Is this currently implemented in any version of Android? The reason I ask is, part of sensor fusion is the "Gravity" sensor and the "Linear Acceleration" sensor, which ARE implemented in Android ever since API Level 9... makes me think that either 1) sensor fusion is implemented 2) sensor fusion is not implemented, but these are just added into Android API in anticipation of widespread added sensorfusion implementation in the future.

Does anyone know?

Thanks

Empyema answered 15/10, 2011 at 5:38 Comment(0)
M
4

Have a look at the first answer to this question. There you will find the explanation of the different types of sensors, directly from one of the Google developers working on these topics. For your information, gyroscope sensor is not included in any of the new "fused" sensors.

Marentic answered 6/12, 2011 at 17:47 Comment(3)
Good answer, thanks. I marked it as the best answer. However your last statement is wrong, according to the link you gave. See the paragraph that ends: "...on some other devices they use the gyro." -- Apparently sometimes the gyro is used for these synthetic/fused sensorsEmpyema
You are right. I assume that is in the TYPE_ROTATION_VECTOR "fused" sensor where gyroscope can be the underlying physical sensor.Marentic
What is the name of the shared library of the Sensorfusion in the Android Phones by default.Akaik sensorfusion is embbeded inside the sensorHAL which is located inside the /system/lib/hardware .Whats teh actual name of the shaerd library?Sideswipe
S
-1

There is no such thing as a 'gravity' sensor (ignoring the search for gravity waves!). Gravity IS an acceleration and hence is detected by the linear accelerometer as well as any other acceleration the sensor may be subject.

Samuel answered 15/10, 2011 at 12:6 Comment(2)
Yes, I know. It is a "synthetic" or "virtual" sensor, which means it doesn't correspond to the raw output of a single actual raw sensor. Yet there are several of these in Android, and they are all called sensors. (If don't like the word "sensor" to describe a virtual sensor, you can call it whatever you like.) Anyways, besides the point... SensorFusion provides these virtual sensors to do actually a better job than what a lazy developer would do. For example, sensor fusion makes a better grav sensor than just setting grav = accel[z] - 9.8. (Watch the video.) This is why i'm interested in it!Empyema
What they are doing is nothing new it's been around long before Android or smart phones ever were. Look into Intertial Navigation systems. As far as I know Android doesn't 'fuse' any sensor outputs.Villasenor

© 2022 - 2024 — McMap. All rights reserved.