-
Hallo
Das true im Move-Befehl bewirkt dass der RP6 nichts anderes macht bis die Fahrt beendet ist:
Code:
#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
setLEDs(63);
powerON();
while (true)
{
changeDirection(FWD);
moveAtSpeed(150,150);
if (getBumperLeft() || getBumperRight())
{
move(150,BWD,200,true);
}
task_motionControl();
sleep(200);
}
}
Ich hoffe, das funktioniert so halbwegs. Ich kann's grad nicht testen weil mein LCD die Bumber blockiert(?). Das ist übrigends extrem quälend für den RP6 wenn er mit Volldampf gegen ein Hinderniss knallen soll! Besser ACS verwenden.
Gruß
mic
-
Hey Radbruch!
hab jetzt das hier geschrieben:
Code:
#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
powerON();
while (true)
{
changeDirection(FWD);
moveAtSpeed(300,300);
if (getBumperLeft()) //Wenn ein Bumper aktiviert ist
{ //dann
move(200,BWD,400,true);
rotate(100,RIGHT,45,true);
}
if (getBumperRight())
{
move(200,BWD,400,true);
rotate(100,LEFT,45,true);
}
}
}
aber... leider passiert garnichts leuchtet einfach nur die PWRON LED :( er scheint irgendwie bei dem
changeDirection(FWD);
moveAtSpeed(X,X);
hängen zu bleiben oder es nicht zu verstehen.
Woran könnte das liegen?
Vielen Dank und beste Grüße
Luca
-
gut. es geht jetzt.
hatte die zeile :
task_motionControl();
vergessen.
warum schreibe ich diese Zeile? Was bewirkt sie?
Ist sie eine Art Verweis auf einen Eintrag in der Lib?
Danke!
-
Hi,
ja das ist eine Art Verweis auf die Lib, du rufst damit halt die in der Lib definierte Funktion task_motionControl() auf und das Programm holt sich diese selbständig aus der Lib
LG Pr0gm4n