Remove tuning web files

This commit is contained in:
Ryan Brott
2023-08-26 10:09:43 -07:00
parent 3fc724ee39
commit 9fa28159da
10 changed files with 0 additions and 1424 deletions

View File

@ -1,2 +0,0 @@
latest.json
*.py

View File

@ -1,264 +0,0 @@
// TODO: time-interpolate data
// https://en.wikipedia.org/wiki/Kahan_summation_algorithm#The_algorithm
function kahanSum(xs) {
let sum = 0;
let c = 0;
for (let i = 0; i < xs.length; i++) {
const y = xs[i] - c;
const t = sum + y;
c = (t - sum) - y;
sum = t;
}
return sum;
}
// https://en.wikipedia.org/wiki/Simple_linear_regression#Simple_linear_regression_without_the_intercept_term_(single_regressor)
function fitLinearNoIntercept(xs, ys) {
return kahanSum(
xs.map((x, i) => x * ys[i])
) / kahanSum(
xs.map(x => x * x)
);
}
function fitLinearWithScaling(xs, ys) {
const xOffset = xs.reduce((a, b) => a + b, 0) / xs.length;
const yOffset = ys.reduce((a, b) => a + b, 0) / ys.length;
const xScale = xs.reduce((acc, x) => Math.max(acc, Math.abs(x - xOffset)), 0);
const yScale = ys.reduce((acc, y) => Math.max(acc, Math.abs(y - yOffset)), 0);
const data = xs.map((x, i) => [(x - xOffset) / xScale, (ys[i] - yOffset) / yScale]);
const result = regression.linear(data);
const [m, b] = result.equation;
return [m * yScale / xScale, b * yScale - m * xOffset * yScale / xScale + yOffset];
}
// no output for first pair
function numDerivOnline(xs, ys) {
if (xs.length !== ys.length) {
throw new Error(`${xs.length} !== ${ys.length}`);
}
return ys
.slice(1)
.map((y, i) => (y - ys[i]) / (xs[i + 1] - xs[i]));
}
// no output for first or last pair
function numDerivOffline(xs, ys) {
return ys
.slice(2)
.map((y, i) => (y - ys[i]) / (xs[i + 2] - xs[i]));
}
const CPS_STEP = 0x10000;
function inverseOverflow(input, estimate) {
// convert to uint16
let real = input & 0xffff;
// initial, modulo-based correction: it can recover the remainder of 5 of the upper 16 bits
// because the velocity is always a multiple of 20 cps due to Expansion Hub's 50ms measurement window
real += ((real % 20) / 4) * CPS_STEP;
// estimate-based correction: it finds the nearest multiple of 5 to correct the upper bits by
real += Math.round((estimate - real) / (5 * CPS_STEP)) * 5 * CPS_STEP;
return real;
}
// no output for first or last pair
function fixVels(ts, xs, vs) {
if (ts.length !== xs.length || ts.length !== vs.length) {
throw new Error();
}
return numDerivOffline(ts, xs).map((est, i) => inverseOverflow(vs[i + 1], est));
}
// see https://github.com/FIRST-Tech-Challenge/FtcRobotController/issues/617
function fixAngVels(vs) {
if (vs.length === 0) {
return [];
}
let offset = 0;
lastV = vs[0];
const vsFixed = [lastV];
for (let i = 1; i < vs.length; i++) {
if (Math.abs(vs[i] - lastV) > Math.PI) {
offset -= Math.sign(vs[i] - lastV) * 2 * Math.PI;
}
vsFixed.push(offset + vs[i]);
lastV = vs[i];
}
return vsFixed;
}
// data comes in pairs
function newLinearRegressionChart(container, xs, ys, options, onChange) {
if (xs.length !== ys.length) {
throw new Error(`${xs.length} !== ${ys.length}`);
}
// cribbed from https://plotly.com/javascript/plotlyjs-events/#select-event
const color = '#777';
const colorLight = '#bbb';
let mask = xs.map(() => true);
function fit(xs, ys) {
return options.noIntercept ? [fitLinearNoIntercept(xs, ys), 0] : fitLinearWithScaling(xs, ys);
}
const [m, b] = fit(xs, ys);
if (onChange) onChange(m, b);
const minX = xs.reduce((a, b) => Math.min(a, b), 0);
const maxX = xs.reduce((a, b) => Math.max(a, b), 0);
const chartDiv = document.createElement('div');
const width = Math.max(0, window.innerWidth - 50);
Plotly.newPlot(chartDiv, [{
type: 'scatter',
mode: 'markers',
x: xs,
y: ys,
name: 'Samples',
// markers seem to respond to selection
marker: {color: mask.map(b => b ? color : colorLight), size: 5},
}, {
type: 'scatter',
mode: 'lines',
x: [minX, maxX],
y: [m * minX + b, m * maxX + b],
name: 'Regression Line',
line: {color: 'red'}
}], {
title: options.title || '',
// sets the starting tool from the modebar
dragmode: 'select',
showlegend: false,
hovermode: false,
width,
height: width * 9 / 16,
}, {
// 'select2d', 'zoom2d', 'pan2d', 'lasso2d', 'zoomIn2d', 'zoomOut2d', 'autoScale2d', 'resetScale2d' left
modeBarButtonsToRemove: [],
});
const results = document.createElement('p');
function setResultText(m, b) {
results.innerText = `${options.slope || 'slope'}: ${m}, ${options.intercept || 'y-intercept'}: ${b}`;
}
setResultText(m, b);
function updatePlot() {
Plotly.restyle(chartDiv, 'marker.color', [
mask.map(b => b ? color : colorLight)
], [0]);
const [m, b] = fit(
xs.filter((_, i) => mask[i]),
ys.filter((_, i) => mask[i]),
);
setResultText(m, b);
if (onChange) onChange(m, b);
const minX = xs.reduce((a, b) => Math.min(a, b));
const maxX = xs.reduce((a, b) => Math.max(a, b));
Plotly.restyle(chartDiv, {
x: [[minX, maxX]],
y: [[m * minX + b, m * maxX + b]],
}, [1]);
}
let pendingSelection = null;
chartDiv.on('plotly_selected', function(eventData) {
if (eventData === undefined) {
return;
}
pendingSelection = eventData;
});
function applyPendingSelection(b) {
if (pendingSelection === null) return false;
for (const pt of pendingSelection.points) {
mask[pt.pointIndex] = b;
}
Plotly.restyle(chartDiv, 'selectedpoints', [null], [0]);
pendingSelection = null;
return true;
}
const includeButton = document.createElement('button');
includeButton.innerText = '[i]nclude';
includeButton.addEventListener('click', () => {
if (!applyPendingSelection(true)) return;
updatePlot();
});
const excludeButton = document.createElement('button');
excludeButton.innerText = '[e]xclude';
excludeButton.addEventListener('click', () => {
if (!applyPendingSelection(false)) return;
updatePlot();
});
document.addEventListener('keydown', e => {
if (e.key === 'i') {
if (!applyPendingSelection(true)) return;
updatePlot();
} else if (e.key === 'e') {
if (!applyPendingSelection(false)) return;
updatePlot();
}
});
while (container.firstChild) {
container.removeChild(container.firstChild);
}
const buttons = document.createElement('div');
buttons.appendChild(includeButton);
buttons.appendChild(excludeButton);
const bar = document.createElement('div');
bar.setAttribute('class', 'bar');
bar.appendChild(buttons);
bar.appendChild(results);
container.appendChild(bar);
container.appendChild(chartDiv);
return function(xsNew, ysNew) {
if (xsNew.length !== ysNew.length) {
throw new Error(`${xsNew.length} !== ${ysNew.length}`);
}
xs = xsNew;
ys = ysNew;
mask = xs.map(() => true);
Plotly.restyle(chartDiv, {
x: [xs],
y: [ys],
}, [0]);
updatePlot();
};
}

View File

@ -1,183 +0,0 @@
<!doctype html>
<html>
<head>
<title>RR Dead Wheel Angular Ramp Regression</title>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
}
.content {
margin: auto;
}
header {
max-width: 600px;
margin: auto;
}
.bar {
display: flex;
justify-content: space-between;
align-items: center;
}
fieldset {
display: flex;
justify-content: space-between;
}
h1 {
margin-bottom: 0;
}
details, a {
display: block;
margin: 1rem 0 1rem 0;
}
</style>
<script src="/tuning/plotly-2.12.1.min.js"></script>
<!-- https://tom-alexander.github.io/regression-js/ -->
<script src="/tuning/regression-2.0.1.min.js"></script>
<!-- <script src="/tuning/common.js"></script> -->
<script src="common.js"></script>
</head>
<body>
<div class="content">
<header>
<h1>RR Dead Wheel Angular Ramp Regression</h1>
<details></details>
<div id="download"></div>
<fieldset>
<legend>Feedforward Parameters</legend>
<div>
kV: <input id="kv" type="text" />
</div>
<div>
kS: <input id="ks" type="text" />
</div>
<input id="update" type="button" value="update" />
</fieldset>
<p>
<button id="latest">Latest</button>
<input id="browse" type="file" accept="application/json">
</p>
</header>
<div id="trackWidthChart"></div>
<div id="deadWheelCharts"></div>
</div>
<script>
function loadRegression(data) {
const [_, angVels] = data.angVels.reduce((acc, vsArg) => {
const vs = fixAngVels(vsArg.values.slice(0, -1)).map(v => Math.abs(v));
const maxV = vs.reduce((acc, v) => Math.max(acc, v), 0);
const [accMaxV, _] = acc;
if (maxV >= accMaxV) {
return [maxV, vs];
}
return acc;
}, [0, []]);
const deadWheelCharts = document.getElementById('deadWheelCharts');
data.parEncVels.forEach((vs, i) => {
const div = document.createElement('div');
newLinearRegressionChart(div,
angVels.slice(1, -1),
fixVels(
vs.times.slice(0, -1),
data.parEncPositions[i].values.slice(0, -1),
vs.values.slice(0, -1)
),
{title: `Parallel Wheel ${i} Regression`, slope: 'y-position', noIntercept: true});
deadWheelCharts.appendChild(div);
});
data.perpEncVels.forEach((vs, i) => {
const div = document.createElement('div');
newLinearRegressionChart(div,
angVels.slice(1, -1),
fixVels(
vs.times.slice(0, -1),
data.perpEncPositions[i].values.slice(0, -1),
vs.values.slice(0, -1)
),
{title: `Perpendicular Wheel ${i} Regression`, slope: 'x-position', noIntercept: true});
deadWheelCharts.appendChild(div);
});
const setParams = (() => {
const allPowers = [...data.leftPowers, ...data.rightPowers];
const appliedVoltages = data.voltages.values.slice(0, -1).map((v, i) =>
allPowers.reduce((acc, ps) => Math.max(acc, ps.values[i]), 0) * v);
const setTrackWidthData = newLinearRegressionChart(
document.getElementById('trackWidthChart'),
[], [],
{title: 'Track Width Regression', slope: 'track width', noIntercept: true}
);
return (kV, kS) => setTrackWidthData(angVels, appliedVoltages.map((v, i) =>
(v - kS) / kV * (data.type === 'mecanum' ? 2 : 1)));
})();
const kvInput = document.getElementById('kv');
const ksInput = document.getElementById('ks');
document.getElementById('update').addEventListener('click', () => {
setParams(parseFloat(kvInput.value), parseFloat(ksInput.value));
});
setParams(parseFloat(kvInput.value), parseFloat(ksInput.value));
}
const latestButton = document.getElementById('latest');
latestButton.addEventListener('click', function() {
fetch('/tuning/angular-ramp/latest.json')
.then(res => {
if (res.ok) {
const filename = res.headers.get('X-Filename');
const a = document.createElement('a');
a.innerText = 'Download';
a.href = `/tuning/angular-ramp/${filename}`;
a.download = `angular-ramp-${filename}`;
const download = document.getElementById('download');
download.innerHTML = '';
download.appendChild(a);
return res.json();
} else {
document.getElementById('trackWidthChart').innerText = 'No data files found';
throw new Error();
}
})
.then(loadRegression)
.catch((e) => {
const deadWheelCharts = document.getElementById('deadWheelCharts');
deadWheelCharts.innerHTML = '';
console.log(e);
});
});
const browseInput = document.getElementById('browse');
browseInput.addEventListener('change', function(evt) {
const reader = new FileReader();
reader.onload = function() {
loadRegression(JSON.parse(reader.result.trim()));
};
reader.readAsText(browseInput.files[0]);
});
</script>
</body>
</html>

View File

@ -1,148 +0,0 @@
<!doctype html>
<html>
<head>
<title>RR Drive Encoder Angular Ramp Regression</title>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
}
.content {
margin: auto;
}
header {
max-width: 600px;
margin: auto;
}
.bar {
display: flex;
justify-content: space-between;
align-items: center;
}
h1 {
margin-bottom: 0;
}
details, a {
display: block;
margin: 1rem 0 1rem 0;
}
</style>
<script src="/tuning/plotly-2.12.1.min.js"></script>
<!-- https://tom-alexander.github.io/regression-js/ -->
<script src="/tuning/regression-2.0.1.min.js"></script>
<!-- <script src="/tuning/common.js"></script> -->
<script src="common.js"></script>
</head>
<body>
<div class="content">
<header>
<h1>RR Drive Encoder Angular Ramp Regression</h1>
<details></details>
<div id="download"></div>
<p>
<button id="latest">Latest</button>
<input id="browse" type="file" accept="application/json">
</p>
</header>
<div id="rampChart"></div>
<div id="trackWidthChart"></div>
</div>
<script>
function loadRegression(data) {
const leftEncVels = data.leftEncVels.map((vs, i) =>
fixVels(vs.times.slice(0, -1), data.leftEncPositions[i].values.slice(0, -1), vs.values.slice(0, -1)));
const rightEncVels = data.rightEncVels.map((vs, i) =>
fixVels(vs.times.slice(0, -1), data.rightEncPositions[i].values.slice(0, -1), vs.values.slice(0, -1)));
newLinearRegressionChart(
document.getElementById('rampChart'),
[
...leftEncVels.flatMap(vs => vs.values.slice(0, -1).map(v => -v)),
...rightEncVels.flatMap(vs => vs.values.slice(0, -1)),
],
[
...data.leftPowers.flatMap(ps => {
const psNew = ps.values.slice(0, -1).map((p, i) => -p * data.voltages.values[i]);
return psNew.slice(1, -1);
}),
...data.rightPowers.flatMap(ps => {
const psNew = ps.values.slice(0, -1).map((p, i) => p * data.voltages.values[i]);
return psNew.slice(1, -1);
}),
],
{title: 'Ramp Regression', slope: 'kV', intercept: 'kS'}
);
const p = data.angVels.reduce((acc, vsArg) => {
const vs = fixAngVels(vsArg.values).map(v => Math.abs(v));
const maxV = vs.reduce((acc, v) => Math.max(acc, v), 0);
const [accMaxV, _] = acc;
if (maxV >= accMaxV) {
return [maxV, vs];
}
return acc;
}, [0, []]);
const angVels = p[1].slice(1, -1);
newLinearRegressionChart(
document.getElementById('trackWidthChart'),
angVels,
angVels.map((_, i) =>
(leftEncVels.reduce((acc, vs) => acc - vs[i], 0) / data.leftEncVels.length
+ rightEncVels.reduce((acc, vs) => acc + vs[i], 0) / data.rightEncVels.length)
* (data.type === 'mecanum' ? 0.5 : 1)
),
{title: 'Track Width Regression', slope: 'track width', noIntercept: true}
);
}
const latestButton = document.getElementById('latest');
latestButton.addEventListener('click', function() {
fetch('/tuning/angular-ramp/latest.json')
.then(res => {
if (res.ok) {
const filename = res.headers.get('X-Filename');
const a = document.createElement('a');
a.innerText = 'Download';
a.href = `/tuning/angular-ramp/${filename}`;
a.download = `angular-ramp-${filename}`;
const download = document.getElementById('download');
download.innerHTML = '';
download.appendChild(a);
return res.json();
} else {
document.getElementById('trackWidthChart').innerText = 'No data files found';
throw new Error();
}
})
.then(loadRegression)
.catch(console.log.bind(console));
});
const browseInput = document.getElementById('browse');
browseInput.addEventListener('change', function(evt) {
const reader = new FileReader();
reader.onload = function() {
loadRegression(JSON.parse(reader.result.trim()));
};
reader.readAsText(browseInput.files[0]);
});
</script>
</body>
</html>

View File

@ -1,116 +0,0 @@
<!doctype html>
<html>
<head>
<title>RR Forward Ramp Regression</title>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
}
.content {
margin: auto;
}
header {
max-width: 600px;
margin: auto;
}
.bar {
display: flex;
justify-content: space-between;
align-items: center;
}
h1 {
margin-bottom: 0;
}
details, a {
display: block;
margin: 1rem 0 1rem 0;
}
</style>
<script src="/tuning/plotly-2.12.1.min.js"></script>
<!-- https://tom-alexander.github.io/regression-js/ -->
<script src="/tuning/regression-2.0.1.min.js"></script>
<!-- <script src="/tuning/common.js"></script> -->
<script src="common.js"></script>
</head>
<body>
<div class="content">
<header>
<h1>RR Forward Ramp Regression</h1>
<details></details>
<div id="download"></div>
<p>
<button id="latest">Latest</button>
<input id="browse" type="file" accept="application/json">
</p>
</header>
<div id="rampChart"></div>
</div>
<script>
function loadRegression(data) {
const forwardEncVels = data.forwardEncVels.flatMap((vs, i) =>
fixVels(vs.times.slice(0, -1), data.forwardEncPositions[i].values.slice(0, -1), vs.values.slice(0, -1)));
const appliedVoltages = data.forwardEncVels.flatMap(() => {
const voltages = data.voltages.values.slice(0, -1).map((v, i) =>
data.powers.reduce((acc, ps) => Math.max(acc, ps.values[i]), 0) * v);
return voltages.slice(1, voltages.length - 1);
});
newLinearRegressionChart(
document.getElementById('rampChart'),
forwardEncVels, appliedVoltages,
{title: 'Ramp Regression', slope: 'kV', intercept: 'kS', noIntercept: false}
);
}
const latestButton = document.getElementById('latest');
latestButton.addEventListener('click', function() {
fetch('/tuning/forward-ramp/latest.json')
.then(res => {
if (res.ok) {
const filename = res.headers.get('X-Filename');
const a = document.createElement('a');
a.innerText = 'Download';
a.href = `/tuning/forward-ramp/${filename}`;
a.download = `forward-ramp-${filename}`;
const download = document.getElementById('download');
download.innerHTML = '';
download.appendChild(a);
return res.json();
} else {
document.getElementById('rampChart').innerText = 'No data files found';
throw new Error();
}
})
.then(loadRegression)
.catch(console.log.bind(console));
});
const browseInput = document.getElementById('browse');
browseInput.addEventListener('change', function(evt) {
const reader = new FileReader();
reader.onload = function() {
loadRegression(JSON.parse(reader.result.trim()));
};
reader.readAsText(browseInput.files[0]);
});
</script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,118 +0,0 @@
<!doctype html>
<html>
<head>
<title>RR Tests</title>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
}
#content {
max-width: 600px;
margin: auto;
}
.bar {
display: flex;
justify-content: space-between;
align-items: center;
}
fieldset {
display: flex;
justify-content: space-between;
}
</style>
<script src="/tuning/plotly-2.12.1.min.js"></script>
<!-- https://tom-alexander.github.io/regression-js/ -->
<script src="/tuning/regression-2.0.1.min.js"></script>
<!-- <script src="/tuning/common.js"></script> -->
<script src="common.js"></script>
</head>
<body>
<div id="content">
<h1>RR Tests</h1>
<p></p>
</div>
<script>
function newChart(container, xs, ys, options) {
if (xs.length !== ys.length) {
throw new Error();
}
// cribbed from https://plotly.com/javascript/plotlyjs-events/#select-event
const color = '#777';
const colorLight = '#bbb';
const chartDiv = document.createElement('div');
Plotly.newPlot(chartDiv, [{
type: 'scatter',
mode: 'markers',
x: xs,
y: ys,
name: 'Samples',
}], {
title: options.title || '',
// sets the starting tool from the modebar
dragmode: 'zoom',
showlegend: false,
hovermode: false,
width: 600,
}, {
// 'zoom2d', 'select2d', 'resetScale2d' left
modeBarButtonsToRemove: ['pan2d', 'lasso2d', 'zoomIn2d', 'zoomOut2d', 'autoScale2d'],
});
container.appendChild(chartDiv);
}
function numDeriv(xs, ys) {
const ret = ys.slice(1).map((y, i) => (y - ys[i]) / (xs[i + 1] - xs[i]));
ret.unshift(0);
return ret;
}
const params = new URLSearchParams(window.location.search);
const online = params.get('online') === 'true';
fetch(`/tuning/test/${params.get('file')}.csv`)
.then(res => res.text())
.then(text => {
const lines = text.split('\n');
const data = lines
.slice(1, lines.length - 1)
.map(line => line.split(',').map(x => parseFloat(x)))
const xs = data.map(xs => xs[0]);
const vs = data.map(xs => xs[1]);
const ts = data.map(xs => xs[2]);
const container = document.getElementById('content');
newChart(container, ts, vs, {title: 'Raw Velocity Over Time'});
const tsNew = (online ? ts.slice(1) : ts.slice(1, ts.length - 1));
const dxdts = (online ? numDerivOnline : numDerivOffline)(ts, xs);
newChart(
container,
tsNew,
dxdts,
{title: `${online ? 'Online' : 'Offline'} Position Derivative Over Time`}
);
const vsNew = dxdts.map((est, i) => inverseOverflow(vs[i + 1], est));
newChart(
container,
tsNew,
vsNew,
{title: 'Corrected Velocity Over Time'}
);
})
.catch(console.log.bind(console));
</script>
</body>
</html>

View File

@ -1,219 +0,0 @@
pos,vel,time
248474,-23244.000000,2250.761012
256050,-23244.000000,2250.792090
261029,-23044.000000,2250.812276
265827,-23104.000000,2250.832364
270750,-23404.000000,2250.853347
275564,-23584.000000,2250.872950
280730,-23244.000000,2250.895051
285076,-23464.000000,2250.912948
289471,-23244.000000,2250.931340
295065,-23284.000000,2250.954710
299341,-25184.000000,2250.972536
304300,-23244.000000,2250.993309
308457,-23284.000000,2251.011054
313913,-19684.000000,2251.033582
318075,-23244.000000,2251.051005
323228,-23244.000000,2251.072429
327140,-23264.000000,2251.089102
333217,-23224.000000,2251.114403
337719,-23904.000000,2251.133205
342702,-23244.000000,2251.154108
347838,-25104.000000,2251.176498
352899,-23244.000000,2251.196812
356826,-23224.000000,2251.213216
361581,-23704.000000,2251.233083
368943,-24464.000000,2251.263826
373285,-26404.000000,2251.282037
379505,-22004.000000,2251.309094
383474,-23244.000000,2251.324622
387117,-23244.000000,2251.340667
391575,-23244.000000,2251.358790
396711,-23264.000000,2251.380079
401699,-23264.000000,2251.400926
406717,-23244.000000,2251.421884
409944,-23204.000000,2251.435380
413772,-23224.000000,2251.451349
417264,-23204.000000,2251.466198
421303,-26524.000000,2251.482893
426176,-23244.000000,2251.503336
430443,-23264.000000,2251.521113
434626,-23244.000000,2251.538644
438799,-23244.000000,2251.556161
442742,-23224.000000,2251.572622
447089,-23244.000000,2251.590881
453249,-23244.000000,2251.617309
458068,-23184.000000,2251.637047
462471,-23244.000000,2251.655411
466317,-23144.000000,2251.671379
470697,-23264.000000,2251.689707
474177,-23244.000000,2251.704229
479150,-23324.000000,2251.725121
483939,-25004.000000,2251.745112
491062,-23164.000000,2251.774896
494543,-21484.000000,2251.789724
500688,-23224.000000,2251.815150
504903,-23244.000000,2251.832885
511649,-23004.000000,2251.861069
515151,-23204.000000,2251.875656
518685,-19624.000000,2251.890619
523224,-23464.000000,2251.909380
526924,-23044.000000,2251.924890
530833,-23244.000000,2251.941235
535098,-23204.000000,2251.960571
539936,-23264.000000,2251.979646
543748,-23224.000000,2251.995638
548572,-23244.000000,2252.015653
552433,-24164.000000,2252.031729
557705,-23784.000000,2252.053808
561934,-26824.000000,2252.071556
567329,-23204.000000,2252.095088
572295,-26624.000000,2252.115297
576805,-23224.000000,2252.133881
581977,-23224.000000,2252.155739
586408,-26444.000000,2252.173936
590398,-23244.000000,2252.190626
595590,-23924.000000,2252.212343
599207,-23244.000000,2252.227654
603242,-23244.000000,2252.244466
607609,-23244.000000,2252.262794
614652,-23204.000000,2252.292170
619146,-23244.000000,2252.311059
622979,-22664.000000,2252.327068
627846,-23224.000000,2252.347457
633154,-23184.000000,2252.369717
637078,-22184.000000,2252.386073
640701,-25544.000000,2252.401287
645375,-23284.000000,2252.420821
648981,-23244.000000,2252.435949
654161,-23244.000000,2252.457477
658606,-23244.000000,2252.476239
662804,-25584.000000,2252.493831
668316,-23524.000000,2252.517067
673628,-24444.000000,2252.539001
678030,-21984.000000,2252.557527
682885,-23224.000000,2252.577781
687296,-23244.000000,2252.596224
692505,-23224.000000,2252.618159
697508,-23224.000000,2252.639068
702048,-23224.000000,2252.657998
706651,-19884.000000,2252.677227
711625,-23224.000000,2252.698037
715826,-22884.000000,2252.715718
719878,-26664.000000,2252.732631
724862,-23224.000000,2252.753627
729844,-23244.000000,2252.774331
736614,-23244.000000,2252.802776
742164,-23244.000000,2252.826129
746464,-20804.000000,2252.843850
750788,-24924.000000,2252.862006
756810,-23444.000000,2252.887314
760924,-26104.000000,2252.904438
764524,-19844.000000,2252.921106
768979,-23304.000000,2252.938150
773681,-19264.000000,2252.957928
777718,-23244.000000,2252.974788
781049,-22944.000000,2252.988631
785994,-23244.000000,2253.009379
789758,-23244.000000,2253.025102
793909,-23524.000000,2253.043339
798770,-23244.000000,2253.062814
802715,-23244.000000,2253.079364
807435,-23264.000000,2253.099066
812425,-23244.000000,2253.120624
818405,-23244.000000,2253.145323
823488,-23224.000000,2253.166277
829127,-23164.000000,2253.190012
832976,-19544.000000,2253.206141
837650,-23464.000000,2253.225559
842266,-23304.000000,2253.244854
846607,-24584.000000,2253.263160
851639,-23244.000000,2253.284145
858413,-21904.000000,2253.312487
863782,-23084.000000,2253.335002
868416,-22604.000000,2253.354487
872070,-23244.000000,2253.370572
878893,-19844.000000,2253.398231
883737,-23244.000000,2253.418440
888833,-23224.000000,2253.439822
893419,-19284.000000,2253.458970
897196,-23084.000000,2253.474870
902037,-22944.000000,2253.495095
907126,-23384.000000,2253.516501
911457,-23304.000000,2253.534620
915036,-23244.000000,2253.549473
918703,-23464.000000,2253.564725
922150,-23264.000000,2253.579166
926206,-23224.000000,2253.596137
929921,-25544.000000,2253.612078
935607,-21524.000000,2253.635612
939298,-23224.000000,2253.650993
943992,-19384.000000,2253.670674
947577,-23224.000000,2253.685643
951071,-23244.000000,2253.700454
954379,-23244.000000,2253.714179
958191,-23244.000000,2253.730135
961467,-23244.000000,2253.743823
965640,-23244.000000,2253.761255
971113,-23144.000000,2253.784276
975102,-23264.000000,2253.800994
982332,-26884.000000,2253.831418
987134,-23204.000000,2253.851282
991476,-23224.000000,2253.869580
998376,-23244.000000,2253.898533
1003029,-23264.000000,2253.917688
1006182,-24384.000000,2253.930955
1009529,-23264.000000,2253.944858
1013493,-23484.000000,2253.961474
1017676,-21784.000000,2253.978978
1022450,-22944.000000,2253.999023
1026989,-23244.000000,2254.018213
1031401,-19784.000000,2254.036665
1034652,-23504.000000,2254.050116
1038581,-23244.000000,2254.066574
1041878,-27044.000000,2254.080600
1045956,-23244.000000,2254.097374
1049433,-26864.000000,2254.111969
1053669,-19444.000000,2254.130439
1057749,-23244.000000,2254.146902
1062475,-23244.000000,2254.166818
1066081,-26944.000000,2254.181746
1070140,-23244.000000,2254.198629
1075407,-23204.000000,2254.220697
1079072,-23244.000000,2254.236007
1084601,-20144.000000,2254.259302
1087932,-23244.000000,2254.273096
1091886,-23244.000000,2254.289636
1095864,-23244.000000,2254.306367
1101299,-23124.000000,2254.329030
1104096,-24024.000000,2254.340732
1108368,-23244.000000,2254.358593
1113178,-23324.000000,2254.378866
1118365,-23264.000000,2254.400462
1122387,-22104.000000,2254.417421
1127728,-23224.000000,2254.439639
1130869,-23224.000000,2254.452799
1135472,-23224.000000,2254.472088
1139371,-23264.000000,2254.488465
1144081,-23364.000000,2254.508248
1147467,-23264.000000,2254.522271
1151382,-23224.000000,2254.538681
1155340,-26244.000000,2254.555306
1158704,-26624.000000,2254.569437
1163265,-23224.000000,2254.588579
1168164,-23664.000000,2254.609042
1171458,-21764.000000,2254.622896
1175749,-23184.000000,2254.640765
1180715,-24984.000000,2254.661701
1185782,-23504.000000,2254.682607
1189757,-23244.000000,2254.699292
1192891,-21484.000000,2254.712542
1197589,-23244.000000,2254.732060
1200873,-23204.000000,2254.745806
1204655,-23244.000000,2254.761746
1209806,-23244.000000,2254.783387
1213506,-23244.000000,2254.798709
1218559,-23244.000000,2254.819937
1224138,-25024.000000,2254.844733
1229075,-23264.000000,2254.863865
1233410,-23264.000000,2254.882126
1 pos vel time
2 248474 -23244.000000 2250.761012
3 256050 -23244.000000 2250.792090
4 261029 -23044.000000 2250.812276
5 265827 -23104.000000 2250.832364
6 270750 -23404.000000 2250.853347
7 275564 -23584.000000 2250.872950
8 280730 -23244.000000 2250.895051
9 285076 -23464.000000 2250.912948
10 289471 -23244.000000 2250.931340
11 295065 -23284.000000 2250.954710
12 299341 -25184.000000 2250.972536
13 304300 -23244.000000 2250.993309
14 308457 -23284.000000 2251.011054
15 313913 -19684.000000 2251.033582
16 318075 -23244.000000 2251.051005
17 323228 -23244.000000 2251.072429
18 327140 -23264.000000 2251.089102
19 333217 -23224.000000 2251.114403
20 337719 -23904.000000 2251.133205
21 342702 -23244.000000 2251.154108
22 347838 -25104.000000 2251.176498
23 352899 -23244.000000 2251.196812
24 356826 -23224.000000 2251.213216
25 361581 -23704.000000 2251.233083
26 368943 -24464.000000 2251.263826
27 373285 -26404.000000 2251.282037
28 379505 -22004.000000 2251.309094
29 383474 -23244.000000 2251.324622
30 387117 -23244.000000 2251.340667
31 391575 -23244.000000 2251.358790
32 396711 -23264.000000 2251.380079
33 401699 -23264.000000 2251.400926
34 406717 -23244.000000 2251.421884
35 409944 -23204.000000 2251.435380
36 413772 -23224.000000 2251.451349
37 417264 -23204.000000 2251.466198
38 421303 -26524.000000 2251.482893
39 426176 -23244.000000 2251.503336
40 430443 -23264.000000 2251.521113
41 434626 -23244.000000 2251.538644
42 438799 -23244.000000 2251.556161
43 442742 -23224.000000 2251.572622
44 447089 -23244.000000 2251.590881
45 453249 -23244.000000 2251.617309
46 458068 -23184.000000 2251.637047
47 462471 -23244.000000 2251.655411
48 466317 -23144.000000 2251.671379
49 470697 -23264.000000 2251.689707
50 474177 -23244.000000 2251.704229
51 479150 -23324.000000 2251.725121
52 483939 -25004.000000 2251.745112
53 491062 -23164.000000 2251.774896
54 494543 -21484.000000 2251.789724
55 500688 -23224.000000 2251.815150
56 504903 -23244.000000 2251.832885
57 511649 -23004.000000 2251.861069
58 515151 -23204.000000 2251.875656
59 518685 -19624.000000 2251.890619
60 523224 -23464.000000 2251.909380
61 526924 -23044.000000 2251.924890
62 530833 -23244.000000 2251.941235
63 535098 -23204.000000 2251.960571
64 539936 -23264.000000 2251.979646
65 543748 -23224.000000 2251.995638
66 548572 -23244.000000 2252.015653
67 552433 -24164.000000 2252.031729
68 557705 -23784.000000 2252.053808
69 561934 -26824.000000 2252.071556
70 567329 -23204.000000 2252.095088
71 572295 -26624.000000 2252.115297
72 576805 -23224.000000 2252.133881
73 581977 -23224.000000 2252.155739
74 586408 -26444.000000 2252.173936
75 590398 -23244.000000 2252.190626
76 595590 -23924.000000 2252.212343
77 599207 -23244.000000 2252.227654
78 603242 -23244.000000 2252.244466
79 607609 -23244.000000 2252.262794
80 614652 -23204.000000 2252.292170
81 619146 -23244.000000 2252.311059
82 622979 -22664.000000 2252.327068
83 627846 -23224.000000 2252.347457
84 633154 -23184.000000 2252.369717
85 637078 -22184.000000 2252.386073
86 640701 -25544.000000 2252.401287
87 645375 -23284.000000 2252.420821
88 648981 -23244.000000 2252.435949
89 654161 -23244.000000 2252.457477
90 658606 -23244.000000 2252.476239
91 662804 -25584.000000 2252.493831
92 668316 -23524.000000 2252.517067
93 673628 -24444.000000 2252.539001
94 678030 -21984.000000 2252.557527
95 682885 -23224.000000 2252.577781
96 687296 -23244.000000 2252.596224
97 692505 -23224.000000 2252.618159
98 697508 -23224.000000 2252.639068
99 702048 -23224.000000 2252.657998
100 706651 -19884.000000 2252.677227
101 711625 -23224.000000 2252.698037
102 715826 -22884.000000 2252.715718
103 719878 -26664.000000 2252.732631
104 724862 -23224.000000 2252.753627
105 729844 -23244.000000 2252.774331
106 736614 -23244.000000 2252.802776
107 742164 -23244.000000 2252.826129
108 746464 -20804.000000 2252.843850
109 750788 -24924.000000 2252.862006
110 756810 -23444.000000 2252.887314
111 760924 -26104.000000 2252.904438
112 764524 -19844.000000 2252.921106
113 768979 -23304.000000 2252.938150
114 773681 -19264.000000 2252.957928
115 777718 -23244.000000 2252.974788
116 781049 -22944.000000 2252.988631
117 785994 -23244.000000 2253.009379
118 789758 -23244.000000 2253.025102
119 793909 -23524.000000 2253.043339
120 798770 -23244.000000 2253.062814
121 802715 -23244.000000 2253.079364
122 807435 -23264.000000 2253.099066
123 812425 -23244.000000 2253.120624
124 818405 -23244.000000 2253.145323
125 823488 -23224.000000 2253.166277
126 829127 -23164.000000 2253.190012
127 832976 -19544.000000 2253.206141
128 837650 -23464.000000 2253.225559
129 842266 -23304.000000 2253.244854
130 846607 -24584.000000 2253.263160
131 851639 -23244.000000 2253.284145
132 858413 -21904.000000 2253.312487
133 863782 -23084.000000 2253.335002
134 868416 -22604.000000 2253.354487
135 872070 -23244.000000 2253.370572
136 878893 -19844.000000 2253.398231
137 883737 -23244.000000 2253.418440
138 888833 -23224.000000 2253.439822
139 893419 -19284.000000 2253.458970
140 897196 -23084.000000 2253.474870
141 902037 -22944.000000 2253.495095
142 907126 -23384.000000 2253.516501
143 911457 -23304.000000 2253.534620
144 915036 -23244.000000 2253.549473
145 918703 -23464.000000 2253.564725
146 922150 -23264.000000 2253.579166
147 926206 -23224.000000 2253.596137
148 929921 -25544.000000 2253.612078
149 935607 -21524.000000 2253.635612
150 939298 -23224.000000 2253.650993
151 943992 -19384.000000 2253.670674
152 947577 -23224.000000 2253.685643
153 951071 -23244.000000 2253.700454
154 954379 -23244.000000 2253.714179
155 958191 -23244.000000 2253.730135
156 961467 -23244.000000 2253.743823
157 965640 -23244.000000 2253.761255
158 971113 -23144.000000 2253.784276
159 975102 -23264.000000 2253.800994
160 982332 -26884.000000 2253.831418
161 987134 -23204.000000 2253.851282
162 991476 -23224.000000 2253.869580
163 998376 -23244.000000 2253.898533
164 1003029 -23264.000000 2253.917688
165 1006182 -24384.000000 2253.930955
166 1009529 -23264.000000 2253.944858
167 1013493 -23484.000000 2253.961474
168 1017676 -21784.000000 2253.978978
169 1022450 -22944.000000 2253.999023
170 1026989 -23244.000000 2254.018213
171 1031401 -19784.000000 2254.036665
172 1034652 -23504.000000 2254.050116
173 1038581 -23244.000000 2254.066574
174 1041878 -27044.000000 2254.080600
175 1045956 -23244.000000 2254.097374
176 1049433 -26864.000000 2254.111969
177 1053669 -19444.000000 2254.130439
178 1057749 -23244.000000 2254.146902
179 1062475 -23244.000000 2254.166818
180 1066081 -26944.000000 2254.181746
181 1070140 -23244.000000 2254.198629
182 1075407 -23204.000000 2254.220697
183 1079072 -23244.000000 2254.236007
184 1084601 -20144.000000 2254.259302
185 1087932 -23244.000000 2254.273096
186 1091886 -23244.000000 2254.289636
187 1095864 -23244.000000 2254.306367
188 1101299 -23124.000000 2254.329030
189 1104096 -24024.000000 2254.340732
190 1108368 -23244.000000 2254.358593
191 1113178 -23324.000000 2254.378866
192 1118365 -23264.000000 2254.400462
193 1122387 -22104.000000 2254.417421
194 1127728 -23224.000000 2254.439639
195 1130869 -23224.000000 2254.452799
196 1135472 -23224.000000 2254.472088
197 1139371 -23264.000000 2254.488465
198 1144081 -23364.000000 2254.508248
199 1147467 -23264.000000 2254.522271
200 1151382 -23224.000000 2254.538681
201 1155340 -26244.000000 2254.555306
202 1158704 -26624.000000 2254.569437
203 1163265 -23224.000000 2254.588579
204 1168164 -23664.000000 2254.609042
205 1171458 -21764.000000 2254.622896
206 1175749 -23184.000000 2254.640765
207 1180715 -24984.000000 2254.661701
208 1185782 -23504.000000 2254.682607
209 1189757 -23244.000000 2254.699292
210 1192891 -21484.000000 2254.712542
211 1197589 -23244.000000 2254.732060
212 1200873 -23204.000000 2254.745806
213 1204655 -23244.000000 2254.761746
214 1209806 -23244.000000 2254.783387
215 1213506 -23244.000000 2254.798709
216 1218559 -23244.000000 2254.819937
217 1224138 -25024.000000 2254.844733
218 1229075 -23264.000000 2254.863865
219 1233410 -23264.000000 2254.882126

View File

@ -1,308 +0,0 @@
pos,vel,time
21311553,-22004.000000,2630.100978
21314576,-21444.000000,2630.113690
21317933,-21124.000000,2630.127594
21322869,-20764.000000,2630.147987
21326584,-22364.000000,2630.163649
21330750,-21704.000000,2630.181378
21334526,-22064.000000,2630.196542
21337667,-20504.000000,2630.209557
21341251,-21424.000000,2630.224387
21345317,-22544.000000,2630.241257
21347976,-20224.000000,2630.252348
21351819,-21184.000000,2630.268339
21356687,-21424.000000,2630.289332
21361749,-21404.000000,2630.309873
21365248,-21424.000000,2630.324209
21369737,-21444.000000,2630.342763
21373504,-20864.000000,2630.358452
21377887,-21444.000000,2630.376642
21382615,-21984.000000,2630.396245
21386548,-22004.000000,2630.412612
21390627,-21104.000000,2630.429547
21393808,-21424.000000,2630.442766
21398987,-21404.000000,2630.464427
21404106,-21424.000000,2630.485542
21407651,-23324.000000,2630.500307
21410763,-21364.000000,2630.513357
21414388,-21444.000000,2630.528793
21418221,-19484.000000,2630.544281
21422088,-21464.000000,2630.560155
21425408,-21424.000000,2630.573959
21428522,-21364.000000,2630.586916
21434566,-21424.000000,2630.612020
21437886,-21404.000000,2630.625799
21441512,-21344.000000,2630.640912
21446809,-21444.000000,2630.662977
21453007,-21544.000000,2630.689078
21456588,-22304.000000,2630.703880
21460250,-21404.000000,2630.718762
21463642,-21424.000000,2630.732934
21468257,-20884.000000,2630.752030
21472711,-21424.000000,2630.770521
21475891,-21444.000000,2630.784033
21480805,-21444.000000,2630.804094
21484942,-21444.000000,2630.821242
21489067,-21404.000000,2630.838375
21493147,-21424.000000,2630.855406
21496826,-21424.000000,2630.870663
21500154,-21424.000000,2630.884467
21504252,-19924.000000,2630.901564
21507980,-21424.000000,2630.918144
21511429,-21204.000000,2630.931418
21514299,-20484.000000,2630.943274
21517171,-21404.000000,2630.955257
21521422,-22524.000000,2630.972930
21524430,-22304.000000,2630.985401
21527847,-21964.000000,2630.999520
21530891,-21684.000000,2631.012158
21534726,-21424.000000,2631.028229
21538908,-20824.000000,2631.045573
21542549,-21444.000000,2631.060689
21546094,-21424.000000,2631.075328
21549985,-21284.000000,2631.091479
21555480,-21504.000000,2631.114398
21558556,-21424.000000,2631.127334
21563090,-21004.000000,2631.145955
21567609,-21404.000000,2631.164746
21571072,-21384.000000,2631.179143
21575066,-21964.000000,2631.195837
21578997,-20264.000000,2631.212074
21582521,-21484.000000,2631.226756
21587136,-20804.000000,2631.245971
21590550,-21444.000000,2631.260113
21593535,-21424.000000,2631.272443
21597455,-21324.000000,2631.288825
21601479,-21424.000000,2631.305501
21605825,-20944.000000,2631.323623
21609882,-21584.000000,2631.340317
21613809,-21444.000000,2631.356649
21616878,-21884.000000,2631.369369
21619944,-22004.000000,2631.382072
21622933,-22084.000000,2631.395674
21626676,-21024.000000,2631.410088
21629868,-21364.000000,2631.423533
21633982,-21424.000000,2631.440434
21637160,-20824.000000,2631.453688
21640196,-21444.000000,2631.466217
21643840,-21484.000000,2631.481344
21647479,-21904.000000,2631.496618
21651524,-22244.000000,2631.513514
21654942,-21264.000000,2631.527464
21657684,-21964.000000,2631.538900
21660629,-20724.000000,2631.551281
21664299,-21384.000000,2631.566610
21667796,-21324.000000,2631.580934
21670664,-21624.000000,2631.592743
21674556,-22104.000000,2631.608996
21679365,-21664.000000,2631.628943
21682841,-21444.000000,2631.643661
21686481,-21404.000000,2631.658446
21691187,-21444.000000,2631.678137
21694388,-21384.000000,2631.691603
21697907,-21424.000000,2631.705977
21701038,-21204.000000,2631.718976
21704519,-21444.000000,2631.733885
21708990,-20784.000000,2631.752013
21713031,-21704.000000,2631.768808
21716167,-21384.000000,2631.781820
21720672,-22084.000000,2631.800576
21724269,-21404.000000,2631.815498
21727539,-21444.000000,2631.829054
21731424,-20604.000000,2631.845186
21735030,-21404.000000,2631.860173
21738592,-21424.000000,2631.875038
21742793,-21224.000000,2631.892460
21745814,-21064.000000,2631.905028
21748613,-21124.000000,2631.916671
21751940,-21444.000000,2631.930456
21755194,-20824.000000,2631.943937
21759056,-21544.000000,2631.960035
21762734,-21424.000000,2631.975266
21765548,-21444.000000,2631.986996
21768654,-21904.000000,2631.999915
21772692,-21164.000000,2632.016768
21777187,-21204.000000,2632.035422
21782053,-21444.000000,2632.056841
21785724,-21684.000000,2632.070879
21790542,-21664.000000,2632.090936
21794824,-21404.000000,2632.108640
21798126,-21244.000000,2632.122369
21802902,-21164.000000,2632.142112
21806829,-21424.000000,2632.158435
21810941,-21424.000000,2632.175803
21815650,-21864.000000,2632.195132
21818828,-21444.000000,2632.208379
21822006,-21204.000000,2632.221548
21825906,-20024.000000,2632.237691
21829297,-20964.000000,2632.251842
21833933,-21644.000000,2632.271071
21837141,-21424.000000,2632.284474
21840128,-21764.000000,2632.296917
21843518,-21404.000000,2632.312295
21849082,-21464.000000,2632.334011
21853510,-23044.000000,2632.352408
21856939,-21144.000000,2632.366674
21860215,-21164.000000,2632.380234
21864557,-20064.000000,2632.398330
21868115,-21184.000000,2632.413174
21872367,-21684.000000,2632.430737
21876174,-20764.000000,2632.446589
21880253,-21664.000000,2632.463672
21883421,-21284.000000,2632.477140
21886724,-21204.000000,2632.490382
21889862,-22104.000000,2632.503570
21894216,-21704.000000,2632.521493
21897544,-21504.000000,2632.535374
21902474,-21844.000000,2632.556015
21906875,-21604.000000,2632.574155
21911198,-21604.000000,2632.592024
21915400,-21484.000000,2632.609479
21919141,-21004.000000,2632.625022
21924786,-20824.000000,2632.648480
21928752,-21164.000000,2632.664931
21932739,-21364.000000,2632.681565
21935865,-22044.000000,2632.694497
21939202,-21684.000000,2632.708501
21943443,-21884.000000,2632.726085
21946321,-21424.000000,2632.737980
21949711,-20824.000000,2632.751987
21953529,-21324.000000,2632.768031
21958129,-21204.000000,2632.787078
21960658,-21924.000000,2632.797537
21964114,-21444.000000,2632.812134
21968092,-21424.000000,2632.828727
21971138,-21664.000000,2632.841064
21974525,-21364.000000,2632.855055
21977419,-21384.000000,2632.867124
21980717,-21444.000000,2632.880869
21983893,-22064.000000,2632.894036
21987570,-21504.000000,2632.909275
21991327,-21084.000000,2632.924862
21995241,-21444.000000,2632.941161
21998017,-20684.000000,2632.952652
22001364,-21144.000000,2632.966680
22004593,-21584.000000,2632.980014
22007741,-21444.000000,2632.993139
22011556,-21124.000000,2633.008952
22015682,-21604.000000,2633.026147
22019838,-21424.000000,2633.043646
22023539,-21724.000000,2633.058772
22028056,-21424.000000,2633.077522
22031628,-21404.000000,2633.092404
22035624,-21124.000000,2633.108948
22039499,-21264.000000,2633.125452
22043316,-21144.000000,2633.140956
22048918,-21404.000000,2633.164197
22052772,-21404.000000,2633.180203
22055739,-21724.000000,2633.192616
22059995,-21584.000000,2633.210125
22064276,-21564.000000,2633.227979
22067784,-21424.000000,2633.242490
22071476,-21484.000000,2633.257862
22074595,-21164.000000,2633.270794
22077416,-21484.000000,2633.282452
22080194,-22024.000000,2633.294006
22083018,-21424.000000,2633.305723
22087683,-21424.000000,2633.325186
22092295,-20804.000000,2633.344353
22096115,-21224.000000,2633.360416
22098666,-21924.000000,2633.370918
22102562,-21164.000000,2633.387139
22105805,-22064.000000,2633.400455
22109085,-21404.000000,2633.414107
22113237,-21444.000000,2633.431376
22117574,-20884.000000,2633.449377
22120773,-21404.000000,2633.462648
22123931,-21384.000000,2633.475785
22127471,-21364.000000,2633.490530
22130760,-21444.000000,2633.504302
22133891,-21424.000000,2633.517210
22137895,-21424.000000,2633.533946
22142004,-20624.000000,2633.550858
22146093,-21384.000000,2633.567935
22150700,-21684.000000,2633.587200
22154457,-22244.000000,2633.602548
22157319,-21464.000000,2633.614509
22161064,-21404.000000,2633.630123
22165386,-20624.000000,2633.648038
22170174,-20884.000000,2633.667936
22174795,-21224.000000,2633.687150
22178617,-22204.000000,2633.702921
22183530,-23084.000000,2633.723570
22187907,-21664.000000,2633.741529
22191909,-21344.000000,2633.758210
22196352,-21724.000000,2633.776750
22200117,-21424.000000,2633.792437
22204032,-21384.000000,2633.808574
22207376,-21424.000000,2633.822495
22211809,-22584.000000,2633.841043
22216936,-21584.000000,2633.862221
22220897,-21244.000000,2633.879035
22224184,-20284.000000,2633.892385
22227786,-20984.000000,2633.907323
22231563,-21444.000000,2633.923051
22236196,-22684.000000,2633.942172
22239737,-21804.000000,2633.956956
22244593,-21344.000000,2633.977134
22248330,-20144.000000,2633.992633
22252493,-21224.000000,2634.010091
22256302,-21564.000000,2634.025699
22260055,-21444.000000,2634.041301
22264259,-21684.000000,2634.058748
22269658,-21444.000000,2634.081234
22274308,-22804.000000,2634.100588
22278913,-21364.000000,2634.119664
22282401,-21444.000000,2634.134131
22285532,-20784.000000,2634.147557
22288878,-21464.000000,2634.160989
22294190,-21444.000000,2634.183208
22298392,-22064.000000,2634.200538
22301580,-21164.000000,2634.213721
22305571,-21164.000000,2634.230373
22310386,-20824.000000,2634.250315
22313956,-21704.000000,2634.265111
22317597,-21644.000000,2634.280333
22320816,-21964.000000,2634.293633
22324282,-21444.000000,2634.308154
22327153,-21124.000000,2634.320154
22330875,-21444.000000,2634.335554
22335035,-22384.000000,2634.352784
22339134,-21664.000000,2634.369883
22343278,-21424.000000,2634.387139
22347382,-21424.000000,2634.404049
22350788,-21464.000000,2634.418131
22355419,-21424.000000,2634.437422
22358311,-20984.000000,2634.449550
22361218,-21444.000000,2634.461525
22364953,-21404.000000,2634.477044
22367891,-21164.000000,2634.489223
22371928,-21404.000000,2634.505974
22375376,-21424.000000,2634.520331
22379065,-21684.000000,2634.535653
22382923,-20664.000000,2634.551741
22386187,-21144.000000,2634.565202
22389450,-21424.000000,2634.578852
22392865,-21444.000000,2634.593248
22396941,-21404.000000,2634.610261
22400182,-21704.000000,2634.623624
22404137,-21264.000000,2634.639918
22407683,-21424.000000,2634.654504
22410807,-21084.000000,2634.667511
22415781,-21564.000000,2634.688281
22419518,-21204.000000,2634.703767
22423611,-21724.000000,2634.720774
22426584,-21384.000000,2634.733206
22430757,-20604.000000,2634.750427
22435565,-21464.000000,2634.770852
22439137,-21164.000000,2634.785177
22442871,-22264.000000,2634.800789
22447211,-21424.000000,2634.818859
22450519,-21424.000000,2634.832555
22454045,-20304.000000,2634.847252
22458028,-21284.000000,2634.867426
22462813,-21444.000000,2634.883903
22467171,-22244.000000,2634.901685
22470413,-21584.000000,2634.915088
22473383,-21344.000000,2634.927426
22477314,-22124.000000,2634.944091
1 pos vel time
2 21311553 -22004.000000 2630.100978
3 21314576 -21444.000000 2630.113690
4 21317933 -21124.000000 2630.127594
5 21322869 -20764.000000 2630.147987
6 21326584 -22364.000000 2630.163649
7 21330750 -21704.000000 2630.181378
8 21334526 -22064.000000 2630.196542
9 21337667 -20504.000000 2630.209557
10 21341251 -21424.000000 2630.224387
11 21345317 -22544.000000 2630.241257
12 21347976 -20224.000000 2630.252348
13 21351819 -21184.000000 2630.268339
14 21356687 -21424.000000 2630.289332
15 21361749 -21404.000000 2630.309873
16 21365248 -21424.000000 2630.324209
17 21369737 -21444.000000 2630.342763
18 21373504 -20864.000000 2630.358452
19 21377887 -21444.000000 2630.376642
20 21382615 -21984.000000 2630.396245
21 21386548 -22004.000000 2630.412612
22 21390627 -21104.000000 2630.429547
23 21393808 -21424.000000 2630.442766
24 21398987 -21404.000000 2630.464427
25 21404106 -21424.000000 2630.485542
26 21407651 -23324.000000 2630.500307
27 21410763 -21364.000000 2630.513357
28 21414388 -21444.000000 2630.528793
29 21418221 -19484.000000 2630.544281
30 21422088 -21464.000000 2630.560155
31 21425408 -21424.000000 2630.573959
32 21428522 -21364.000000 2630.586916
33 21434566 -21424.000000 2630.612020
34 21437886 -21404.000000 2630.625799
35 21441512 -21344.000000 2630.640912
36 21446809 -21444.000000 2630.662977
37 21453007 -21544.000000 2630.689078
38 21456588 -22304.000000 2630.703880
39 21460250 -21404.000000 2630.718762
40 21463642 -21424.000000 2630.732934
41 21468257 -20884.000000 2630.752030
42 21472711 -21424.000000 2630.770521
43 21475891 -21444.000000 2630.784033
44 21480805 -21444.000000 2630.804094
45 21484942 -21444.000000 2630.821242
46 21489067 -21404.000000 2630.838375
47 21493147 -21424.000000 2630.855406
48 21496826 -21424.000000 2630.870663
49 21500154 -21424.000000 2630.884467
50 21504252 -19924.000000 2630.901564
51 21507980 -21424.000000 2630.918144
52 21511429 -21204.000000 2630.931418
53 21514299 -20484.000000 2630.943274
54 21517171 -21404.000000 2630.955257
55 21521422 -22524.000000 2630.972930
56 21524430 -22304.000000 2630.985401
57 21527847 -21964.000000 2630.999520
58 21530891 -21684.000000 2631.012158
59 21534726 -21424.000000 2631.028229
60 21538908 -20824.000000 2631.045573
61 21542549 -21444.000000 2631.060689
62 21546094 -21424.000000 2631.075328
63 21549985 -21284.000000 2631.091479
64 21555480 -21504.000000 2631.114398
65 21558556 -21424.000000 2631.127334
66 21563090 -21004.000000 2631.145955
67 21567609 -21404.000000 2631.164746
68 21571072 -21384.000000 2631.179143
69 21575066 -21964.000000 2631.195837
70 21578997 -20264.000000 2631.212074
71 21582521 -21484.000000 2631.226756
72 21587136 -20804.000000 2631.245971
73 21590550 -21444.000000 2631.260113
74 21593535 -21424.000000 2631.272443
75 21597455 -21324.000000 2631.288825
76 21601479 -21424.000000 2631.305501
77 21605825 -20944.000000 2631.323623
78 21609882 -21584.000000 2631.340317
79 21613809 -21444.000000 2631.356649
80 21616878 -21884.000000 2631.369369
81 21619944 -22004.000000 2631.382072
82 21622933 -22084.000000 2631.395674
83 21626676 -21024.000000 2631.410088
84 21629868 -21364.000000 2631.423533
85 21633982 -21424.000000 2631.440434
86 21637160 -20824.000000 2631.453688
87 21640196 -21444.000000 2631.466217
88 21643840 -21484.000000 2631.481344
89 21647479 -21904.000000 2631.496618
90 21651524 -22244.000000 2631.513514
91 21654942 -21264.000000 2631.527464
92 21657684 -21964.000000 2631.538900
93 21660629 -20724.000000 2631.551281
94 21664299 -21384.000000 2631.566610
95 21667796 -21324.000000 2631.580934
96 21670664 -21624.000000 2631.592743
97 21674556 -22104.000000 2631.608996
98 21679365 -21664.000000 2631.628943
99 21682841 -21444.000000 2631.643661
100 21686481 -21404.000000 2631.658446
101 21691187 -21444.000000 2631.678137
102 21694388 -21384.000000 2631.691603
103 21697907 -21424.000000 2631.705977
104 21701038 -21204.000000 2631.718976
105 21704519 -21444.000000 2631.733885
106 21708990 -20784.000000 2631.752013
107 21713031 -21704.000000 2631.768808
108 21716167 -21384.000000 2631.781820
109 21720672 -22084.000000 2631.800576
110 21724269 -21404.000000 2631.815498
111 21727539 -21444.000000 2631.829054
112 21731424 -20604.000000 2631.845186
113 21735030 -21404.000000 2631.860173
114 21738592 -21424.000000 2631.875038
115 21742793 -21224.000000 2631.892460
116 21745814 -21064.000000 2631.905028
117 21748613 -21124.000000 2631.916671
118 21751940 -21444.000000 2631.930456
119 21755194 -20824.000000 2631.943937
120 21759056 -21544.000000 2631.960035
121 21762734 -21424.000000 2631.975266
122 21765548 -21444.000000 2631.986996
123 21768654 -21904.000000 2631.999915
124 21772692 -21164.000000 2632.016768
125 21777187 -21204.000000 2632.035422
126 21782053 -21444.000000 2632.056841
127 21785724 -21684.000000 2632.070879
128 21790542 -21664.000000 2632.090936
129 21794824 -21404.000000 2632.108640
130 21798126 -21244.000000 2632.122369
131 21802902 -21164.000000 2632.142112
132 21806829 -21424.000000 2632.158435
133 21810941 -21424.000000 2632.175803
134 21815650 -21864.000000 2632.195132
135 21818828 -21444.000000 2632.208379
136 21822006 -21204.000000 2632.221548
137 21825906 -20024.000000 2632.237691
138 21829297 -20964.000000 2632.251842
139 21833933 -21644.000000 2632.271071
140 21837141 -21424.000000 2632.284474
141 21840128 -21764.000000 2632.296917
142 21843518 -21404.000000 2632.312295
143 21849082 -21464.000000 2632.334011
144 21853510 -23044.000000 2632.352408
145 21856939 -21144.000000 2632.366674
146 21860215 -21164.000000 2632.380234
147 21864557 -20064.000000 2632.398330
148 21868115 -21184.000000 2632.413174
149 21872367 -21684.000000 2632.430737
150 21876174 -20764.000000 2632.446589
151 21880253 -21664.000000 2632.463672
152 21883421 -21284.000000 2632.477140
153 21886724 -21204.000000 2632.490382
154 21889862 -22104.000000 2632.503570
155 21894216 -21704.000000 2632.521493
156 21897544 -21504.000000 2632.535374
157 21902474 -21844.000000 2632.556015
158 21906875 -21604.000000 2632.574155
159 21911198 -21604.000000 2632.592024
160 21915400 -21484.000000 2632.609479
161 21919141 -21004.000000 2632.625022
162 21924786 -20824.000000 2632.648480
163 21928752 -21164.000000 2632.664931
164 21932739 -21364.000000 2632.681565
165 21935865 -22044.000000 2632.694497
166 21939202 -21684.000000 2632.708501
167 21943443 -21884.000000 2632.726085
168 21946321 -21424.000000 2632.737980
169 21949711 -20824.000000 2632.751987
170 21953529 -21324.000000 2632.768031
171 21958129 -21204.000000 2632.787078
172 21960658 -21924.000000 2632.797537
173 21964114 -21444.000000 2632.812134
174 21968092 -21424.000000 2632.828727
175 21971138 -21664.000000 2632.841064
176 21974525 -21364.000000 2632.855055
177 21977419 -21384.000000 2632.867124
178 21980717 -21444.000000 2632.880869
179 21983893 -22064.000000 2632.894036
180 21987570 -21504.000000 2632.909275
181 21991327 -21084.000000 2632.924862
182 21995241 -21444.000000 2632.941161
183 21998017 -20684.000000 2632.952652
184 22001364 -21144.000000 2632.966680
185 22004593 -21584.000000 2632.980014
186 22007741 -21444.000000 2632.993139
187 22011556 -21124.000000 2633.008952
188 22015682 -21604.000000 2633.026147
189 22019838 -21424.000000 2633.043646
190 22023539 -21724.000000 2633.058772
191 22028056 -21424.000000 2633.077522
192 22031628 -21404.000000 2633.092404
193 22035624 -21124.000000 2633.108948
194 22039499 -21264.000000 2633.125452
195 22043316 -21144.000000 2633.140956
196 22048918 -21404.000000 2633.164197
197 22052772 -21404.000000 2633.180203
198 22055739 -21724.000000 2633.192616
199 22059995 -21584.000000 2633.210125
200 22064276 -21564.000000 2633.227979
201 22067784 -21424.000000 2633.242490
202 22071476 -21484.000000 2633.257862
203 22074595 -21164.000000 2633.270794
204 22077416 -21484.000000 2633.282452
205 22080194 -22024.000000 2633.294006
206 22083018 -21424.000000 2633.305723
207 22087683 -21424.000000 2633.325186
208 22092295 -20804.000000 2633.344353
209 22096115 -21224.000000 2633.360416
210 22098666 -21924.000000 2633.370918
211 22102562 -21164.000000 2633.387139
212 22105805 -22064.000000 2633.400455
213 22109085 -21404.000000 2633.414107
214 22113237 -21444.000000 2633.431376
215 22117574 -20884.000000 2633.449377
216 22120773 -21404.000000 2633.462648
217 22123931 -21384.000000 2633.475785
218 22127471 -21364.000000 2633.490530
219 22130760 -21444.000000 2633.504302
220 22133891 -21424.000000 2633.517210
221 22137895 -21424.000000 2633.533946
222 22142004 -20624.000000 2633.550858
223 22146093 -21384.000000 2633.567935
224 22150700 -21684.000000 2633.587200
225 22154457 -22244.000000 2633.602548
226 22157319 -21464.000000 2633.614509
227 22161064 -21404.000000 2633.630123
228 22165386 -20624.000000 2633.648038
229 22170174 -20884.000000 2633.667936
230 22174795 -21224.000000 2633.687150
231 22178617 -22204.000000 2633.702921
232 22183530 -23084.000000 2633.723570
233 22187907 -21664.000000 2633.741529
234 22191909 -21344.000000 2633.758210
235 22196352 -21724.000000 2633.776750
236 22200117 -21424.000000 2633.792437
237 22204032 -21384.000000 2633.808574
238 22207376 -21424.000000 2633.822495
239 22211809 -22584.000000 2633.841043
240 22216936 -21584.000000 2633.862221
241 22220897 -21244.000000 2633.879035
242 22224184 -20284.000000 2633.892385
243 22227786 -20984.000000 2633.907323
244 22231563 -21444.000000 2633.923051
245 22236196 -22684.000000 2633.942172
246 22239737 -21804.000000 2633.956956
247 22244593 -21344.000000 2633.977134
248 22248330 -20144.000000 2633.992633
249 22252493 -21224.000000 2634.010091
250 22256302 -21564.000000 2634.025699
251 22260055 -21444.000000 2634.041301
252 22264259 -21684.000000 2634.058748
253 22269658 -21444.000000 2634.081234
254 22274308 -22804.000000 2634.100588
255 22278913 -21364.000000 2634.119664
256 22282401 -21444.000000 2634.134131
257 22285532 -20784.000000 2634.147557
258 22288878 -21464.000000 2634.160989
259 22294190 -21444.000000 2634.183208
260 22298392 -22064.000000 2634.200538
261 22301580 -21164.000000 2634.213721
262 22305571 -21164.000000 2634.230373
263 22310386 -20824.000000 2634.250315
264 22313956 -21704.000000 2634.265111
265 22317597 -21644.000000 2634.280333
266 22320816 -21964.000000 2634.293633
267 22324282 -21444.000000 2634.308154
268 22327153 -21124.000000 2634.320154
269 22330875 -21444.000000 2634.335554
270 22335035 -22384.000000 2634.352784
271 22339134 -21664.000000 2634.369883
272 22343278 -21424.000000 2634.387139
273 22347382 -21424.000000 2634.404049
274 22350788 -21464.000000 2634.418131
275 22355419 -21424.000000 2634.437422
276 22358311 -20984.000000 2634.449550
277 22361218 -21444.000000 2634.461525
278 22364953 -21404.000000 2634.477044
279 22367891 -21164.000000 2634.489223
280 22371928 -21404.000000 2634.505974
281 22375376 -21424.000000 2634.520331
282 22379065 -21684.000000 2634.535653
283 22382923 -20664.000000 2634.551741
284 22386187 -21144.000000 2634.565202
285 22389450 -21424.000000 2634.578852
286 22392865 -21444.000000 2634.593248
287 22396941 -21404.000000 2634.610261
288 22400182 -21704.000000 2634.623624
289 22404137 -21264.000000 2634.639918
290 22407683 -21424.000000 2634.654504
291 22410807 -21084.000000 2634.667511
292 22415781 -21564.000000 2634.688281
293 22419518 -21204.000000 2634.703767
294 22423611 -21724.000000 2634.720774
295 22426584 -21384.000000 2634.733206
296 22430757 -20604.000000 2634.750427
297 22435565 -21464.000000 2634.770852
298 22439137 -21164.000000 2634.785177
299 22442871 -22264.000000 2634.800789
300 22447211 -21424.000000 2634.818859
301 22450519 -21424.000000 2634.832555
302 22454045 -20304.000000 2634.847252
303 22458028 -21284.000000 2634.867426
304 22462813 -21444.000000 2634.883903
305 22467171 -22244.000000 2634.901685
306 22470413 -21584.000000 2634.915088
307 22473383 -21344.000000 2634.927426
308 22477314 -22124.000000 2634.944091