e-buc, mein Cubesolver
Verfasst: 21 Okt 2011, 23:04
Hallo ft-ler
ich bin nula aus dem alten Forum und ich würde hier gerne meinen Cubesolver e-buc vorstellen.
Erstmal gibt es hier das Video auf YouTube.
Die Steuerung des Roboters habe ich mit RoboPro gemacht, die Lösung findet Herbert Kociemba`s Cube Explorer. Die Vermittlung zwischen den Programmen erfolgt derzeit noch über ein AutoIt Skript, das ist leider sehr langsam.
Verbaut habe ich das "alte" Robo Extension Module, weil ich ja sowieso nur den Online Modus brauche und das Teil so schön kompakt ist (und weil ich das neue Interface noch nicht habe). Die Stromversorgung geht über eine "Laborspannungsquelle" von Conrad, damit alle Motoren auch den Saft bekommen, den sie brauchen und damit nicht ein Motor langsamer dreht wenn ein anderer dazugeschaltet wird, wie das leider bei dem fischertechnik Netzteil der Fall ist.
Dann wären da 4 Motoren, drei Graukappen (je einer für die beiden Kipper und einer für den Deckel) und eine Schwarzkappe für den Drehkranz. Jeder Kipper hat 2 Tasten für die Endpositionen, so auch der Deckel. Der Drehkranz hat von mir nur einen Taster abbekommen, zwischendurch waren es mal 2 aber ich fand der eine alleine reicht vollkommen aus dafür. Die 4 Nässchen am Drehkranz fahren dann bei geschlossenem Deckel (wenn also eine Würfelseite gedreht wird) über den Tasterdruck hinaus, bis der Taster grad nicht mehr gedrückt ist und wieder zurück, um das Spiel, dass der Würfel im Drehkranz und im Deckel hat, auszugleichen.
Bei geschlossenem Deckel gab es bei mir das Problem, dass der Schwarzkappenmotor nur mit der Geschwindigkeitsstufe 8 in RoboPro genug Kraft hat, um sich überhaupt zu drehen, alle anderen Geschwindigkeitsstufen haben nicht genug Wums. Dem bin ich entgegengegangen mit einer eigenen Puls-Pausen Unterprogrammschaltung, sprich man kann einstellen, wieviele ms der Motor die Geschwindigkeitsstufe 8 und wieviele ms die Geschwindigkeitsstufe 0 haben soll. Damit geht es sehr gut, man kann auch sehr schön sehr viel mehr als die 8 vorgegebenen Geschwindigkeitsstufen damit erstellen und der Motor hat mehr Kraft.
Optimieren konnte ich aber auch noch eine Menge durch das Ineinandergreifen der unterschiedlichen Bewegungen, sprich den Kippvorgang starten während der Drehkranz noch dreht etc. also quasi Wartezeitoptimierung. Wobei ich hier noch nicht ganz am Limit bin, weil ich sicher sein will, dass der Solver sich nicht verhaspelt. Was hier wirklich spürbar wird ist die 10ms Beschränkung von dem Interface/Extension...
Mein Ziel war es von Anfang an, den Roboter schneller werden zu lassen als ich es bin im Würfellösen. Gestartet habe ich diesem Solver vor 1,5 Monaten mit einer Zeit von etwa 2min 30sec und ich konnte ihn immer weiter optimieren bis unter 20 Sekunden, was gut unter meiner persönlichen Bestzeit von 22 Sekunden liegt
Bilder habe ich noch keine auf die Community geladen, das wird aber noch kommen (EDIT: Bilder gibt es hier). Verbesserungsvorschläge sind natürlich mehr als willkommen, das Projekt ist auch noch ganz aktuell und so. Ich selber würde gerne noch die Zeit zwischen dem Einlesen und dem eigendlichen Starten des Lösevorgangs verkürzen. Da geht viel Zeit bei flöten nur um die Textdatei, die der Cube Explorer rauswirft, roboprofreundlich in eine *.csv Datei nur mit ganzen Zahlen und in einem bestimmten Format zu übersetzen, das Programm, welches ich mit AutoIt geschrieben habe, macht das so, als würde man es manuell mit Maus und Tastatur machen, sprich auf dem Bildschirm wuselt es dann so 10 Sekunden lang. Das ist noch richtig hässlich, und ganz offiziell zählt ja auch die Einlesezeit und das "Berechnen der Lösung" (und Umformatieren) ja mit zu der Lösezeit. Weg von RoboPro mag ich aber eigendlich auch nicht so gerne, weil ich RoboPro so angenehm und übersichtlich finde...
Vielleicht habt ihr ja auch noch Vorschläge dazu
Lennie
ich bin nula aus dem alten Forum und ich würde hier gerne meinen Cubesolver e-buc vorstellen.
Erstmal gibt es hier das Video auf YouTube.
Die Steuerung des Roboters habe ich mit RoboPro gemacht, die Lösung findet Herbert Kociemba`s Cube Explorer. Die Vermittlung zwischen den Programmen erfolgt derzeit noch über ein AutoIt Skript, das ist leider sehr langsam.
Verbaut habe ich das "alte" Robo Extension Module, weil ich ja sowieso nur den Online Modus brauche und das Teil so schön kompakt ist (und weil ich das neue Interface noch nicht habe). Die Stromversorgung geht über eine "Laborspannungsquelle" von Conrad, damit alle Motoren auch den Saft bekommen, den sie brauchen und damit nicht ein Motor langsamer dreht wenn ein anderer dazugeschaltet wird, wie das leider bei dem fischertechnik Netzteil der Fall ist.
Dann wären da 4 Motoren, drei Graukappen (je einer für die beiden Kipper und einer für den Deckel) und eine Schwarzkappe für den Drehkranz. Jeder Kipper hat 2 Tasten für die Endpositionen, so auch der Deckel. Der Drehkranz hat von mir nur einen Taster abbekommen, zwischendurch waren es mal 2 aber ich fand der eine alleine reicht vollkommen aus dafür. Die 4 Nässchen am Drehkranz fahren dann bei geschlossenem Deckel (wenn also eine Würfelseite gedreht wird) über den Tasterdruck hinaus, bis der Taster grad nicht mehr gedrückt ist und wieder zurück, um das Spiel, dass der Würfel im Drehkranz und im Deckel hat, auszugleichen.
Bei geschlossenem Deckel gab es bei mir das Problem, dass der Schwarzkappenmotor nur mit der Geschwindigkeitsstufe 8 in RoboPro genug Kraft hat, um sich überhaupt zu drehen, alle anderen Geschwindigkeitsstufen haben nicht genug Wums. Dem bin ich entgegengegangen mit einer eigenen Puls-Pausen Unterprogrammschaltung, sprich man kann einstellen, wieviele ms der Motor die Geschwindigkeitsstufe 8 und wieviele ms die Geschwindigkeitsstufe 0 haben soll. Damit geht es sehr gut, man kann auch sehr schön sehr viel mehr als die 8 vorgegebenen Geschwindigkeitsstufen damit erstellen und der Motor hat mehr Kraft.
Optimieren konnte ich aber auch noch eine Menge durch das Ineinandergreifen der unterschiedlichen Bewegungen, sprich den Kippvorgang starten während der Drehkranz noch dreht etc. also quasi Wartezeitoptimierung. Wobei ich hier noch nicht ganz am Limit bin, weil ich sicher sein will, dass der Solver sich nicht verhaspelt. Was hier wirklich spürbar wird ist die 10ms Beschränkung von dem Interface/Extension...
Mein Ziel war es von Anfang an, den Roboter schneller werden zu lassen als ich es bin im Würfellösen. Gestartet habe ich diesem Solver vor 1,5 Monaten mit einer Zeit von etwa 2min 30sec und ich konnte ihn immer weiter optimieren bis unter 20 Sekunden, was gut unter meiner persönlichen Bestzeit von 22 Sekunden liegt
Bilder habe ich noch keine auf die Community geladen, das wird aber noch kommen (EDIT: Bilder gibt es hier). Verbesserungsvorschläge sind natürlich mehr als willkommen, das Projekt ist auch noch ganz aktuell und so. Ich selber würde gerne noch die Zeit zwischen dem Einlesen und dem eigendlichen Starten des Lösevorgangs verkürzen. Da geht viel Zeit bei flöten nur um die Textdatei, die der Cube Explorer rauswirft, roboprofreundlich in eine *.csv Datei nur mit ganzen Zahlen und in einem bestimmten Format zu übersetzen, das Programm, welches ich mit AutoIt geschrieben habe, macht das so, als würde man es manuell mit Maus und Tastatur machen, sprich auf dem Bildschirm wuselt es dann so 10 Sekunden lang. Das ist noch richtig hässlich, und ganz offiziell zählt ja auch die Einlesezeit und das "Berechnen der Lösung" (und Umformatieren) ja mit zu der Lösezeit. Weg von RoboPro mag ich aber eigendlich auch nicht so gerne, weil ich RoboPro so angenehm und übersichtlich finde...
Vielleicht habt ihr ja auch noch Vorschläge dazu
Lennie