PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Möchte euch meine ersten Roboter vorstellen...



Mehto
08.02.2005, 19:37
Hallo,

ich bin auch neu hier und möchte euch einfach mal meinen Lego-Roboter zeigen.

http://home.arcor.de/svenlissel/Lego/P0003407_klein2.jpg


Gebaut ist er aus dem Lego Mindstorms Robotics Invention System 1.5.

Zusatz Bauteile sind ein einfacher LDR im Legostein, ein weißer Legostein mit zwei LED's und alter motor aus Opas altem Diktiergerät mit Lego-Rotor:-).

Nun aber zum wesentlichen.

Gebaut habe ich diesen Roboter aus Spaß, hat keinen größeren sinn ist aber Lustig zum anschauen.


Aber was kann er den Überhaupt?

Ups, vergessen zu erwähnen.
Gebaut habe ich einen Feuerwehr Roboter der Kerzen oder Teelichter selbstständig löschen kann.

Getauft habe ich ihn: "Fire_Bob" Version 1.2.

Der Funktionsaufbau:

Zuerst dreht sich "Fire-Bob" etwas mehr als einmal um die Eigene Achse um die "Gegend" zu erkunden dabei merkt er sich den helsten und den dukelsten Wert der Umgebung, gemessen anhand eines einfachen LDR's.

Anschließen Piepst er kurz und rechnet den Helsten Wert (der höchstwarscheinlich das feuer oder besser das Teelicht ist) um 20% herab.

So findet er die Flamme bei der darauf schließenden erneuten drehung auf jeden Fall wieder, da ja Kerzen gerne Flackern und nicht immer gleich hell sind.

Sobald er in diesen Bereich kommt wo er das Feuer vermutet schalten er die Leistung des Motors (ja "Motor", es ist nur einer Dank speziellem Getriebe) runter und dreht sich langsammer.
Nun dreht er sich weiter Langsam und warten bist der Hellichskeitwert aufhört zu steigen.
Sobald der hellichskeitwert fällt, hört er auf sich um die eigene Achse zu drehen und fährt mit Tatütata gerade aus auf Feuer hinzu.


Nun war es schwierig zu wissen wan er den direkt vor der Kerze steht, dass ist nähmlich anhand der Lichtstärke stark vom Raumlicht abhänig und auserdem doch zu riskant, nicht das dann aufeinmal "Fire-Bob" anfängt selber zu brennen.

So kahm ich auf die Idee einfach ein weißes Blatt unter die Kerze zu legen, das sieht ganz pasabel aus und schützt den boden.
So weiß mein roboter nämlich anhand eines aktiven Lichtsensors der nach unten gerichtet ist, wann die Kerze erreicht ist.

<--- Keine Angst glecih bin ich fertig mit schreiben :-) --->

Zum Schluss wo er weis das die kerze direkt vor ihm ist fängt er an die Kerze mit dem Ventilator auszublasen.
Anhand des passiven Lichtsensors kann er sehen ob die Kerze nun aus ist oder noch brennt, fals dies der Fall sein soll dreht er sich ein kleines Stück und fängt wieder an den Ventilator anzumachen und versucht die Kerze auszublasen.
Falls es dann geklügt ist piepst er zweimal und schaltet sich ab.

So das war die Funktions beschreibung.



Programmiert habe ich "Fire-Bob" mit "NQC" einer C ähnlichen Sprache für den Legoroboter.

Mein Roboter liegt in der Version 1.2 vor, das heist ich habe noch ein Paar Ideen, mal schauen was sich noch so machen läßt.

Eine eher abstrakte Idee wäre einen Zweiten Roboter zu bauen der in einem Raum Feuer legt indem er Teelichter in den raum verteilt.
Mein Roboter muss nun versuchen alle Teelichter auszubekommen die im raum verteilt worden sind.

Nja ich glaube jetzt reichts ersteinmal mit dem schreiben. =P~


Ich werde noch versuchen ein Paar Videos un Bilder zur verfügung zu stellen.


Mich würde jetzt einfach mal Interessieren was ihr von meinem roboter halten.

Vieleicht habt ihr ja auch noch ein Paar tips und Ideen.

Wer sich noch mehr für den roboter Interessiert kann sich gerne melden.


Hier gibt es noch mehr Bilder und ein Video
!!! Vorsicht Video ist 50MB Groß!!!

Falls beim einen Provider nicht geht versuchts beim anderen.

Arcor: http://home.arcor.de/svenlissel/Lego/ Nur Bilder!
funpic: http://svenlissel.sv.funpic.de/Lego/
Video wird warscheinlich noch dauern bis ich das hochgeladen habe.


Ach, die Kerze im Video ist natührlich kein Monsterding wie es aussieht, das kommt nur von meiner billigen Lgo cam. Ist ein ganz normales Teelicht.


Gruß,
Sven

Manf
08.02.2005, 19:50
Die Initiative, den Roboeter soweit zu bauen ist sicher sehr gut.
Die Darstellung gefällt mir auch sehr, also vielen Dank, daß Du den Schritt gemacht hast.
Ich habe dann nach dem Lesen noch ein paar Fragen zum Fahrgestell mit einen Motor, aber villeicht klärt sich einiges wenn ich die Bilder sehe.
Manfred

GaronG
08.02.2005, 19:51
Sieht supertoll aus, dein Fire-Bob. Ich bin zwar kein so erfahrener Roboterbauer, aber vielleicht kann man Bob mit Wärmesensoren ausstatten zu Erkennung von "Brandherden" ?
=D>

MfG
GaronG

Mehto
08.02.2005, 20:14
@Manf:
Das Getriebe, muss ich zugeben ist aus der Lego-Constructopedia.
Wenn sich der Motor vorwärts dreht drehen sich logischerweise beider Kettenriemen vorwärts.
Jedoch im Rückwärtsgang blockiert eine Kettenrieme die andere dreht sich rückwärts, so kann sich der Roboter mit einem Motor drehen.

@GaronG:
Genau so eine Idee hätte ich auch, läst sich bestimmt mit Infrarot lösen, jedoch wäre das Viel zu kompliziert und wäre mit dem Lego Mikrocontroller schwehr oder kaum zu lösen.

Ich selber bin ja auch noch Anfänger in der Elektronik und im Roboterbau, fange jetzt gerade an mit richtigen Mikrocontrollern zu basteln. habe mir ersteinmal einen Mikrocontroller Bausatz gekauft mal sehen was daraus wird.

Gruß,
Sven

Mehto
08.02.2005, 20:25
So habe noch zwei Fotos vom Getriebe gemacht.

Sind auch bei Arcor im Großformat anschaubar.

http://home.arcor.de/svenlissel/Lego/P0003412_klein.jpg

Gruß,
Sven

Manf
08.02.2005, 20:44
Wenn sich der Motor vorwärts dreht drehen sich logischerweise beider Kettenriemen vorwärts.
Jedoch im Rückwärtsgang blockiert eine Kettenrieme die andere dreht sich rückwärts, so kann sich der Roboter mit einem Motor drehen.

Sehr einfach und sehr wirkungsvoll, hätte ich im Bild sicher nicht erkannt, ich hatte mich nur gewundert, daß bei einem Kettenantrieb ein Differential eingesetzt wird. Das ist dann aber klar.

Daß ich nicht begeistert bin von einem Roboter der brennende Kerzen an zufällig verteilte Orte stellt, kann daran liegen daß mir meine Wohnung auch so ganz gut gefällt.

Du findest sicher ein anderes Ziel. Ich schlage vor, Du siehtst Dir mal die Controller an. AVR mit Basic. (Alternativen sind C-Control mit Basic oder AVR mit C. )

Schön ist es immer, wenn man sich ein neues Gebiet zusammen mit Kollegen aus der Umgebung erarbeiten kann.
Manfred

08.02.2005, 21:09
So habe nun ein Video Online.

Leider extrem schlecht dafür nur ca. 200 KB groß, aber man kann sich schon etwas vorstellen.

http://home.arcor.de/svenlissel/Lego/fhfdhdfh.wmv


Leider ist mir auch aufgefallen das ich im falschen Forum bin, wäre froh wen jemand es ins richtige verschieben könnte.

Ach, und das mit dem Feuerleg Roboter war nur so eine Idee ist irgendwie nicht ernst gemeint, wäre auch zu viel Arbeit, aber lustig wäre es.

Gruß,
Sven

vish
08.02.2005, 21:18
N'abend!

Wow, hätt ich gar nicht gedacht, dass der die Kerze so souverän ansteuern und löschen kann.
Tolle Leistung!
Woher erhält dein Bot denn seinen Strom?

Grüße,
Jonas

JX
08.02.2005, 21:55
wow nicht schlecht \:D/

tolle idee und gut umgesetzt

@ vish vom rcx modul (gelber kasten) mit 6 1,5v batterien


muss glaub meinen rcx auch mal wieder ausstauben :-k


JX

Mehto
01.03.2005, 18:52
Für alle die es näher Interessiert habe ich hier mal den Quelltext.

Geschrieben in der Programmiersprache NQC.

Gruß,
Sven

BigNoob
02.03.2005, 21:44
Danke! Hat mir wirklich sehr weitergeholfen, werde mich nun ein wenig in die Programmiersprache einarbeiten. Sie ist wirklich fast wie C, nur eben die Befehle anders ;)

Danke Danke Danke! =D>


MfG Christopher

BigNoob
02.03.2005, 22:30
Sry für Doppelpost aber ich weiß nicht ob der Autor es sonst mitbekommt :D

Ich hätte eine Frage zu dem Source Code.

Wieso benutzt du bei
Off(1)
bzw.
Off(2), Off(3)
nicht wie beschrieben in der Anleitung und auch mir nur so bekannt:
Off(OUT_A)
bzw.
Off(OUT_B), Off(OUT_C)
?
mich hat es nur gewundert ;) Sonst ist alles wirklich sehr durchdacht und gut :D

und dazu gleich noch eine Frage:
Ganz zum schluss sagst du
Off(4);
wir haben aber gar keinen 4. Motor, wenn du mit den Zahlen jedenfalls Motoren definierst...
???

Nochmals Danke und Schonmal Danke im Vorraus wenn du antwortest ;)

MfG Christopher

PS: Und dürfte ich fragen was du mit den Abkürzungen(??) wertsg,wertsk,wertg,nwert,vergl;
meinst? Wäre vielleicht hilfreich.
Danke!!! ;)

Le
02.03.2005, 23:41
Dein Video ist wirklich imposant(und unheimlich). Was für einen µC-Kit hast Du Dir denn gekauft?

binaer
03.03.2005, 02:19
Ich finde das doch eine ziemliche Leistung, erst recht, da dies der erste Roboter ist! :)
Mindstorms haben halt doch auch ein ziemliches Potential. Das hab ich gesehen, als ich in den SJF Studienwochen einen Roboter zur Minensuche aus Lego bauen musste.

@Le:
Das ist alles mit Lego Mindstorms realisiert!

lg binaer

Mehto
03.03.2005, 14:34
Hallo BigNoob,

Off(1) statt Off(OUT_A) ist einfach nur bequemlichkeit.

Es gibt allerdings auch vorteile dabei.

Soweit wie ich durch rausprobierern herausgefunden habe macht Off(3) den Motor 1 und 2 gleichzeitig aus und so ist Off(4) für den dritten Motor zuständig.

Du kanst ja mal schauen was Off(5) bewirkt, falls es das auch gibt.

Und die abkürzungen für die variablen sind wirklich komisch, das gebe ich zu. Mir viel aber leider nichts besseres ein.

trotzdem hier die Erklärung falls es mir wieder richtig einfällt:

wertsg= wert such groß, bedautet er schreibt in diese Variable den hellsten Wert bei der Feuersuch ein.

wertsk = Wert such klein, ist genau dasselbe nur dass er den kleinsten wert rein speichert

wertg = wert gesucht, wird der aktuelle Wert beim Feuer suchen eingetragen und sobalt der wert sinkt wird wird eine If abfrage gestartet um zu schauen ab der wert mehr als 2 abgesunken ist, ist dies der Fall fängt er an zu löschen.

nwert , hier wirt der aktuelle wert eingetragen und mit 2 addiert um zu schauen ob der wert um mehr als 2 gesunken ist, (siehe obendrüber)

vergl = vergleich , vergleicht den hellsten und den dunkelsten wert beim erkundungsdreh, falls das verhältniss kleiner als drei ist versucht er gar nicht das Feuer zu löschen, da dann warscheinlich kein Teelicht brennt.


Ich finde selber dass ich es irgendwie teilweise komplizierte gemacht habe als es ist, dewegen kann sein das man sich manches sparen kann.
Habe den Roboter auch innerhalb der Fastnachtsferien gebaut.

Könnte mir den Code auch nocheinmal anschauen und ein parr kommentare hinschreiben, mal schauen vileicht habe ich ja am Wochenende zeit und lust dazu. O:)

Ich selber habe aber noch nie in C Programmiert sondern immer nur PHP und HTML, vileicht liegt es ja auch daran.

Aber vielen Dank wen du den Code gut findest.

Gruß,
Sven

03.03.2005, 18:48
Also wenn Kommentare anderen weiterhelfen würden, ich habe welche dazu geschrieben, wenn sie jemand haben will ;) und mir der Autor dazu Erlaubniss erteilt ;), könnte ich sie auch veröffentlichen. Ich habe nur den task Alarm herausgenommen, da ich den wahrscheinlich nicht mit in meinen Roboter ;) mit hineinbauen werde, dafür aber vllt noch etwas anders.

Danke für die schnelle Antwort auf meine Frage und nochmals danke wegen dem Code und den Infos ;) ;)!

MfG Christopher

Mehto
03.03.2005, 20:16
klar kanst du den Code veröffentlichen.

Ich glaube ich sollte mir das mit den Kommentaren generrell angewöhnen.
:-k

Wenn ich fragen darf:
Wie alt bist du ?
Und was machst du denn so als Beruf?

Wie ich erarnen konnte hast du kenntnisse in C, was Programmierst du sonst noch so?

Würde mich einfach nur so interessieren, brauchst mir nicht zu antworten.

Gruß,
Sven

06.03.2005, 20:45
Mein Alter beträgt 16 Jahre und ich gehe noch zur Schule (leider.....)((Gymnasium))

Ich habe etwas Kenntnisse in C und ein paar Variartionen davon sowie etwas basic.

MfG Christopher