INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Outsourcing-Möglichkeiten?
04.06.2015, 13:09 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2015 16:58 von Leberwurst.)
Beitrag #1
Outsourcing-Möglichkeiten?
Hallo alle zusammen,
bin gerade an einem Zauberwürfel-Löser-Projekt für den Arduino.
Das Programm besteht aus 3 Schritten:

1. Einscannen und Speichern der Farbflächen
2. Bestimmen der Lösungzüge. ( Würfel wird mit der sog. LbL-Methode gelöst, d.h die Lösungszüge sind vorbestimmt und werden für jeweilige Fälle ausgeführt.
wens interessiert: http://speedcube.de/lbl.php )
3. Ausführung der Lösungszüge (mit Servo-Greifern)

Ich habe mir gedacht, dass der Arduino Schritt 1 und 3 problemlos ausführen könnte.
Schritt 2 könnte ein Problem werden, da die Zuweisung der Lösungszüge bestimmt sehr aufwändig wird.
Wie könnte man diesen Prozess auf den PC auslagern?
Recherchiere da schon einige Zeit, finde aber nichts wirklich verständliches.
Bin mit dem ganzen Themengebiet noch nicht so vertraut...
Könnt ihr mir da einen Tipp geben?Huh
Gruß
Leberwurst
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.06.2015, 14:37
Beitrag #2
RE: Outsourcing-Möglichkeiten?
(04.06.2015 13:12)t.a.f.k.a.Z. schrieb:  OT: toter Link (404)
...am Ende muß die ")" Klammer weg...Idea

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.06.2015, 14:41 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2015 14:43 von DaniDD.)
Beitrag #3
RE: Outsourcing-Möglichkeiten?
Ich kenne mich mit diesem LbL nicht aus und der Link funktioniert ja auch nicht. (ok, Klammer muss weg)
Ich vermute aber das wird eine große Tabelle sein. Ggf wenn die zu groß für den Flash des Arduino ist, dann könnte man die auf eine SD-Card auslagern.
Ich weis nicht in welcher Form die vorliegt, aber ansonsten könnte man die auch in eine DB schreiben die auf dem PC liegt die mit dem Arduino abgefragt wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.06.2015, 14:46
Beitrag #4
RE: Outsourcing-Möglichkeiten?
Hi,
ich würde "einfach" die Stellung der Farbflächen per serieller Schnittstelle (USB) an ein geeignetes PC-Programm übermitteln. Dabei ist die Programmiersprache auf PC-Seite egal. Wenn der PC dann das ganze ausgerechnet hat, dann einfach die Befehle (oder eben die ganze Serie) an den Arduino zurück übermitteln.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.06.2015, 16:18
Beitrag #5
RE: Outsourcing-Möglichkeiten?
...man kann auch einfach einen Mega nehmen dann passen die Tabellen bestimmt in den Speicher. Nur zu dem Farbsensor fällt mir nichts passendes ein.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.06.2015, 17:07 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2015 17:10 von Leberwurst.)
Beitrag #6
RE: Outsourcing-Möglichkeiten?
(04.06.2015 14:41)DaniDD schrieb:  Ich kenne mich mit diesem LbL nicht aus und der Link funktioniert ja auch nicht. (ok, Klammer muss weg)
Ich vermute aber das wird eine große Tabelle sein. Ggf wenn die zu groß für den Flash des Arduino ist, dann könnte man die auf eine SD-Card auslagern.
Ich weis nicht in welcher Form die vorliegt, aber ansonsten könnte man die auch in eine DB schreiben die auf dem PC liegt die mit dem Arduino abgefragt wird.

Layer-by-Layer ist eine Methode, um den Würfel zu lösen. Man erkennt in der Verdrehung des Würfels dann bestimmte Fälle/ Konstellationen, für die es jeweils vorgeschriebene Lösungszüge gibt. Es gibt eine feste Reihenfolge, nach der diese Fälle abgearbeitet werden (Ebene für Ebene).
Die Lösungszüge habe ich schon schon in Servo-Befehle übersetzt.
Muss also nicht als Tabelle gespeichert werden.
Allerdings denke ich, dass der Arduino Probleme haben wird, diese Lösungszüge entsprechend der Verdrehung auszuwählen auszuwählen. (bzw. die Reihenfolge dieser Lösungszüge festzulegen/ zu errechnen)

(04.06.2015 14:37)Bitklopfer schrieb:  
(04.06.2015 13:12)t.a.f.k.a.Z. schrieb:  OT: toter Link (404)
...am Ende muß die ")" Klammer weg...Idea

thx ist geändertBlush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.06.2015, 09:58
Beitrag #7
RE: Outsourcing-Möglichkeiten?
Danke für die Aufklärung Smile

Warum denkst du dass er Probleme hätte? Wegen der Geschwindigkeit oder wegen des RAM/Flash Verbrauchs? Ggf würde da ein Arduino Due helfen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.06.2015, 10:34
Beitrag #8
RE: Outsourcing-Möglichkeiten?
hallo,
für den Lego NXT (ARM 7) ist der Sourcecode in einer C-ähnlichen Sprache (NXC) veröffentlicht, den habe ich selber schon mal nachgebaut:
http://mindcuber.com/mindcuber/mindcuber-source.html

Dieses und auch viele andere Programme benutzen allerdings vorberechnete Lookup-Tabellen, um die Lösungen schnell durchführen zu können, außerdem sparen sie eine Menge Speicher.

Zur Lösung während der Laufzeit hat sich der Algorithmus von Kociemba bewährt, doch wird dafür vermutlich ein ARM Prozessor nötig sein (Arduino Due), selber habe ich den noch nicht benutzt :

http://kociemba.org/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste