-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Hexabot

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847

    Hexabot

    Anzeige

    Hallo,

    ich wage mich nun an einen Hexabot mit 18 Servos, der von einem RPi gesteuert wird. Als Servoboard habe ich dieses verwendet: Servoboard
    Funktioniert soweit ganz gut.

    Nun zu meinen Fragen:

    - Ich verwende die Library von Adafruit. Damit drehen die Servos mit voller Geschwindigkeit. Gibt es einen Weg, die Geschwindigkeit zu drosseln?
    - Ziel ist es, den Bot mit einem XBOX-Controller zu steuern. Gibt es hierzu schon Erfahrungen?
    - Welchen Servoakku soll ich verwenden?

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    UPDATE: Einen Teilerfolg habe ich bereits erziehlt: Ich habe es geschafft, einen Servo mittels XBOX Controller zu steuern:

    http://youtu.be/qnCina1r5Rk

    Hilfe dazu habe ich hier gefunden.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847

    Hilfe bei Python

    Nun brauche ich Hilfe beim Programmieren:

    Code:
    #!/usr/bin/python
    
    from Adafruit_PWM_Servo_Driver import PWM
    import xbox_read
    import time
    
    # ===========================================================================
    # Example Code
    # ===========================================================================
    
    # Initialise the PWM device using the default address
    pwm = PWM(0x40)
    pwm2 =PWM(0x41)
    # Note if you'd like more debug output you can instead run:
    #pwm = PWM(0x40, debug=True)
    
    servoMin = 200  # Min pulse length out of 4096
    servoMid = 375
    servoWidth = 200
    steer = servoMin
    servoMax = 550  # Max pulse length out of 4096
    
    def setServoPulse(channel, pulse):
      pulseLength = 1000000                   # 1,000,000 us per second
      pulseLength /= 60                       # 60 Hz
      print "%d us per period" % pulseLength
      pulseLength /= 4096                     # 12 bits of resolution
      print "%d us per bit" % pulseLength
      pulse *= 1000
      pulse /= pulseLength
      pwm.setPWM(channel, 0, pulse)
    
    pwm.setPWMFreq(60)                        # Set frequency to 60 Hz
    
    for event in xbox_read.event_stream(deadzone=12000):
    
    # Nach vor laufen
            if event.key=='Y1': # Linker Joystick nach vor
    #       time.sleep(1)
                    pwm.setPWM(10, 0, 350)
                    pwm.setPWM(9, 0, 550)
                    pwm.setPWM(8, 0, 500)
    #       time.sleep(1)
                    pwm.setPWM(10, 0, 350)
                    pwm.setPWM(9, 0, 300)
                    pwm.setPWM(8, 0, 250)
    Ich möchte, dass der Bot beim Drücken der Taste "Y1" des XBOX Controllers nach vor läuft. Mit dem geposteten Code funktioniert das nur teilweise.
    Im Grunde will ich eine Schleife einbauen, die die Servos zwischen 2 Stellungen hin und her bewegt, solange die Taste gedrückt wird.
    Wie mache ich das richtig?
    Bitte um Hilfe, danke.
    Geändert von pinsel120866 (28.12.2014 um 11:21 Uhr)

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    ich bin einen Schritt weiter:
    Code:
    for event in xbox_read.event_stream(deadzone=12000):
             while event.key=='X':
                    pwm.setPWM(10, 0, 350)
                    pwm.setPWM(9, 0, 550)
                    pwm.setPWM(8, 0, 500)
                    time.sleep(1)
                    pwm.setPWM(10, 0, 350)
                    pwm.setPWM(9, 0, 300)
                    pwm.setPWM(8, 0, 250)
                    time.sleep(1)
                    pwm.setPWM(10, 0, 350)
                    pwm.setPWM(9, 0, 550)
                    pwm.setPWM(8, 0, 500)
                    time.sleep(1)
    Ich weiss nur nicht, wie ich aus der while-Schleife rausspringen kann.

    Möglichweise kann mir ja hier jemand helfen?

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    Nun habe ich das Projekt soweit fertig. Die ersten Schritte sind noch etwas wackelig, aber das liegt am "weichen" Chassis.
    http://youtu.be/NsqLgpKzViY

    Gesteuert wird mir einem XBOX Controller.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken IMG_20150124_140310.jpg   IMG_20141231_173848.jpg  

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    24558
    Alter
    39
    Beiträge
    1.356
    Hallo Pinsel,

    ein sehr schönes Projekt hast Du da bisher umgesetzt =D>

    Mich würde interessieren "wie schnell das Programm" in dieser Ausbaustufe im Endeffekt auf dem Pi läuft - Kannst Du die Zeit messen?

    Viele Grüße
    Jörg
    Geändert von HeXPloreR (25.01.2015 um 10:15 Uhr)
    "Es ist schwierig, jemanden dazu zu bringen, etwas zu verstehen, wenn er sein Gehalt dafür bekommt, dass er es nicht versteht" [Upton Sinclair] gez-boykott

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    Hallo,

    messe ich gerne, wenn du mir sagst wie...

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    24558
    Alter
    39
    Beiträge
    1.356
    Hallo pinsel,

    ich dachte an ein Oszilloskop und dann am besten einen Schleifen Durchlauf per extra high/low Pin abstecken.
    Vermutlich wird es sowieso nicht wiederholbar genau werden - aber ein ungefähr Wert würde mir hier schon reichen.
    Aber bitte, falls vorhanden, keine "Waits" mit messen.
    Sollte doch gehen, oder?

    Hast Du inverse Kinematik drin?

    Viele Grüße
    Jörg
    "Es ist schwierig, jemanden dazu zu bringen, etwas zu verstehen, wenn er sein Gehalt dafür bekommt, dass er es nicht versteht" [Upton Sinclair] gez-boykott

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    Hallo Jörg,

    ich fürchte, meine Elektronikkenntnisse reichen nicht aus, deinen Wunsch zu erfüllen. Oszilloskop habe ich auch keines. Inverse Kinematik wäre interessant, müsste ich mich aber noch schlau machen wie man das in Python programmiert.

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Wenn du ein DMM mit Frequenzmessung hast könntest du einfach statt des oszi das DMM nehmen.

    MfG Hannes

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. CFK Hexabot
    Von MichaF im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 14
    Letzter Beitrag: 19.08.2010, 23:03
  2. Hexabot Spinne
    Von Draic-Kin im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 104
    Letzter Beitrag: 16.02.2009, 00:34
  3. hexabot
    Von patrickgera im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 29.04.2008, 23:09
  4. Hexabot
    Von Derboss im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 36
    Letzter Beitrag: 22.09.2007, 12:32
  5. Ferngesteuerter Hexabot
    Von im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 4
    Letzter Beitrag: 30.08.2004, 20:04

Berechtigungen

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