Jump to content

Höhe auf der Bodenplatte ermitteln


seehund

Empfohlene Beiträge

Hallo Easy,

das ist eine Interpretationsfrage. Ein Rückgabewert von 0 signalisiert einen Fehler bei der Verarbeitung des Kommandos. Ein Ping, der nichts trifft, ist aber kein Fehler. Sendest du das Kommando 100 für Gleise, obwohl keine Gleise auf der Anlage existieren, bekommst du auch eine 1 zurückgeliefert, ohne weitere Daten. So gesehen halte ich die 1 für die korrekte Antwort bei einem "leeren Ping". Wenn ihr wollt kann ich das Ergebnis trotzdem expliziter machen, indem als erster Rückgabewerte der Erfolg gesendet wird, mit 0 oder 1. Das wäre am Ende aber nichts anderes, als die Anzahl der Rückgabeparameter zu zählen, nur etwas expliziter.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Antworten 58
  • Erstellt
  • Letzte Antwort

Höchste Beteiligung

Höchste Beteiligung

Bilder

Hallo Neo,

Zitat

Sendest du das Kommando 100 für Gleise, obwohl keine Gleise auf der Anlage existieren, bekommst du auch eine 1 zurückgeliefert, ohne weitere Daten...

... ist mir noch gar nicht aufgefallen (hatte den Fall noch nie)... aber wenn das bei anderen Kommandos (auch) so ist, dann spielt es keine Rolle... denn diese müßten man ja dann auch konsequenterweise anpassen... was der Änderungen wieder zu viel wäre...

Nun in "meinem" Client habe ich  "ResultLength" (Anzahl der Parameter) schon von Anfang an eingebaut... nur nie genutzt... nur für das Gruppenkommando muß ich mir noch etwas effektiveres überlegen... (ich habe bisher nur Gruppenkommandos da angewand, wo ich auf eine Parameter nicht angewiesen war...)

Noch eine andere Frage:

Gibt es so etwas wie eine "Genauigkeit" für den "Ping"?
Wenn ich z.B. die Oberfläche einer Bodenplatte (in einem Raster) mit dem Ping erfassen möchte (also in -z Richtung "pinge"), wie genau müssen die x,y Koordinaten sein, wenn ich an der Außenkante einer (um die z-Achse) gedrehten Bodenplatte entlangfahren möchte und der Ping diese Kante noch erfassen kann? (-> Übergang Kante - Nichts)... da ich hier gezwungerermaßen mit Winkelfunktionen rechnen muß, wird es immer zu kleinen Ungenauigkeiten kommen...

Gruß
EASY
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Easy,

der Ping arbeitet exakt, d.h. die Genauigkeit liegt im Bereich der Auflösung von 32-Bit-Gleitkommazahlen (7 Stellen). Anders ausgedrückt, der Ping ist so genau wie möglich. Die Ungenauigkeiten der Winkelfunktionen sind vernachlässigbar, aber konzeptbedingt gibt es bei Gleitkommazahlen keine 100%-ige Genauigkeit. Was genau hast du denn vor, dass du dir über Ungenauigkeiten Gedanken machst?

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

Zitat

Was genau hast du denn vor, dass du dir über Ungenauigkeiten Gedanken machst?

... eigentlich das, was ich als Beispiel genannt habe... ich möchte den "Spantenriss" mit dem Ping machen, so daß man nicht zuerst eine .csv erzeugen muß und außerdem auch über mehrere Platten "abtasten" kann und "unabhängig" ist von der voreingestellten Rastergröße... und da mache ich mir eben etwas "Sorge" ob ich den Rand der Platte "sicher" treffe... -> Abtasten der Randlinie z.B. "fahren" entlang X-Richtung bei Y=0 (bezogen auf Platte) und Platte ist um die z-Achse gedreht (bezogen auf die Welt)... ob man da eben so etwas wie einen kleinen "Offset" zur Platte hin vorsehen muß üm "sicher" die (Rand-) Linie zu treffen...

Gruß
EASY 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Easy,

so recht weiß ich noch nicht, was du vorhast und was du mit Randlinie meinst. Die Bodenplatte kennt nicht den Begriff einer Linie am Rand. Wenn die Bodenplatte 1 Meter breit ist in X-Richtung, dann wirst du sie zwischen -0,5 und 0,5 m über den Ping erwischen. Du kannst hier also nur mit Bereichen zwischen den Extrempunkten der Platte arbeiten, nicht mit konkreten Linien. Aber vielleicht verstehe ich dein Problem besser, wenn ich das Plugin ausprobieren kann.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

... gutes Schlagwort "Extrempunkte"

Zitat

Du kannst hier also nur mit Bereichen zwischen den Extrempunkten der Platte arbeiten

... mir geht es eben um die Messung wenn ich genau am Extrempunkt angelangt bin. In Deinem Beispiel mit dem Extrempunkt x= +0,5m -> maximale x-Koordinate für den Ping = 500mm. Bis zu welchem Wert von x trifft an diesem Punkt der Ping noch die Oberfläche bei x=500,1 mm ? ; x= 500,01mm ? ; bei x=500,001mm ?... also die Frage wie "genau" muß der Wert 500 sein?

Zitat

Die Bodenplatte kennt nicht den Begriff einer Linie am Rand.

also keine "Linie" am Rand... sondern die Kante der Bodenplatte, der ich "entlangfahren" möchte um einen Profilschnitt mit einer Serie von Pings erfassen zu können (symbolisch ist der Fluchtstab die Ping-Richtung [entgegen dem Bild ist die Z-Koordinate des Pings natürlich konstant und liegt oberhalb des höchsten Punktes der Bodenplatte]). Wenn die Platte nun um die Z-Achse gedreht ist, muß ich auf Winkelfunktionen zurückgreifen (für die x,y Koordinaten des Pings um an der Kante entlagfahren zu können (der Ping bezieht sich auf das Koordinatensystem der Welt)... und diese Winkelfunktionen haben eine endliche Genauigkeit im Ergebnis. Deshalb ist meine "Befürchtung", daß der eine oder andere Ping eben genau an der Kante "vorbeischrammt" und ins Leere läuft...

... dazu noch ein Bild...

Messung_kante.jpg

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

Zitat

....der Ping ist so genau wie möglich

oooh ja... ich habe eine Kante von einer Bodenplatte auf x=0 gesetzt... bis zu einem x-Wert von -1.0E-44 (!!!) hat der Ping die Bodenplatte nicht getroffen...

... damit wäre meine Frage beantwortet ! ...und ich zolle der Genauigkeit meinen Respekt (auch wenn mir etwas ungenauer lieber gewesen wäre...)

-> Winkelfunktion + Offset ( in Richtung der "sicheren" Seite)...

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo BahnLand,

... ich habe etwas herumexperimeniteit und habe sogar einige Erfolge erzielt (um zwei Achsen gedreht, bekomme ich den Ping schon hin)... dabei ist mir allerdings aufgefallen, daß eine Drehmatrix, die Du hier eingestellt hast nicht zum MBS Drehsystem passt...

Y-matrix.jpg

... bei der Drehung um die amerikanische z-Achse - europäische y-Achse - muß in Zeile1 sin(w) stehen und in Zeile3 -sin(w) da die y-Drehung (siehe auch Drehmatrizen des Raumes R³ in der Wikipedia) sonst im MBS ein linksdrehendes System sein müßte und die anderen beiden (nach den beiden anderen Matrixen) rechtsdrehend bleiben... (pers. Anmerkung: warum das im MBS so ist weiß ich bis heute nicht!)

... nochmals danke für Deine Ausführungen... es hat mich ein Stück weitergebracht und so eine "Fehleranalyse" hat auch einen bestimmten Lerneffekt.

@ Alle

... leider habe ich bisher noch nichts geeignetes für die Matix-Berechnung für VB gefunden (habe für meine Versuche ein Mathematikprogramm benutzt und die Werte abgeschrieben)...

... wer was weiß oder etwas findet... bitte melden.

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...