## c't-Projekte - Mailinglisten

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

### Berechnung der Bot-Drehung (war: [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen)

Absender: Timo Sandmann
Datum: So, 30.03.2008 18:17:15

    Hallo,

    Am 30.03.2008 um 13:25 schrieb Frank Menzel:

>     Hallo,

> `also die Routine habe ich fast kopiert aus behaviour_goto_pos, wo es` `da`

>     heisst:

>     /* Noch in die gewuenschte Blickrichtung drehen */
>     		int16_t to_turn = (int16_t)(dest_head -
>     (int16_t)heading) % 360;
>     			if (to_turn > 180) to_turn = 360 - to_turn;
>     			else if (to_turn < -180) to_turn += 360;
>     			LOG_DEBUG("to_turn=%d", to_turn);
>     			bot_turn(NULL, to_turn);

>     Soll eben nur die Winkeldifferenz berechnen... Tiefschürfende Gedanken

> `habe ich über die einzelnen Zeilen nicht verloren, da die Routine ja` `wie`

>     gewollt zur Differenzermittlung zwischen Winkeln funktioniert...

`nun ja, der Code dort hat aber eine andere Aufgabe: Es soll berechnet` `werden, wie weit sich der Bot drehen muss, um einen Zielwinkel zu` `erreichen. Dabei soll er sich so herum drehen, dass die Drehdauer` `möglichst kurz ist. Wenn er z.B. nach 40 Grad schaut und der` `Zielwinkel 340 Grad ist, soll er sich nicht um 300 Grad, sondern um` `-60 Grad drehen.` `Das entspricht aber weder der Dokumentation von` `calc_diff_from_angles() noch ist es das, was du beim Stackverhalten` `möchtest. Dort soll ja geprüft werden, wie weit sich der Bot` `tatsächlich gedreht hat (also z.B. um 300 Grad von 340 Grad bis 40` `Grad) und nicht der kleinste Drehwinkel zwischen zwei Position` `berechnet werden.`

`Eine allgemeine Funktion, die ermittelt, wie weit sich der Bot gedreht` `hat, finde ich schon sehr sinnvoll, die lässt sich bestimmt auch in` `anderen Verhalten noch gut anwenden. Nur sollte sie dann auch wirklich` `das berechnen, was beschrieben ist ;-)`

`Vielleicht machen wir die Funktion so, dass sie berücksichtig, in` `welche Richtung sich der Bot gerade bewegt und dann den gedrehten` `Winkel seit einem alten heading zurückgibt?`

    Gruß Timo

- Voriger (Datum): AW: [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen, Frank Menzel
- Nächster (Datum): Re: [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen, Timo Sandmann
- Voriger (Thread): Re: [ct-bot] Bot-2-Bot-Kommunikation - Status, Timo Sandmann
- Nächster (Thread): [ct-bot] Neues Positions-Stack-Verhalten in follow_object() integriert, Timo Sandmann
- Indizes:
  - Datum
  - Thread