Auswertung Punkte

This commit is contained in:
ChK
2026-03-18 09:13:57 +01:00
parent ea5275d04e
commit 30b7da16f1

View File

@@ -38,42 +38,79 @@ async function fetchCSV() {
});
return obj;
});
appendToAnalysis(`CSV-Daten geladen: ${rows.length} Zeilen, ${headers.length} Spalten.`);
return { data, headers, rows };
}
async function readValues( data, headers, rows ){
appendToAnalysis('Geladene Daten: ' + JSON.stringify(data, null, 2));
appendToAnalysis('Headers: ' + JSON.stringify(headers));
appendToAnalysis('Parsed rows: ' + JSON.stringify(rows, null, 2));
console.log('Geladene Daten:', data);
console.log('Headers:', headers);
console.log('Parsed rows:', rows);
// Hier kannst du manuell mit den Daten arbeiten
// Beispiel: Finde die Position mit der höchsten x_mm
let maxX = -Infinity;
let bestRow = null;
rows.forEach(row => {
if (row.x_mm > maxX) {
maxX = row.x_mm;
bestRow = row;
}
});
appendToAnalysis('Position mit höchster x_mm: ' + JSON.stringify(bestRow));
}
// Füge hier deine Logik für Vorschläge hinzu
// z.B. calculateSuggestions(rows);
async function calculateAngleFromPosition(row, axisY, axisZ, deltaYangle0, deltaZangle0 = 0) {
let y = parseFloat(row.y_mm);
let z = parseFloat(row.z_mm);
let dy = -(y - axisY);
let dz = z - axisZ;
let angle0Rad = 0;
if(deltaZangle0 !== 0){
angle0Rad = Math.atan(deltaZangle0/deltaYangle0);
}
angleRad = Math.atan(dz/dy) - angle0Rad;
angleDeg = angleRad * (180 / Math.PI);
appendToAnalysis(`(yMotor = ${angleDeg.toFixed(2)}° = ${angleRad.toFixed(4)} rad ) aus Position von ID = ${row.id}`);
}
async function calculateAngleFromRollColumn(row, roll0 = 0, pitch0 = 0, yaw0 = 0) {
let roll = -parseFloat(row.roll_deg) + roll0;
appendToAnalysis(`(yMotor = ${roll.toFixed(2)}° = ${(roll * Math.PI / 180).toFixed(4)} rad) aus roll_deg von ID = ${row.id}`);
}
async function calculate() {
let shoulderAxisY = 115;
let shoulderAxisZ = 61;
let rows = null;
let headers = null;
try {
appendToAnalysis('Starte Berechnung...');
const { data, headers, rows } = await fetchCSV();
const result = await fetchCSV();
rows = result.rows;
headers = result.headers;
const data = result.data;
await readValues( data, headers, rows );
appendToAnalysis('Berechnung abgeschlossen.');
} catch (err) {
appendToAnalysis('Fehler in calculate: ' + err.message);
}
// Schreibe den die Länge der CSV Datei und die vierte Zeile in das Analysis&Reasoning fenster.
const row243 = rows.find(r => r.id == 243)
if(row243){
const angle = await calculateAngleFromPosition(row243, shoulderAxisY, shoulderAxisZ, 250+35, 0);
calculateAngleFromRollColumn(row243, 90, 0, 0);
}
const row229 = rows.find(r => r.id == 229)
if(row229){
const angle = await calculateAngleFromPosition(row229, shoulderAxisY, shoulderAxisZ, 250, 35);
calculateAngleFromRollColumn(row229, 0, 0, 0);
}
const row203 = rows.find(r => r.id == 203)
if(row203){
const angle = await calculateAngleFromPosition(row203, shoulderAxisY, shoulderAxisZ, 165, 35);
calculateAngleFromRollColumn(row203, 0, 0, 0);
}
}
// Export für Module, falls benötigt
// export { fetchCSV, calculate };