- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 343

Thema: .: Vinculum :. - Hexabot

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Sind leider im Urlaub die Jungs von Bilex, wir eh knifflig mit diesen kleinen Chips zurecht zu kommen.
    Klicke auf die Grafik für eine größere Ansicht

Name:	Unbenannt.jpg
Hits:	25
Größe:	37,3 KB
ID:	26212

    ist halt leider mit den beiden Chips für Power und I²C so ein bisschen knifflig.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Unbenannt.JPG  
    Geändert von HannoHupmann (14.08.2013 um 12:20 Uhr)

  2. #2
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Klicke auf die Grafik für eine größere Ansicht

Name:	Foto.jpg
Hits:	47
Größe:	21,1 KB
ID:	26261

    Scheinwerfer front, Aufnahme mit 10% Leistung.

  3. #3
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    So nachdem es jetzt einige Tage ruhiger war um meinen Hexa und ihr vermutlich heute schon im Fehlschlag-Thread gelesen habt, dass mir ein Servo abgeraucht ist, gibt es nun News (wie man auf altbayrisch so schön sagt).

    1) Der Servo ist komplett hin, da hilft nur noch austauschen, daher bewegt sich Bein B auch so komisch.
    2) Die inverse Kinematik ist nun vollständig implementiert.

    Was bedeutet das?
    Ich muss die Winkel der Servos nicht mehr ausrechnen sondern sie werden berechnet aus folgenden Größen:

    Translatorisch:

    dx - die x-Richtung der Fussspitze gemessen von der Hüfte
    dy - die y-Richtung der Fussspitze auch gemessen von der Hüfte.
    --> über den Atan2 wird daraus der Winkel für die Hüfte!
    --> Mit der Höhe h werden daraus die Winkel für Schulter und Fuss

    Rotatorisch:
    hbasis - die Grundhöhe des Hexas über dem Tisch
    Winkel Querachse -Rotation um die x-Achse also wie viel der Körper sich nach vorn oder hinten neigen soll
    Winkel Längsachse - Rotation um die y-Achse, also wie viel der Körper sich links oder recht neigt.
    wy - Wo sich der Drehpunkt für Q befindet auf der y Achse
    wx - Wo sich der Drehpunkt für L befindet auf der x Achse

    Was heißt das jetzt?
    Aus den beiden Winkeln Q und L mit ihrer Position lässt sich der Körper beliebig kippen um die beiden Achsen x und y (drehen um z würde über die dx und dy werte gehen), wie bei einem Flugzeug. Durch die Parameter wx und wy lässt sich der Drehpunkt an eine beliebige Stelle auf dem Roboter (oder auch außerhalb) verschieben und so um jeden Punkt kippen.

    Ich verstehs immer noch nicht?
    Dann schaut euch das Video an:



    Wie gesagt Bein B (das Mittlere rechts) hat einen defekten Schulterservo.

    Die Kunst daran ist zum einen die reinen Formeln in Mathe aufzustellen, hier reicht aber Sinus, Tangens und Cosinus Wissen aus. Danach muss man diese Formeln schön im Programm umsetzen, was deutlich aufwendiger ist, da hier die Syntax des Programms zum tragen kommt:
    Beispiel für Bein A
    Code:
      dQ := math.Sin(math.Radians(wQ))
      dL := math.Sin(math.Radians(wL))
    
      dhAF  :=  math.FMul(dQ, math.FSub(+230.0, -wy))   
      dhABC :=  math.FMul(dL, math.FSub(-110.0, -wx)) 
      hA := math.FAdd(hBasis, dhAF)
      
    '~~~~~ BERECHNUNG SERVOWINKEL ALPHA GAMMA PHI 
      '----- Länge von Bein A ---- 
      ca_2 := math.FAdd(math.FMul(hA, hA), math.FMul(rA,rA))
      ca   := math.FSqr(ca_2)
      '----- Winkel von Hüfte A0 ----  
      phi := math.Degrees(math.Atan2(xA, yA))
      phi := math.FAdd(math.FMul(math.FSub(phi, 5.0), 8.0), 809.0) 
      Aziel[0] := math.FRound(phi)
      Aziel[0] := Aziel[0] +0
      '----- Winkel Schulter A1 ----
      alpha_P  := math.ATan(math.FDiv(rA, hA))
      alpha_PP := math.ACos(math.FDiv(math.FAdd(aa_m_bb, ca_2), math.FMul(ax2, ca)))
      alpha    := math.Degrees(math.FAdd(alpha_P, alpha_PP) )
      Aziel[1] := math.FRound(math.FAdd(math.FMul(math.FSub(alpha, 5.0), 8.0),809.0))  
      Aziel[1] := Aziel[1] - 60
      '----- Winkel Fuss A2 ----
      gamma    := math.ACos(math.FDiv(math.FSub(aa_p_bb, ca_2), abx2))
      gamma    := math.Degrees(gamma) 
      gamma    := math.FAdd(math.FMul(math.FSub(gamma, 5.0), 8.0), 809.0) 
      Aziel[2] := math.FSub(2910, math.FRound(gamma))
      Aziel[2] := Aziel[2] +80
    Hier hilft es die Berechnung in Excel aufzubauen mit einer grafischen Darstellung zu prüfen ob das überhaupt funktionieren kann bzw. was bei den Werten herauskommen muss. Leider habe ich keine Möglichkeit die Werte nach der Berechnung am Hexa ausgeben zu lassen, da er kein Display oder eine Schnittstelle dafür hat.



    Noch Fragen?
    Geändert von HannoHupmann (04.09.2013 um 21:36 Uhr)

  4. #4
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Hat jemand eine Idee wie man die Bahnkurve bzw. Trajektorie implementiert?

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    37
    Beiträge
    1.937
    Welche Bahnkurve meinst du jetzt? Das Vorranheben des Beines oder meinst du allgemein?

  6. #6
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Das was du meinst ist die inverse Kinematik, die ist nun nahezu vollständig implementiert. Was ich jetzt Suche ist die sogenannte Bahnkurve. D.h. die Trajektorie bei der sich der Roboter von A nach B bewegt. Also von einem Ausgangspunkt zu einem Zielpunkt und diesen Weg muss ich irgendwie in der Mathematik abbilden.

    - - - Aktualisiert - - -

    Das was du meinst ist die inverse Kinematik, die ist nun nahezu vollständig implementiert. Was ich jetzt Suche ist die sogenannte Bahnkurve. D.h. die Trajektorie bei der sich der Roboter von A nach B bewegt. Also von einem Ausgangspunkt zu einem Zielpunkt und diesen Weg muss ich irgendwie in der Mathematik abbilden.

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Ich würde es versuchen so zu lösen das man den Anfangspunkt und den Zielpunkt (A-Z) als Variablen, dann den Weg dazwischen in die kleinste Einheit zerlegen die die Beine sich bewegen können und dann solange auf den Anfangstpunkt aufaddieren bis man den Zielpunkt erreicht hat. Sollte auch für Koordinaten funktinieren. Habe ich selbst sovor, aber noch nicht umgesetzt. Daher ist es erstmal nur ne Idee.

Ähnliche Themen

  1. CFK Hexabot
    Von MichaF im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 14
    Letzter Beitrag: 19.08.2010, 22:03
  2. atmega und Vinculum
    Von elcomportal im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 27.05.2008, 22:47
  3. hexabot
    Von patrickgera im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 29.04.2008, 22:09
  4. LVProg - Linux Vinculum (USB Hostcontroller) Programmer
    Von Surveyor im Forum Open Source Software Projekte
    Antworten: 0
    Letzter Beitrag: 01.11.2007, 03:08
  5. Hexabot
    Von Derboss im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 36
    Letzter Beitrag: 22.09.2007, 11:32

Berechtigungen

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

12V Akku bauen