sensor_based_nav 2.0.0 copy "sensor_based_nav: ^2.0.0" to clipboard
sensor_based_nav: ^2.0.0 copied to clipboard

A Flutter package for sensor-based navigation using ONNX models.

Make predictions using a .onnx model file directly in the Flutter app.

Key Files #

  • onnx_model.dart: Loads model.onnxand provides apredict()` function.
  • sensor_based_nav_controller.dart: Collects sensor data and triggers the prediction.

How It Works #

  1. HardwareSensorService provides sensor data (accelerometer, gyroscope, magnetometer).

  2. SensorBasedNavController:

    • Collects 10 current sensor values (_currentSensorSamples)
    • Stores historical values (_historicalBursts) and past predictions (_historicalDeltas)
    • Prediction Trigger: Once 10 samples are collected, OnnxModel.predict() is called with both current and historical data
      [Code Reference] on GitLab: Sensor-Based-Navigation -> MainBranch
    • After prediction, old data stores are updated
    • Data is updated every 100ms
  3. The prediction result is displayed or used within the app.

  4. Prerequisite: @ build.gradle

    android {
        compileSdk = flutter.compileSdkVersion
        ndkVersion = "27.0.12077973"
      
        defaultConfig {
            minSdk = 24
            targetSdk = 35
        }
    
    

Usage #

  • Subscribe to predictions:

    class _MyHomePageState extends State<MyHomePage> {
    String northing = "0", easting = "0", delta_h = "0"; 
    final _controller = SensorBasedNavController.instance;
    
      @override
      void initState() {
      super.initState();
      initModel();
      startPrediction();
      }
    Future<void> initModel() async {
      _controller.initialize();
        
      }
    
      Future<void> startPrediction() async {
      _controller.predictions.listen((predictedValues) {
        setState(() {
    
          easting = predictedValues[0].toString();
          northing = predictedValues[1].toString();
          delta_h = predictedValues[2].toString();
        });
      });
    }
         
    // UI Output 
    Text('$easting, $northing, $delta_h'),
    
  • Add as dependency

      dependencies:
      sensor_based_nav: 1.1.2
    
1
likes
0
points
64
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for sensor-based navigation using ONNX models.

Repository

Documentation

Documentation

License

unknown (license)

Dependencies

flutter, flutter_onnxruntime, geodesy, geolocator, provider, sensors_plus

More

Packages that depend on sensor_based_nav