Nicht so weit, wie wir's gerne hätten. Vergangenen Freitag ist uns unser Motorcontroller gestorben, nachdem der Roboter über ein offenes, Spannung führendes Kabel (spontaner Anfall von Dilettantismus) gefahren ist. Plöff, kaputt. Naja, neues IC drauf, dann sollte er wieder tun.
Probleme bereitet noch die Umsetzung von I2C auf dem Motorcontroller. Das ganze ist sehr simpel umgesetzt. Kein Protokoll oder dergleichen. Lediglich drei chars rein: Motorrichtungen A und B in einem Nibble als Bitmaske (die 4 höherwertigen Bits werden ignoriert), danach 2 chars Speed A und Speed B von 0 bis 255. Lediglich die ACKs vom I2C kommen zurück. Die kommen aber auch, wenn sich der Controller verschluckt und evtl. ein char verliert. Das führt dann dazu, dass halt die ganze Kommunikation aus dem Tritt gerät.
Des Weiteren sind noch zahlreiche Punkte bezüglich der Bildverarbeitung offen. Da ich das mit Hilfe von OpenCV komplett selbst implementieren muss, nimmt das aktuell die meiste Zeit in Anspruch. Ich muss halt irgendwie hinkriegen, dass der Roboter unter Zuhilfenahme eines Kinect (geiles Teil) die Position aller Spielsteine und des gegnerischen Roboters auf dem Feld erfasst und speichert.
Naja, und dann muss das alles noch in eine mit ROS kompatible Form gegossen werden. Noch ist das Ding standalone. Aber da es nachher ja in einer vernüftigen und leicht zu wartenden und zu erweiternden Form existieren soll, ist ROS Pflicht. Gerade auch, weil die Dokumentation der Struktur so schön einfach ist. Ein Befehl, fertig.
Lesezeichen