Hallo Croal !
ich habe ja den orginalen dazugehörigen Liniensensor, mit 6 IR Sensoren (ist variabel schaltbar 2,4,6)...ich denke trotzdem das es am Steuerprogramm liegt, weil ich doch andere Untersetzung habe, 100:1 statt 75:1.
Hier mal ein wenig Quelltext mit Kommentare, die ich so ganz nicht deuten kann(die Englishkenntnisse fehlen mir einfach)
Code:
* The macros SPEED, TURN_SPEED, ABOVE_LINE(), and LINE_THICKNESS
* might need to be adjusted on a case by case basis to give better
* line following results.
*/
// SENSOR_THRESHOLD is a value to compare reflectance sensor
// readings to to decide if the sensor is over a black line
#define SENSOR_THRESHOLD 300
// ABOVE_LINE is a helper macro that takes returns
// 1 if the sensor is over the line and 0 if otherwise
#define ABOVE_LINE(sensor)((sensor) > SENSOR_THRESHOLD)
// Motor speed when turning. TURN_SPEED should always
// have a positive value, otherwise the Zumo will turn
// in the wrong direction.
#define TURN_SPEED 200
// Motor speed when driving straight. SPEED should always
// have a positive value, otherwise the Zumo will travel in the
// wrong direction.
#define SPEED 200
// Thickness of your line in inches
#define LINE_THICKNESS .75
// When the motor speed of the zumo is set by
// motors.setSpeeds(200,200), 200 is in ZUNITs/Second.
// A ZUNIT is a fictitious measurement of distance
// and only helps to approximate how far the Zumo has
// traveled. Experimentally it was observed that for
// every inch, there were approximately 17142 ZUNITs.
// This value will differ depending on setup/battery
// life and may be adjusted accordingly. This value
// was found using a 75:1 HP Motors with batteries
// partially discharged.
#define INCHES_TO_ZUNITS 17142.0
// When the Zumo reaches the end of a segment it needs
// to find out three things: if it has reached the finish line,
// if there is a straight segment ahead of it, and which
// segment to take. OVERSHOOT tells the Zumo how far it needs
// to overshoot the segment to find out any of these things.
#define OVERSHOOT(line_thickness)(((INCHES_TO_ZUNITS * (line_thickness)) / SPEED))
Vieleicht kan ja wer was dazu sagen. Es soll beim Pololu 3pi Robot das selbe Prinzip angewendet werden, vieleicht kann ich ja etwas googlen und finde irgendwo ne Erklärung, ich bin ja auch noch erst kurz hinter der "Startlinie" in meinem "Lebenslauf als Linienfolger oder Labyrintenerkunder"
Gruss Gerhard
Lesezeichen