Martinius11
24.03.2010, 20:21
hi,
ich habe da ein Problem mit ein Programm:
#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
powerON();
setLEDs(0b001001);
DDRA |= (E_INT1);
DDRC |= (SCL);
int a;
setACSPwrMed();
moveAtSpeed(160,160);
while(true)
{
if(getBumperLeft())
{
move(85, BWD, DIST_MM(70), true);
rotate(70, RIGHT, 50, true);
changeDirection(FWD);
PORTA |= E_INT1;
mSleep(200);
PORTA &= ~E_INT1;
mSleep(200);
PORTA |= E_INT1;
mSleep(200);
PORTA &= ~E_INT1;
}
if(getBumperRight())
{
move(85, BWD, DIST_MM(70), true);
rotate(70, LEFT, 50, true);
changeDirection(FWD);
PORTC |= SCL;
mSleep(600);
PORTC &= ~SCL;
}
if(obstacle_left)
{
move(85, BWD, DIST_MM(70), true);
rotate(70, RIGHT, 60, true);
changeDirection(FWD);
}
if(obstacle_right)
{
move(85, BWD, DIST_MM(70), true);
rotate(70, LEFT, 60, true);
changeDirection(FWD);
}
if(adcBat<600)
{
for(a = 0;a>10000;a++)
{
setLEDs(0b010101);
mSleep(150);
setLEDs(0b101010);
}
}
task_RP6System();
task_motionControl();
task_ADC();
}
return 0;
}
wenn ich das Programm starte dann fährt der Roboter schnell gerade aus,
aber wenn der Roboter auf ein Hinderniss stößt umfäht er es ,aber fährt dann langsammer weiter.Aber warum und wie kann ich das beheben?
ich habe da ein Problem mit ein Programm:
#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
powerON();
setLEDs(0b001001);
DDRA |= (E_INT1);
DDRC |= (SCL);
int a;
setACSPwrMed();
moveAtSpeed(160,160);
while(true)
{
if(getBumperLeft())
{
move(85, BWD, DIST_MM(70), true);
rotate(70, RIGHT, 50, true);
changeDirection(FWD);
PORTA |= E_INT1;
mSleep(200);
PORTA &= ~E_INT1;
mSleep(200);
PORTA |= E_INT1;
mSleep(200);
PORTA &= ~E_INT1;
}
if(getBumperRight())
{
move(85, BWD, DIST_MM(70), true);
rotate(70, LEFT, 50, true);
changeDirection(FWD);
PORTC |= SCL;
mSleep(600);
PORTC &= ~SCL;
}
if(obstacle_left)
{
move(85, BWD, DIST_MM(70), true);
rotate(70, RIGHT, 60, true);
changeDirection(FWD);
}
if(obstacle_right)
{
move(85, BWD, DIST_MM(70), true);
rotate(70, LEFT, 60, true);
changeDirection(FWD);
}
if(adcBat<600)
{
for(a = 0;a>10000;a++)
{
setLEDs(0b010101);
mSleep(150);
setLEDs(0b101010);
}
}
task_RP6System();
task_motionControl();
task_ADC();
}
return 0;
}
wenn ich das Programm starte dann fährt der Roboter schnell gerade aus,
aber wenn der Roboter auf ein Hinderniss stößt umfäht er es ,aber fährt dann langsammer weiter.Aber warum und wie kann ich das beheben?