Archiv verlassen und diese Seite im Standarddesign anzeigen : Schneller Line Follower
Hallo,
ich möchte mir gerne einen Line Follower basteln der ziemlich schnell ist. Dazu wollte ich jetzt mal ein paar Fragen einholen und schauen, ob jemand Tipps hat, damit ich gleich von Anfang an gut starten kann ;)
Geplant hätte ich jetzt 2 Antriebsmotoren (jeweils links und rechts) und vorne und hinten "Ball caster" (also so metallkugeln zum rollen).
Ansteuern möchte ich das ganze mit einem atmega (muss noch schauen welche version da 2 PWM Ports mit 16 bit Auflösung haben (oder reichen für sowas 8 bit?).
Als Sensoren möchte ich das Bauteil CNY70 verwenden (oder gibts zum Linien erkennen was besseres?). Davon hätte ich eine ganze Matrix am vorderen Ende des Roboters angebracht (also von ganz vorne bis zur Motorachse).
Die Matrix um Krümmungen zu erkennen. Um genügend Ports zu haben, würde ich mehrere 74xx165 Schieberegister verwenden.
Als Akkus habe ich 4 nimh Akkupacks mit jeweils 12V und 3200 mAh (jeweils 2 in Serie geschalten um die Motoren mit 24V zu Versorgen bzw. möglicherweise noch ein Spannungsregler auf 15 Volt davor, mal schauen wieviel die Motoren aushalten).
Als Motor diesen hier:
http://www.mfacomodrills.com/gearboxes/919d_series.html
Mit einer Übersetzung von 6:1
Ich hab hier im Forum gelesen, dass es "gut ist" das Chasis aus GFK Platten zu bauen. Was wäre da der Vorteil gegenüber z.b. Aluminium?
Außerdem habe ich gelesen, dass die Sensoren per CPLD vorverarbeitet werden sollten? Ist das wirklich nötig (also wäre ein atmega zu langsam?).
Bezüglich der Räder, gibts da irgendwelche speziellen welche eine sehr gute Haftung haben? Ich wollte eigentlich zuerst einen Roboter mit 3 Rädern und Omniwheels bauen, allerdings glaube ich, dass das für schnelle Linienverfolgung nicht gut geeignet ist.
Gibts sonst noch von jemanden gute Tipps? (bin grad beim durchschauen von anderen Projekten bezüglich line follower).
Ich überlege zurzeit auch noch, ob ich eine Webcam anbringe und dann die Bilder in Echtzeit auswerte und damit den Roboter steuere. Dazu würde ich einen rasperry pi nehmen (um genügend rechenleistung zu haben) + eine webcam dafür und dann mit dem Rasperry PI (mit einem modifiziertem Linux mit verändertem Scheduling Verfahren) dann die Bilder auswerten. Das kann man ja ziemlich schnell in Assembler programmieren, wenn man nur Kanten (also Linien) erkennen möchte (und dann die Daten per SPI/I2C zum atmega senden).
Wäre über jeden Tipp oder Hilfestellung dankbar ;)
edit:
Bezüglich Sensoren hätte ich mir gedacht, dass ich 8 Sensoren pro Linie mache und dann ca. 4-8 Linien am vorderen Ende des Roboters anbringe. D.h. 1 Linie wird mit 1 Schieberegister angesprochen. Jetzt stellt sich mir die Frage, ob sich das Zeitlich überhaupt ausgeht, dass ich so die Sensoren abfrage (weil das Abfragen ja dadurch um den Faktor 8 langsamer wird). Bzw. habe ich auch gelesen, dass es eine gute Idee ist, wenn man bei den CNY70 Sensoren einmal mit und einmal ohne eingeschalteter IR LED die Werte entnimmt, um Fremdstrahlung entgegenzuwirken. Geht sich sowas überhaupt zeitmäßig aus, wenn der Roboter sehr schnell fahren soll?
oder reichen für sowas 8 bit?
Ich denke 8 bit sollten genügen.
Als Sensoren möchte ich das Bauteil CNY70 verwenden (oder gibts zum Linien erkennen was besseres?). Davon hätte ich eine ganze Matrix am vorderen Ende des Roboters angebracht (also von ganz vorne bis zur Motorachse).
Der CNY wird gerne genommen. Man ist etwas festgelegt was die Auflösung betrifft (also die Linienbreite), wenn es aber passt, sicher keine falsche Wahl. Bezüglich der Matrix hätte ich Bedenken ob das sinnvoll ist. Mir ist nicht klar, welchen Vorteil man über einer einzeiligen Anordnung gewinnt.
Außerdem habe ich gelesen, dass die Sensoren per CPLD vorverarbeitet werden sollten? Ist das wirklich nötig (also wäre ein atmega zu langsam?).
Knapp und pauschal über den Daumen: Wenn das Signal digital eingelesen wird, der MC mit 10MHz getaktet wird und zum Einlesen und Auswerten pro Sensor 10 Maschinenbefehle gebraucht werden, braucht man pro Sensor 1 Mikrosekunde. Bei 10 Sensoren in einer Reihe also 10 Mikrosekunden. Wenn er pro mm Fahrtstrecke eine Zeile einlesen soll, darf er also nicht schneller als 100m/s fahren. Das ist die Größenordnung der Höchstgeschwindigkeit eines Formel 1 Fahrzeugs - da sind die Motoren und Akkus wohl das schwächere Glied in der Kette, selbst wenn Du mehrere Sensorreihen verwirklichen willst.
habe ich auch gelesen, dass es eine gute Idee ist, wenn man bei den CNY70 Sensoren einmal mit und einmal ohne eingeschalteter IR LED die Werte entnimmt, um Fremdstrahlung entgegenzuwirken
Das Auswerten mit und ohne LED geht nur sinnvoll, wenn man die Werte analog einliest. Wenn man aus dem Sensorsignal gleich einen Digitalwert macht hilft nur ordendliches Abschatten gegen Fremdlicht.
Besserwessi
22.06.2013, 10:21
Für die Auswertung der CNY70 reicht der µC aus. Es reicht auch eine Zeile an der vorderen Kante des Fahrzeuges aus, wo die Linie weiter hinten verläuft, kann der µC aus der Bewegung berechnen, falls das überhaupt noch von Interesse ist. Mit den CNY70 wäre ggf. eine analoge Auswertung der Sensoren sinnvoll, um eine höhere Auflösung zu erreichen und auch ein dünnere Linie noch zu erkennen.
Die Linieauswertung per Kamera braucht wirklich viel Rechenleistung möglich sollte es aber sein. Für den Anfang würde ich aber klein anfangen, also erst einmal eher langsam und mit nur 2 - 4 der CNY als Sensoren. Für die Sensoren kann man sogar einen ersten Test machen ganz ohne Fahrwerk, einfach nur um die Position der Linie zu erkennen. Das braucht man nachher sowieso als Schnittstelle zwischen Sensoren und Fahrzeugsteuerung. Wenn das geht kann man immer noch zusätzliche Sensoren montieren. Mit der Erfahrung mit der 1. Version kann man dann ggf. an eine wirklich schnelle herangehen.
Wenn es gut gemacht ist, wird die Geschwindigkeit auch eher durch das Fahrwerk bestimmt als den µC - ein saubere Erfassung der Linie hilft aber ein guten Kurs zu fahren, ohne zusätzliche Umwege durch Fehler bei der Linienerkennung. Beim Fahrwerk kommt es auf gute Haftung der Reifen und ein passende Gewichtsverteilung an: wenig Gewicht auf das 3. nicht angetriebene "Rad" (ggf. auch eine extra Abstützung fürs Bremsen), tiefer Schwerpunkt, Masse nicht zu weit außen (damit das Trägheitsmoment nicht zu hoch wird im Vergleich zur Spurbreite).
Eine extra Spannungsregelung für die Motoren braucht man nicht - die Nennspannung der Motoren ist keine scharfe Grenze - kurzzeitig ist auch die 1,5 bis 2-fache Spannung kein Problem und ggf. zur Beschleunigen sogar hilfreich.
Eine GFK Platine ist ein recht gute Wahl für das Chassis - mechanisch eher etwas besser als Aluminium und gut erhältlich und günstig (im Gegensatz zu high Tech Alu/Magnesium).
GFK Platine
Was ist das? Meinst du eine Expoydharz Leiterplatte? Oder wirklich GFK? Ich kenne GFK nur von weitem, aber das sind doch diese eher rauhen Glasfasermatten/Platten. Ich würde denken dass die mehr Probleme machen als nützen. Warum nicht einfach eine 1.5 - 2 mm Alu-Platte, die ist relativ leicht, stabil und gut zu verarbeiten. Also nur um nochmal eine andere Meingung mit in den Ring zu werfen :-).
Wie groß soll denn der Follower werden? Die Motoren kommen mir schon recht üppig vor. Wie wäre es, ggf. auf einem fertigen Antrieb aufzubauen? ZB sowas: http://www.watterott.com/de/Tamiya-70168-Double-Motor-Getriebebox Das ganz wäre dann allerdings eine Nummer kleiner (was ja acuh kein Nachteil sein muss).
Gruß
Malte
- - - Aktualisiert - - -
Okay, sorry, im Prinzip kann man eine FR4 Leiterplatte als GFK bezeichnen, kam mir auf den ersten Blick etwas unüblich vor. Und ja, das wäre dann in der Tat auch ein gut geeignetes Material.
Hallo, danke schonmal für die vielen tollen Antworten.
Ja ich lese auch überall, das man den ersten Roboter eher einfach halten soll und dann den zweiten schnell machen soll. Aber ich schau mir alle Teile sowieso einzeln an (also Sensoren usw. mal ohne Roboter usw. testen, ...) und ich brauch ja eine Herausforderung, sonst ist es langweilig :)
Sind die Motoren wirklich zu groß? Ich habe absichtlich sehr starke genommen (die waren auch dementsprechend teuer...) und Ansteuern tu ich sie über einen Bausatz von RN ( www.robotikhardware.de/download/rnminihbridge1.pdf (http://www.robotikhardware.de/download/rnminihbridge1.pdf) )
Einen so einen Bausatz hab ich schon fertig (der SMD Bauteil hat mich komplett fertig gemacht zum löten....) aber es funktioniert schon ganz gut. PWM hab ich derzeit erst bei LEDs getestet, das werde ich dann die nächsten Tage auch beim Motor versuchen (dazu muss ich zuerst einen Entwicklungspc neben meiner Stromversorung bekommen).
Kann ich bei dem Motor, wenn da oben steht 5-15 V den andauernd mit 24 Volt versorgen aber mit PWM betreiben und dort nur z.b. 60% Impulse geben? Oder sollte ich eher wirklich nur 15 V anspeisen und dafür 100% Impulse wenn ich schnell fahren will?
Was haltet ihr für den "besten" Aufbau für einen Line Follower?
Ich habe anfangs nämlich über Omniwheels nachgedacht, schafft man es mit Omniwheels eine solche Geschwindigkeit aufzubauen? Der Vorteil der Omniwheels wäre in meinen Augen, dass ich immer mit gleicher Geschwindigkeit fahren könnte, da ich aus dem Stand ja in jede Richtung fahren kann. Allerdings könnte ich nie mit voller Geschwindigkeit fahren, da die Kräfte ja schräg verlaufen... (schwer zu erklären was ich da gerade meine).
Soweit ich das jetzt auf Videos usw. gesehen habe, ist ein Roboter mit 2 Rädern (links & rechts) + eine Kugel vorne sehr gut, da man mit den 2 Rädern sehr gut in die Kurven fahren kann.
Ich überlege auch ob es gut wäre, wenn man ein "bewegliches" Gewicht im Roboter verbaut und wenn ich dann in die Kurve fahre, dieses Gewicht in eine bestimmte Lage bringe, um nicht aus der Kurve zu fliegen (damit ich schneller in die Kurve fahren kann).
Wegen der CNY70 Matrix: Ihr habt natürlich recht, wenn ich so schnelle Messungen machen kann, dann brauch ich die Matrix natürlich nicht, da ich die alten Werte sowieso im Mikrocontroller speichern kann.... (doch gut, das ich euch hier zuerst gefragt habe :) ).
Noch eine vielleicht etwas "blöde" Frage. Wenn ich zuerst Reifen mit Umgang 10 cm verbaut habe und danach die Reifen auf 20 cm Umfang erweitere, dann würde sich ja der Motor immer noch gleich schnell drehen (vorausgesetzt, der Motor ist stark genug dafür), aber dafür würde ich den doppelten Weg zurücklegen, da ich pro Umdrehung den doppelten Weg fahre, oder? D.h. die einfachste Möglichkeit "schneller" zu werden wäre, größere Reifen zu verwenden, falls der Motor das schafft (was bei so einem starken Motor wie bei mir eigentlich kein Problem sein sollte?). (das setzt natürlich vorraus, dass der Rest auch passt, also der Roboter nicht aus der Kurve fliegt ;) ).
Danke nochmal für die vielen hilfreichen Tipps bisher!
edit:
Wenn cih mir das so überlege, dann sollte es doch besser sein, wenn die Reifen ziemlich nahe beieinander sind? Weil je näher sie zusammen sind, umso schneller kann mich drehen, d.h. in einer Kurve umso schneller kann ich wieder mit beiden Rädern losfahren. Das würde aber auch bedeuten, dass ich die Motoren (Welche schwer sind), außen anbringe, was wieder schlecht ist, wenn ich in die Kurve fahre, da ich so leichter rausfliege?
Programmiert man eigentlich so line-follower Roboter nur in Assembler oder ist C für sowas auch schnell genug?
oberallgeier
22.06.2013, 14:27
Hi GoZu,
... Sind die Motoren wirklich zu groß? ... in Assembler oder ist C für sowas auch schnell genug?
Vielleicht siehst Du Dir mal ein paar Linefollower an? Dieser (http://www.google.de/imgres?imgurl=http://webdelcire.com/wordpress/wp-content/uploads/2010/12/rz13.jpg&imgrefurl=http://webdelcire.com/wordpress/archives/619&h=480&w=640&sz=162&tbnid=kKMGipdPNSM1RM:&tbnh=90&tbnw=120&prev=/search%3Fq%3Dfast%2Bline%2Bfollower%2Brobot%26tbm% 3Disch%26tbo%3Du&zoom=1&q=fast+line+follower+robot&usg=__mQzwvUjuwnW96_ciHYbwVwgToU4=&docid=AjkfE-eEsFtL9M&sa=X&ei=XInFUeahNoXdtAa0hYGIDg&ved=0CFgQ9QEwAw&dur=5704) (dazu vielleicht das spanische Video?) oder dieser (http://www.robotroom.com/Jet.html) oder ein ganz Schneller hier (http://www.youtube.com/watch?v=D-fhQgktRyc).
Große Motoren? Vielleicht verstehe ich es falsch, aber ein Linefollower ist kein Dragster - auch wenn die Vorbauten manchmal so aussehen. Die haben aber eher regelungstechnische Hintergründe, manche fahren damit buchstäblich "ums Eck"!! Übrigens ist einer der wirklich schnellen Linefollower der 3pi - siehe dieses Video. (http://www.youtube.com/watch?v=fl0CJhPiEfY&feature=player_embedded)
Assembler - na ja, ich würde eine aufwändige Regelung nicht in Assembler programmieren müssen. Lieber jede andere Strafe. C ist sicher schnell genug - wenn Dein Konzept stimmt und Deine Programmierfähigkeiten *gg* und Du beim neuen Controller das CKDIV8 umfust.
... Wenn cih mir das so überlege, dann sollte es doch besser sein, wenn die Reifen ziemlich nahe beieinander sind ...Blos nicht - überleg das nochmal.
Naja, an der Programmierung wirds nicht scheitern (bin Informatik Student), bin eher in der Mechanik/Elektronik schlechter, da muss ich mich immer einlesen ;)
Ehrlich gesagt finde ich keinen einzigen der Roboter von den Links "wirklich schnell". Na klar, schnell sind sie sicherlich, aber sind das wirklich die "schnellsten Roboter die es gibt"? Wenn man sich anschaut haben die alle imm die Bewerbe gewonnen, aber ich finde, das sollte doch viel schneller auch gehen...
Bzw. die Roboter von deinen Links hab ich auch schon gefunden und wollte mir durchlesen ;)
Warum würdest du die Reifen weit auseinander bauen? In meiner Vorstellung wären Reifen die nahe sind viel besser, ich überlege sogar schon, ob ich die Motoren hintereinander baue (so das auch die Reifen versetzt sind), damit sie näher zusammen kommen. Dann wäre zwar ein Reifen weiter vorne als der andere, aber sie wären näher beisammen. Dadurch könnte ich schneller Kurven fahren (aber dafür wäre das Programmieren aufwändig und in eine richtung könnte ich schnellere Kurven fahren...).
So ganz verstehe ich nicht, warum die Reifen weit auseinander sein sollen.
So ganz verstehe ich nicht, warum die Reifen weit auseinander sein sollen
Bei Kurvenfahrt tritt eine Beschleunigungskraft zur Seite auf (Fliehkraft), die auf Höhe des Schwerpunkts des Gefährts angreift. Diese Kraft wird über resultierende Kräfte an den Radaufstandspunkten kompensiert. Diese resultierenden Kräfte entlasten das kurveninnere Rad, so dass weniger Antriebsmoment übertragen werden kann. Im Extremfall kann das kurveninnere Rad abheben und des Fahrzeug kippt zur Seite. Die resulierenden Kräfte werden gering wenn die Spurweite groß und der Abstand des Schwerpunkts zum Boden gering ist. Darauf sollte man bei der Konstruktion achten.
Der Gedanke, dass bei einem gegebenen Antrieb die Beschleunigung um die Hochachse bei engstehenden Rädern höher ist ist allerdings auch richtig. Für verschiedene Szenarien könnte man wohl eine optimale Spurweite rechnen. Bei der Schwerpunktlage gibt es nur ein Optimum: so tief wie möglich und in Längsachse des Fahrzeugs gesehen etwa auf Höhe der Achse.
Besserwessi
22.06.2013, 16:54
Die Motoren müssen gar nicht so besonders stark sein. Vor allem wenn die Bahn relativ enge Kurven hat, kommt man auch schon mit relativ moderater Motorisierung an die Grenze, dass die Reibung der Räder das Limit ist. Schon wegen der möglichst flachen Lage des Schwerpunktes hat man eher nicht die Gefahr das der Bot umkippt - das Problem ist eher das die Räder einfach rutschen - in den Kurven nach außen oder beim Beschleunigen/Bremsen einfach durchdrehen. Eine Aufgabe ist es da relativ dicht an die Grenze der Reibung zu kommen, aber nicht drüber. Einfach mal die Fahrphysik durchzurechnen zeigt dann schon auf welche Parameter (Gewicht, Trägheitsmoment (um die Vertikale), Drehmoment der Motoren, Schwerpunktlage, Achsweite, Reibkoeffizient man beim Fahrzeug achten sollte, und wo man nicht weiter optimieren muss. Wenn das noch nicht reicht, kann man auch den Drehimpuls in den Motoren berücksichtigen - das gibt ggf. auch noch ein paar Überraschungen, wenn die Motoren relativ schwer und überdimensioniert (mit hoher Übersetzung) sind. Eine Frage ist auch für wie enge Kurven der Bot ausgelegt ist: je enger die Kurven, desto kleiner sollte der Bot im Idealfall sein - einer großer ist dann nur damit beschäftige das Fahrzeug quasi auf der Stelle zu Drehen, und das geht prinzipiell mit dem kleinen schneller. Die Vorgeschlagenen Motoren / Akkus sind da schon mehr was für eine große Bahn, ohne enge Kurven.
In Grenzen wäre ein verschiebbares Gewicht ggf. sinnvoll, aber eher von vorne nach hinten, damit die Kraft auf das nicht angetriebene Stützrad kleiner wird. Das ist aber eher ein experimenteller Schritt, wenn man wirklich ans Limit gehen will - mehr Einfluss hat da eher die Wahl die Reifen (Gummi-mischung).
Wenn der Motor für 5-15 V ist, wäre eine Spannung von z.B. 12-16 V (also etwa 10 Zellen NiMH oder 4 Zellen LiIon) OK. Da das Limit der Motoren eher nicht braucht, geht ggf. auch noch etwas weniger. Bei einigen alten Motortreiben (z.B: L293) verliert man auch noch da etwa 2-3 V, um die sie Spannung höher sein kann bzw. sollte.
Ein weiterer relativ schneller Line Follower - allerdings in klein, und nicht ganz neu:
http://elm-chan.org/works/ltc/report.html
Für schnelle Kurven gibt es hier eine prinzipielle Lösung:
("outside the box" und schon etwas "over-sophisticated") ;)
UC Berkeley's Little Legged Robots Grow Wings and Tails
(http://www.youtube.com/watch?feature=player_embedded&v=OVe1Q2gR0r4#at=43)
http://www.youtube.com/watch?feature=player_embedded&v=OVe1Q2gR0r4#at=43 (http://www.youtube.com/watch?feature=player_embedded&v=OVe1Q2gR0r4#at=43)
hier vorgestellt:
https://www.roboternetz.de/community/threads/62313-Ieee-icra-2013
Ja das mit dem Umkippen hätte ich berücksichtigt, indem ich die Räder weit innen gemacht hätte und dann weiter außen wieder so stützkugeln angebracht hätte. Damit "fliegt er nicht um" und ich kann mich schneller in der Kurve drehen.
Reifen hätte ich jetzt besonders breite (für die Straße) genommen, die haben anscheinend eine sehr sehr starke Rutschfestigkeit. (Gibts online Händler mit speziellen rutschfesten rädern? Meine sind irgendwelche vom Conrad).
Andere Idee: Ich baue einen weiteren Motor ein, aber der steht auf dem Kopf (also Motorwelle schaut gerade nach oben). An der Motorwelle befestige ich ein seel und am anderen Ände kleine gewichte. Wenn ich in die Kurve fahre, steuere ich ganz kurz den Motor an, sodass das Gewicht genau in die andere Richtugn der Kurve geschleudert wird. Das Gewicht baut ebenfalls eine Fliehkraft auf, allerdings genau in die andere Richtung.
Könnte das funktionieren, dass ich so schneller in die Kurve fahren kann?
edit: Noch eine Frage.
Ich habe gestern den CNY70 das erste mal getestet. Zuerst habe ich auf einem Weißen Papier mit Edding ein schwarzes Viereck gemalt und habe alles dort getestet und Spannungen gemessen. Da war überhaupt kein Unterschied (weißes Blatt vs schwarzes Viereck). Als ich aber z.b. meine schwarzen Räder darunter gehalten habe oder etwas anderes schwarzes, hatt eich sofort statt 0,2V dan 4,8V. Warum erkennt man mit dem CNY70 nicht "schwarz aufgemalte Vierecke auf weißen Papier"? Die sollten doch genausowenig reflektieren oder?
edit2:
Achja wegen der Dimensionierung, maximal 30x30 und 3kg (da will ich mitmachen http://www.robotchallenge.org/de , ws eh auch mehrere von euch ;) ).
Ja das mit dem Umkippen hätte ich berücksichtigt, indem ich die Räder weit innen gemacht hätte und dann weiter außen wieder so stützkugeln angebracht hätte. Damit "fliegt er nicht um" und ich kann mich schneller in der Kurve drehen.
Senkrechte Kräfte stützt man möglichst vollständig über die angetriebenen Räder ab. Damit erreicht man maximale Bodenhaftung und Übertragung der Antriebskräfte.
Wenn ich in die Kurve fahre, steuere ich ganz kurz den Motor an, sodass das Gewicht genau in die andere Richtugn der Kurve geschleudert wird. Das Gewicht baut ebenfalls eine Fliehkraft auf, allerdings genau in die andere Richtung.
Wenn Du das Gewicht (und famit den Schwerpunkt des gesamten Fahrzeugs) Richtung Kurveninnen beschleunigst, vergrößert sich dadurch die Fliehkraft und die Tendenz zum Umkippen. Wenn das Gewicht schon vor der Kurve nach innen bewegt wurde wäre das eher hilfreich. Dann müßte man aber schon wissen, wann welche Kurve kommt. Eine andere Überlegung wäre ein Motor mit senkrechter Welle und Schwungmasse. der bewegt zwar den Schwerpunkt des Fahrzeugs nicht, beim Beschleunigen in die eine oder andere Richtung bringt er ein zusätzliches Drehmoment auf, welches die Kurvenfahrt erleichtern könnte. Nachteilig ist das zusätzliche Gewicht und Energiebedarf. Satelliten werden mit solchen Tricks stabilisiert.
Warum erkennt man mit dem CNY70 nicht "schwarz aufgemalte Vierecke auf weißen Papier"? Die sollten doch genausowenig reflektieren oder?
Schwarze Filzstifte enthalten meist Farbstoffe, deren Lichtabsorption sehr selektiv auf das sichtbare Licht abgestimmt ist. Schon im nahen Infrarot wird das Licht nicht mehr absorbiert. Schwarze Druckfarben (auch Toner für Laserdrucker) sind auf Basis Kohlenstoffschwarz (Ruß). Das funktioniert auch im Infrarot. Inkjet Ausdrucke sind meistens wieder Farbstoff, also gehen also wahrscheinlich nicht.
Besserwessi
23.06.2013, 14:25
Wenn der Boden hart ist, sind eher schmale Reifen im Vorteil. Breite Reifen haben einen zusätzlichen Widerstand gegen lenken, weil Innen- und Außen-seite unterschiedlich schnell sein müssten. Für die Haftung beim gerade Fahren macht es in 1. Näherung auch keinen Unterschied wie breit der Reifen ist - das Limit ist halt Reibungskoeffizient mal Auflagekraft. Die Frage ist da eher die Suche nach einem guten Material - Räder für Modellautos sind da sicher keine schlechte Idee, es kommt aber auch auf den Untergrund an, und man muss ggf. etwas probieren was am besten geht.
Bei der Breite ist es halt gut wenn die Reifen außen sind, aber das Gewicht (Motor) mehr in der Mitte. Der größere Unterschied im Weg für innen und außen hilft beim Drehen des Bots und zusätzlich gegen das Kippen, bzw. ein zu starkes verlagern der Andruckkraft, was ein Abbremsen in der Kurve behindern würde.
Der Ausleger in dem Video mit dem Laufroboter, dass Manf verlinkt hat, hat nicht so sehr die Funktion als zusätzliches Gewicht, sondern als Träge Masse bzw. Trägkeitsmoment. Die Kraft zum bewegen des Auslegers wird zum Drehen genutzt, nicht das verlagerte Gewicht. Gerade wenn man bei der Mechanik / Elektronik nicht so fit ist, ist das ein eher aufwendiger Weg um ein paar 1/10 s zu gewinnen.
Chypsylon
23.06.2013, 14:44
Kennst du schon den RoboChallenge-Wettbewerb (http://www.robotchallenge.org/de/robotchallenge/)? Es wäre vielleicht ein extra Anreiz darauf hinzuarbeiten ;) Von den Fotos dort kannst du sicher auch noch ein paar Ideen gewinnen...
HeXPloreR
23.06.2013, 14:55
edit2:...(da will ich mitmachen http://www.robotchallenge.org/de , ws eh auch mehrere von euch :wink: ).
Kennst du schon den RoboChallenge-Wettbewerb (http://www.robotchallenge.org/de/robotchallenge/)? Es wäre vielleicht ein extra Anreiz darauf hinzuarbeiten ;) Von den Fotos dort kannst du sicher auch noch ein paar Ideen gewinnen...
...@ Chypsylon: Wie kommst Du darauf das jemals jemand davon was gehört hat
Also mal ehrlich, der Thread ist noch nicht wirklich lang, den Link nennt er sogar direkt hier auf der Seite selbst...
@GoZu: Ich würde versuchen ganz genau die Info zu bekommen, welches "Schwarze" dort benutz wird - und genau damit testen, damit man da keine unliebsame Überraschung erfährt.
EDIT: G oo gle kann eben nicht immer helfen ;)
Danke für die vielen Tipps, sind viele Dinge dabei, die ich mir eigentlich total anders gedacht hätte, aber jetzt hört sich das natürlich viel logischer an. (Da sieht man wohl, das ich in der Mechanik ziemlich eingerostet bin *gg*).
Was ist den bitte eine "Scharze"? Das finde ich nicht mal per google :) Meinst du damit welcher Untergrund?
Wir haben damals von unserer HTL aus bei dem Wettbewerb immer mitgemacht, damals durfte ich in dem Team aber nicht mitmachen wegen zu vielen Fehlstunden (...) daher würd ich jetzt gerne mal für mich selbst so einen Roboter zusammenbauen (und den Wettbewerb natürlich gewinnen ;) ).
edit:
Wenn ich die Motoren sehr nahe in der Mitte positioniere, die Reifen sehr weit außen, funktioniert dass dann überhaupt gut, weil dann muss ja die Verbindungswelle ziemlich lange sein (bzw. da ist ja dan auch das Gesamte Gewicht oben und das ganze hat dann ja eine Hebelwirkung die sehr groß ist...).
HeXPloreR
23.06.2013, 20:19
jetzt überlegen wir mal weiter....der Motor ist nicht nur ein Punkt im Fahrzeug sondern er hat auch eine Länge und Breite und ein Gewicht... irgendwo muss er halt hin. Und keiner hat gesagt das der Motor in Hamburg stehen soll und Reifen in München antreibt. Etwas wiegen wird das auch, jenachdem was man zum bauen benutzt.
Warum ist das ganze Gewicht oben? - überleg nochmal...ist doch Dein roboter - baue ihn so wie Du meinst Erfolg zu haben.
Frage: Wenn allgemein die Motoren (gesamt Schwerpunkt des Fahrzeugs, also möglichst der Akku auch) so tief wie möglich liegen - ist das gut oder schlecht für die Fahrphysik?
Gewinnen sollst Du...selbstverständlich.
Vielleicht machst Du eine Skizze mit den benötigten Teilen und ordnest die mal so an wie Du meinst.
Besserwessi
23.06.2013, 20:36
Das Gewicht sollte schon auch unten sein. Es ist halt ein Kompromiss zu finden das man mit dem Gewicht möglichst nach unten und zu Mitte kommt, aber eine absolute Bedingung ist das nicht nur hat ein Ziel. Schon wenn der Schwerpunkt nicht höher liegt als etwa die halbe Spurbreite ist ein Umkippen praktisch ausgeschlossen. Der Schwerste Teil werden auch eher die Akkus werden, oder ggf. auch etwas zusätzliches Gewicht zum trimmen. Eine etwas längere Achse nach außen wäre ja nicht das große Hindernis und leichte und schmale Reifen schließen sich auch nicht aus.
Für Kurven mit 7,5cm Radius und ein maximale Beschleunigung von etwa 5 m/s² kommt man auf eine maximale Geschwindigkeit von nur etwa 1 m/s. So wirklich schnell darf man da gar nicht werden, aber man hat halt nur etwa 0,2 s zu anhalten bzw. zum drehen. Die Anforderungen beim Drehen sind aber nicht ohne und für einen großen Bot ggf. schon zu viel. Es ist übrigens gut möglich das der optimale Bot für den Kurs nicht die volle maximale Größe ausnutzt, sondern etwas kleiner ist, bzw. nach vorne nur dünne Ausleger für die Sensoren und Abstützung hat. Ein kleiner Bot kann sich einfach schneller drehen.
Nur so grob als mein Vorschlag würde ich eher so 20 cm breite 25 cm Länge und einen Schwerpunkt in vielleicht 2-4 cm über dem Boden einplanen. Die eher kleinen Räder halt links und rechts,etwas nach hinten von der Mitte und 2 Abstützungen vorne und hinten (je eine zum Beschleunigen und bremsen). Als maximale Geschwindigkeit halt vielleicht 1-2 m/s und genug Leistung das fast (so geregelt) die Räder durchdrehen können. So super stark müssen die Motoren dazu nicht mal sein: für vielleicht 1 kg Gewicht reichen knapp 10 N an Vorschub oder 1-2 W an Leistung im Prinzip aus. Da kommt man also auch ohne Hightech dicht an das Optimum ran, und kann ggf. auch noch zusätzliche Gewichte verteilen, also z.B. eine Grundplatte aus Stahl oder Messing.
Weiß jemand, ob es so Programme gibt, mit denen man mit verschiedenen Gewichte-Einstellungen Kurven testen kann. (bei so Kriminalsendungen gabs immer mal wieder solche Programm, ja klar, im Fernsehen... Aber sowas sollte doch gar nicht "so schwer" zu programmieren sein?. Also so ein Programm, wo man 2 Räder bei einer Gewissen position setzen kann, dann die Reibung der Räder einstellen kann und dann Gewichte auf dem Gehäuse verteilen kann und sich dann anschauen kann, wie das Auto die Kurve nimmt.... sowas sollte doch gar nicht allzuschwer zu programmieren sein. (weicht dann aber natürlich ein wenig von der Realität ab, aber zum Testen wäre das schon sehr nett).
Bezüglich Skizze habe ich derzeit noch keine Ideen, der Wettbewerb ist ja erst in 9 Monaten, ich möchte alle Komponenten mal einzeln testen und erst später zusammensetzen, damit ich alles mal optimieren kann.
HeXPloreR
23.06.2013, 20:53
Ich habe noch eine Tipp für die programmierung - sieht man schön am Pololu 3p (http://www.youtube.com/watch?v=fl0CJhPiEfY&feature=player_embedded)i - dort wurde es natürlich nicht gemacht : Und zwar wenn mehrere Runden gefahren werden, könnte man vielleicht die Geraden ab etwa dem zweiten Lauf herausfiltern und beim eintritt in die Gerade schneller Beschleunigen und vor dem Austritt wieder Geschwindigkeit reduzieren.
Besserwessi
23.06.2013, 21:22
Wenn man nachher den Bot steuern will, kommt man um die Formeln zur Fahrphysik nicht so einfach herum. Das ist eigentlich relativ elementare Physik, so etwa 10 Klasse (nicht mehr als Newton oder Keppler schon konnten). Das Programm kann man sich dann selber schreiben, bzw. die Kurven mit so etwas wie Gnuplot ausdrucken um zu sehen wo man ans Limit kommt. Später sollte der Bot das Limit berechnen und entsprechend dosiert Gas geben und Bremsen Die etwas übertriebene Variante wäre dann so etwas wie ABS und Antischlupfregelung - das wird dann aber ggf. schon etwas aufwendiger zu programmieren. Bei konstantem Untergrund reicht aber wohl auch das berechnen aus der Bahn die man fährt. Parameter wie die Haftung am tatsächlichen Boden muss man dann ggf. vor Ort anpassen.
In erste Näherung sollte es reichen die Bewegung des Schwerpunktes und die Rotation um die Vertikale Achse zu betrachten. Zum verfeinern kommen dann ggf. noch die Kräfte auf die Rutscher gegen Kippen vorne und hinten dazu und dann als nicht mehr ganz so einfaches extra der Drehimplus der Motoren selber. Da macht es dann ggf. schon einen Unterschied ob das Getriebe die Drehrichtung invertiert oder nicht - von der Anschauung her wäre es wohl besser wenn der Motor entgegen dem Rad dreht, also lieber eine 3 oder 5-stufige als eine 2 oder 4 Stufige Untersetzung.
Wenn ich mich richtig erinnere, dann fährt man doch die Strecken 3 mal und nimmt die schnellste Zeit von den 3 Versuchen. Könnte man dann nciht das erste Mal die Strecke langsam abfahren, die kurven Usw. genau ausmessen und dann alles abspeichern. Dann berechnet man die "optimale Fahrt" und fährt nur noch nach dem Plan bzw. nimmt nur noch die Sensoren für die "Feinjustierung" z.b. wenn man leicht schräg fährt.
Bzw. ich hätte auch noch die Webcam genommen um Kurven frühzeitig zu erkennen und daruaf zu reagieren.
Ist eigentlich der Abstand von 2 CNY70 Sensoren bei solchen Rennen "tragisch"? Sonst könnte man ja auch zwei Reihen einbauen und die hintere Reihe um 180° gedrehte CNY70. Also so, dass die LEDs dort sind, wo bei der ersten Reihe die Empfänger sind and vice versa. Oder bringt einem das so "nicht viel mehr"? (also damit ich genau erkenne wo die Linie Endet)
edit: Hm bezüglich der ganzen Mechanik, weiß jemand obs dazu ein gutes Buch gibt (was nicht zu sehr Theorielastig ist sondern mit eher Praxisbeispielen und locker geschrieben. Ich lese sowas viel Lieber in einem Buch anstatt es mir im Internet rauszusuchen)
HeXPloreR
23.06.2013, 22:01
Also ich weiß nicht wie oft man diese Strecke fährt.
...
Bzw. ich hätte auch noch die Webcam genommen um Kurven frühzeitig zu erkennen und daruaf zu reagieren.
Ich würde ja erstmal anfangen etwas zusammen zu bauen, dann kann man sehen ob es besser geht oder noch ne Webcam drauf passt.
Also das mit den gedrehten CNY70 versteh ich jetzt nicht. Du hast doch eine Linie, wenn diese Linie von einem (zb links) Sensor der vorderen zweien "erkannt" wird dreht er dahin...solange bis wieder alles gut ist. Nur weil ich jetzt schreibe "der vorderen Sensoren" bedeutet es nicht das auch Hintere gibt, es soll eher bedeuten/verdeutlichen das diese Sensoren vielleicht vorne angebracht werden sollten. Hattest Du das nicht auch schon mal gefragt ... wenns Dir gefällt, baue es so ein. Aber frag bitte bitte nicht ständig nach ob nun was bringt. Wurde dies nicht beantwortet?
Nein hab hab was anderes bei der zweiten (jetztigen) Frage gemeint. Und zwar ist ja das Teil CNY70 ziemlich groß bzw. breit. Um jetzt dünne Linien ebenfalls zu erkennen (bzw. den Rand einer Linie genauer) wäre meine Idee, 2 Reihen hintereinander anzubringen aber eben verschoben. z.b.
C1 C2 C3
C4 C5 C6
(edit: Geht leider nicht, denkt euch vor dem C4 eine Leertaste dazu, das Forum löscht sowas automatisch)
Und ich fahre jetzt leicht mit einem Winkel zuweit nach links.
Betrachtung ohne der 2ten Reihe (C4-C6):
D.h. C2 & C3 zeigt an, dass darunter eine schwarze Linie ist (aber sie ist nur teilweise unter C3 und teilweise unter C2) Dabei wird es immer weniger unter C2 und immer mehr unter C3. D.h. ich sehe es sehr "spät", dass mein Roboter leicht von der Spur abkommt. Wenn ich jetzt aber noch eine zweite Reihe mit verschobenen Sensoren habe, habe ich im Prinzip eine bessere Auflösung. Weil Dann wäre trotzdem bei C2 und C3 Spannung vorhanden, aber nur bei C5 und nicht bei C6 (nur jetzt mal als Beispiel). Dadurch bekomme ich eine Bessere Auflösung von der Fahrstrecke (was mir beim optimieren des Fahrweges helfen könnte).
Und meine Frage war jetzt, ob man aus Erfahrung sagen kann, ob sowas "zu viel Aufwand ist da man dadurch fast keinen Gewinn bekommt".
Besserwessi
23.06.2013, 22:43
So weit ich das gelesen habe sind die Linien im Wettbewerb recht dick, da braucht man keine Sensoren mit super hoher Auflösung. Die CNY70 detektieren auch einen Bereich ziemlich in der Mitte des Sensors, je nach Abstand etwa 1-5 mm bereit. Vor allem mit etwas mehr Abstand (und der sollte nicht zu sehr variieren) kann der Sensor die ganze Breite auswerten, zumindest wenn man es analog macht. Wenn man als digitale Auswertung etwas mehr Auflösung haben will, wären 2 Reihen hintereinander sicher OK. Man könnte sich ggf. überlegen statt der CNY70 getrennte LEDs und Fototransitoren zu nehmen: wenn man immer abwechseln LED und Empfänger hat, ließe sich durch umschalten der LEDs auf je die Hälfte auch noch jede LED mit 2 Emfängern nutzen, gemultiplext mit einem kleinen Zeitversatz von vielleicht 1 ms oder so. In der 1 ms bewegt sich der Bot um vielleicht 1 mm - das sollte zu vernachlässigen sein. Also etwa 7 LEDs und 6 Empfänger würden dann schon 12 Empfangsbreiche geben. Ganz ohne ein gewisses Probieren geht es bei den Empfängern aber nicht, denn so super genau sind die Datenblätter da bei der Optik nicht, und auch die Farben sind wie man gesehen hat nicht so eindeutig.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.