Autor |
Beitrag |
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Sa 28.03.09 18:56
Hi
Seit längerer Zeit spukt in meinem Kopf eine Idee herum, ein etwas größeres Projekt mit teilweise verknüpften Teilbereichen, von denen aber ein paar für sich recht schnell lauffähig wären. Zusammen kennen wir sicher auch ein wenig an bestehenden Komponenten und Code-Bibliotheken (Code-Editor, Quelltext-Parser, Physik-Engine, ..), da vieles etwas elementarerer Natur ist.
Da ich auch brav die Regeln dieser Sparte gelesen habe, laufe ich jetzt mal die Punkte ab:
- Projekttitel: Sandbox - ein Roboting Developement Tool. (zu diskutieren )
- Projektbeschreibung inkl. Ziel des Projektes
Sandbox ist ein Programm, das zunächst IDE(-> Programmierung), später Simulator(-> Test) und dann auch Download-Manager(-> Übertragen des Programms) zur Erstellung von Robotersoftware sein will.
IDE
Zunächst will ich mich auf die wohl verbreitetsten Roboter, RCX und NXT von Lego Mindstorms, konzentrieren. Erweiterungsvorschläge auf andere Systeme nehme ich aber gerne an
Mir ist aufgefallen, dass Roboter bei fast allen Wettbewerben und komplexeren Aufgaben ein Programm benötigen, das Orts- und Fortschrittsinformationen in strikt getrennten Programmschleifen umsetzt. Auch das Auslagern von Programmteilen in getrennte Textdateien kann dem nur teilweise gerecht werden, da dies zu sehr vielen, teilweise 5-zeiligen, Dateien führt und damit alles andere als übersichtlich ist.
Die Anzeige des Quelltextes wird deshalb auf Tabs mit Initialisierung, Konstanten, Methoden, Tasks, einer Phasenübersicht und dem Gesamtquelltext aufgeteilt. Das Programm kann mit einstellbarer Geschwindigkeit getestet werden, dabei kann der Sensorinput frei eingestellt werden.
Simulator
Geplant ist eine Umgebung mit getrennt gestaltbaren Karten für Hintergrundbild(-> Foto hereinladen), blockierenden Wänden, detektierbaren Farben sowie mehreren Skizzenebenen.
Außerdem wird es Objekte geben, die der Natur nach alle Roboter sind. Eine Wippe demnach, oder eine Bodenwelle, könnte zusätzlich innerhalb ihrer Bewegungsmöglichkeiten ein beliebig komplexes Programm ausführen.
Zunächst soll sich noch alles in 2D abspielen; durch Rechnung mit Vektorklassen aber leicht auf 3D erweiterbar.
Programmdownload - für den RCX von Lego Mindstorms existiert bereits eine Komponente; die verbreitete IDE BricxCC ist mit Delphi geschrieben.
- Verwendete Sprache: Delphi/Object Pascal.
- Lizenz: Open Source oder frei verwendbar.
- voraussichtliche Projektdauer: IDE evtl. bis Sommer. Danach Neuorientierung bzgl. Dimension des Simulationsprogramms.
- ToDo-Liste:
- IDE
- Editor: Komponente verwenden? Zeilenmarkierungen für Breakpoints und Nummerierungen benötigt
- Menüleiste und Toolbar
- Konvertierbarkeit zu bestehender Software(BricxCC, Robolab, NQC-Software).
alpha-Version, Phasenbasierte Codeansicht verwendbar.
- Parser und variable Code-Bibliothek
Elemente der Sprache und Operatoren per Formular hinzufügbar
Color-Highlighting entsprechend wählbar für Oberklassen wie Operator, Zahl, .., denen die Sprachelemente zugeordnet werden müssen.
Datei-Format für Code-Bibliothek und zugeordnetes Highlighting
- Code-Bibliotheken vorbereiten: BricxCC, Pascal, ..
- Parser-Erweiterung zur Ausführung des Programms
- Programmtest-Umgebung mit Breakpoints, Step, Run, etc.
- Simulator
- grundlegende Objektlogik
- Design-Umgebung für Objekte und Terrain/Labyrinth(der logik nach auch ein Objekt, kann in ein größeres Labyrinth als Objekt eingefügt werden)
- Testumgebung zum Programmenwurf
- zeitlicher Ablauf: Reihenfolge wie in ToDo-Liste gruppiert. Erster Teil auf jeden Fall in mittlerer Zeit realisierbar. Arbeitsaufwand und Zulauf für Code-Ausführung und Robotersimulation vorerst schwer abschätzbar.
- benötigte Fähigkeiten der Team-Mitglieder:
Aufgaben sehr vielseitig, vermutlich für jeden etwas dabei
- sinnvolle Teamgröße:
Genug Teilgebiete haben wir ja Wie viel wir umsetzen, müssen wir dann sehen. Insofern können wir glaube ich mit einem kleineren Team effizient arbeiten und hätten trotzdem schnell Erfolge. Nach oben würde ich dann aber erstmal keine Grenze setzen.
- Organisation innerhalb des Teams (Prozess der Entscheidungsfindung):
U. A. Skype, TeamViewer, TeamSpeak, EE und ICQ möglich.
So, dann hoffe ich mal auf rege Beteiligung. Sofern sich jetzt hier nicht die Rückmeldungen häufen, auch gerne das ein oder andere " vielleicht".
Im Anhang habe ich mal zur besseren Vorstellung das hochgeladen, was ich bislang entworfen habe.
Hier ein paar Fälle, bei denen eine phasenbasierte Programmierung sinnvoll wäre:
mfG,
Einloggen, um Attachments anzusehen!
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Mo 07.06.10 20:10, insgesamt 5-mal bearbeitet
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: So 29.03.09 17:04
Für die Ansteuerung des NXT könnte ich unter Umständen meine NXT-Delphi-Lib zur Verfügung stellen, wenigstens in Form einer DLL.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Für diesen Beitrag haben gedankt: Hidden
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 02.04.09 18:48
*push*
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Webo
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Do 02.04.09 20:30
Das Projekt hört sich richtig cool an, habe selbst noch einen Lego Mindstorms Roboter hier stehen. Morgen werd ich mir das ganze nochmal genauer anschauen ...
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
der organist
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: Mo 06.04.09 07:42
Lieber Hidden,
ich denke, dass es da eine ganze Reihe von Interessierten (mich eingeschlossen) gibt. Main Problem dabei ist nur, die ToDo-Liste beschreibt zwar was gemacht werden muss, aber ich hab absolut keine Ahnung, wie ich einzelne Dinge davon anstellen soll. Soll heissen, das ich mich in dem Gebiet (wie auch vielen anderen bei Delphi) einfach als Anfänger beschreiben muss....
Wenn du noch hinzufügen könntest, welche Komponenten du da verwenden willst, etc, wie das Programm grundsätzlich aussehen soll, das würde einiges helfen.
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
|
|
fireworker
Beiträge: 28
|
Verfasst: Di 21.04.09 19:56
Hallo Leute,
Aus reinem Interesse und um die Übersicht zu bewahren, wollte ich allgemein mal fragen:
a) Wie viele haben Interesse an diesem Projekt, bzw. macht mit?
b) Gibt es schon weitere Fortschritte?
mfG
_________________ Statistik ist die mathematische Form der Lüge.
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Di 21.04.09 20:39
Hi
Sry, dass ich auf Lukas' Beitrag nicht sofort reagiert habe, aber ich hatte erst einmal anderes zu erledigen
der organist hat folgendes geschrieben : | Wenn du noch hinzufügen könntest, welche Komponenten du da verwenden willst, etc, wie das Programm grundsätzlich aussehen soll, das würde einiges helfen. |
Tja, mal abgesehen von den ganz grundlegenden Komponenten wie TRichEdit(die du ja per Skype angesprochen hattest): Es existieren sicherlich bereits Komponenten für einen Editor mit Zeilenmarkierungen und der Möglichkeit, Icons oder Zeilenmarkierungen(wie in Delphi z.B. für Breakpoints) zu setzen.
Die andere Sache wäre ein möglichst flexibler Quelltext-Parser(Lesekopf-Programm, das die Eingaben interpretiert und in Machinensprache umsetzt). Dort werde ich mich einmal umsehen und, wenn ich nichts nach meinem Geschmack finde, mal ein erstes Konzept entwickeln.
Zum Aussehen: Ein erstes Layout befindet sich ja oben im Screenshot, oder was willst du genau wissen?
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Fr 24.04.09 19:25, insgesamt 1-mal bearbeitet
|
|
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 22.04.09 18:20
Moin!
Ich würde mich gerne bewerben um einen Teamplatz.Vor einem Jahr , habe ich auch daren gedacht sowas in der Art zu schreiben , aber irgendwie kam etwas dazwischen und ich habs dann dochnicht gemacht.Beim Simulator könnte ich mit DirectX9 aushelfen um die Umgebung anschaulicher zu gestalten.
€:Habe die Mindestanforderungen grade erst gesehen.
MfG , j.klugmann
|
|
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 24.04.09 18:38
Gibts irgendwann auchmal eine Meldung von Hidden?
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Fr 24.04.09 19:48
j.klugmann hat folgendes geschrieben : | Gibts irgendwann auchmal eine Meldung von Hidden? |
Na kar, pünktlich zum Wochenende
Wir würden uns selbstverständlich freuen, dich dabei zu haben
Alles weiter mache ich mal gerade per PN: Ich weiß nicht, was davon das Team genau in dieser Sparte sehen will
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
freak4fun
Beiträge: 604
Erhaltene Danke: 4
Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
|
Verfasst: Fr 24.04.09 22:21
Hi,
also um ehrlich zu sein, habe ich den Sinn des Projektes noch nicht ganz erfassen können. Kann das vieleicht noch mal einer erklären?
Ich verstehe das so: NXT mit Delphi programmieren.
Wir programmieren zur Zeit den NXT mit Java / leJOS.
_________________ "Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Fr 24.04.09 22:46
Hi
Grundlegend gibt es da zwei Ziele, die so noch nicht von anderen Programmen umgesetzt wurden
Zum einen die Kompatiblität zwischen den gängigen Sprachen: NQC- oder Java-Quelltext lässt sich bisher nur schwer in die graphisch ausgelegten Sprachen portieren. Das sollte jetzt quasi mit einem Knopfdruck gehen. Kompliziertere Konstrukte wie manche Klassen müssten aber nach wie vor von Hand übersetzt werden.
Außerdem ein Programmtest ohne Übertragung auf den Roboter. Damit fällt auch das Problem weg, dass ein Labyrinth normalerweise etwas längere Bauzeit und größeren Aufwand hat. Es ist also möglich, "mal eben " ein neues Labyrinth zu erstellen oder auch den Bau eines Labyrinths im Voraus zu planen.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 25.04.09 09:27
Ich würde auch gerne mitmachen
Ich denke nicht, dass ich sooo gut programmieren kann, aber die Grundlagen habe ich (und arbeite mich grad an Indy heran=))
MfG,
Mitmischer 1703
_________________ Die Lösung ist nicht siebzehn.
|
|
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 25.04.09 10:53
Ich wusste das der Mitmischer mitmischt.Also ich würde mich über Verstärkung freuen.Die Entscheidung liegt bei Hidden.
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Sa 25.04.09 11:00
Hi
Musste gerade mal auf Safari umsteigen^^ sobald der FF aufhört, vom aktivieren der neuen Add-Ons zu laggen, bekommst du auch deine PN
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 25.04.09 12:09
Starte doch mal abgesichert
_________________ Die Lösung ist nicht siebzehn.
|
|
|