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: 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