heise online
  • c't
  • iX
  • Technology Review
  • Mac & i
  • mobil
  • Security
  • Netze
  • Open Source
  • Developer
  • c't-TV
  • Download
  • Telepolis
  • Resale
  • Foto
  • Autos
  • Preisvergleich
  • Stellenmarkt
  • Abo
  • weitere Angebote
    • Shop
    • Artikel-Archiv
    • Veranstaltungen
    • Whitepapers
    • heise-marktplatz
    • IT-Markt
    • Tarifrechner
    • Jobs bei Heise

c't Magazin
  • Startseite
  • Artikel
  • c't-Projekte
  • Hotline & FAQ
  • Treiber & mehr
  • Kolumnen
Software zu Projekten Allgemeine Hinweise
Archiv-Suche Newsletter RSS-FeedRSS

c't › c't-Projekte

Trac
  • Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • Available Reports
  • Custom Query

{28} Active Tickets by Owner (Full Description) (7 matches)

Alle aktiven Tickets mit Beschreibung anzeigen, gruppiert nach Meilensteinen

Bugfixes (1 match)

Ticket Summary Component Type Owner Status Created
Description
#118 solve_maze() sollte bei allen Messungen ADJUST_DISTANCE berücksichtigen ct-Bot enhancement nightwulf new 05.05.2007

solve_maze() sollte bei allen Messungen ADJUST_DISTANCE berücksichtigen und außerdem ein paar Messwerte der Distanzsensoren abwarten, hierfür bietet sich das neue Verhalten (#115) an.


Ideensammlung (5 matches)

Ticket Summary Component Type Owner Status Created
Description
#137 Abgrund- / Locherkennung für bot_solve_maze() ct-Bot enhancement somebody new 15.08.2007

Hi Leute,

ich hab heute endlich nachvollziehen können warum bot_solve_maze() Teilweise gegen Wände fährt.

Wenn der Bot an einer Wand lang fährt und ein Block ein Loch ist, geht bot_solve_maze() davon aus, das hier die Wand eine 90° Ecke hat, ist der Block dahinter aber ein normales Stück Wand, fährt der Bot ungeprüft und ungebremst hinein.

Eine Karte wo das schon sehr früh passiert werde ich anhängen.


#148 Überarbeitung / Erweiterung der Notfall-Verhalten ct-Bot idea/question somebody new 01.10.2007

Derzeit löst ein Notfall-Verhalten den Aufruf aller Notfall-Funktionen aus. Dies kann aber manchmal gar nicht so sinnvoll sein: Bsp: (konstruiert) Der Bot folgt einer Wand. Nun sieht er links und vorne eine Wand => dreht nach rechts. Dann will er wieder vorwärts fahren und trifft dabei auf einen Abgrund. Jetzt springt das Notfallverhalten "avoid border" an und danach werden die registrierten Notfall-Funktionen abgearbeitet. Darunter auch "der hang on handler" vom hängenbleiben Verhalten und er fährt rückwärts. Dabei bleibt er an der Wand hängen. Oder: Unload Pillar bleibt an ner Wand hängen => Notfallfunktion border_in_map_handler trägt einen Abgrund in die Map...

Mein Vorschlag: Jedes Notfall-Verhalten bekommt eine ID (2er-Potenz). Bei "anspringen" des Verhaltens wird diese ID in eine globale Variable gespeichert. Jede Notfall-Funktion erhält eine Reaktions-Maske. Der Aufruf der Notfall-Funktionen erfolgt wie bisher. Wird nun eine Notfall-Funktion aufgerufen kann diese Funktion die globale Variable mit der eigenen Reaktions-Maske vergleichen und so nur auf bestimmte Notfälle reagieren, beziehungsweise auf Notfälle unterschiedlich reagieren. Sind alle abgearbeitet wird die ID auf 0 gesetzt.

void notfallfunktion_XYZ(void) {
   if(global_emergency_id & my_reaction_mask == 0)
       return;
   else {
       if(global_emergency_id == AVOID_BORDER_ID) {
             // ...
       }
       else if(global_emergency_id == HANG_ON_ID) {
             // ...
       }
   }
}

#155 Bessere Integration der Notfallverhalten ct-Bot idea/question somebody new 06.01.2008

Aus TODO.txt:

Low-Level-Verhalten müssen andere über Gefahren warnen

Gut wäre, wenn der Bot derart auf Hindernisse / Löcher reagiert, dass er nach der Notfallbehandlung nicht erneut auf die Gefahr zufährt.


#177 Erweitertes Verhaltenssystem (mehrere Instanzen eines Verhaltens, feingranulare Blockierung) ct-Bot idea/question somebody new 25.09.2008

Drei Erweiterungen des Verhaltenssystems könnten eine deutliche Verbesserung bringen:

  • Die Möglichkeit, ein Verhalten auch mehrfach zur selben Zeit starten zu können (z.B. kann ein Notfallverhalten dann bot_turn() benutzen, obwohl das zur Zeit eigentlich aktive Verhalten bereits einen bot_turn()-Aufruf ausgeführt hat).
  • Jedes Verhalten kann die Frequenz, mit der es aufgerufen wird, selbst bestimmen (--> periodische Task).
  • Ein Verhalten kann auf Grund von Abhängigkeiten blockiert werden (z.B. wird ein Verhalten, das auf die Map zugreift, nur dann geschedult, wenn die Map (MMC) nicht im Zugriff / gesperrt ist - derzeit werden in diesem Fall alle Verhalten blockiert).

Eine Lösung für alle o.a. Punkte ist nicht gerade trivial, letztlich läuft das Ganze vermutlich auf Multithreading / ein Mini-OS hinaus.

Insbesondere stellt sich die Frage, inwieweit solch ein Verhaltenssystem (und die Verhalten selbst) zum bisherigen System kompatibel sein kann und muss.

Direkt profitieren würden davon das bot_drive_area()-Verhalten (Map-Überwachung), die Notfallverhalten sowie ein Explore-Verhalten, das ähnlich wie ein Notfallverhalten unbekannte Hindernisse umfährt und anschließend weiter die Umgebung erforscht.

Weitere Information in der  Mailingliste (siehe auch Vorgänger und Nachfolger).


#160 GUI: Judges dynamisch/konfigurierbar im Menu anzeigen ct-Sim idea/question somebody new 08.02.2008

Derzeit ist es unmöglichen weitere Judge-Klassen hinzuzufügen, ohne Änderungen am Code vorzunehmen zu müssen. Dies resultiert daraus, das die verfügbaren Judge-Implementationen als String-Konstante innerhalb der Klasse MainWinMenuBar statisch abgelegt sind. Da die Judge-Klassen einen festen Platz haben würde ich vorschlagen, man sammelt alle Klassennamen dynamisch zur Laufzeit ein und zeigt diese ausgegraut im GUI-Menu an. Ausgegraut aus dem Grunde, da sich auch unfertige Implementationen dort befinden könnten. Über Einträge in der Config-Datei, werden dann im Menu die entsprechenden Einträge freigeschaltet. Allerdings kommen somit mehr Einträge hinzu, für jede freigeschaltete Klasse einer, plus einen weiteren Eintrag für die Aktive Klasse, welche dann geladen ist.


ToDo (1 match)

Ticket Summary Component Type Owner Status Created
Description
#186 EEPROM-Zugriff vereinfachen ct-Bot enhancement somebody new 29.06.2009

Vereinfachung beim EEPROM für MCU und PC: Wenn man einfach alle EEPROM-Variablen in ein Struct packt und nur das in die EEPROM-Section legt, hat man eine feste Ordnung und kann die Variablen über ihren Namen ansprechen.
Für den einfachen Zugriff kann man noch ein kleines Makro machen, so dass der Anwender gar nichts vom Struct mitbekommt. Außerdem ist es für MCU und PC identisch, beim Start liest man einmal die Datei ein, schreibt die Daten an die Adresse des Structs im RAM und fertig, es muss keine aufwendige Zuordnungstabelle erstellt werden, man braucht keine Linker-Map, Post-Build-Schritte usw.


Note: See TracReports for help on using and creating reports.

Download in other formats:

  • RSS Feed
  • Comma-delimited Text
  • Tab-delimited Text
  • SQL Query

Trac Powered

Powered by Trac 0.11.7
By Edgewall Software.

http://www.ctmagazin.de/
http://www.ctmagazin.de/projekte/

  • Datenschutzhinweis
  • Impressum
  • Kritik, Anregungen bitte an c't-WWW
  • Mediadaten
  • Copyright © 2011 Heise Zeitschriften Verlag
  • International: The H, The H Security, The H Open Source