Skip to content
Robust absolute positioning in React Native.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
index.js
package.json
yarn.lock

README.md

react-native-sensor-fusion

Robust absolute 3D positioning in React Native, using sensor fusion to exploit the superior characterstics of the device Accelerometer, Gyroscope and Magnetometer, whilst mitigating against their negative qualities.

Physical data acquisition is implemented using react-native-sensors. The noise in sampled data is filtered from the input signals using the high quality kalmanjs, and sensor fusion is calculated using ahrs.

🚀 Getting Started

Using npm:

npm install --save react-native-sensor-fusion

Using yarn:

yarn add react-native-sensor-fusion

✍️ Example

import React from 'react';
import { Text } from 'react-native';
import SensorFusionProvider, { useSensorFusion, useCompass, toDegrees } from 'react-native-sensor-fusion';

const Indicator = () => {
  const { ahrs } = useSensorFusion();  
  const { x, y, z, w } = ahrs.toVector();
  return (
    <Text
      children={toDegrees(z)}
    />
  );

const Indicator = () => {
  const { ahrs } = useSensorFusion();
  const { heading, pitch, roll } = ahrs.getEulerAngles();
  const compass = useCompass();
  return (
    <Text>
      Heading: {toDegrees(heading)}°{'\n'}
      Pitch: {toDegrees(pitch)}°{'\n'}
      Roll: {toDegrees(roll)}°{'\n'}
      Compass: {toDegrees(compass)}°{'\n'}
    </Text>
  );
};

export default () => (
  <SensorFusionProvider>
    <Indicator />
  </SensorFusionProvider>
);

📌 Prop Types


Prop Type Default Required Description
sampleInterval number 60 No The frequency to sample the device sensors in Hz.
algorithm string 'Mahony' No Choose from the Madgwick or Mahony filter.
beta number 0.4 No The filter noise value, smaller values have smoother estimates, but have higher latency. This only works for the Madgwick filter.
kp number 0.5 No The filter noise values for the Mahony filter (Proportional).
ki number 0 No The filter noise values for the Mahony filter (Integral).

✌️ License

MIT

You can’t perform that action at this time.