- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Sensoempfehlung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2016
    Beiträge
    6

    Unglücklich Sensoempfehlung

    Anzeige

    E-Bike
    Hallo liebe Com,

    ich bin neu hier und freue mich unter euch mich einzumischen. Ich studiere Maschinenbau und bin momentan in einem Projekt im Bereich Robotik mitverwickelt. Und zwar möchten wir einen kleinen Krabbelroboter der nach dem Jansen-Prinzip läuft bauen und benötigen dafür Sensoren wie z. B. einen Abstandssensor, Kantensensor. Da ich noch ganz neu bin im Robotik-Bereich, habe ich nicht eine große Ahnung von Abkürzungen und Fachbegriffen. Wir werden auf jeden Fall den Roboter mit einem Arduino DUE verbauen, 2 Servomotoren per Motor shield mit dem Arduino verbinden. Dazu möchten wir noch einen Positionssensor einbauen, der das Computer-Maus Prinzip nutzt, also so ein Laser unter dem Roboter der die Position misst und feststellt und einspeichert. Theoretisch soll also nach benutzen des Roboters auf dem PC der zurückgelegte weg angezeigt werden.
    Ich hoffe ich habe euch nicht mit Anforderungen zerschlagen und es ist nicht zu kompliziert was ich da von meinem Projekt verlange, ich bin für jegliche Tipps, Vorgehensweisen, Erfahrungen und Empfehlungen oder Sonstiges offen.

    http://previews.123rf.com/images/pnp...eie-Bilder.jpg

    Hier ein Beispiel : https://www.youtube.com/watch?v=HLHGyRVOEss

    Der Sensor bringt den Roboter an einer Tischkante dazu zu stoppen und sich umzudrehen. Kann mir jemand solch einen Sensor der einfach und leicht ist empfehlen?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    542
    Blog-Einträge
    17
    Die Krabbelmechanik ist sehr schön und beeindruckend. Wenn du dein Krabbeltier fertig hast, poste uns bitte ein Video.

    Die Tischkanten-Sensoren in dem Video sehen mir nach Sharp Distanzsensoren, z.B. so was hier
    Die Auswertung der Sensoren kann man recht einfach realisieren - für diese Art von Kantenerkennung wie in dem Video reicht schon ein einfacher Vergleich des ADC Rohwertes mit einem Festwert.
    Geändert von witkatz (29.11.2016 um 15:20 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Man sieht im Video drei Ausleger mit Sensoren.
    Das sieht stark nach Sharp GP2 Infrarot Range Sensoren aus.
    Da es dort die unterschiedlichsten minimal und maximal Reichweiten gibt, hängt die Auswahl also stark von der Größe und der Position der Sensoren am Roboter ab.
    http://webbot.org.uk/WebbotLibDocs2/44839.html
    Da bei den Sharp Sensoren die Kennlinie nicht Linear ist, muß man sich dann beim Code auch noch mit Lookup Tabellen befassen um die Kurve in lineare Abstandswerte umzurechnen.
    Je nachdem wie Robust (zuverlässig) die Sensorwerte sein sollen, kann man auch noch zusätzlich Ultraschall Sensoren wie den hc-sr04 nehmen.
    Damit kann man dann Materialien die für IR durchsichtig sind per US erfassen und US durchlässige (z.B. Bespannung eines Lautsprechers) Stoffe per IR erfassen.
    Also das Fehlerrisiko minimieren.

    Man kann auch überlegen, ob man die Sensoren beweglich macht.
    Der Mensch hat auch 2 Augen die nach vorne ausgerichtet sind, kann aber den Kopf in zwei Achsen drehen und so sein gesichtsfeld deutlich vergrößern.

    Ist halt eine Frage der Aufgabenstellung sowie Zeit und Geld das man zur verfügung hat.

    Das Prinzip hinter der optischen Maussensoren nennt sich übrigens "optisch Fluß".
    https://en.wikipedia.org/wiki/Visual_odometry
    http://ri.cmu.edu/pub_files/2011/9/S...w_Odometry.pdf

  4. #4
    HaWe
    Gast
    für die Sharp-Sensoren gibt es noch andere Möglichkeiten als Lookup-Tabellen, gerade auf dem Due lassen sich die Entfernungen gut per Formel ausrechnen:

    Dcm = ( c * (1/ADv) * (1023/Vref) ) - k;
    Dcm == Distanz in cm
    ADv == AD-value (0...1023)
    Vref (bei Due) == 3.3
    k_GP2D120=0.42;
    k_GP2D12=4;
    k_GP2Y0A21=2;
    optional:
    c = 1,0 (meist 1 +/- 0,3) (kann man nacheichen)

    Die Sharp-Sensoren sind echt klasse, haben einen recht scharfen Erkennungswinkel, nur bei Glasscheiben als Hindernis funktionieren sie erwartungsgemäß nicht.
    http://www.mindstormsforum.de/viewto...tart=45#p68970

    Ultraschallsensoren (USS) haben einen größeren Detektionswinkel, versagen eher bei "flauschigen" Hindernissen,, aber die Messungen sind störanfälliger, insb. bei Reflex-Echos von mehreren gleichzeitig verwendeten USS. ich empfehle hier eher i2c-Sensoren als rein digitale, die man selber triggern muss. Auch muss man aufpassen, da viele (z.B. HC-SR04) nur 5V-kompatibel sind, und nicht ohne weiteres mit den 3,3V vom Due laufen.
    http://www.mindstormsforum.de/viewto...p=69272#p69272
    http://www.mindstormsforum.de/viewto...p=69272#p69273



    An einem Lasersensor, der die Bewegung über mehrere cm misst (und nicht nur im mm-Bereich wie bei einer Maus) wäre ich selber auch äußerst interessiert.

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    .. Da bei den Sharp Sensoren die Kennlinie nicht Linear ist, muß man .. um die Kurve in lineare Abstandswerte umzurechnen ..
    Bei mathematischen Fragen neige ich sehr zu Einfachheit, Vereinfachung und (Stellen-)Abstrichen. Wer nicht immer (unsinnigerweise) bis vier oder fünf Stellen hinterm Komma rechnen will (ist Buxtehude nun 433,23 km weg oder nur 433,18 - ist doch wirklich Kappes) der kann sich vielerlei Aufwand sparen. Hoher (rechnerischer) Aufwand zeigt ja eher das Gegenteil von guten Mathekenntnissen.

    Beim Sharp - besser: bei den von mir benutzen GP2D120ern - rechne ich entsprechend vereinfacht, siehe hier. Dabei berücksichtige ich natürlich die Gültigkeitsgrenzen des Sharps.

    Mit dem Ergebnis kann man jetzt ein Fenster abstecken, Nah- und Ferngrenze, sodass man sowohl Hindernisse als auch Abgründe erkennt. Dieses System läuft beim Dottie - aber auch beim MiniD0, da aber mit deutlich einfacheren+günstigeren Entfernungssensoren.

    Nachtrag: Da fällt mir Team Iwan ein und dessen sauber-ausführliche Darstellung von Messfunktion und Funktionsgrenzen eines Sharps.
    Geändert von oberallgeier (29.11.2016 um 13:58 Uhr)
    Ciao sagt der JoeamBerg

  6. #6
    HaWe
    Gast
    einer der vielen Vorteile vom Due ist doch u.a., dass er mit floats sehr schnell rechnet, und man muss sich bei floats auch überhaupt keine Gedanken um die Stellen machen - es sei denn, man wollte mit double rechnen.

    ein Einzeiler für einen Due-Sketch berechnet die Entfernung direkt aus dem ADC-Wert, und das ist doch nun überhaupt kein Hexenwerk:
    Code:
    if(analogRead(A0)) !=0)  {float Dcm = ( 1.0 * (1/ (float)analogRead(A0) ) * (1023.0/3.3) ) - 4.0;}
    Werte für den Sensorport (A0), c (1.0) und k (4.0) können variiert und explizit oder über Konstanten eingebunden werden.

    Anm.:
    Sinnvollerweise deklariert man
    float Dcm;
    auch bereits im Funktions-Kopf oder global, nicht erst lokal innerhalb der if-Klammer {...}.

    und natürlich kann man Gültigkeitsgrenzen der Sharp-Sensorbereiche noch gesondert behandeln.
    Ansonsten erfolgt die Auswertung ganz normal über

    if( Dcm > Grenzwert ) { ... }
    else { ... }

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2016
    Beiträge
    6
    Vielen Dank für die hilfreichen Antworten bin ein ganzes Stück schon weitergekommen, könnte mir einer kurz erklären was ADC und Lookup Tabellen bedeutet?
    Und noch eine Frage wäre: Wie finde ich eine passende Kombination von einem passendem Elektromotor (für Modellbau, wie beim Rennauto) und einem Motorshield zum Arduino? Also mein Krabbelroboter soll ja 2 Elektromotoren als Antrieb haben, aber da gibt es ja Komplikationen was die Stromversorgung, Voltanzahl etc. betrifft und man einen Motorshield benutzen muss.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Zitat Zitat von efkalasap Beitrag anzeigen
    Vielen Dank für die hilfreichen Antworten bin ein ganzes Stück schon weitergekommen, könnte mir einer kurz erklären was ADC und Lookup Tabellen bedeutet?
    ADC: Analog Digital Converter [Analog-Digital-Umsetzer]

    Lookup-Tablelle: Statt Werte im Betrieb zu berechnen, werden die Ergebnisse vorberechnet und im Speicher abgelegt. Das funktioniert, wenn die Anzahl an möglichen Eingabewerten nicht zu groß ist. Die ADCs des Arduino sind 10-Bit Umsetzer -> 2^10 = 1024 mögliche Werte -> Lookup-Tabelle mit 1024 Werten nötig.

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    36
    Beiträge
    5.070
    Sollte man mit einer kurzen Suche finden.
    ADC = Analog Digital Converter => Wandelt ein Analoges Signal in ein Digitales um, damit man es mit einem Controller verarbeiten kann, die Bit-Angabe gibt die Auflösung an. Die Spannung am Eingang darf max. die Referenzspannung betragen, welcher Spannungsbereich erlaubt ist, ist vom Typ abhängig. Bei Atmegas gibt es verschiedene, entweder 0-VCC, 0V bis interne Referenz (häufig 1,1V oder 2,56V) oder eine Spannung die man am Ref Anschluss anlegt, diese darf aber die Vcc Spannung nicht überschreiten.
    Als Beispiel du hast einen 8bit ADC mit 0-5V Messbereich. Legst du eine Spannung von 0V an hast du als digitales Signal ebenfalls 0, legst du 5V an, hast du ein digitales Signal von 255, bei einem 10bit ADC wäre es 1023.

    Eine Lookup Tabelle ist einfach eine Tabelle in der man nachschaut um Werte anzupassen. Als Beispiel, du hast einen Temparatursensor, der nichtlinear ist, du willst aber ein lineares Signal haben. Du legst eine Tabelle an mit den Messwerten an und den entsprechenden Temparaturen. Z.B. ADC Wert 100 entspricht 20°C, ADC Wert 120 entspricht 23°C, ADC Wert 140 entspricht 30°C. Eine Lookup Tabelle wird auch zum Kalibrieren von Sensoren u.Ä. genutzt.

    Wie du eine passende Kombination findest ist relativ leicht. Du musst zuerst wissen was du willst, Beschleunigung, welche Kräfte benötige ich, Endgeschwindigkeit,... das ist das schwierigste. Mit diesen Parametern kannst du den passenden Motor wählen, muss man Positionieren nimmt man eher einen Schrittmotor (zumindest im Hobbybereich), benötigt man nur eine Drehzahl (nicht positionieren) nimmt man eher einen DC oder BLDC Motor. Ein DC Motor ist leicht anzusteuern, dieser hat nur 2 Anschlüsse, Nachteil ist aber der Verschleiß der Bürsten, Bürstenfeuer (=Störung),... Der BLDC hat keine Bürsten, dadurch ist dieser schwieriger anzusteuern (man hat 3 Wicklungen, die man zum richtigen Zeitpunkt schalten muss). Wenn man den passenden Motor gewählt hat muss man den passenden Treiber wählen, der die nötige Spannung und den nötigen Strom verkraftet.

    MfG Hannes

  10. #10
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    .. Krabbelroboter der nach dem Jansen-Prinzip .. einen Positionssensor einbauen, der das Computer-Maus Prinzip nutzt ..
    Wie groß schätzt Du denn bei dem Jansen-Krabbeltier den Schlupf - sprich: die tatsächlich bewegte Länge wenn eine vorgegebene Länge für einen bestimmten Lauf zugrundegelegt wird ? Die Computermaus als Positionssensor ist ja nicht unbekannt und nicht unpraktsich, bringt aber keine genau reproduzierbaren Werte. Die Navigation mit der Maus ist einerseits nicht absolut sondern (nur) relativ und andererseits mit etwas Fehler behaftet. Aber ich hoffe, dass Dir das ja schon bekannt ist. Das Auslesen eines "Computermaus-Sensors" wird also eher nicht als absolute Postion zu verstehen sein sondern als Ergebnis einer mehr oder weniger genau nutzbaren Koppelnavigation relativ zum Ausgangspunkt.

    Ziemlich schön ist die Zusammenstellung über den Sensor "Computermaus" und seine Auswirkung von mausi_mic. Weitere gute Beschreibungen zur Navigation mit Mäusen bringt durch einfache Suche zahlreiche Ergebnisse.
    Geändert von oberallgeier (06.12.2016 um 14:01 Uhr)
    Ciao sagt der JoeamBerg

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen