Absender: Frank Menzel
Datum: Mo, 15.05.2006 19:35:10
In-reply-to:
<4468B999.1000307@xxxxxxxx>
Hallo, bis Ende des Monats bin ich im Urlaub und schon rein physisch nicht beim Bot... Mit freundlichen Grüßen Frank Menzel -----Ursprüngliche Nachricht----- Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Benjamin Benz Gesendet: Montag, 15. Mai 2006 19:26 An: Frank Menzel; Entwicklung rund um den c't-bot Betreff: Re: WG: [ct-bot] Verhalten Hallo, beim beim Einbauen Ihres Patches sind mir doch noch Bedenken gegen diese Lösung gekommen: > 201-255 -> Notfallverhalten, unsichtbar > 130-200 -> sichtbare, einfach aktivierbare, Verhalten > 3-129 -> unsichtbare Hilfsverhalten oder Verhalten, die nicht einfach > so aktiviert werden dürfen (wie bot_explore_behaviour) Auf diese Weise sind die Hilfsverhalten immer unwichtiger als die Hauptverhalten. Das ist aber unschön, da auf diese Weise kein Notverhalten ein Hilfsverhalten nutzen kann. Einen solchen Einschnitt möchte ich eigentlich nicht nur dem Display zu liebe vornehmen. Ich habe daher den Patch (noch) nicht eingebaut. Vielleicht findet sich ja eine andere Lösung, wie ein etwas engerer Bereich nur für sichtbare Verhalten, oder so. Der Rest der Struktur würde davon dann nicht so sehr betroffen, wie im aktuellen Vorschlag. Ich habe Ihnen meine aktuelle Version Ihres Patches angehängt. Er berücksichtigt auch den Vorschlag von Herrn Giesen, die Definiton der Bereichr über Konstanten zu regeln. Allerdings muss man auch da vielleicht nochmal anpassen. MfG Benjamin Benz Frank Menzel wrote: > Hallo Herr Benz, > > ich hab' mal alles hierzu verpatcht und angehangen. > > Mit freundlichen Grüßen > Frank Menzel > > -----Ursprüngliche Nachricht----- > Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx > [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von > Menzel, Frank IT-OO4 > Gesendet: Mittwoch, 10. Mai 2006 11:23 > An: Entwicklung rund um den c't-bot > Betreff: RE: [ct-bot] Verhalten > > > Vielleicht so: > Der jetzt sichtbare Bereich der Verhalten liegt bei Prio 3 - 200, der > generelle Wertebereich bis 255. Der Not-Aus Power Button deaktiviert > ebenfalls alle Verhalten in diesem Bereich. Es muß sichergestellt sein, > daß auch alle Hilfsverhalten bei PWR deaktiviert werden, welche aber > nicht sichtbar sein müssen. Die nicht sichtbaren Hilfsverhalten > überwiegen wohl mehr als die einfach zu aktivierenden Verhalten. > Könnte man vielleicht sagen: > > Not-Aus deaktiviert also alle von 3-200. > > Mein Vorschlag für die Prios der Verhalten nach obiger Logik, ohne daß > ich es so ausprobiert habe, wäre folgendermaßen... > > //unsichtbare Verhalten im Verhaltensscreen > > // Hoechste Prioritaet haben die Notfall Verhalten > // Verhalten zum Schutz des Bots, hohe Prioritaet, Aktiv > insert_behaviour_to_list(&behaviour, new_behaviour(250, > bot_avoid_border_behaviour,ACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(249, > bot_avoid_col_behaviour,ACTIVE)); > > > //ab hier sichtbare und aktivierbare Verhalten im > Verhaltensscreen > > // Verhalten, um Hindnernisse besser zu erkennen, relativ hoe > Prioritaet, modifiziert nur > insert_behaviour_to_list(&behaviour, new_behaviour(200, > bot_glance_behaviour,ACTIVE)); > > // Demo-Verhalten, ganz einfach, inaktiv, sichtbar im > Verhaltensscreen > // Achtung, im Moment hat es eine hoehere Prioritaet als die > Gefahrenerkenner!!! > insert_behaviour_to_list(&behaviour, new_behaviour(198, > bot_simple_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(196, > bot_simple2_behaviour,INACTIVE)); > > > // Demo-Verhalten, etwas komplexer, inaktiv > insert_behaviour_to_list(&behaviour, new_behaviour(170, > bot_drive_square_behaviour,INACTIVE)); > // Demo-Verhalten fuer aufwendiges System, inaktiv > insert_behaviour_to_list(&behaviour, new_behaviour(158, > bot_olympic_behaviour,INACTIVE)); > > // Verhalten, um ein Labyrinth nach der Hoehlenforscher-Methode > loesen > insert_behaviour_to_list(&behaviour, new_behaviour(156, > bot_solve_maze_behaviour,INACTIVE)); > > // Hilfsverhalten kann auch aktiviert werden > insert_behaviour_to_list(&behaviour, new_behaviour( 154, > bot_do_slalom_behaviour,INACTIVE)); > > > > //ab hier nicht sichtbare Verhalten im Verhaltensscreen; > Hilfsverhalten oder nicht einfach so aktivierbare > > // Hilfsverhalten, um ein Labyrinth nach der > Hoehlenforscher-Methode loesen > insert_behaviour_to_list(&behaviour, new_behaviour(43, > bot_measure_angle_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(42, > bot_check_wall_behaviour,INACTIVE)); > > > // Alle Hilfsroutinen sind relativ wichtig, da sie auch von den > Notverhalten her genutzt werden > // Hilfsverhalten, die Befehle von Boten-Funktionen ausfuehren, > erst inaktiv, werden von Boten aktiviert > insert_behaviour_to_list(&behaviour, new_behaviour(99, > bot_turn_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(98, > bot_drive_distance_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(97, > bot_goto_behaviour,INACTIVE)); > > // unwichtigere Hilfsverhalten > insert_behaviour_to_list(&behaviour, new_behaviour(96, > bot_explore_behaviour,INACTIVE)); > > > > // Grundverhalten, setzt aeltere FB-Befehle um, aktiv > insert_behaviour_to_list(&behaviour, new_behaviour(2, > bot_base_behaviour, ACTIVE)); > > > Mit freundlichem Gruß > Frank Menzel > > -----Original Message----- > From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx > [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of > Benjamin Benz > Sent: Wednesday, May 10, 2006 10:22 AM > To: Entwicklung rund um den c't-bot > Subject: Re: [ct-bot] Verhalten > > Menzel, Frank IT-OO4 wrote: >> Hallo, >> langsam wird es mit den Verhalten unübersichtlich bzgl. der Anzeige im > Display und dessen Aktivierung hierüber. Es werden ja alle Verhalten > angezeigt ab Prio 3 bis 200. Aber hier gibt es Hilfsverhalten, die > keinesfalls aktiviert werden dürfen wegen nicht init. Variablen und > sogar zum Absturz führen bzw. deren Aktivierung keinen Sinn macht. Die > Hauptverhalten hingegen können und dürfen hierüber aktiviert werden. > Vielleicht sollte man den Verhalten beim Einfügen in die Liste gleich > eine Kennung mitgeben, ob diese angezeigt und damit via Display > aktiviert werden dürfen oder nicht. Alternativ könnte man den nicht > anzuzeigenden Verhalten Prios von > 200 oder <= 2 geben... > > Ich habe Bedenken bei einer zusätzliche Kennung, da diese dann wieder > Resourcen (RAM) frisst und es sich bei der Aktivierung von Verhalten um > kein so zentrales Feature handelt. Die Hauptverhalten aber in einem > Prioritätsbereich zu sammeln klingt für mich sinnvoll. > > MfG Benjamin Benz > > -- > Benjamin Benz > Heise Zeitschriften Verlag > Redaktion c't > eMail: bbe@xxxxxxxx > WWW : http://www.heise.de > > > _______________________________________________ > ct-bot-entwickler Mailingliste > ct-bot-entwickler@xxxxxxxxxxxxxxxxx > http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler > > > Confidentiality note: > The information in this email and any attachment may contain > confidential and proprietary information of Heidelberger Druckmaschinen > AG and/or its affiliates and may be privileged or otherwise protected > from disclosure. If you are not the intended recipient, you are hereby > notified that any review, reliance or distribution by others or > forwarding without express permission is strictly prohibited and may > cause liability. In case you have received this message due to an error > in transmission, we kindly ask you to notify the sender immediately and > to delete this email and any attachment from your system. > > _______________________________________________ > ct-bot-entwickler Mailingliste > ct-bot-entwickler@xxxxxxxxxxxxxxxxx > http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler > > > ------------------------------------------------------------------------ > > Index: Changelog.txt > =================================================================== > RCS file: /ctbot/ct-Bot/Changelog.txt,v > retrieving revision 1.78 > diff -u -r1.78 Changelog.txt > --- Changelog.txt 10 May 2006 11:41:38 -0000 1.78 > +++ Changelog.txt 13 May 2006 21:06:59 -0000 > @@ -1,5 +1,7 @@ > CHANGELOG fuer c't-Bot > ====================== > +2006-05-11 Frank Menzel(menzelfr@xxxxxx) Verhalten in Priobereiche sortiert und Prios ab 130 erst angezeigt und damit selektierbar > + > 2006-05-10 Ralf Loehmer (rl@xxxxxxxxxx) maus_sens_write(); MSB > > 2006-05-10 Benjamin Benz (bbe@xxxxxxxx) UART-Baudrate-Formeln ueberarbeitet > > Index: bot-logik.c > =================================================================== > RCS file: /ctbot/ct-Bot/bot-logik.c,v > retrieving revision 1.39 > diff -u -r1.39 bot-logik.c > --- bot-logik.c 30 Apr 2006 10:03:36 -0000 1.39 > +++ bot-logik.c 13 May 2006 21:07:04 -0000 > @@ -1676,49 +1676,53 @@ > * Initialisert das ganze Verhalten > */ > void bot_behave_init(void){ > - // Demo-Verhalten, ganz einfach, inaktiv > - // Achtung, im Moment hat es eine hoehere Prioritaet als die Gefahrenerkenner!!! > - insert_behaviour_to_list(&behaviour, new_behaviour(252, bot_simple_behaviour,INACTIVE)); > - insert_behaviour_to_list(&behaviour, new_behaviour(251, bot_simple2_behaviour,INACTIVE)); > - > - // Hoechste Prioritate haben die Notfall Verhalten > - > + // Hoechste Prioritaet haben die Notfall Verhalten > // Verhalten zum Schutz des Bots, hohe Prioritaet, Aktiv > insert_behaviour_to_list(&behaviour, new_behaviour(250, bot_avoid_border_behaviour,ACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(249, bot_avoid_col_behaviour,ACTIVE)); > > > - // Verhalten, um Hidnernisse besser zu erkennen, relativ hoe Prioritaet, modifiziert nur > + //ab hier sichtbare und aktivierbare Verhalten im Verhaltensscreen > + > + // Verhalten, um Hindnernisse besser zu erkennen, relativ hoe Prioritaet, modifiziert nur > insert_behaviour_to_list(&behaviour, new_behaviour(200, bot_glance_behaviour,ACTIVE)); > > + // Demo-Verhalten, ganz einfach, inaktiv, sichtbar im Verhaltensscreen > + insert_behaviour_to_list(&behaviour, new_behaviour(198, bot_simple_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(196, bot_simple2_behaviour,INACTIVE)); > + > + > + // Demo-Verhalten, etwas komplexer, inaktiv > + insert_behaviour_to_list(&behaviour, new_behaviour(170, bot_drive_square_behaviour,INACTIVE)); > + // Demo-Verhalten fuer aufwendiges System, inaktiv > + insert_behaviour_to_list(&behaviour, new_behaviour(158, bot_olympic_behaviour,INACTIVE)); > + > // Verhalten, um ein Labyrinth nach der Hoehlenforscher-Methode loesen > - insert_behaviour_to_list(&behaviour, new_behaviour(150, bot_solve_maze_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(156, bot_solve_maze_behaviour,INACTIVE)); > + > + // Hilfsverhalten kann auch aktiviert werden > + insert_behaviour_to_list(&behaviour, new_behaviour( 154, bot_do_slalom_behaviour,INACTIVE)); > + > + > + //ab hier nicht sichtbare Verhalten im Verhaltensscreen; Hilfsverhalten oder nicht einfach so aktivierbare > + > + // Hilfsverhalten, um ein Labyrinth nach der Hoehlenforscher-Methode loesen > insert_behaviour_to_list(&behaviour, new_behaviour(43, bot_measure_angle_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(42, bot_check_wall_behaviour,INACTIVE)); > > - > + > // Alle Hilfsroutinen sind relativ wichtig, da sie auch von den Notverhalten her genutzt werden > // Hilfsverhalten, die Befehle von Boten-Funktionen ausfuehren, erst inaktiv, werden von Boten aktiviert > - insert_behaviour_to_list(&behaviour, new_behaviour(150, bot_turn_behaviour,INACTIVE)); > - insert_behaviour_to_list(&behaviour, new_behaviour(149, bot_drive_distance_behaviour,INACTIVE)); > - insert_behaviour_to_list(&behaviour, new_behaviour(148, bot_goto_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(99, bot_turn_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(98, bot_drive_distance_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(97, bot_goto_behaviour,INACTIVE)); > > // unwichtigere Hilfsverhalten > - insert_behaviour_to_list(&behaviour, new_behaviour(100, bot_explore_behaviour,INACTIVE)); > - insert_behaviour_to_list(&behaviour, new_behaviour( 99, bot_do_slalom_behaviour,INACTIVE)); > - > - // Demo-Verhalten, etwas komplexer, inaktiv > - insert_behaviour_to_list(&behaviour, new_behaviour(51, bot_drive_square_behaviour,INACTIVE)); > - // Demo-Verhalten für aufwendiges System, inaktiv > - insert_behaviour_to_list(&behaviour, new_behaviour(52, bot_olympic_behaviour,INACTIVE)); > - > + insert_behaviour_to_list(&behaviour, new_behaviour(96, bot_explore_behaviour,INACTIVE)); > > // Grundverhalten, setzt aeltere FB-Befehle um, aktiv > insert_behaviour_to_list(&behaviour, new_behaviour(2, bot_base_behaviour, ACTIVE)); > > - // Um das Simple-Behaviour zu nutzen, die Kommentarzeichen vor der folgenden Zeile entfernen!!! > - // activateBehaviour(bot_simple_behaviour); > - // activateBehaviour(bot_simple2_behaviour); > > > #ifdef PC > @@ -1772,7 +1776,7 @@ > > // zuerst alle Verhalten ermitteln ausser Grundverhalten > while(ptr != NULL) { > - if ((ptr->priority > 2) &&(ptr->priority <= 200)) > + if ((ptr->priority > 129) &&(ptr->priority <= 200)) > max_behaviours++; > > ptr = ptr->next; > @@ -1801,7 +1805,7 @@ > > // durch die Liste gehen, bis wir den gewuenschten Index erreicht haben > for (job = behaviour; job; job = job->next) { > - if ((job->priority > 2) &&(job->priority <= 200)) { > + if ((job->priority > 129) &&(job->priority <= 200)) { > i++; > if (i == pos) { > job->active_new = !job->active_new; > Index: ct-Bot.c > =================================================================== > RCS file: /ctbot/ct-Bot/ct-Bot.c,v > retrieving revision 1.29 > diff -u -r1.29 ct-Bot.c > --- ct-Bot.c 28 Apr 2006 20:52:04 -0000 1.29 > +++ ct-Bot.c 13 May 2006 21:07:05 -0000 > @@ -228,7 +228,7 @@ > */ > while((ptr != NULL)&& (linecounter<5)) { > > - if ((ptr->priority > 2) &&(ptr->priority <= 200)) { > + if ((ptr->priority > 129) &&(ptr->priority <= 200)) { > if (colcounter >= firstcol) { > display_cursor(linecounter,((colcounter % 2)* 12)+1); > display_printf(" %3d,%2d",ptr->priority,ptr->active_new); -- Benjamin Benz Heise Zeitschriften Verlag Redaktion c't eMail: bbe@xxxxxxxx WWW : http://www.heise.de