## c't-Projekte - Mailinglisten

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

### [ct-bot] Zu weite Kurven in bot_drive()

Absender: Torsten Evers
Datum: Mo, 20.03.2006 22:09:01

    Hallo,

    für einige Algorithmen ist die Funktion bot_drive() selbst bei Angabe des
    maximalen Krümmungswerts (127) zu harmlos, was die Kurvenfahrt angeht. Das
    liegt daran, dass nur ein Rad für den Bogen genutzt wird, das andere jedoch
    in der angegebenen Geschwindigkeit weiterfährt. Für enge Kurven reicht dies
    nicht aus. Ich schlage daher vor, eine weitere Funktion aufzunehmen, die das
    ganze etwas "radikaler" angeht:

    void bot_drive_agressive(int8 curve, int speed){
    	// Wenn etwas ausgewichen wurde, bricht das Verhalten hier ab, sonst wuerde
    es evtl. die Handlungsanweisungen von bot_avoid_harm() stoeren.
    	if(bot_avoid_harm()) return;
    	if(curve < 0) {
    		speedWishLeft = speed * (1.0 + 2.0*((float)curve/127));
    		speedWishRight = -speed * (1.0 + 2.0*((float)curve/127));
    	} else if (curve > 0) {
    		speedWishRight = -speed * (1.0 - 2.0*((float)curve/127));
    		speedWishLeft = speed * (1.0 - 2.0*((float)curve/127));
    	} else {
    		speedWishLeft = speed;
    		speedWishRight = speed;
    	}
    }

    Schöne Grüße,

    Torsten Evers

- Antworten:
  - Re: [ct-bot] Zu weite Kurven in bot_drive()
    - From: Torsten Evers

- Voriger (Datum): Re: [ct-bot] Patch eingespielt in c't-Sim, Tobias Lawrenz
- Nächster (Datum): [ct-bot] FB-Codes fuer Hauppauge, Timo Sandmann
- Voriger (Thread): Re: [ct-bot] Patch eingespielt in c't-Sim, Tobias Lawrenz
- Nächster (Thread): Re: [ct-bot] Zu weite Kurven in bot_drive(), Torsten Evers
- Indizes:
  - Datum
  - Thread