Absender: Menzel, Frank IT-OO4
Datum: Mo, 22.10.2007 07:40:52
In-reply-to:
<F06662A1-6223-4423-B486-DDCCA2E70637@xxxxxxxxxxxxxxx>
Hallo Timo, Du hast nun zusätzlich deactivateCalledBehaviours eingebaut. Dies hat nun zur Folge, dass das Verhalten1, welches das Cancel-Verhalten als auch das abzubrechende Verhalten2 aufruft, nicht wieder aktiviert wird nach Zuschlagen der Abbruchbedingung. Zur Verdeutlichung: Verhalten 1 ruft also auf: -Verhalten2 mit data-Verhalten1 -cancel-Verhalten ebenfalls mit data-Verhalten1, um Verhalten2 abzubrechen Nun trifft Abbruchbedingung des Cancel-Verhaltens zu und Verhalten2 wird abgebrochen. Verhalten2 erreicht nicht die Endestelle mit return_from_behaviour. Das Cancelverhalten erreicht zwar return_from_behaviour, es wird aber scheinbar der caller vorher durch deactivateCalledBehaviours initialisiert und damit Verhalten 1 nach Rückkehr nicht mehr aktiviert. Nach Auskommentieren von deactivateCalledBehaviours funktioniert es wieder. Mit freundlichen Grüßen Frank Menzel -----Original Message----- From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Timo Sandmann Sent: Saturday, October 20, 2007 2:54 AM To: Entwicklung rund um den c't-bot Subject: Re: [ct-bot] neues Verhalten bot_cancel_behaviour So, das Verhalten ist jetzt im SVN. Es hatte aber noch einen kleinen Fehler: Die vom zu deaktivierenden Verhalten aufgerufenen Verhalten wurde nicht mit deaktiviert. Schönes Wochenende, Timo Am 19.10.2007 um 20:45 schrieb Frank Menzel: > Hallo, > anbei ein kleines Verhalten, welches durch Deklarieren einer > check-Funktion ein anderes Verhalten deaktivieren kann. > So kann z.B. das follow_maze-Verhalten (Wandfolger) beendet werden, > sobald der bot auf eine Linie fährt und der Linienfolger kann nun > übernehmen. Dazu muß die Checkfunktion nur True liefern, sobald die > Liniensensoren feuern. Oder der bot fährt gewisse Strecke voraus mit > offener Klappe via bot_drive_distance und das Verhalten wird beendet, > sobald sensTrans ein eingefangenes Objekt erkennt. Oder er dreht sich > 360 Grad via bot_turn und hört damit sofort auf, sobald ein Objekt zum > Einfangen während der Drehung erkannt wird, catch_pillar kann dieses > dann aufnehmen. > Der Einsatz ist vielfältig... > > Gruß, Frank Menzel > <patch_cancel_behav.txt> > _______________________________________________ > ct-bot-entwickler Mailingliste > ct-bot-entwickler@xxxxxxxxxxxxxxxxx > http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler _______________________________________________ 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.