Graphisch : Mobile Robot

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Sitemap
Index
Links
Impressum
Mail
 

Mobile Robot : Graphisch und konventionell

Verglichen werden Mobile Robots aus dem Programm der Firma LPE www.fischertechnik-in-der-schule.de und aus dem ROBO Mobile Set von fischertechnik. Hier wird das Modell Mobile Robot aus dem Universal Set vorgestellt und mit einer Lösung aus fischertechnik pur und ROBO Pro bzw. C# 2008 + FishFace2005.DLL verglichen. Gefahren wird einheitlich auf der fischertechnik OvalSpur des ROBO Explorers, die auch bei LPE beiliegt (Spurbreite 20 mm)

Modell : LPE Cortex - fischertechnik Mobile 


LPE Mobile Robot
Ausgerüstet mit zwei IR-Sensoren (die Kästen in Bodennähe

fischertechnik ROBO Mobile Set : Spurensucher
aber mit dem IR-DoppelSpurSensor des Explorers

Programm : PCS Visual Logo

Beginnt mit einer Drehung um die Spur zu finden, dann ein EndlosLoop mit Abfragen : 

- Beide Sensoren auf der Spur
- Rechter Sensor auf der Spur
- Linker Sensor auf der Spur

Da die Sensoren 30 mm auseinander liegen, heißt bei LPE Sensor = true auf Spur. Wenn ein Sensor = false ist, wird in die Gegenrichtung durch Drehen korrigiert.

Programm : PCS Simple C

#include<avr/io.h>
#include<avr/interrupt.h>
#include<rc4.h>  

int main(){
 
init_rc3();
 
MOTOR(motA, thisFull);

 
MOTOR(motB, thisFull);
 
while(1){
   
if (swt(0) && swt(1)){
     
MOTOR(motA, thisFull);
     
MOTOR(motB, thatFull);
   
}
   
if (swt(0) && !swt(1)){
     
MOTOR(motA, thisQuarter);
     
MOTOR(motB, thisQuarter);
   
}
   
if (!swt(0) && swt(1)){
     
MOTOR(motA, thatQuarter);
     
MOTOR(motB, thatQuarter);

   
}
 
}
 
initPPU();
 
jumpBL();
 
return 0;
}

Basis des Programmes ist das aus PCS Visual Logo generierte C Programm. Es wurde noch ein wenig "lesbarer" gemacht. Insbesondere durch verwenden von symbolischen Namen. Die verwendeten #defines wurde in das H-File rc3.h gelegt, das jetzt rc4.h heißt.

Der Ablauf ist der gleiche wie bei Visual Logo

 

Programm : ROBO Pro

Analog zu der PCS Logo Lösung. 
Verwendet wird hier ein "doppelter" IR-SpurSensor, dessen Eingänge nur 10 mm auseinanderliegen. Bei einer Spurbreite von 20 mm heißt das

- Beide Sensoren = false : 
  auf Spur.

Abfragen und Korrekturen wir oben, aber "umgekehrt".

Programm : C# 2008 mit FishFace2005.DLL

namespace MRlinie {
public partial class FishWindows : Form {
FishFace ft = new FishFace();
const Out RadRechts = Out.M1;
const Out RadLinks = Out.M2;
const Inp SpurRechts = Inp.I1;
const Inp SpurLinks = Inp.I2;
const Dir Vor = Dir.Rechts;
const Dir Ruck = Dir.Links;
bool AufSpurRechts = false;
bool AufSpurLinks  = false;

private void Action() {
  ft.SetMotor(RadRechts, Vor);
  ft.SetMotor(RadLinks, Ruck);
 
do {
    AufSpurRechts = !ft.GetInput(SpurRechts);
    AufSpurLinks  = !ft.GetInput(SpurLinks);
   
if (AufSpurRechts && AufSpurLinks) {
      ft.SetMotor(RadRechts, Vor);
      ft.SetMotor(RadLinks, Vor);
    }
   
if (!AufSpurRechts && AufSpurLinks) {
      ft.SetMotor(RadRechts, Vor,
Speed.L3);
      ft.SetMotor(RadLinks, Ruck,
Speed.L3);
    }
   
if (AufSpurRechts && !AufSpurLinks) {
      ft.SetMotor(RadRechts, Ruck,
Speed.L3);
      ft.SetMotor(RadLinks, Vor,
Speed.L3);
    }
  }
while (!ft.Finish());
}

Lösung für das ROBO Interface. Entspricht im Aufbau der ROBO Pro Lösung. (Verwendet wurde das Template FishWindowsCS von FishFace2005.DLL). Auch hier wurde mit symbolischen Konstanten gearbeitet.

Stand : 29.09.2009