hallo erstmal
hab einen rp6 und wollte fragen was ich bei der änderung von datei 1 falsch mache?
wollte eigentlich nur eine bestimmte distanz rüchwärts fahren also 300 mmCode:/* * **************************************************************************** * RP6 ROBOT SYSTEM - ROBOT BASE EXAMPLES * **************************************************************************** * Example: Movement 1 * Author(s): Dominik S. Herwald * **************************************************************************** * Description: * This Example Program shows how to control the Motors. * * The RP6 moves in a circle. Provide enough of free space, please! * If it hits an obstacle it will stop the motors and two LEDs will start * to blink. * It will stay in this state and wait until you restart the program! * * ############################################################################ * #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ * * ATTENTION: THE ROBOT MOVES AROUND IN THIS EXAMPLE! PLEASE PROVIDE ABOUT * 1m x 1m OR MORE FREE SPACE FOR THE ROBOT! * * >>> DO NOT FORGET TO REMOVE THE FLAT CABLE CONNECTION TO THE USB INTERFACE * BEFORE YOU START THIS PROGRAM BY PRESSING THE START BUTTON ON THE ROBOT! * * (don't remove the USB Interface from the PC - only remove the flat cable * connection between the Interface and the Robot!) * * #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ * ############################################################################ * **************************************************************************** */ /*****************************************************************************/ // Includes: #include "RP6RobotBaseLib.h" // The RP6 Robot Base Library. // Always needs to be included! /** * Here we react on any obstacle that we may hit. * If any of the bumpers detects an obstacle, we stop the motors and start * Stopwatch1 which controls a small blink LED routine. */ void bumpersStateChanged(void) { if(bumper_left || bumper_right) changeDirection(BWD); Move 300mm backwards at "MOVE_SPEED": move(MOVE_SPEED, BWD, DIST_MM(300); } } /** * This function checks Stopwatch1 all the time. If stopwatch 1 is * not running, the function does not do anything. As soon as the * stopwatch is started, two LEDs begin to blink! */ void blink(void) { if(getStopwatch1() > 500) // 500ms { statusLEDs.LED2 = !statusLEDs.LED2; // Toggle LED bit in LED shadow register... statusLEDs.LED5 = !statusLEDs.LED5; updateStatusLEDs(); setStopwatch1(0); } } /*****************************************************************************/ // Main: int main(void) { initRobotBase(); setLEDs(0b111111); mSleep(1500); setLEDs(0b100001); // Set Bumpers state changed event handler: BUMPERS_setStateChangedHandler(bumpersStateChanged); powerON(); // Turn Encoders, Motor Current Sensors // (and ACS IR Receiver and PWRON LED) on. // ATTENTION: Automatic Motor control will not work without this! // ------------------------- // With the following two commands, the RP6 will start to move in a circle. // We simply set the direction to forwards: changeDirection(FWD); // and afterwards we set the speed of the left and right motors to different // values (80 for left, and 30 for right in this example): moveAtSpeed(50,50); // The function // void moveAtSpeed(uint8_t desired_speed_left, uint8_t desired_speed_right) // sets the desired speeds. The automatic motor control will try to maintain // this speed even if the motors get blocked or the robot has to move up a // ramp or drive over a small obstacle. // At least this will be the case if you always call task_RP6System() frequently // out of the main loop! // Maximum speed is 200. And if you execute the command: // moveAtSpeed(0,0); // the Robot will stop and turn motors off. // Values below 8 will not work properly as this is just too slow to regulate // accurately. // ATTENTION: If you use high speeds all the time, this will result in shorter // gears and motors lifetime. It is recommended to use only speed values // between 10 and 160! It is no problem to use 200 for some seconds, but // you should not let the Robot drive at such high speed all the time! // Main loop: while(true) { // If we hit an obstacle, the bumperStateChanged Handler will start // Stopwatch 1 and then this task will let two LEDs blink: blink(); // In the main loop we need to call task_RP6System() all the time! // This function calls the Motor control functions that automatically // regulate the motor speed: task_RP6System(); } return 0; }
aber er fährt dauerhaft rückwärts
danke für eure hilfe
jonas







 
			
			 
					
					
					
						 Zitieren
Zitieren

Lesezeichen