c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
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