c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

AW: [ct-bot] Abstandsberechnung in sensor_abstand

Absender: Frank Menzel
Datum: Fr, 25.08.2006 20:16:27
In-reply-to: <44EF355C.8030404@xxxxxx>


Hallo,
dies ist keine Antwort auf die Frage. Aber das Wegstecken der Division
durch 0 ist mir auch schon aufgefallen. Ein paar Zeilen tiefer in der
sensor.c heißt es:
/* Schnittpunkt berechnen */
				xd=(a2-a1)/(s1-s2);
				yd=(s1*a2-s2*a1)/(s1-s2);

Und s1-s2 ist durchaus 0, bereits zum Startzeitpunkt. Die Antwort würde
mich auch interessieren.

Gruß, achiem

-----Ursprüngliche Nachricht-----
Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
[mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von
Achim Pankalla
Gesendet: Freitag, 25. August 2006 19:38
An: 'Entwicklung rund um den c't-bot'
Betreff: [ct-bot] Abstandsberechnung in sensor_abstand

hallo,
beim experimentieren mit den realen bot ist mir aufgefallen, das die 
abstandswerte bei größeren distanzen öfter mal auf null springen. die 
ursache war schnell gefunden, dies passiert immer, wenn die werte der 
sensoren sehr klein werden, aber noch nicht kleiner als zb 
SENSDISTOFFSETLEFT. dabei ist mir nun auch aufgefallen, das durchaus 
eine division durch null entstehen könnte. dies habe ich auch bei meinen

bot mir logausgaben feststellen können.
nun frage ich mich, ob jemand weiss warum der prozessor das so 
wegsteckt. ein reset macht das programm anscheinend nicht!
wird das über die fusebits gesteuert oder wird nur ein irq ausgelöst und

dann gehts weiter. wenn jemand mir eine antwort geben könnte, spare ich 
mir das durchsuchen von unterlagen und foren, man ist ja faul ;-) .
anbei ein patch, um das springen der distanzwerte auf null und auch div 
durch 0 zu verhindern.
viel spass allen weiterhin.
mit freundlichen grüssen
     achim