New usecase - UAV Path Prediction

UAV Path Prediction (Guideline)

1. Introduction

We utilize collected data from unmanned aerial vehicle (UAV) movements in the x, y, and z axes as input for model training. The Long Short-Term Memory (LSTM) architecture is employed to train the model, and the OSC AIMLFW framework is used as the training model framework. Through this process, a model capable of predicting the path of UAVs is trained, providing a solution for various use cases.

Ensure that the Influx database is operational for this use case, which is based on the OSC AI/ML Framework (Release-J).

2. Suggested Requirements





Getting Started (Start from data insertion)

  • Step 1. Query influx token

    # Search the influx "token" value in below output cat bitnami/influxdb/influxd.bolt | tr -cd "[:print:]"



  • Step 2. Create “UAVData” bucket (Inside Influx DB container)

    influx bucket create -n UAVData -o primary -t <token>



  • Step 3. Fill the file config (UAV_insert.py)

    DATASET_PATH = '/path/to/dataset.csv' # Replace to the UAV dataset path INFLUX_IP = 'localhost' # Influx IP INFLUX_TOKEN = 'VJpoNpqeVnjzvhpPm8jZ' # Influx token



  • Step 4. Excute the insert processing to insert data into Influx DB



  • Step 5.  Upload UAV_pipeline.ipynb to aiml-notebook and generate a UAV_pipeline.yaml




  • Step 6. Start a UAV model training job




  • Step 7. Load UAV model



  • Step 8. Start model prediction
    1. obtain Ingress port for Kserve (kubectl get svc istio-ingressgateway -n istio-system)


    2. source uav.sh

File List

  • UAV_dataset.csv (Download) , (NEW)_UAV_dataset(source)
    The file contains collected UAV movement path data.


  • UAV_insert.py (Download)
    The file processes the UAV_dataset and inserts the data into InfluxDB.
    (Changed required: DATASET_PATH , INFLUX_IP , INFLUX_TOKEN)


  • UAV_pipeline.ipynb (Download)
    The file defines the model structure and training process.


  • UAV_deploy.yaml (Download)
    The yaml file is used for deploying model inference service.


  • UAV_input.json (Download)
    The json file is the sample data for the prediction.


  • UAV_predict.sh (Download)
    The script used for excuting the model prediction.


Example

  • Input:
    This input data represents a collection of points in a three-dimensional space, with each point defined by a set of three coordinates corresponding to the x, y, and z axes (After normalization).

    • Example input

      UAV_input



  • Output:
    The output should be next xyz-axis path prediction (After normalization).


    • Example output

      UAV_output



Contributors

  • Joseph Thaliath - Samsung

  • Antony Wang - NTUST MITLab

  • Jasmine Lee - NTUST MITLab

  • Tuck-Wai Choong - NTUST MITLab