- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 12

Thema: Sensoempfehlung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2016
    Beiträge
    6

    Unglücklich Sensoempfehlung

    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
    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

  5. #5
    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 { ... }

  6. #6
    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.

  7. #7
    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.

  8. #8
    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

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.308
    Falls es jemand interessiert: Die Mechanik wurde (ich meine) letztes Jahr in einer Ausgabe von c't Make (ehemals Hacks) erklärt.
    Ich programmiere mit AVRCo

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2016
    Beiträge
    6
    Ich habe gemerkt, dass mein Arduino Due nicht kompatibel zu meinem Motor shield (Adafruit Motor shield v2) ist undda evtl. ein Umbau mit 3,3V logic Jumper erforderlich ist, und da ich den erforderlichen Speicher von meiner Bewegung nicht einschätzen kann bi nicht in der Lage einen Mikrocontroller auszuwählen, hätte mir evtl. jemand einen KombinationsVorschlag was diesen E-Motor + Arduino Board + Motor Shield + Distanzsensor (Ultraschall/infrarot)
    E-Motor: https://www.conrad.de/de/micro-getri...n-1289388.html

Stichworte

Berechtigungen

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

12V Akku bauen