Nein, ich verstehe Dich richtig. Dein minimalistischer Ansatz ist in bestimmten Bereichen völlig überlegen, weil notwendig! Aber im Bereich der Robotik kommen die Fortschritte eher durch die OOP-Sprachen wie z.B. C++. Viele koppeln noch den PC per Funk, Kabel oder IR-Schnittstelle an den Roboter, aber durch die zunehmende Leistungsfähigkeit der µC wird sich da in den nächsten Jahren einiges ändern. Die Zukunft gehört leistungsfähigen, autonomen Systemen mit OOP. Da bin ich ganz sicher. Man sieht dies bereits im akademischen Bereich. Siehe z.B. Khepera, http://www.informatik.uni-leipzig.de...ra/libkhepera/ (C++-Bibliothek bereits vor 10 Jahren)Versteh mich nicht falsch, ich habe nichts gegen C++, im Gegenteil ich schreibe gerne Programme mit ...
Spezielle C++-Klassen für AVR gibt es (STL, boost), aber leider nur kommerziell verfügbar! Die meisten AVR-C++-Entwickler basteln sich selbst eigene Klassen. Das muss ich z.B. für den Nibo auch machen. Echt schade, dass dies immer wieder mehrfach hinter vorgehaltener Hand entwickelt wird.Vorhandene C++ Klassen ?
Welche klassen gibt es speziell für AVR ?
Mit vorhandenen Klassen meine ich die fast schon unüberschaubare Vielfalt an bereits vorhandenen C++-Klassen, die man offen zugänglich im Internet findet. Der Vorteil der C++-Klasse (gilt natürlich auch für java) ist doch gerade der modulare Einsatz und die Kapselung. Bei AVR muss man allerdings einiges anpassen, da viele C++-Features nicht im Sinne von Open Source unterstützt werden. Ich denke aber, dass hier der AVR-GCC sich mit zunehmenden Speichergrößen und Rechengeschwindigkeiten immer mehr in Richtung C++ entwickeln wird, da der objektorientierte Ansatz bezüglich des Entwicklungsaufwandes (nicht des Ergebnisses!) der überlegenere ist. C drängt in diesem Sinne im professionellen Bereich Assembler etwas zurück, weil es einfacher wiederverwendbar und besser lesbar ist. Für C++ gilt dies verstärkt.
Interessant sind z.B. Klassen im Bereich der schwachen KI, Beispiele: http://fbim.fh-regensburg.de/~saj391...plomarbeit.pdf und http://www.ai-junkie.com/ai-junkie.html (Finite State Machine, Neuronale Netze, genetische Algorithmen, Kohonen-Netze, etc.)
Mit dem ATmega128 mit immerhin schon 4096 Bytes SRAM (flankiert durch zwei ATtiny44 für die Motorensteuerung und IR-Abstandsmessung bzw. Empfang/Senden von RC5-Codes) des Nibo lässt sich mit C++ schon ordentlich programmieren. Bei 128 K Flash kommt es auf 1K Unterschied im Programm auch nicht mehr an!Das ist der entscheidene Punkt. Hier ändert sich etwas.
Lesezeichen