Schachroboter Konstruktion Dezember2022-Maerz2023

Konstruktionsdaten: blender/*.blend  (mit Blender 3.1 entworfen)
Bewegung in x-Richtung: Motor1 und Motor2 in gleiche Richtung drehen
Bewegung in y-Richtung: Motor1 und Motor2 in gegensaetzliche Richtungen drehen
                        und Motor3 in gleiche Richtung wie Motor1
Bewegung in z-Richtung: Motor3 drehen, Motor1 und Motor2 angehalten
Greifer schliessen: Motor4 in positive Richtung bis Sensor anspricht
Greifer oeffnen: Motor4 in andere Richtung ca. 90 Grad drehen

Schaltung:
Atmega1284P
zu jedem Schrittmotor: Select, Dir, Step
Signal von Sensoren: fuer jeden Motor 1 Sensor, Digital Input
Serielle Schnittstelle: zu machender Zug vom SchachbrettController

Korrekturen im SchachbrettController:
schachavr/schaltung/hall8x8.png:
Ohne Schaltungsaenderung: Software-UART auf PB6 PB7

Kommandos mit UART auf TX1 zum Roboter schicken:
Computerfarbe: "F:0" fuer weiss, "F:1" fuer schwarz
Zuege: "e2-e4" immer Start u. Zielposition fuer gewoehnlicher Zug
       "e2xe4" wenn Figur geschlagen wird
       "e3xe5e.p." fuer en passant
       "o-o" kleine Rochade
       "o-o-o" grosse Rochade
       "e7-e8Q" Bauernumwandlung

Verbindung zu Computer (Linux) um gegen Stockfish zu spielen:
Programm serusb.cc unveraendert uebernommen von Version von 2017.
So compiliert:
> make
> make install
USB-Kabel anschliessen und so starten:
> serusb
Dann Reset auf dem "Kartonschach"
Wenn Spiel fertig USB ausstecken und Programm mit Ctrl C beenden.

Autostart funktioniert auch: schach.desktop nach ~/.config/autostart/ kopiert.

Noch ungeloeste Probleme:
--------------------
- Greiferprobleme: meist durch justieren der entsprechenden Parameter
  in robot.cc zu loesen. Sonst justieren des Sensors am Greifermotor.
(Stand 27.Feb.2023)

Anpassungen Maerz 2023
----------------------
Programm serusb.cc erweitert um Partieen zu speichern.
Neues Sensorfeld mit Spulen.

Erweiterung fuer Schach960 Maerz 2024
-------------------------------------
- Anpassungen in kartonschach.cc gemacht: Stellung eingeben
- Anpassungen in schach-engine.cc gemacht: Rochade-Regeln
- Anpassungen in robot.cc gemacht: in Stockfisch auf UCI_Chess960 aktiviert
Rochade noch ausfuehrlicher testen

Erweiterung September 2024
--------------------------
- in kartonschach.cc: Verbessertes manuelles Ziehen der Rochade
- kartonschach.cc und serusb.cc: Zug zuruecknehmen
