Hi LucaSilva301,
ich glaube ich hab das Problem gelöst, auf jeden Fall läuft das Programm so bei mir:
Code:
#include "RP6RobotBaseLib.h"
void ausweichen(void)
{
if (!obstacle_left && !obstacle_right && !bumper_left && !bumper_right)
{
changeDirection(FWD);
moveAtSpeed(50,50);
}
if (obstacle_left)
{
changeDirection(FWD);
moveAtSpeed(75,10);
}
if (obstacle_right)
{
changeDirection(FWD);
moveAtSpeed(10,75);
}
if (obstacle_left && obstacle_right)
{
changeDirection(BWD);
moveAtSpeed(70,70);
}
}
int main(void)
{
initRobotBase();
powerON();
setACSPwrMed();
while(true)
{
ausweichen();
task_RP6System();
}
return 0;
}
P.S.:
So kann man beim RP6 die Geschwindigkeit nicht angeben:
Code:
moveAtSpeed(-50,-50);
Wenn man das macht beschleunigt der RP6 auf ungefähr 150 und prallt voll gegen die Wand. Also immer *changeDirection(dir);* verwenden, sonst überleben die Bumper und die InfrarotLEDs nicht lange.
Lesezeichen