-
Nibo2 Seitensensoren01
Nibo2 Test Seitensensoren
Entwicklungsumgebung:
Windows XT, AVR Studio 4 V4.18, nibolib-20101210
Nachdem meine Versuche mit copro_ticksRel (..) nicht viel gebracht hatten, habe ich es mit copro_setSpeed (vl, vr) versucht.
Aber auch hier ergeben sich grundsätzliche Schwierigkeiten bei der MotorRegelung.
Programmablauf:
main()
...
copro_setSpeedParameters(15, 20, 10); // ki, kp, kd
...
Endlosschleife
- ir_rc5 () manuelle Steuerung über IR-Fernbedienung
Daten der Seitensensoren in X-Y Vektoren umwandeln
modus aus den X-Y Vektoren ermitteln
modus: vor, zurück, links, rechts (insgesamt 25 Modi)
Daten anzeigen (LCD und Funk)
go == 1?
modus auswerten (switch)
delay (msec)
- copro_update ()
Testen der Grenzwerte für die verschiedenen Modi per IR-Bedienung,
vl, vr, mydelay lassen sich per Tasten inc/decrementieren
Steuerung vor, zurück, links, rechts läuft nach folgendem Schema ab (je nach Taste):
sound_tone(20, 3000);
go = 0;
copro_setSpeed (vl, vr);
delay (mydelay);
// copro_setSpeed (0,0);
copro_stop ();
Hierbei tritt jedoch folgendes Phänomen auf:
Nach mehrmaligem Drücken der Tasten vor (zurück, links, rechts) wird irgendwann die Befehlssequenz
delay(mydelay)
copro_stop ()
nicht mehr ausgeführt und der Nibo läuft immer weiter!!
Kennt jemand dieses Problem und hat evtl. eine Erklärung / Lösung?
Meiner Meinung nach ist die Motor Kontrolle nicht optimal gelöst.
Es müßte ein Busy-Flag geben, welches angibt wann die MotorRegelung abgeschlossen ist, um dann das Programm weiter abzuarbeiten.
flag = copro_setSpeed (vl, vr, delay) delay = 0 -> normal corpro_setSpeed
desgleichen
flag = copro_setTargetRel (tl, tr, v)
mfg hjjb49
-
Hallo HJBB49
ich habe auch die Probleme, daß der NIBO2 nicht immer stoppt (aber auch manchmal nicht losfährt!); verwende aber die NiboLib2.10 und das "neue" copro_stopImmediate()... der Nibo soll eine bestimmte Strecke vorwärts fahren, eine bestimmte Zeit lang warten, die selbe Strecke rückwärts fahren, eine bestimmte Zeit lang warten und den Zyklus wieder von vorne beginnen -und das mehrere Minuten lang.
Ich habe festgestellt, daß der Nibo2 nicht immer stehen bleibt, sondern weiterfährt, es kann ebenso passieren, daß er losfahren soll, aber stehen bleibt...
wie weit bist Du mit Deinen Forschungen gekommen?
mfg
Hero_123