Archiv verlassen und diese Seite im Standarddesign anzeigen : ASURO Teilwettbwerb 1.2: Bring den Schatz auf der Linie ...
Hallo Miteinander,
hier mal eine kleine Codevorlage für die ASURO-Beginner für den 2ten Wettbewerb ( wie immer nur sichtbar, wenn man einge-logged ist):
#include "asuro.h"
/************************************************** *************************
* *
* This program is made for the ASURO Robot *
* *
* first part of the second competition: get the treasure back ! *
* *
************************************************** *************************/
/************************************************** *************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* any later version. *
************************************************** *************************/
/************************************************** *************************
*
* void SetMotor(unsigned char left_speed, unsigned char right_speed );
*
* Range of speed: -7-0-7;
*
* function to control the motors
* Direction and speed can be set with on parameter
*
* Copyright: Stochri 2005
*
************************************************** **************************/
unsigned char speedtable[8]={0,100,120,140,160,180,200,250};
void SetMotor(int leftspeed, int rightspeed )
{
unsigned char left,right;
if (leftspeed<0) left=RWD; // Test if leftspeed is negativ
else left=FWD;
if (leftspeed==0) left=BREAK;
if (rightspeed<0) right=RWD; // Test if leftspeed is negativ
else right=FWD;
if (rightspeed==0) right=BREAK;
leftspeed=abs(leftspeed);
rightspeed=abs(rightspeed);
if (leftspeed>7) leftspeed=7;
if (rightspeed>7) rightspeed=7;
MotorSpeed(speedtable[leftspeed],speedtable[rightspeed]);
MotorDir(left,right);
}
// delay in 1/10 seconds
void wait(int zehntel)
{
int i,temp2;
for(i=0;i<zehntel;i++)
for(temp2=0;temp2<100;temp2++) Sleep(72);
}
void aerger(void)
{
char n;
for(n=1;n<20;n++)
{
StatusLED(RED);
wait(1);
StatusLED(GREEN);
wait(1);
}
}
void chillout(void)
{
while(1)
{
StatusLED(YELLOW);
wait(5);
StatusLED(GREEN);
wait(5);
}
}
/************************************************** *************************
*
* main
*
************************************************** **************************/
#define vorkurz {SetMotor(6,6);wait(3);SetMotor(0,0);};
#define vorlang {SetMotor(6,6);wait(10);SetMotor(0,0);};
#define links90grad {SetMotor(-2,2);wait(6);SetMotor(0,0);};
#define rechts90grad {SetMotor(2,-2);wait(6);SetMotor(0,0);};
#define aus SetMotor(0,0);
unsigned int uiBuffer[2];
int main(void)
{
int nullwert=21;
Init();
LineData(uiBuffer);
nullwert=uiBuffer[0];
StatusLED(GREEN);
while(uiBuffer[0]<(nullwert+20))
{
LineData(uiBuffer);
};
aerger();
StatusLED(RED);
links90grad;
vorkurz;
rechts90grad;
vorlang;
rechts90grad;
vorkurz;
rechts90grad;
vorlang;
chillout();
return 0;
}
link:
2.ter ASURO Wettbewerb
https://www.roboternetz.de/phpBB2/viewtopic.php?t=10575
Zum 1.ten Teilwettbewerb:
Für das Test-Setup des ersten Teilwettbewerbs schlage ich folgendes vor:
- eine 60cm lange Linie Isloierband auf hellerem Hintergrund
- der Asuro befindet sich an einem Ende der Linie, der Schatz vor ihm
- man nimmt den Schatz weg, der Asuro merkt es, man setzt ihn irgendwo auf der Linie ab, der Asuro bringt das Ganze wieder in die Startposition inclusive sich selbst
vermutliche Schwierigkeiten:
- wie merkt der Asuro, dass der Schatz fehlt ?
- beim Zurückbringen: die exakte Positionierung des Schatzes auf der Anfangsposition
- die exakt Positionierung des ASURO auf seiner Startposition
- die Geschwindigkeit
( Man bedenke bei den Lösungen, dass Sie auch für den großen Wettbwerb gebraucht werden )
gruss,
stochri
linux_80
12.07.2005, 20:13
Hallo,
hier mal eine kleine Codevorlage für die ASURO-Beginner für den 2ten Wettbewerb ( wie immer nur sichtbar, wenn man einge-logged ist):
ich sehen den aber immer, egal ob ein- oder ausgeloggt !
Ähh, ja scheint mir auch so. Ist wohl nur bei den Bildern so, dass man die nicht sieht.
Aber was anderes: um das Programm zu kompilieren, muss man einfach den Programmtext von test.c im Ordner FirstTry durch den Programmtext oben ersetzten, dann kann man es kompilieren und ausprobieren.
Wie sieht's eigentlich bei Dir aus linux_80, schafst Du es dieses mal zeitlich ?
Gruss,
stochri
linux_80
13.07.2005, 01:46
Ich will ja nix versprechen, weder so noch so, hab bis jetzt noch nix gemacht :-b
Hab letzte Woche ein haufen zeugs von Reichlt und Robotikhardware bekommen, u.a. einen Sharp-IR Sensor. Kann ich den hernehmen zum Gegenstand suchen ? (sofern ich das hinkriege mit dem was anzufangen)
Bauteile für das US hätte ich auch rumliegen, das werd' ich aber noch weniger schaffen, da ich die Platine noch nicht hab. Hätte ja vor 3 Wochen dieses Buch-Heftl bestellt "Asuro, spass usw." aber kommt nix an.
schau ma mal ...
PS: ausserdem hab ich heute Tanken müssen, und das muss erstmal seelisch verkraftet werden [-o< :cry:
Hallo linux_80,
den Sharp-Sensor wollte ich auch schon anschließen. Wenn man den analogen hat, dürfte es am einfachsten sein, das Signal an Pin 28 anzulegen, das ist der Spannungsteiler für die V+ Messung, die ja sowieso fast niemand benutzt.
Allerdings hat mich irgend jemand in einem Thread darauf hingewiesen, dass die Stromaufnahme zu hoch sein könnte und das den ASURO stört. Glaube ich aber nicht, probieren geht über studieren.
Wenn es Dir Spass macht, verwende den Sensor doch einfach, gibt auf jeden Fall ein interessantes Ergebnis.
Viele Grüße,
stochri
linux_80
16.07.2005, 01:19
Hallo,
die letzten zwei Tage hab ich etwas Zeit gehabt und eine Konstruktion für den Sharpsensor auf den Asuro gebaut.
Mit dem Pin 28 haut es nicht hin, denn da misst das BootPRG die Spannung, und startet erst garnicht wenn das nicht passt !
Also Widerstände wieder reingebaut, und diesmal die Tasten deaktiviert, hab R23 raus und da den Sensor angeklemmt, funktioniert soweit.
Er dreht im Zimmer seine Runden bis er dochmal mit der Hinterachse irgendwo hängenbleibt, was ich nicht verhindern kann, da ich nur einen Sensor habe der gerade nach vorne schaut.
Jetzt weiss ich nicht wie weit ich hier noch was intelligentes zusammenbringe, denn morgen(mmh heute 8-[ ) nachmittag bin ich ned da #-o
> Mit dem Pin 28 haut es nicht hin, denn da misst das BootPRG die Spannung, und startet erst garnicht wenn das nicht passt !
Oh, sehr interessant. Ich wusste nicht, dass der ASURO beim booten seine Spannung misst. Wie hast Du denn das rausgekriegt ? =D>
> Also Widerstände wieder reingebaut, und diesmal die Tasten deaktiviert, hab R23 raus und da den Sensor angeklemmt, funktioniert soweit.
Wieso hast Du den R23 rausgenommen ? Der hat doch 1MOhm und hätte den Sharpsensor mit Sicherheit nicht gestört. Meiner Meinung nach müsste es eigentlich reichen das Signal des Sensors einfach auf PIN 27 zu hängen.
> Jetzt weiss ich nicht wie weit ich hier noch was intelligentes zusammenbringe, denn morgen(mmh heute ) nachmittag bin ich ned da
Oh, wie schade. Aber es ist ja auch schon wieder so gutes Wetter.
Gruss,
stochri
linux_80
17.07.2005, 01:46
Hi,
Wie hast Du denn das rausgekriegt ? =D>
ja ausprobiert, R12 und R13 rausgemacht, und dann ging er nimmer.
Wieso hast Du den R23 rausgenommen ?
ich brauchte Platz für das neue Kabel.
Aber noch was anderes,
ich hab Probleme mit den Liniensensoren, wenn ich den Asuro auf ein weisses Blatt stelle, bekomme ich nur magere Werte um die 50 vom ADC ! #-o
erst wenn ich mit der Lampe direkt in die sensoren leuchte gehts auch bis an die 1023.
Ich hab jetzt mal eine grössere LED für D11 eingebaut, jetzt hab ich immerhin mal Werte bis max. 100, das ist (mir) aber immer noch zu ungenau um eindeutig zwischen schwarz und weiss zu unterschieden !
Was hast Du da für Werte ?
Hier die Werte meiner Liniensensoren bei seitlicher Bewegung über eine Linie.
Die Werte der Sensoren hängen allerdings auch stark vom Umgebungslicht ab. Mein Fenster liegt im Moment im Schatten, wenn eine Wolke vorbeizieht kann man das aber trotzdem an den Werten der Sensoren sehen.
Gruss,
stochri
Hei! Cooles Programm. Ist dass nciht dasselbe wie auch auf dieser einen Seite. Was war dass doch ncoh gleich? Ist das LabView?
Naja, was ich aber eigentlich wissen will ist wie das ausliest. Aber ich denke mal hier im Thread ist das ziemlich offtopic. Naja, kannste ja mal vielleicht schreiben wenn du lust hast.
Aber jetzt auch was zum Thema:
Was hier glaub ich schon mal angesprochen und was ich eigentlich auhc noch machen will ist, den Sensor 1. so tief zu legen, dass er wirklich auf den Boden kommt und 2. gegen Umgebunslicht abzuschotten.
Obwohl . . .mh. . dass hast du ja warhscheinlich schon, oder? Sonst kommen ja nicht so niedrige Werte raus.
Ach, jetzt hab ich eigentlich keine Ahnung mehr, was ich schreiben wollte. :D
Andun
linux_80
17.07.2005, 14:53
Hi,
also das mit dem Linien verfolgen mag mein Asuro überhaupt nicht,
wenn ich das Demo von Asuro verwende fährt er nur kreuz und quer in der gegend herum, lässt sich von irgendwelchen Linien nicht beeindrucken #-o
Ich habs zwar jetzt nach stundenlangem anpassen der Werte geschafft, das er meiner Linie und Kurven nachfährt, aber nur mit der folgenden Startzeremonie:
Auf weisses Papier setzen und einschalten, hier werden die Werte initialisiert,
dann auf die Linie setzen und warten bis er sich an die Linie gewöhnt hat,
dann loslassen und [-o<
am besten noch vorher alle Rolläden runtermachen und Licht aus und warten bis ](*,)
Was ich eigentlich vor hatte, eine Linie suchen und dieser folgen, geht überhaupt nicht, bzw. ich muss soo langsam fahren, das er sich gerade noch bewegt damit er evtl. die Kuvre kriegt. (und das bei einem Winkel max. 45° !)
Mit den originalen LED's/Sensoren passiert garnix, bzw. siehe erster Satz, sind bei mir nur als Verzierung dran :-(
Die Werte zwischen Schwarz und weiss bewegen sich nur von 20 bis 50 !
Hab die LED's seitlich abgedichtet, damit von aussen kein Licht dran kommt, und, wie schon gesagt, eine stärkere LED eingebaut, was aber nur minimal besser wurde.
:Haue
@linux_80
beim Asuro wird im Ordner SelfTest eine Linien-Demo mitgeliefert. Funktioniert das bei Dir ?
Übrigens: Wenn sich bei Dir die Werte nur zwischen 20 und 50 bewegen, kommt mir das so vor, als wenn Dein AD-Wandler nur mit 8Bit wandelt.
Falls Du die weja-lib verwendest: dort wird der AD-Wandler für die Odometriesensoren auf 8Bit initialisiert.
Gruss,
stochri
linux_80
17.07.2005, 15:31
Funktioniert das bei Dir ?
nein, hab ich ja schon geschrieben,
und es sind schon 10 bit, denn wenn ich die Sensoren direkt ins Licht halte, gehts bis 1023 !
Nur mit der Pfunsel (Sparlampe) von FrontLED bekomme ich keine gescheiten Werte !
Bräuchte da einen Halogenspot oder sowas.
servus,
Bei der Front-LED hast Du recht, die ist viel zu schwach. Wenn Du weisses Papier als Unterlage nimmst und schwarzes Isolierband darauf klebst sollte das Ganze schon ohne eingeschaltete Front-LED funktionieren und zwar alleine durch das Umgebungsstreulicht.
Das Messdiagramm, welches ich oben gepostet habe ist bei ausgeschalteter Front-LED aufgenommen. Und wie Du sehen kannst, ergibt das Isolierband einen Kontrast mit Werten der Lichtsensoren zwischn ca.120 und 250.
Allerdings ändert sich natürlich der Gleichanteil je nach Umgebungsbeleuchtung stark. Im Hinteren Teil des Diagramms habe ich den ASURO um 90° in Richtung Fenster gedreht und wie man sehen kann erreichen die Sensoren dann Werte um 330.
Verschiedene Versuche das Umgebungslicht abzuschirmen und nur noch das Licht der Front-LED einzufangen haben bei mir keine vernünftigen Ergebnisse gebracht.
Gruss,
stochri
linux_80
17.07.2005, 16:19
Nur wie soll man bei dieser Problematik die Linie finden, da muss man ja fast einen weiteren Sensor nach oben richten, der die Umgebungsbeleuchtung misst, um unterschienden zu können obs unten hell oder dunkel ist, bzw. ob das grad eine Linie im Hellen, oder keine Linie im dunkeln ist. #-o
Hallo!
Um den Einfluss des Umgebungslichts zu minimieren gibt es folgenden Trick:
Einmal mit und einmal ohne der Frontled messen und dann den Unterschied der Messung auswerten. Das funktioniert sehr gut, zumindest bei mir.
Gruss Waste
Ups, schon nach 20 Uhr. Ende !!
Hier mal mein Programm:
#include "asuro.h" // bitte die neue Datei benutzen
// asuro.h und asuro.c vom 31.03.05
#define aus MotorDir(BREAK,BREAK)
#define go {MotorSpeed(120,120);MotorDir(FWD,FWD);}
#define backturn { MotorSpeed(150,250);MotorDir(RWD,RWD);Msleep(1000) ;}
#define vorkurz {MotorSpeed(200,200);MotorDir(FWD,FWD);Msleep(500) ;aus;Msleep(200);}
#define vorlang {MotorSpeed(200,200);MotorDir(FWD,FWD);Msleep(1500 );}
#define rueckganzkurz {MotorSpeed(200,200);MotorDir(RWD,RWD);Msleep(200) ;aus;Msleep(200);}
#define links90grad {MotorSpeed(150,150);MotorDir(FWD,RWD);Msleep(430) ;aus;Msleep(200);}
#define rechts90grad {MotorSpeed(150,150);MotorDir(RWD,FWD);Msleep(430) ;aus;Msleep(200);}
/************************************************** ***********************************
************************************************** ***********************************/
void umfahrbecher()
{
rueckganzkurz;
links90grad;
vorkurz;
rechts90grad;
vorkurz;
vorkurz;
rechts90grad;
vorkurz;
rechts90grad;
aus;
}
int speed()
{
int rightspeed,leftspeed;
int leftold,rightold;
Encoder_Set(0,0); // reset encoder
leftold=encoder[LEFT];
rightold=encoder[RIGHT];
Msleep(300);
leftspeed=encoder[LEFT]-leftold;
rightspeed=encoder[RIGHT]-rightold;
//SerWrite(" speed Left,Right ",19);
//PrintInt(leftspeed);
//PrintInt(rightspeed);
return leftspeed+rightspeed;
}
unsigned int uiBuffer[2];
int main(void)
{
int n,v,nullspeed;
int nullwert=21;
Init();
Encoder_Init();
LineData(uiBuffer);
nullwert=uiBuffer[0];
StatusLED(GREEN);
while(uiBuffer[0]<(nullwert+20))
{
LineData(uiBuffer);
};
StatusLED(OFF);
SerWrite("\n\rASURO OK\n\r",8);
go;
Msleep(500);
nullspeed=speed()-6;
SerWrite("\n\r nullspeed ",13);
PrintInt(nullspeed);
while(1)
{
v=speed();
SerWrite("\n\r speed ",9);
PrintInt(v);
if(v<nullspeed)
{
umfahrbecher();
Msleep(3000);
vorlang;
aus;
Msleep(3000);
umfahrbecher();
Msleep(3000);
go;
Msleep(500);
while(uiBuffer[0]<(nullwert+20))LineData(uiBuffer);
}
}
return 0;
}
Leider ohne Linienfolger, den hätte ich schon fast fertig ...
Gruss,
stochri
linux_80
18.07.2005, 20:09
Hi stochri,
bei mir wurde das leider nix gescheites, hab mich solange mit den Linienzeugs rumgeärgert, das der Rest auch nicht fertig wurde, weil da mein Konzept nicht aufgegangen ist, wie ich es angehen wollte.
Ich wollte per Sharp-sensor suchen, und per Liniensensor wieder Heim finden, aber ER, der kleine, wollte ja nicht :-(
sorry.
Hallo linux_80,
schön, dass Du es versucht hast. Die Beteiligung war dieses Mal ja auch ein bischen wenig. Normalerweise macht Izsaseba noch mit, aber der hatte wohl diese Wochenende auch keine Zeit gefunden. Das Wetter war ja auch wirklich zu schön, um drin rum zusitzen.
Ich habe am Samstagmorgen und Sontagmorgen ein wenig programmiert und mein Programm macht folgendes:
1. die Linensensoren testen anhand des Schattenwurfs ob der Schatz noch da ist
2. Falls der Schatz weg ist, fährt der ASURO langsam geradeaus, bis er gegen den Schatz stößt. Er detektiert dann das Sinken der Motordrehzahl
Die Konstruktion des Schatzes hat mich etwas Zeit gekostet. Der Joghurtbecher war ( wie vorausgesehen ) zu leicht. Also habe ich etwas Pape darunter geklebt und zusätzlich einen zerschnittenen Waschlappen. Der Waschlappen hat dann die Reibung genügend erhöht, dass der Asuro den Widerstand über die Motordrehzahl detektieren konnte, aber trotzedem den Joghurtbecher noch wegschieben konnte.
Bei meiner Lösung fehlt noch das Linienfolgen. Das hat sich bei Dir ja als der schwierigste Teil herausgestellt. Ich selbst habe ganz am Anfang ein paar Versuche dazu gemacht und das Problem schien mir lösbar. Am Sonntag musste ich dann doch ein wenig das Wetter geniesen und da hat mir die Zeit für die Linienfolgerei dann auch nicht mehr gereicht.
Viele Grüße,
stochri
P.s.: Für die Leute, die diesen Thread mitlesen: mich würde mal interessieren, was ihr von solchen Wettbewerben haltet ?
Hallo,
Ich hätte da zu gerne mitgemacht, aber leider leider, hatte ich was anderes zu tun, naja
noch kein Urlaub, und die Frau will auch ständig raus bei dem Wetter, also wurde nichts draus...
Ich hatte auch schon mit den Liniensensoren meine Versuche gemacht, auch leider ohne Erfolg, selbst im Bad, bei völliger Dunkelheit fuhr mein Asuro seinen und nicht meinen Weg :-s
Es gab hier aber schon jemanden, der es geschafft hat die Liniensensoren richtig auszuwerten, es gab sogar ein Video von... nur wer war das, muß mal sufu benutzen
Ja genau hier (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=9491&highlight=asuro+linie) ist
der Beitrag, sieht mal gut aus oder?
Scheinbar bin ich zu dumm um das so hinzukriegen :-k
Na ja einen schönen Gruß, und beim nächstem mal mache ich hoffentlich mit..
Sebastian
P.S.
Ich finde die Wettbewerbe gut, schade daß so wenig Leute interesse dran haben, vielleicht ist es zu schwer?
Hallo zusammen!
Ich bin interessiert. Ich hätte sogar eine Idee für einen neuen Wettbewerb, die nicht ganz so schwer ist.
Eine Linie in Form einer 8 verfolgen. Ziel ist, die 8 möglichst schnell ab zu fahren. Dabei ist die Grösse der 8 frei gestellt.
Wie wär es damit?
Gruss Waste
Hallo Waste,
Klingt auch nicht schlecht, aber bist Du Dir sicher, daß es mit dem Asuro machbar ist?
was passiert, wenn er an der Stelle ankommt, wo die Linien sich kreuzen?
Sind da die 2 Fotodioden nicht was wenig an Sensoren?
Gruß Sebastian
Hört sich eigentlich ganz gut an, würde ich sagen.
Hallo Sebastian,
ich habe das vor längerer Zeit mal ausprobiert. Weil ich nicht so viel Platz hatte und beide Kurven (rechts, links) testen wollte machte ich ne Acht. Es ging problemlos. Die Kreuzung war genau 90 Grad. Ob es auch bei anderen Winkeln geht, weiss ich nicht. Aber das wird sich bei so einem Wettbewerb schnell heraus stellen.
Waste
Genau, probieren geht über studieren,
mal sehen was der Vater alles Wettbewerbe (stochri) dazu sagt, wir haben aber die Schatzsuche noch nicht fertiggekriegt....
Gruß Sebastian
Achso, wenn die Schatzsuche noch läuft, dann könnt ich es auch noch versuchen. Jetzt hätte ich wieder Zeit. Nur letzte Woche ging nix.
Waste
Achso, wenn die Schatzsuche noch läuft, dann könnt ich es auch noch versuchen. Jetzt hätte ich wieder Zeit. Nur letzte Woche ging nix.
Waste
Ja Logo läuft die noch,
urspünglich sollte ein Spielfeld von 60x60 cm benutzt werden, nur stochri hat vorgeschlagen mehrere Teilwettbewerbe daraus zu machen
Gruß Sebastian
OK, dann klink ich mich noch ein, wenn ich darf.
Muss mich aber erst noch einlesen.
Waste
Hallo Miteinander,
schön, dass Ihr euch noch für den Wettbewerb interessiiert.
Dieser Wettbwerb ist ja Teil des großen Wettbwerbs und als Vereinfachung gedacht.
Die Detektion des Schatzes mit den vorhandenen Sensoren hat sich als einfacher als gedacht herausgestellt und scheinbar ist die Linienverfolgung der schwierigiste Teil ( hätte ich nicht gedacht ).
Wir können ja vielleicht mal versuchen, das Linienfolgeproblem kooperativ zu lösen. Vielleicht schaffen wir es ja innerhalb der nächsten 2 Wochen der Linie zu folgen.
Mir scheint allerdings die Kombination der Linienverfolgung+Schatzdetektion+Schatzurückbringe n die große Herausforderung.
Viele Grüße,
stochri
Hallo,
die Linienverfolgung hatte ich schon mal laufen. Ich find sie jetzt nur nicht, auf die Schnelle. Aber werde es schon wieder finden oder neu machen.
Aber wie geht es jetzt weiter mit dem Wettbewerb?
Waste
Also,
last uns den Termin neu auf Sonntag 31.7.2005, 20 Uhr festsetzen.
Bis dahin die vollstängige Lösung dieses Wettbewerbs. Mit Linienverfolgung inclusive.
Will jemand einen früheren Termin ?
Gruss,
stochri
Nein,
Ich nicht, ich wäre nur froh wenn mir jemand einen kleinen Tip gäbe, wie ich die Liniendioden
richtig auslesen soll :roll:
Ich hab meine Linienverfolgung doch noch gefunden. Es war im Ordner mit den Originaldateien. Ich hatte die originale LineDemo abgeändert. Die ursprünglichen Programmzeilen sind noch als Kommentare drin. Ich hoffe ihr kommt damit klar.
Hier ist sie:
#include "asuro.h"
#define SPEED 0xA0
int speedLeft,speedRight;
unsigned int lineData[2];
int ADOffset;
void LineDemo(void)
{
unsigned char j;
int i;
Init();
FrontLED(ON);
for (j = 0; j < 0xFF; j++) LineData(lineData);
LineData(lineData);
ADOffset = lineData[0] - lineData[1];
speedLeft = speedRight = SPEED;
for(;;) {
LineData(lineData);
i = (lineData[0] - lineData[1]) - ADOffset;
if ( i > 4) { //Line is left
StatusLED(GREEN);
//speedLeft = SPEED + i;
//if (speedLeft > 0xFE) speedLeft = 0xFF;
speedRight = SPEED - 2 * i;
if (speedRight < 0x01) speedRight = 0x00;
}
else if ( i < -4) { //Line is right
StatusLED(RED);
//speedRight = SPEED - i;
//if (speedRight > 0xFE) speedRight = 0xFF;
speedLeft = SPEED + 2 * i;
if (speedLeft < 0x01) speedLeft = 0x00;
}
else {
StatusLED(OFF);
//acc = 0;
speedLeft = speedRight = SPEED;
}
MotorSpeed(speedLeft,speedRight);
}
}
Der Termin geht klar.
Waste
@waste:
ist das nicht das Line-Demo, welches bei der Asruo-CD mitgeliefert wird ?
@izaseba:
Wie meinst Du das, die Liniensensoren richtig auslesen ?
In der asuro.c ist die Routine dazu:
void LineData(unsigned int *data)
{
ADMUX = (1 << REFS0) | IR_LEFT; // AVCC reference with external capacitor
ADCSRA |= (1 << ADSC); // Start conversion
while (!(ADCSRA & (1 << ADIF))); // wait for conversion complete
ADCSRA |= (1 << ADIF); // clear ADCIF
data[0] = ADCL + (ADCH << 8);
ADMUX = (1 << REFS0) | IR_RIGHT; // AVCC reference with external capacitor
ADCSRA |= (1 << ADSC); // Start conversion
while (!(ADCSRA & (1 << ADIF))); // wait for conversion complete
ADCSRA |= (1 << ADIF); // clear ADCIF
data[1] = ADCL + (ADCH << 8);
}
aber ich gehe jetzt mal davon aus, dass Du das weißt.
Vielleicht hilft nützt Dir folgender Vorschlag etwas:
Man könnte ein kleines Programm in den Asuro laden, welches die Werte der beiden Liniensensoren als Klartext mit Return rausschreibt. Dann die empfangenen Werte bei verschiedenen Beleuchtungssituationen abspeichert.
Schlieslich das ganze File mit einem Tabellenkalkulationsprogramm graphisch darstellen. Dann müsste die Reaktion der Liniensensoren gut sichtbar sein.
Viele Grüße,
stochri
Hallo
aber ich gehe jetzt mal davon aus, dass Du das weißt.
Ja stochri, das weiß ich.
Ich glaube, ich hab mich zu wenig damit befasst..
@waste:
ist das nicht das Line-Demo, welches bei der Asruo-CD mitgeliefert wird ?
Ne, waste hat da paar Änderungen gemacht,
so wie ich das sehe hat er das umgedreht, also anstatt schneller zu weden macht er die Räder langsamer.
Gruß Sebastian
Hier mal ein Vorschlag zur Diskussion:
izaseba hat das richtig erkannt, ich brems das innere Rad ab anstatt einer Beschleunigung des äusseren Rades, wie im Original. Ausserdem lasse ich die Differenz mit dem doppelten Wert eingehen, damit fährt mein Asuro jetzt viel engere Kurven.
Wichtig ist noch, dass am Anfang eine Kalibrierung ist (ADOffset), da muss der Asuro auf einem gleichmässigen Untergrund stehen, egal ob schwarz oder weiss. Wenn er da halb auf der schwarzen Linie steht, spielt er verrückt.
Waste
Wichtig ist noch, dass am Anfang eine Kalibrierung ist (ADOffset), da muss der Asuro auf einem gleichmässigen Untergrund stehen, egal ob schwarz oder weiss. Wenn er da halb auf der schwarzen Linie steht, spielt er verrückt.
Wenn Du Ihn auf einem gleichmässigem Untergrund stellst, hat dann die ganze Kalibrierung ja keinen Sinn mehr, oder sehe ich das falsch?
ADOffset = lineData[0] - lineData[1];
ergibt bei gleichen Werten dann immer null :-k
Kann man also weglassen ?
Gruß Sebastian
linux_80
20.07.2005, 23:58
Hi,
das stimmt aber nur, wenn beide Sensoren gleich messen,
das hab ich aber bei mir noch nicht hingebracht !
stimmt linux_80,
produktionsfehler, oder nicht 100% gerade eingelötet, oder nur verdreckt, theorie und praxis,
darüber hab ich nicht nachgedacht...
@stochri,
Ich würde gerne über Deine Zeichnung diskutieren, aber ich glaub,
die schaue ich mir lieber morgen in Ruhe an, ist wohl schon zu Spät, um alles zu verstehen, was Du uns damit sagen willst.
Gruß Sebastian
So Leute,
Ich habe heute auch mal etwas probiert, und hier ist meine Linienverfolgung:
#include "asuro.h"
int main(void) {
#define SPEED 150
Init();
FrontLED(ON);
/*char ergebnis[10];*/
int links ;
int rechts;
int ADCoffset;
unsigned int daten[2];
int a;
MotorDir(FWD,FWD);
for (a = 0; a < 254; a++) {
LineData(daten);
}
LineData(daten);
ADCoffset = daten[0] - daten[1];
links = SPEED;
rechts = SPEED;
while (1) {
int b;
LineData(daten);
b=daten[0] - daten[1] -ADCoffset;
/*itoa(b,ergebnis,10);
SerWrite(ergebnis,strlen(ergebnis));
SerWrite("\n\r",2);*/
if (b > 4) {
StatusLED(RED);
rechts = rechts - 2 ;
if (rechts < 1) rechts = 0;
}
else if (b < -4) {
StatusLED(GREEN);
links = links - 2 ;
if (links < 1) links = 0;
}
else{
StatusLED(OFF);
links = SPEED;
rechts = SPEED;
}
MotorSpeed(links,rechts);
}
return 0;
}
Die Klappt recht gut, der Asuro fährt noch etwas unsicher, aber bleibt auf der Linie.
Man sollte allerdings schonmal drauf achten, daß der beim Kalibrieren ziemlich genau auf dem Klebeband steht.
P.S. Meine Frau hat mich schon für bekloppt erklärt, weil ich die ganze Diele mit Isolierband vollgepappt habe; Brauche mehr Isoband!!
O:)
Gruß Sebastian
Ich war heute auch recht fleissig, hab den 1.Teilwettbewerb nachgeholt. Leider kann man hier keine Videos hochladen, ich hab extra eins gemacht. Gibt es irgendwo im Netz eine Möglichkeit für kurze Zeit eine Datei mit 5MB öffentlich zu parken?
Gruss Waste
Hallo waste,
Du bist mit dem Teil 1 fertig ? Linie und alles ? Super !! Bin sehr gespannt auf das Video.
Schade, dass es noch nicht geklappt hat. Ich habe auch schon 4 mal versucht ein Video (10MB) in dieses Forum zu laden, aber die Übertragung ist jedesmal stecken geblieben.
Kann man nur hoffen, dass sich irgendwo im Netz eine Stelle findet.
Viele Grüße,
stochri
Da gibt es es was, auhc wenn ich es selbst nihct so toll finde. :D Ich lade mir mein Zeug immer selbst hoch auf nen Space, aber sonst such mal RapidShare.
Danke Andun für den Tipp, ich werde es später mal testen, jetzt habe ich bereits bei GMX einen Gastzugang eingerichtet. Hier ist der Link zu meinem Video:
http://service.gmx.net/mc/om3eWR8cS1AqkZ8iyHDEQTYC27Aztw
Hinweis: Der Link für den Gastzugang zum GMX MediaCenter ist bis zum 22.8.2005 gültig.
Ihr müsst dort auf "GMX MediaCenter starten" klicken, dann öffnet sich ein Fenster. Im Fenster könnt ihr dann das Video "Asuro1.mov" runter laden oder direkt starten.
Gruss Waste
Ich lade mir mein Zeug immer selbst hoch auf nen Space
Ja eben,
wo liegt das Problem sich irgendwo im Netz kostenlos paar MB zu besorgen?
Bei tripod gibt es z.B 50 MB oder weiß was ich wo, einfach mal suchen.
Gruß Sebastian
@ Waste,
Ich bin beeindruckt, das sieht super aus,
Was hast Du da für Sensoren auf dem Asuro verbaut ?
Woran erkennst Du , wo der Becher steht?
Gruß Sebastian
Das ist die IR-Schnittstelle vom Asuro, die hab ich zu einem Abstandssensor umgebaut, ist elektrisch gleich geblieben, nur mechanisch und programmtechnisch umgebaut. Guckst du hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=10026
Den Abstandssensor hab ich in dem Video so eingestellt, dass der Becher bei 3cm erkannt wird. Ich hatte es vorher mit den Schaltern gemacht, aber das war zu brutal wie der auf den Becher gerammt ist. So ist es eleganter. Auch beim Zurückschieben wird kurz vorher abgebremst und dann mit langsamer Geschwindigkeit angedockt. Wenn er angedockt hat, wird Gas gegeben, damit er den Becher schieben kann.
Gruss Waste
Super,
irgendwie hab ich den Beitrag von Dir übersehen :-# ,
echt eine gute Sache, Das mit den Schaltern ist in der tat etwas bescheiden.....
Gruß Sebastian
Der Umbau hat den Asuro enorm aufgewertet. Jetzt ist er bei seinen stundenlangen Ausflügen in der Wohnung nicht mehr so laut (bong, bong). :) Das Schöne daran ist, die IR-Schnittstelle funktioniert nach wie vor und ich musste auf keinen anderen Eingang am µC verzichten.
Waste
Das glaube ich Dir gerne, was mich aber interessieren würde, wie man das denn anwendet ?
Schickst Du ein Zeichen üder UART und schaust, was da zurückkommt, oder wie ?
Vielleicht ist das eine blöde Frage, aber ich hab mich bis jetzt mit so einer Art Sensorik nicht auseinandergesetzt .....
Helligkeit,Temperatur,Widerstand ja, aber Abstandmessung mit IR ist für mich schwarze Magie(bis jetzt)
Gruß Sebastian
Das geht relativ einfach, indem man den Port PD1 auf LOW setzt. Damit sendet die IR-Diode mit 36kHz. Das ist die Frequenz, die der IR-Empfänger SFH 5110-36 braucht. Zum Detektieren des reflektierten Signals dann den Eingang PD0 auf LOW prüfen. Das ist die einfache Variante mit maximaler Empfindlichkeit.
Ich habe das Programm noch dahingehend verändert, dass ich die Sendeleistung mittels einstellbarer Pulsbreite ändern kann. Damit kann ich die Empfindlichkeit des Sensors variieren und auf den Abstand rückschliessen. Aber Abstandsmessung ist zu hoch gegiffen. Wie bei anderen IR-Detektoren (IS471, TSOP und andere, Ausnahme sind die Sharp-Detektoren, die funktionieren nach einem anderen Prinzip) ist es abhängig von der Stärke der Reflektion, ob dunkle oder helle Flächen, schräge oder direkte Reflektion. Dennoch funktioniert es erstaunlich gut.
Gruss Waste
Sachmal, kannste nicht mal dass ganze darüber vielleicht zusammen fassen und einen Thread damit machen? Ich glaube da wäre ich nicht der einzige der daran Interesse hat.
Also ich hab den Thread oben schon gesehen, nur ist der doch etwas unübersichtlich finde ich.
Vielleicht dann auch mit (Pseudo-)Code abschnitten.
OK, mach ich. Aber lasst mir bisschen Zeit.
Waste
@waste. Habe mir gerade Dein Video angeschaut.
Respekt, Gratulation !
Dein Roboter scheint ziemlich exakt zu fahren, hast Du eigene Motorroutinen geschrieben ?
Sogar ein Marker auf der Linie damit man sehen, wie genau der Asuro den Becher zurückschiebt. Jetzt wird das eine echte Herausforderung für alle Übrigen.
Gruss,
stochri
Die Strecke wird mittels Odometrie gemessen.
Hier der gesamte Code vom 1.Teilwettbewerb. Ich denke, es ist soweit dokumentiert, dass man es versteht.
/************************************************** *****************************
*
* Description: Asuro Wettbewerb 1.2
*
************************************************** ***************************/
#include "asuro.h"
#include <stdlib.h>
unsigned char speed;
int speedLeft,speedRight;
unsigned int lineData[2];
int i, i1, ADOffset;
void FollowLine (void)
{
LineData(lineData);
i = (lineData[0] - lineData[1]) - ADOffset;
if ( i > 4) { //Line is left
StatusLED(GREEN);
speedRight = speed - 2 * i;
if (speedRight < 0x01) speedRight = 0x00;
}
else if ( i < -4) { //Line is right
StatusLED(RED);
speedLeft = speed + 2 * i;
if (speedLeft < 0x01) speedLeft = 0x00;
}
else {
StatusLED(OFF);
speedLeft = speedRight = speed;
}
MotorSpeed(speedLeft,speedRight);
}
int main(void)
{
unsigned char weiter, flag=FALSE;
unsigned int data[2];
int weg, weg1;
Init();
DDRD |= (1 << DDD1); //initialisiert IR-Detektor
PORTD &= ~(1 << PD1);
OCR2 = 0xFE; //Pulsbreite 1
while(1){
MotorDir(FWD,FWD);
StatusLED(GREEN);
speed = 160;
switched=1;
while(switched){ // warte bis Schatz entwendet wird
Msleep(100);
StartSwitch(); // INT1 auf Eingang, Spannung geht hoch
Msleep(5); // wartet wegen der Zeitkonstante R23*C7
switched=0;StartSwitch(); // macht Interrupt endgültig scharf
}
StatusLED(RED); // Schatz ist fort (rotwerde)
Msleep(1000); // warte noch 1 sec, dann suche
FrontLED(ON);
LineData(lineData);
ADOffset = 0;
speedLeft = speedRight = speed;
weg=0;
while((PIND & (1 << PD0))){ // fahre solange auf Linie bis IR-Det. was findet
FollowLine();
OdometrieData(data); // bestimme Weglänge
if ((data[0] < 560) && (flag == TRUE)) {flag = FALSE; weg++;}
if ((data[0] > 640) && (flag == FALSE)) {flag = TRUE; weg++;}
}
weg1=weg+10; // merke Wegstrecke
StatusLED(OFF);
MotorDir(BREAK,BREAK);
MotorDir(BREAK,RWD); // rechts drehen
MotorSpeed(160,160);
Msleep(900);
MotorDir(BREAK,BREAK); Msleep(200);
MotorDir(FWD,FWD);
MotorSpeed(160,160);
Msleep(300);
MotorDir(FWD,FWD); // fahre Halbkreis um Schatz
MotorSpeed(120,190);
Msleep(2800);
MotorDir(BREAK,BREAK); Msleep(200);
MotorDir(BREAK,FWD); // links drehen
MotorSpeed(160,160);
weiter=1;
while(weiter){ // solange bis Linie entdeckt wird
FrontLED(OFF);
LineData(lineData);
i = (lineData[1] - lineData[0]);
FrontLED(ON);
LineData(lineData);
i1 = (lineData[1] - lineData[0]);
if ( (i1-i) > 30) weiter=0; //Linie in Sicht
}
Msleep(40); //Nachlauf für Linienmitte
MotorDir(BREAK,BREAK); Msleep(100);
MotorDir(FWD,FWD);
speedLeft = speedRight = speed;
while((PIND & (1 << PD0))){ // fahre auf Linie bis IR-Det. was findet
FollowLine();
}
speed=100; // reduziere Geschwindigkeit zum Andocken
while(!switched){ // fahre bis angedockt ist
FollowLine();
}
StatusLED(GREEN);
speed=180;
MotorSpeed(speed,speed); // gib Gas zum Schieben des Schatzes
weg=0;
while(weg<weg1){ // schiebe gemerkte Strecke zurück
FollowLine();
OdometrieData(data);
if ((data[0] < 560) && (flag == TRUE)) {flag = FALSE; weg++;}
if ((data[0] > 640) && (flag == FALSE)) {flag = TRUE; weg++;}
}
MotorDir(BREAK,BREAK);
Msleep(100);
MotorDir(RWD,RWD);
MotorSpeed(160,160);
Msleep(100);
MotorDir(BREAK,BREAK);Msleep(200);
MotorDir(BREAK,RWD); // rechts drehen
MotorSpeed(160,160);
Msleep(850);
MotorDir(BREAK,BREAK); Msleep(200);
MotorDir(FWD,FWD);
MotorSpeed(160,160);
Msleep(300);
MotorDir(FWD,FWD); // Halbkreis
MotorSpeed(120,190);
Msleep(2800);
MotorDir(BREAK,BREAK); Msleep(200);
MotorDir(BREAK,FWD); // links drehen
MotorSpeed(160,160);
weiter=1;
while(weiter){ // solange bis Linie entdeckt wird
FrontLED(OFF);
LineData(lineData);
i = (lineData[1] - lineData[0]);
FrontLED(ON);
LineData(lineData);
i1 = (lineData[1] - lineData[0]);
if ( (i1-i) > 30) weiter=0; //Linie in Sicht
}
Msleep(40); //Nachlauf für Mitte
StatusLED(GREEN);
MotorDir(BREAK,BREAK); Msleep(100);
MotorDir(FWD,FWD);
speed=150;
speedLeft = speedRight = speed;
while((PIND & (1 << PD0))){ // fahre auf Linie bis IR-Det. was findet
FollowLine();
}
speed=100; // reduziere Geschwindigkeit zum Andocken
StartSwitch(); // INT1 auf Eingang, Spannung geht hoch
Msleep(5); // wartet wegen der Zeitkonstante R23*C7
switched=0;StartSwitch(); // macht Interrupt endgültig scharf
while(!switched){ // fahre bis angedockt ist
FollowLine();
}
MotorSpeed(0,0); // angedockt, bleib stehen
}
return 0;
}
Viel Spass beim Studieren!
Waste
@Andun
Ein neuer Thread für den Umbau des IR-Detektor ist da:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=99791#99791
Gruss
Waste
Gemeint ist switch (case):
switch (variable) {
case 0:
tue dies;
case 1:
tue das;
case 2:
tue das;
};
@Andun
Ein neuer Thread für den Umbau des IR-Detektor ist da:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=99791#99791
Gruss
Waste
DAANKEEE!!!
Ich werde mich jetzt auch mal daran mahcen dein obiges Scripte zu lesen und zu verstehen. :D
Hallo Kollegen,
wie geht's Euch mit dem Wettbewerb 2.Teil? Wie ist der Fortschritt bei Euch?
Also ich kämpfe ganz schön. Hab schon paar mal meine Strategie umgeworfen. Das ist eine harte Nuss.
Gruss Waste
Hallo Waste,
Hab ich was verpasst?
Ich dachte das momentane Ziel ist das, was Du schon erreicht hast oder ?
:-s
Gruß Sebastian
last uns den Termin neu auf Sonntag 31.7.2005, 20 Uhr festsetzen.
Bis dahin die vollstängige Lösung dieses Wettbewerbs. Mit Linienverfolgung inclusive.
Ach, hab ich da was missverstanden mit der vollständigen Lösung?
Dann gibt mir das noch Luft.
Waste
Hallo Waste,
mit der vollständigen Lösung habe ich die Lösung für den Wettbewerb 1.2. gemeint. Da liegst Du ja bis jetzt ganz eindeutig vorne.
Wenn Du bis am Sonntag den großen Wettbwerb gelößt hast, dann hätten wir anderen ja ganz verloren.
Man könnte sich bei Deiner Lösung vielleicht darüber streiten, ob die Linie 60 cm lang ist, oder ob der Asuro den Becher wieder findet, wenn er ganz am Ende der Linie steht.
Aber so spitzfindig wird schon niemand sein und es ist fraglich, ob's jemand besser hinkriegt.
Beste Grüße,
stochri
Ach, da hab ich ja meinen Code viel zu früh veröffentlicht. Ich Dussel!http://www.kurts-smilies.de/kopfpatsch.gif
Hi waste,
:lol: Na ja, dein Code könnte dem einem oder anderem "etwas" helfen, ich habe auch drüber geguckt, so in etwa hätte ich es auch gemacht(vielleicht nicht mit so einem schönem Bogen, um den Bescher nur mit 4 Kurven).
Aber was ich wirklich schön finde, das ist die Sache mit den IR Sensoren, ich hab meinem 2 Stückchen Rohr vor die Sensoren geklebt, jetzt sieht er aus als ob Augen hätte. :cheesy:
Gruß Sebastian
Würde mich interessieren wie das aussieht. Gibt's davon Fotos?
Gruss Waste
also auf den Bogen bin ich irgendwie auch nicht gekommen ...
Von daher ist der Code schon ein guter Anhaltspunkt ....
Würde mich interessieren wie das aussieht. Gibt's davon Fotos?
Hallo Waste, hier ist ein Foto von meiner Umsetzung deiner Idee.
Gruß Sebastian
Wow!
Ich hatte mir dünne Rohre vorgestellt, die gerade über die Diode gehen. Aber so dicke? Das sieht stark aus. Da bekommt der Asuro Charakter!
Gruss Waste
Hallo Miteinander,
wie geht's wie stehts, heute läuft der Wettbwerb ab. Hier mein Ergebnis, leider weiss ich noch nicht wie ich ein Video posten kann.
Funktion:
Der ASURO bewachte einen Schatz am Anfang einer Linie.
Wird der Schatz weggenommen, holt in der ASURO zurck.
Schatzbewachung:
Die Front-Line Empf�ger stehen im Schatten des Asuros.
Bei Programmstart misst der ASURO die Lichtst�ke im Schatten.
Verschwindet der Schatten, ist der Schatz weg und der ASURO beginnt die Suche.
Schatzsuche:
der ASURO folgt der Linie bis er auf den Schatz trifft.
Das Gewicht des Schatzes bremmst die Motoren.
Anhand der verminderten Radgeschwindigkeit erkennt der ASURO die
Anwesenheit des Schatzes.
Schatzkonstruktion:
Runder Becher mit Stoff auf der Unterseite zur Erh�ung der Reibung.
Gruss,
stochri
Endlich habe ich es geschaft eine Seite für das Video zu finden:
http://mitglied.lycos.de/amoltchris/Wettbewerb1_2Ergebnsi.mpg
Der Wettbewerb ist zu Ende, wer hat Lust das Ganze zu bwerten ?
Gruss,
stochri
Ich habe mir gerade beide Filme abwechselnd angesehen.
Ich habe in beiden Fällen den Eindruck, dass die Lösung schnell und präzise und mit einigem Sicherheitsabstand erreicht wird.
Ein deutlicher Unterschied ist natürlich die Rechteckfahrt bei Storchi und die Bogenfahrt bei Waste. Daraus ist aber kaum eine Unterscheidung abzuleiten.
Die Zeit habe ich nicht gemessen viel Unterschied wird es da nicht geben.
Ein kleiner Unterschied ist wohl die Ausrichtung zur Linie beim Ansatz zum Schieben und in der Endstellung. Die ist bei der Lösung von Waste sehr parallel und wird bei Storchi gleich durch das Folgen der Linie korrigiert.
Fast wie perfekten Turneren bei denen die Haltungsnote nach der Übung in die Bewertung eingeht: Nach meiner Meinung ein kleiner Pluspunkt für Waste.
Manfred
Gratulation stochri!
Schön, dass du es auch geschafft hast. Nur schade, dass nicht mehr erfolgreich waren oder nicht teilnehmen wollten.
Gruss Waste
Hallo Manf,
Deine Bewertung ist ja sprachlich sehr schön an die Leichtathlik Wettkämpfe angelehnt. =D>
Freut mich sehr, dass Dir beides gut gefallen hat. Vielen Dank.
@waste
ja, schade, dass sich nur so wenige beteiligt haben.
Aber wie es halt so ist: geredet wird viel und die Euphorie ist bei technischen Ideen am Anfang immer groß. Die Aufgabe scheint ja am Anfang recht trivial, aber wenn man mal anfängt, ziehen schnell die Stunden ins Land und dann kann einem ja schon mal die Puste ausgehen.
Ich wollte das ganz unbedingt ohne Deinen genialen Abstandssensor schaffen, damit auch Leute das benutzen können, ohne den Asuro umzubauen. Das hat mich ziemlich viel Zeit gekostet. Aber schließlich habe ich es doch geschaft, die Schatzdedektion über die Motordrehzahl zu realisieren.
Deine frühe Vorlage für die Linienfolge war natürlich schon mal ein guter Anhaltspunkt.
Ich nehme an, dass Izaseba sich noch an der Bewertung beteiligen wird.
Wahrscheinlich ist es am besten, die weiteren Wettberwerbe auf die Wintermonate zu veschieben, wenn die Leute mehr Zeit zu hause haben.
Viele Grüße,
stochri
Hallo,
Ich nehme an, dass Izaseba sich noch an der Bewertung beteiligen wird.
Logisch werde ich auch mein Senf dazugeben.
Ich habe leider wieder nicht teilgenommen, ich glaube ich mache zu viele Sachen gleichzeitig.
Oder bin einfach zu faul. Man kann es sehen wie man will.
Aber wie soll man hier bewerten?
Waste war technisch überlegen, und seine Fahrt sieht doch etwas besser aus.
Und Stochri hat gezeigt, daß es auch mit Asuro pur zu machen ist.
Ich glaube ich war am Anfang der jenige, dar nur Originalasuros zulassen wollte, und nur deswegen vergebe ich meine Stimme an den Stochri.
Dem Waste bin ich dankbar, daß ich jetzt auch einen umgebauten Asuro besitze, bin mal gespannt, wer sonst noch hier ein Foto dazu sendet.
Auf jedem Fall habt Ihr beide super Arbeit geleistet, Glückwunsch
Gruß Sebastian
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.