Hallo Zusammen,
ich experimentiere an einem Robotersystem, dass über eine Kamera
Objekte, die rot, grün oder blau sind, erfasst und mit einem Roboter arm
greifen kann. Nun möchte ich in einem Array X Y bzw. einer Matrize
verschiedene Ablagepositionen speichern.
Nehmen wir an Ich habe 1 blaues und zwei rote Objekte. Ich kann nun
momentan wählen, welche Farbe ich als erstes greifen möchte und bekomme
auch die Anzahl der Objekte dann geliefert. Meine Frage ist jetzt, wie
ich meine for Schleife oder was auch immer aufbaue, wenn ich blau wähle,
und er dann alle blauen Steine an den Positionen 1,1, 1,2 etc ablegen
soll und dann rot wähle und er alle Steine an den Position der Matrix
3,1, 3,2 3,3 etc. Ablegen soll? Zwei verschattelte schleifen kann ich
noch. Aber ich möchte nicht nacheinander die Objekte ablegen sondern ne
nach farbwahl in unterschiedlichen Spalten oder Zeilen Positionen. Ich
koennte je nach Farbe mit if else nur entsprechende Spalten oder Zeilen
aufrufen bzw deren Position dort
Ich verstehe ehrlich gesagt deine Fragestellung nicht.
Du sortierst die Farbcodes wie du magst, und der Code ist entsprechend.
Oder du lässt die Software sortieren. Die Farbe bildest du einfach mit
entsprechenden Bibs in RGB- oder La/b- oder andere Farbräume ab. Und
danach bildest du die Logiken dahinter aus, RNNs oder was immer passend
sein mag.
Die Farbe habe ich. Aber ich benötige zum anfahren der vordefinierten
Ablagepositionen eine. Iterator für ein Array. Ich arbeite mit Matlab.
Beispiel:
x x x
x x x
x x x
Jedes Feld hat eine Position bzw. Koordinaten.
Ist rot gewählt, starte Ablage:
Rote Objekte = 1
R x x
x x x
x x x
Wähle blau = 2 Objekte
R x B
x x B
x x x
Wie sieht dann meine ifelse oder for Schleifen Struktur aus?
Udo schrieb:> Hallo Zusammen,> ...
So. Das schreibst Du jetzt nochmal in vernünftigem Deutsch. Grammatische
Sätze. Groß- und Kleinschreibung. Interpunktion. Kurze Sätze.
Überflüssige Worte lässt Du weg. Z.B. das "ne" in "... die Objekte
ablegen sondern ne nach farbwahl ...". Dann sehen wir weiter. Das ist ja
nicht zum Aushalten.
Hallo Udo,
Ich probiere es mal...
- Du kannst Objekte an bestimmten Positionen in der Ebene ablegen.
- Du hast einen "Container" in der sich solche (gleichartigen) Objekte
befinden. Sie unterscheiden sich lediglich in der Farbe (rot,grün,blau).
- Dein Aufgabe ist es nun, die Objekte aus dem Container zu entnehmen
und in der Ebene abzulegen. Als Eingabe gibt es eine Liste mit Tupeln
der Form: (Farbe,Zielkordinaten).
Ist das so?
@Klaus
Du musst es nicht lesen, wenn das deine einzige vernünftige Antwort ist.
Manche Menschen verbringen mehr Zeit damit andere zu kritisieren, statt
einfach mal auf die eigentliche Problemstellung einzugehen.
Nur mal Rande - Ich habe vom Smartphone aus geschrieben und mein Browser
stellt dieses Editorfeld nicht richtig dar. Daher sehe ich ab der Hälfte
nichts mehr. Hinzu kommt die Auto Korrektur.
@ S.J
Genau. Ich kann jede beliebige Ablageposition mit x, y und z als
Parameter übergeben. Nur möchte ich nicht jedes Objekt an der selben
stelle ablegen. Ich möchte Objekte einer bestimmten Farbe nebeneinander
legen. Die Positionen dafür kann ich beispielsweise in einem Array
festlegen.
Habe ich jetzt die ersten Objekte nebeneinander oder untereinander
abgelegt, werden alle roten Objekte oder blauen Objekte Markiert, die
aber an einer anderen Stelle abgelegt werden.
Die Aufgabe an sich ist nicht wirklich schwer. Ich konnte mit if-else
die aktuelle Farbe prüfen und je nach Anzahl der Objekte dann eine
for-Schleife aufrufen, die alle Objekte in der ersten Spalte dieser
Matrix bzw an den jeweiligen Positionen untereinander ablegt. Aber jedes
mal für jede of Bedingung eine neue Schleife zu erzeugen erscheint mich
unvorteilhaft.
Hallo Udo,
ich hatte dein Posting recht früh gelesen. Konnte dazu aber nichts
schreiben, weil ich nicht verstanden habe worum es geht. Später habe ich
dann gesehen, dass es anderen offensichtlich genauso geht.
Ich vermute mal, dass du eine Datenstruktur suchst, die besser als ein
Array für deine Zwecke geeignet ist. Allerdings habe ich auch nach
deinem letzten Posting immer noch nicht vertsanden, worum es geht,
geschweige denn, was das Problem ist. Sorry. ;-)
> Ich möchte Objekte einer bestimmten Farbe nebeneinander> legen. Die Positionen dafür kann ich beispielsweise in einem Array> festlegen.
Ok. Du hast dann bspw. 3 Arrays mit Koordinaten. Ein Array pro Farbe.
> Habe ich jetzt die ersten Objekte nebeneinander oder untereinander> abgelegt, werden alle roten Objekte oder blauen Objekte Markiert, die> aber an einer anderen Stelle abgelegt werden.
Ko. Mich irritiert erstmal das "nebeneinander oder untereinander". Wie
die Objekte abgelegt wurden, ist ja in deinem Arrays gespeichert, also
beliebig, oder nicht?
Warum werden Objekte markiert? Was ist "markieren"? Wieso müssen sie
markiert werden. Du weißt doch was du abgelegt hast. Und die abgelegten
Objekte müssen jetzt wieder aufgenommen und woanders abegelegt werden?
Woher kommt diese (neue) Info?
> Die Aufgabe an sich ist nicht wirklich schwer. Ich konnte mit if-else> die aktuelle Farbe prüfen und je nach Anzahl der Objekte dann eine> for-Schleife aufrufen, die alle Objekte in der ersten Spalte dieser> Matrix bzw an den jeweiligen Positionen untereinander ablegt. Aber jedes> mal für jede of Bedingung eine neue Schleife zu erzeugen erscheint mich> unvorteilhaft.
Du hast offenbar eine Idee, wie du vorgehst und wie du es
implementierst. Das ist gut.
Ich habe allerdings keinen Schimmer was du meinst. Und ich kann auch
keinen Bezug zu dem oben gesagten herstellen. Sorry.
Vielleicht ist es ja ganz einfach und bei mir ist der Groschen nicht
gefallen. Dann wird dir bestimmt hier weitergeholfen. Ansonsten, probier
es nochmal mit der Problembeschreibung... am besten vollständig, aber
ohne Details die nicht zum Problem gehören und evtl. nur verwirren.
Schönes Wochende...
Der Klaus. Ein ganz toller Kerl. Vielleicht solltest du deine ersten
Absatz lesen und korrigieren. Übrigens werden Polizisten wie auch Tester
von Rezensionexemplaren bezahlt. Danke für die Hilfestellung. Ich fand
die Unterhaltung sehr amüsant. Ich lege mich mal zu meiner Frau ins
Bett, während du weiterhin davon träumst ein Polizist zu sein oder
Produkte rezensieren zu dürfen. Ebenfalls ein schönes Leben und nicht
vergessen alles zu dokumentieren Herr Schlau.
Ich werde versuchen das Problem in Angriff zu nehmen und eine sinnvolle
Lösung zu erarbeiten. Die Objekte kann ich über eine GUI wählen. Diese
werden über eine Kamera aufgenommen und als Farbbild dargestellt. Über
ein dropdown Menü kann ich anschließend die Farben selektieren. Je nach
Anzahl der Objekte sollen diese über die Farben sortiert werden. Das
sortieren soll vorher definiert sein. Nämlich in einer Matrix