Absender: Menzel, Frank IT-OO4
Datum: Mi, 21.11.2007 11:32:47
In-reply-to:
<4743FBC4.3060601@xxxxxxxx>
References:
<000001c82bb7$f072bd00$0200a8c0@mexpnew> <4743FBC4.3060601@xxxxxxxx>
Hallo, ist aber wirklich eine böse Falle :-) Hatte angenommen, dass eben wie vor Monaten üblich, der Standkreis aktualisiert wird und die Hindernisse eingetragen werden. Das Eintragen der Zielstrahlen selbst möchte ich nicht. Kann man das nicht per Define steuern ? Ich benötige für mein Verhalten den Standkreis und die Hindernisse in der Map. Also in der Art ifdef mein_verhalten dann Standkreis und Hindernisse... Oder im Sim immer machen, da hier auch kein langsame MMC-Karte da ist (ifdef PC dann beides)... Mit freundlichen Grüßen Frank Menzel -----Original Message----- From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Benjamin Benz Sent: Wednesday, November 21, 2007 10:35 AM To: Entwicklung rund um den c't-bot Subject: Re: [ct-bot] in Map keine Hindernisse mehr eingetragen ? Frank Menzel schrieb: > Hallo, > ich habe gerade mal wieder mit der map rumgespielt und festgestellt, > dass zwar die aktuelle Botposition immer aktualisiert wird jedoch nicht > für ein Hindernis voraus. > > In behaviour_scan ist mir dabei dies aufgefallen und kann mir nicht so > recht erklären, was das soll. Denn map_update wird nicht aufgerufen... > > if ((scan_on_the_fly_source & SENSOR_DISTANCE) != 0) > map_update(x_pos, y_pos, heading, sensDistL, > sensDistR); > > Zu Beginn der behaviour_Scan ist das zu finden: > uint8 scan_on_the_fly_source = SENSOR_LOCATION /*| SENSOR_DISTANCE*/; > > Da stimmt doch was nicht oder ? > Gruß, Frank Menzel > (PS: Ich habe im Sim probiert mit dem neuesten devel-Bot.) Hi, Du hast genau die richtigen Stellen gefunden :-) Du must (wenn Du die Distanzsensoren für die Map auswerten willst folgenden Eintrag machen: uint8 scan_on_the_fly_source = SENSOR_LOCATION | SENSOR_DISTANCE; Grund: Beim erstellen der Karte können wir drei verschiedene Sorten von Information (siehe auch Map-Artikel in c't) auswerten: a) den Standpunkt bzw. Standfläche des Bots ==> Position an der die Karte definitiv frei ist b) Ort eines Hindernisses errechnet aus den Daten der Distanzsensoren c) Strecke die zwischen Bot und Hinderniss frei ist errechnet aus den Daten der Distanzsensoren Nun bedeutet aber insbesondere c), dass man eine ganze Reihe von Feldern aktualisieren muss. Da der Bot wenig RAM hat muss er dazu viele Blöcke von der MMC-Karte lesen, aktualisieren und wieder schreiben. Das kostet Zeit. Wir haben es daher an- und abschaltbar gemacht. Dazu kommt, dass wir das Eintragen der Standfläche schon recht weit optimiert haben, das Verfolgen der Strahlen ist hingegen noch nicht optimal implementiert. MfG Benjamin Benz -- Benjamin Benz Heise Zeitschriften Verlag Redaktion c't eMail: bbe@xxxxxxxx WWW : http://www.heise.de Heise Zeitschriften Verlag GmbH & Co. KG Registergericht: Amtsgericht Hannover HRA 26709 Persönlich haftende Gesellschafterin: Heise Zeitschriften Verlag Geschäftsführung GmbH Registergericht: Amtsgericht Hannover, HRB 60405 Geschäftsführer: Ansgar Heise, Steven P. Steinkraus, Dr. Alfons Schräder _______________________________________________ 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.