Skip to content

Instantly share code, notes, and snippets.

@Arth-ur
Created May 23, 2018 08:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Arth-ur/fadf874566a393152f1c33315af51cdf to your computer and use it in GitHub Desktop.
Save Arth-ur/fadf874566a393152f1c33315af51cdf to your computer and use it in GitHub Desktop.
SensorLog utiity for Robogen
package com.robogengame.robogen;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Represents a sensor log file.
*
* Command line usage:
*
* $ java SensorLog [-t time_step] [sensor_index...] filename
*
* -t time_step provides the time step as a floating point number (default:
* 0.005) sensor_index a list of sensor index filename filename or - to read
* from the standard input
*
* Example usage in command line to compute the jerk of the first, second and
* third sensors (assuming those sensors are accelerometers):
*
* $ java SensorLog sensorLog.txt
*
* The sensors to be read can be changed by providing their indices before the
* name of the sensor log file. Example for reading the fourth and fifth
* sensors:
*
* $ java SensorLog 3 4 sensorLog.txt
*
* Set the simulation time step to 0.01:
*
* $ java SensorLog -t 0.01 3 4 sensorLog.txt
*
* @author Arthur Gay <arthur.gay@epfl.ch>
*/
class SensorLog {
/**
* Stores the values of all the sensors.
*/
final double values[][];
/**
* The time step of the simulation.
*/
final double timeStep;
/**
* Parse the given input stream with a default timeStep equals to 0.005s.
*
* @param is Input Stream for reading the sensor log file
* @throws SensorLog.MalformedFileException when the file is not
* correctly formatted
* @throws IOException
*/
SensorLog(InputStream is) throws MalformedFileException, IOException {
this(is, 0.005);
}
/**
* Parse the given input stream.
*
* @param is Input Stream for reading the sensor log file
* @param timeStep of the simulation
* @throws SensorLog.MalformedFileException when the file is not
* correctly formatted
* @throws IOException
*/
SensorLog(InputStream is, double timeStep) throws MalformedFileException, IOException {
/*
* Parsing is done in two steps: 1) Read the file line by line. Each line is
* splitted by space and the resulting list of tokens is stored into a list of
* lists of tokens. 2) Read the list of lists of tokens and parse each token
* into a double and store it into an two dimensional array.
*/
BufferedReader reader;
String line;
String splitLine[];
List<String> spaceSeparatedValuesLine;
List<List<String>> spaceSeparatedValues = new ArrayList<>();
int lineSensorCount;
// Set to -1 to signal that the variable has not been initialised yet
int sensorCount = -1;
int lineCount = 0;
int skip = 5; // Skips firs n logs of the sensor log
this.timeStep = timeStep;
reader = new BufferedReader(new InputStreamReader(is));
line = reader.readLine();
while (line != null) {
lineCount += 1;
if (lineCount < skip) {
continue;
}
splitLine = line.trim().split("\\s+");
spaceSeparatedValuesLine = Arrays.asList(splitLine);
lineSensorCount = splitLine.length;
// each line must have the same number of sensors
if (sensorCount == -1) {
sensorCount = lineSensorCount;
} else if (sensorCount != lineSensorCount) {
throw new MalformedFileException(String.format("Error line %d: expected %d sensors, got %d.", lineCount,
sensorCount, lineSensorCount));
}
spaceSeparatedValues.add(spaceSeparatedValuesLine);
line = reader.readLine();
}
values = new double[sensorCount][lineCount - skip];
for (int i = 0; i < sensorCount; i++) {
for (int j = 0; j < lineCount - skip; j++) {
values[i][j] = Double.parseDouble(spaceSeparatedValues.get(j).get(i));
}
}
}
/**
* Compute the mean of the absolute difference divided by the time step.
*
* Let n the number of samples and f(k) the kth value of the sensor, with 0 &lt;
* k &lt; n. Let h the time step. The difference d(k) is computed using the
* following formula:
*
* d(k) = |f(k+1) - f(k)| / h
*
* The mean is then computed using the following formula:
*
* m = sum d(i) / (n - 1), i = 0 to n-1
*
* @param sensorIndex
* @return
*/
double computeMeanAbsoluteDifference(int sensorIndex) {
double sum = 0.0;
double sensorValues[] = values[sensorIndex];
for (int i = 0; i < sensorValues.length - 1; i++) {
sum += Math.abs(sensorValues[i + 1] - sensorValues[i]) / this.timeStep;
}
return sum / (sensorValues.length - 1);
}
/**
* Compute the euclidian norm of a vector of mean absolute differences.
*
* Compute the mean of the absolute forward difference divided by the timeStep
* of multiple sensors and compute their euclidian norm using the following
* formula:
*
* n = sqrt(x^2 + y^2 + ...)
*
* @param sensorIndices
* @return
*/
double computeMeanAbsoluteDifferenceVector(int... sensorIndices) {
double sum = 0.0;
for (int i = 0; i < sensorIndices.length; i++) {
double mean = computeMeanAbsoluteDifference(sensorIndices[i]);
sum += mean * mean;
}
return Math.sqrt(sum);
}
/**
* Check that the given sensors stay in a given range.
*
* @param min minimum value
* @param max maximum value
* @return whether all sensors values are inside the range
*/
boolean isInRange(double min, double max, int... sensorIndices) {
for (int i = 0; i < sensorIndices.length; i++) {
double sensorValues[] = values[sensorIndices[i]];
for (int j = 0; j < sensorValues.length; j++) {
if (sensorValues[j] < min || sensorValues[j] > max) {
return false;
}
}
}
return true;
}
public static void main(String args[]) {
String filename;
SensorLog sensorLog;
// Use standard input by default
InputStream inputStream = System.in;
// Use the 3 first sensors by default
int sensorIndices[] = { 0, 1, 2 };
double timeStep = 0.005;
// A "shift" for parsing command line arguments
int argShift = 0;
if (args.length < 1) {
System.err.println("Error: no filename specified. Aborting.");
System.exit(10);
}
filename = args[args.length - 1];
// The time step option must be the first option. I keep it simple here.
if (args[0].equals("-t")) {
if (args.length >= 2) {
timeStep = Double.parseDouble(args[1]);
argShift += 2;
} else {
System.err.println("Error: no timestep specified. Aborting.");
System.exit(15);
}
}
// Read sensor indices
if (args.length - argShift > 1) {
sensorIndices = new int[args.length - 1 - argShift];
for (int i = 0; i < args.length - 1 - argShift; i++) {
sensorIndices[i] = Integer.parseInt(args[i + argShift]);
}
}
getJerk(filename, timeStep);
}
public static double getJerk(String filename, double timeStep) {
SensorLog sensorLog;
// Use standard input by default
InputStream inputStream = System.in;
// Use the 3 first sensors by default
int accelerometersIndices[] = { 0, 1, 2 };
// Also check that the angles are within a given range
int pitchRollIndices[] = { 3, 4 };
// Angle range
double maxAngle = 0.5;
double minAngle = -0.5;
// A "shift" for parsing command line arguments
int argShift = 0;
// If filename is -, use default input
if (!filename.equals("-")) {
try {
inputStream = new FileInputStream(filename);
} catch (FileNotFoundException ex) {
System.err.format("Error: file '%s' not found. Aborting.\n", filename);
}
}
try {
sensorLog = new SensorLog(inputStream, timeStep);
double jerk = sensorLog.computeMeanAbsoluteDifferenceVector(accelerometersIndices);
boolean inRange = sensorLog.isInRange(minAngle, maxAngle, pitchRollIndices);
// Print output
System.out.println(jerk);
System.out.println(inRange);
return jerk;
} catch (IOException ex) {
ex.printStackTrace(); // keep it for easy debugging
} catch (MalformedFileException ex) {
System.err.format("Error: File is malformed: %s\n", ex.getMessage());
}
return -1;
}
class MalformedFileException extends Exception {
public MalformedFileException(String message) {
super(message);
}
}
}
6.7425e-23 -4.70848e-26 9.81 0 0 0
3.21445e-09 2.82671e-08 -3.05176e-05 0.0908835 -0.0120612 -1.53797e-06
-0.0360749 -0.00529955 0.0949663 0.257774 0.048588 -0.000957117
0.000601259 -0.000299949 9.80896 -6.10495e-05 9.79405e-06 -7.74582e-07
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
0.000628048 0.00163628 9.81 5.42101e-18 -1.20859e-18 3.38813e-19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment