PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro "upside down"



HermannSW
26.03.2007, 21:16
Der Asuro meines Sohnes Robert [genannt Robertor :)] konnte leider gar nicht auf der RobotChallenge antreten :( [wegen Problemen mit den Fotosensoren, tags zuvor hat noch alles funktioniert], aber diesen etwas Anderen Asuro wollte ich hier sowieso einmal aufgrund seiner Vorteile vorstellen:
automatischer Schutz der Odometriesensoren vor Außenlichteinstrahlung durch Asuroplatine und Zahnräder
wechselbare, und dennoch stabile Anbringung der Fotosensoren
einfache Lösung für damit verbundene "Softwareprobleme" (LEFT/RIGHT bzw. FWD/RWD)
sehr leicht
extrem schnell
Wegen der großen Reifen ist die Platine zwangsweise etwas höher angebracht als bei einem "normalen" Asuro. Um nun das Gewicht möglichst tief zu legen, war die erste Idee (welche auch schon öfter hier im Forum diskutiert wurde), den Batteriepack auf der Unterseite anzubringen. Diese Idee weiterspinnend stellte sich die Frage: Warum nur den Batteriepack?

Dann kam die einfache, aber gute Idee, den Asuro einfach falsch herum fahren zu lassen! (und somit Alles auf der (neuen) "Unterseite")

Hier die erste Version des Asuro upside down [neuhochdeutsch :)]
http://www.stamm-wilbrandt.de/videos/070306_232857_small.jpg

In der ersten Konstruktion waren die FrontLED und die beiden Fotosensoren noch etwas hoch angebracht, aber die nächsten Fotos zeigen die aktuelle Anbringungshöhe, die eine waagerechte Platine ermöglicht.
http://www.stamm-wilbrandt.de/videos/070325_225803_small.jpg http://www.stamm-wilbrandt.de/videos/070325_225833_small.jpg http://www.stamm-wilbrandt.de/videos/070325_225859_small.jpg

Die Motoren sind nur deshalb nach oben gewandert, da für eine bessere Untersetzung das Zahnrad mit 50 Zähnen durch eines mit 30 Zähnen ersetzt wurde, wobei die Messingachse dem Motor auf der anderen Seite der Platine im Weg war (siehe folgenden Beitrag (https://www.roboternetz.de/phpBB2/viewtopic.php?p=265315#265315)).
Die Untersetzung beträgt jetzt 1:8.1 [25*(30/50)*(38/70), Standard-Asuro 1:25] da die Reifen einen Durchmesser von 70mm anstatt der normalen 38er Asuroreifen haben. [Leider ist durch das 30er-Zahnrad die Odometrie abhanden gekommen, da das (jetzt kleinere) Zahnrad nicht mehr im Sichtbereich des T11 liegt -- warum sind T11 und T12 auch verschieden herum angebracht?? Das Problem ist aber sicher lösbar und taucht gar nicht auf, wenn man das 50er Zahnrad beläßt.]
http://www.stamm-wilbrandt.de/videos/070325_225950_small.jpg

Um dem Asuro upside down auch ohne Ultraschall zu einer Hinderniserkennung zu verhelfen, wurden die IR-Sendediode als auch das IR-Empfänger-IC verpflanzt. Hierbei wird die Asuro-Platine(!) zur Verhinderung der Streueinstrahlung der IR-Sendediode verwendet. Das IR-Empfänger-IC ist einfach (unten in der Mitte) mit Sekundenkleber vor die Buchsenleiste für die Erweiterungsplatine geklebt, und die IR-Sendediode ist (oben) auf der Unterseite der Asuroplatine angebracht.
http://www.stamm-wilbrandt.de/videos/070325_225930_small.jpg

Der (für mich) wichtigste Grund für einen Asuro upside down ist die stabile und wechselbare Anbringung sowohl der FrontLED/Fototransistoren als auch des halben Tischtennisballs. Hierzu wird ein passend zugeschnittenes Stück Lochrasterplatine verwendet, welches mit seinen 10 Stiften genau in die 8 Buchsen vorne und 2 Buchsen hinten der Erweiterungsplatinenbuchsen paßt! Dies ist eine sehr stabile Anbringung, und der halbe Tischtennisball muß nicht mehr auf der Asuroplatine, sondern auf diesem kleinen Stück Lochrasterplatine mit Sekundenkleber angebracht werden. Hierbei ist lediglich die etwas verbogene Anbringung der mittleren vorderen beiden Pins etwas knifflig. Wie man sieht, ist der halbe Tischtennisball sogar Teil der aufhellenden IR-Schürze um die Fototransistoren (siehe folgenden Thread (https://www.roboternetz.de/phpBB2/viewtopic.php?t=29109)) ...
http://www.stamm-wilbrandt.de/videos/070325_230018_small.jpg http://www.stamm-wilbrandt.de/videos/070325_230052_small.jpg http://www.stamm-wilbrandt.de/videos/070325_230112_small.jpg

Die Räder sind mit der tollen Befestigungstechnik von radbruch (siehe folgenden Thread (https://www.roboternetz.de/phpBB2/viewtopic.php?t=28345)) angebracht. Wichtig ist es nur, die Kabelbinder nicht zu fest anzuziehen, da ansonsten das kleine Rad gegen den festgeschraubten Stellring gepreßt wird! Die Achse ist nicht durchgängig, und somit hängt das große 70er Rad nur an den drei Kabelbindern. Diese lockere Anbringung realisiert aber nebenbei einen Radsturz (http://de.wikipedia.org/wiki/Radsturz), welcher aus dem Automobilsport als nützlich bei hohen Geschwindigkeiten bekannt ist.
http://www.stamm-wilbrandt.de/videos/070325_230156_small.jpg http://www.stamm-wilbrandt.de/videos/070325_230333_small.jpg http://www.stamm-wilbrandt.de/videos/070325_230351_small.jpg

Softwaremäßig ergibt sich für den Asuro upside down ein kleines (lösbares) Problem:
Nachdem die Unterseite "oben" ist, sind LEFT und RIGHT bzw. FWD und RWD vertauscht! Dies betrifft auch Funktionen wie LineData(), welche Daten für die linke/rechte Seite erwarten oder übergeben.

Dieses Problemchen läßt sich recht einfach durch folgenden einzufügenden Block am Ende der Datei asuro.h lösen:

#ifdef UPSIDE_DOWN

#undef FWD
#define FWD (1 << PB4) /*!< Motor vorwaerts */
#undef RWD
#define RWD (1 << PB5) /*!< Motor rueckwaerts */

#undef LEFT
#define LEFT 1
#undef RIGHT
#define RIGHT 0

#undef LEFT_DIR
#define LEFT_DIR (1 << PB4) | (1 << PB5) /*!< PB4, PB5 Ports fuer Drehrichtung rechter Motor */
#undef RIGHT_DIR
#define RIGHT_DIR (1 << PD4) | (1 << PD5) /*!< PD4, PD5 Ports fuer Drehrichtung linker Motor */

#undef IR_RIGHT
#define IR_RIGHT (1 << MUX0) | (1 << MUX1) /*!< ADC3 A/D Wandler Port fuer Linienfolger Fototransistor links */
#undef IR_LEFT
#define IR_LEFT (1 << MUX1) /*!< ADC2 A/D Wandler Port fuer Linienfolger Fototransistor rechts */

#undef WHEEL_RIGHT
#define WHEEL_RIGHT (1 << MUX0) /*!< ADC1 A/D Wandler Port fuer Odometrie Sensor links*/
#undef WHEEL_LEFT
#define WHEEL_LEFT 0 /*!< ADC0 A/D Wandler Port fuer Odometrie Sensor rechts */

#define BackLED(l,r) BackLED(r,l)
#define MotorDir(l,r) MotorDir(r,l)
#define MotorDir(l,r) MotorDir(r,l)
#define MotorSpeed(l,r) MotorSpeed(r,l)
#define SetMotorPower(l,r) SetMotorPower(r,l)

#endif

Dann noch $(DEFS) in der ersten Zeile von CFLAGS im Makefile einfügen
...
CFLAGS = -g $(DEFS) -O$(OPT) -I../../lib/inc\
...und "make DEFS=-DUPSIDE_DOWN" erledigt den Rest!


Der Asuro upside down mit 4xAAA-Akkus bringt gerade einmal 221g auf die Waage!
http://www.stamm-wilbrandt.de/videos/070326_063140_small.jpg

Außerdem ist Robertor jetzt extrem schnell, ich mußte mich zum drehen des Videos in unserer Küche auf die Arbeitsfläche setzen,
http://www.stamm-wilbrandt.de/videos/070325_234530.frame.jpg
siehe folgendes Video: 3gp (http://www.stamm-wilbrandt.de/videos/070325_234530.3gp) mpeg (http://www.stamm-wilbrandt.de/videos/070325_234530.mpg.mpeg)
Eine Rund von ca. 5.7m schaffte er in 4.5s, das sind 1.26m/s inklusive der Kurven, durch die er driftete.

Danach kamen Messungen im Wohnzimmer auf gerader Strecke, im ersten Video sieht man, daß alle 3 Platten eine Markierung auf dem Boden liegt. Hier die drei Videos: 1000ms FWD, dann BREAK, etwas mehr als 3 Platten (3gp (http://www.stamm-wilbrandt.de/videos/070326_001345.3gp) mpeg (http://www.stamm-wilbrandt.de/videos/070326_001345.mpeg))
1500ms FWD, dann BREAK, etwas mehr als 6 Platten (3gp (http://www.stamm-wilbrandt.de/videos/070326_001010.3gp) mpeg (http://www.stamm-wilbrandt.de/videos/070326_001010.mpeg))
2000ms FWD, dann BREAK, etwas mehr als 9 Platten (3gp (http://www.stamm-wilbrandt.de/videos/070326_000810.3gp) mpeg (http://www.stamm-wilbrandt.de/videos/070326_000810.mpeg))
Die Geschwindigkeit betrug also 3 Platten â 30cm in 500ms, oder 1.8m/s!

Robertor hatte dabei eine Untersetzung von 1:8.1 und X-Slot Tuning Motoren (siehe folgenden Beitrag (https://www.roboternetz.de/phpBB2/viewtopic.php?p=262450#262450) von Waste), und die 4 AAA-Akkus hatten noch eine Spannung von 5.15V ...

damaltor
26.03.2007, 21:21
sehr cool. find ich gut =)

da sieht man, wie viel 8 mhz sind, offensichtlich reicht es dicke für die hinderniserkennung trotz der hohen geschwindigkeit. sehr schön! allerdings dürften wohl Go() und Turn() nicht mehr viel sinnvolles tun, oder?

HermannSW
27.01.2016, 00:51
Hallo,

war 2007 das letzte mal aktiv in diesem Forum, und dachte ich geb mal nen update.
In 2007 war ich schon immer bemüht, die nur 0.43m/s Geschwindigkeit des Asuro zu erhöhen.
Mal über 10.8V, mal mit anderen Motoren (1.2m/s) oder mit Robert's Asuro "upside down" oben mit großen Rädern und 1.8m/s.

In 2007 war ich auf der Robotchallenge und habe dort Linienverfolgung versucht.

Vor einem Jahr habe ich mit dem Arduino micro controller angefangen und habe bald alle Modelle zusammen (Mini, Pro Mini, Nano, Uno, Mega, Due -- der hat 84MHz statt der 16MHz und 96KB memory, der anderen, kann sogar nen VGA Monitor softwaremäßig mit 800x600 monochom versorgen, siehe auch #DueVGA (https://twitter.com/hashtag/DueVGA?src=hash) -- die kleinen kosten weniger als 2$ auf aliexpress.com, der Due nur 12$ mit free shipping).

Ich wollte einen schnellen Robotor, "Asuro" like, der mit hoher Geschwindigkeit Linien folgen können sollte.
Zuerst habe ich gegoogled und auf youtube gesucht.
2007 wurden Linienfolge Wettbewerbe noch mit 1m/s Durchschnittsgeschwindigkeit gewonnen.
2013 wurde in Polen ein Wettbewerb mit 3.1m/s im Schnitt gewonnen(!), erster Lauf in diesem Video:
https://www.youtube.com/watch?v=cvkveIf2o9g

Wegen 3.1m/s im Schnitt hab ich mir mal 5m/s maximal als Ziel gesetzt.
Letzten Juni hab ich mir dann eine Motor Test Station (MTS) gebaut, um verschiedene Motoren vergleichen/testen zu können.
In diesem Thread ist alles dokumentiert, von den Anfängen bis 14.37m/s(!) oder 51.7km/h maximal:
http://forum.arduino.cc/index.php?topic=331722.0

Relativ schnell habe ich diese MTS mit Plexiglasscheiben rundherum abgesichert, und nach diesem "total destruction" Lauf auch von oben mit Plexiglas Scheiben:
https://www.youtube.com/watch?v=MbowYu115y4

Ein schöner Lauf mit 13m/s oder 47km/h mit real time graphischer Geschwindigkeits Anzeige auf einem LCD display ist dieser:
https://www.youtube.com/watch?v=U1zrw5bQtKI

Was ich früher mit dem Asuro getrieben habe, ist hier zusammengefaßt:
https://stamm-wilbrandt.de/#robotics

Hier kann man meinen ersten Arduino Uno robot sehen, sehr Asuro like mit halbem Tischtennisball:
https://stamm-wilbrandt.de/en/#roboticsArduino

Die 12V Motoren die maximal 9.89m/s in der MTS brachten, gaben linear "nur" 3.1m/s.
Und das Video zeigt auch, daß ich damals das bremsen erst noch lernen mußte.

Das Video darunter zeigt dann, wie ich durch vollen Gegenstrom den Drehrobot von 14.2m/s auf 0 in 1.8s abbremsen konnte.
Ist immer noch ein Bremsweg von vielen Metern, nur die Lokalität der Tests in der MTS erlaubt sowas zuhause zu machen.

Die 15V Motoren die 14.37m/s erreicht haben, habe ich noch nicht unter einem Robot außerhalb der MTS getestet.
Übrigens sind alle diese Experiment ohne Untersetzung gemacht, obwohl mir ganz zu Beginn des threads gesagt wurde, daß das nicht geht.
Also die Räder (Lego Räder verschiedenen Durchmessers (https://twitter.com/HermannSW/status/650448604088418304), Auswuchten (https://twitter.com/HermannSW/status/650682272568508416)) kleb ich einfach mit Sekundenkleber direkt auf die Motorachse, die Motoren sind stark genug dafür.

Ich möchte demnächst mal nen low speed robot mit ov7670 (https://twitter.com/HermannSW/status/686312910918946816) VGA Kamera fahren lassen, und hab mir dazu diese 12$ free shipping Platform bestellt:
https://twitter.com/HermannSW/status/691986980746481664

Halber Tischtennisball wird ersetzt durch all-direction Rad, und zwei weil die Platform rund ist.

High-speed Robot wird vermutlich nur die Arduino Due Platine sein, mit zwei 15V Motoren und nem halben Tischtennisball druntergeklebt:
https://www.arduino.cc/en/Main/ArduinoBoardDue

Apropos, habe gelernt daß man mit Motortreibern (nehm am liebsten L293D) die >16V auf Motorn geben vorsichtig sein muß, die können auch in Flammen(!) aufgehen:
https://twitter.com/HermannSW/status/650778864050900992
https://twitter.com/HermannSW/status/650774759299526656
https://twitter.com/HermannSW/status/650774283015331840

Das sollte nur mal nen update sein, werde wohl nicht mehr auf den Asuro zurückgehen, aber die zugrundeliegende Asuro Form (2 Räder, halber Tischtennisball) wird mich wohl weiter begleiten.

Hermann.

Searcher
27.01.2016, 09:50
war 2007 das letzte mal aktiv in diesem Forum, und dachte ich geb mal nen update.


Das wurde aber auch mal Zeit. Ist dafür aber suuuper geworden mit vielen interessanten Infos.
http://www.smiliesuche.de/smileys/lachende/lachende-smilies-0101.gif (http://www.smiliesuche.de/daumen-hoch/)

Gruß
Searcher