Wednesday, September 6, 2017

Neural Network Performance With Covariance Inputs

Goal: Build a NN for the Covariance Datasets

I next formatted the no-kidnapping teleop (robot driven by keyboard) data to isolate the first element of the amcl_pose covariance matrix.   (See previous blogs for description of covariance spike) First-element covariance was collected for the current and 4 previous timesteps:

Inputs (5):
Covariance[0] at Time=t
Covariance[0] at Time=(t-1) - Covariance[0] at Time=t
Covariance[0] at Time=(t-2) - Covariance[0] at Time=t
Covariance[0] at Time=(t-3) - Covariance[0] at Time=t
Covariance[0] at Time=(t-4) - Covariance[0] at Time=t

^The extra " - Covariance[0] at Time=t" is to normalize the covariance measures...

Output (1):
Error Volume:  (AMCL_X - Gazebo_X) * (AMCL_Y - Gazebo_Y) * (AMCL_QX - Gazebo_QX) *(AMCL_QY - Gazebo_QY) * (AMCL_QZ - Gazebo_QZ) *(AMCL_QW - Gazebo_QW)


I used 2 data collection files to get ~ 120 samples.
https://drive.google.com/open?id=0BwpfRdaiQmbfck43WHpfbVRQQWM
https://drive.google.com/open?id=0BwpfRdaiQmbfV1RqZldSOFN6ZXc

Sadly, the resulting model had poor performance:


Codebase:
https://drive.google.com/open?id=0BwpfRdaiQmbfbmhJX0FiVHBUM0E


To Do:
- Include the data from the other 3 data collections in the training data
- See if using the datasets collected from the programmatic driving routes do better.
- If they don't, look at the Error Volume output - see if there's a better way to do it.

No comments:

Post a Comment