## c't-Projekte - Mailinglisten

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

### Re: [ct-bot] turned_angle() fehlerhaft ?

Absender: Timo Sandmann
Datum: Do, 19.06.2008 14:24:08
In-reply-to: <48C139945BA47F4DB4DE05DF62CD57AA03B51B4BB1@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <48C139945BA47F4DB4DE05DF62CD57AA03B51B4BB1@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>

    Hallo,

    Am 19.06.2008 um 14:03 schrieb Menzel, Frank IT-OO4:

>     <snip>

> `Als Beispiel hier mal einen Wert. Der Bot hat den Merkwinkel von 330` `Grad (mit diesem wird immer wieder die Routine aufgerufen) und hat` `jetzt nach Drehung (im neg. Sinn) die Ausrichtung von 4. Die Routine` `gibt nun den Differenzwinkel von 326 zurück, was zwar rein` `mathematisch stimmt aber nicht während der Drehung. Es müssten 34` `sein, da der Bot sich ab 330 Grad gedreht hat, die 360 mit Überlauf` `erreicht wurden und nun weitere 4 Grad, was 34 ergeben.`

`nein, wenn im negativen Sinn gedreht wird, dreht sich der Bot von 330` `Grad nach 320 Grad, nach 310 Grad, .... bis 4 Grad, hat sich also um` `326 Grad gedreht. Es gibt keinen Überlauf in diesem Fall.`

`Dreht sich der Bot hingegen im positiven Sinn von 330 Grad nach 4 Grad` `(diesmal mit Überlauf), wird folgender Code ausgeführt:`

    /* Drehung im positiven Sinn */
    diff = (int16_t)heading - angle;		// im Beispiel: diff = 4 - 330 = -326
    if (diff < 0) {
    	/* Ueberlauf */
    	diff += 360;					// im Beispiel: diff = -326 + 360 = 34
    }
    return diff;						// im Beispiel: return 34

    Gruß Timo

- Antworten:
  - RE: [ct-bot] turned_angle() fehlerhaft ?
    - From: Menzel, Frank IT-OO4

- Referenzen:
  - [ct-bot] turned_angle() fehlerhaft ?
    - From: Menzel, Frank IT-OO4

- Voriger (Datum): [ct-bot] turned_angle() fehlerhaft ?, Menzel, Frank IT-OO4
- Nächster (Datum): Re: [ct-bot] bot-2-bot-Kommunikation -> Senden der Stackdaten, Timo Sandmann
- Voriger (Thread): [ct-bot] turned_angle() fehlerhaft ?, Menzel, Frank IT-OO4
- Nächster (Thread): RE: [ct-bot] turned_angle() fehlerhaft ?, Menzel, Frank IT-OO4
- Indizes:
  - Datum
  - Thread