-

+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 8 von 12

Thema: Delta X 4 Robot

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

    Delta X 4 Robot

    Hallo zusammen,

    ich besuche dieses Forum schon seit einiger Zeit, und wollte nun auch meinen Beitrag dazu leisten.

    Das Gestell für diesen Roboter habe ich aus Aluminium gefertigt. Der Hauptcontroller ist ein Atmega 1284. Jedes Bein hat dann noch mal seinen eigenen Controller (Atmega 32) die die Befehle des Hauptcontrollers per SPI empfangen. Als Servos habe ich die MC 620 MG benutzt. Gesteuert wird das ganze über eine 35 Mhz Modellbau Funkanlage die ich schon seit 15 Jahren im Keller liegen hatte. Die Bauzeit betrug, mit vielen Unterbrechungen, ca. 6 Monate. Dies ist auch mein erstes Projekt gewesen.

    Hier nun noch ein Video und 2 Bilder.

    http://www.youtube.com/watch?v=G9RhdZQy3xo
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken DeltaBot 1.jpg   Delta Bot 2.jpg  

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Bammel
    Registriert seit
    11.12.2004
    Ort
    Bremen
    Alter
    27
    Beiträge
    1.400
    Hallo,

    das ist mal eine geniale idee der fortbewegung! gefällt mir

    grad mich persönlich interessiert auch die ansteuerung eines Deltapod's

    die fussspitzen beschreiben die einfach eine gerade oder auch kurven? also wenn den drehungen machst.

    planst du noch die drehung des körpers ein?

    soll er auch autonom agieren?

    Gruß, Bammel
    Der miniatur Quadrocopter: www.nanoquad.de

  3. #3
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    52
    Beiträge
    5.705
    Blog-Einträge
    8
    Hallo

    Sehr schön. Gedanklich bin ich auch schon soweit, allerdings plane ich die Beine aus Gewichtsgründen inzwischen "Upside Down":

    http://www.roboternetz.de/community/...lker-3D-Modell

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  4. #4
    Moderator Begeisterter Techniker Avatar von tucow
    Registriert seit
    16.01.2006
    Ort
    Düsseldorf
    Alter
    29
    Beiträge
    268
    Hallo LetsBuildBots,

    sehr gute Arbeit! Besonders gefällt mir die Ansteuerung der Servos, kannst Du darüber etwas mehr preisgeben?
    Zum Beispiel wie Du den SPI Bus anbindest, die Controller der Beine zeitnah auswählst und ganz besonders wie das Timing der Servos aussieht.


    Gruß
    tucow
    Gruß
    Andreas




    Mein: Humanoide // nanoCopter Projekt
    Das Raspberry Pi als: Wifi Access Point // Wifi Router

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    10.12.2011
    Beiträge
    6
    Hallo,

    @ Bammel

    Da dies ja auch bisher mein erste Programm für einen Microcontroller ist, hab ichs mir erst mal einfach gemacht und die ganzen Bewegungen linearisiert. Der Haupcontroller sendet einen Punkt (x,y,z) an den Beincontroller. Dieser berechnet daraus die Position der Fussspitze und bewegt die Servos dementsprechend auf dem direkten weg dorthin. Bei den Drehungen hab ich auch einfach die Punkte der Tangente eines Kreises hergenommen.

    Das Autonome agieren des Bots währe der nächste Schritt, nur weis ich noch nicht genau was hier am zielführensten wäre. Hab Ihr vielleicht einen Vorschlag?

    @radbruch
    Ein Delta Bot mit 2 Beinen ist auch eine super Idee!

    @ tucow
    ich hab für jedes Bein erstmal die Punkte fest im Hauptcontroller hinterlegt für eine Bewegungsfolge z.b.:

    void left(void)
    {
    send_koordinates(1,50,50,-110); // Bein 1 hoch und nach vorne heben
    send_koordinates(3,-50,-50,-110); // Bein 3 gleichzeitig ebenso
    _delay_ms(300);
    send_koordinates(1,50,50,-140); // Bein 1 absetzen
    send_koordinates(3,-50,-50,-140); // Bein 3 absetzen
    _delay_ms(300);
    send_koordinates(2,50,-50,-110); // Bein 2 hoch und nach vorne heben
    send_koordinates(4,-50,50,-110);// Bein 4 gleichzeitig ebenso
    _delay_ms(300);
    send_koordinates(2,50,-50,-140);// Bein 2 absetzen
    send_koordinates(4,-50,50,-140); // Bein 4 absetzen
    _delay_ms(300);
    send_koordinates(1,-50,-50,-140); // Bein 1 nach hinten schieben , bewirk das der Körper sich nach vorne bewegt
    send_koordinates(2,-50,50,-140); // Bein 2 nach hinten schieben , bewirk das der Körper sich nach vorne bewegt
    send_koordinates(3,50,50,-140); // Bein 3 nach hinten schieben , bewirk das der Körper sich nach vorne bewegt
    send_koordinates(4,50,-50,-140); // Bein 4 nach hinten schieben, bewirk das der Körper sich nach vorne bewegt
    _delay_ms(300);

    // unterschiedliche Vorzeichen, da die Beine jeweils um 90 Grad gedreht angeordnet sind
    }

    (Beinnummer, x,y,z)

    Der Slave (Beincontroller) läuft dann in einer Schleife von 16ms (= PWM für die analogen Servos). Am Anfang der Schleife wird gewartet bis die PWM Pulse fertig sind (max 3 Millisekunden). Dann berechnet der Controller aus den Koordinaten den anzusteuernden Punkt (inverse kinematik, ca. 7 ms) und stellt die Timer dementsprechend für den Anfang des nächsten Schleifendurchlaufs ein. Der Rest ist wieder Wartezeit.
    Für die Kommunikation benutz ich das Hardware SPI der Controller mit jeweils einem Pin als Select für das Bein und den Interrupt im Chip wenn neue Daten angekommen sind.
    Die nächste Bewegungsfolge schickt der Master 500ms nach dem Abschluss der letzten. Ich hab viel mit delays gearbeitet um das zu timen (was warscheinlich nicht gerade das optimale Vorgehen ist.)

    Gruß LetsBuildBots

  6. #6
    Moderator Begeisterter Techniker Avatar von tucow
    Registriert seit
    16.01.2006
    Ort
    Düsseldorf
    Alter
    29
    Beiträge
    268
    Vielen Dank, für die Infos, das hat den Ausschlag gegeben wie ich mein Praxisprojekt (FH) realisiere. (Mehr Infos später, und nicht an dieser Stelle, soll ja dein Beitrag bleiben.)


    Was hast Du dir denn für das autonome Agieren vorgestellt, was soll er genau machen?
    Wenn er nur Sachen ausweichen soll würde ich auf Ultraschall setzen. Wobei sowas rudimentäres bei einem solchen Bot schon sehr kläglich wäre, wenn es das Einyige bleibt. Vielleicht solltest Du dich mit Bildverarbeitung beschäftigen?


    Gruß
    tucow
    Gruß
    Andreas




    Mein: Humanoide // nanoCopter Projekt
    Das Raspberry Pi als: Wifi Access Point // Wifi Router

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    10.12.2011
    Beiträge
    6
    Hallo

    freut mich wenn ich gleich helfen konnte. Falls noch weiter Fragen aufkommen einfach jederzeit bescheid sagen.
    An Bildverarbeitung hab ich auch schon gedacht. Muss ich mal bei Gelegenheit anschauen.

    Gruß
    LetsBuildBots

  8. #8
    Moderator Begeisterter Techniker Avatar von tucow
    Registriert seit
    16.01.2006
    Ort
    Düsseldorf
    Alter
    29
    Beiträge
    268
    Hey,

    was mich noch interessieren würde: Wie nimmst du die Befehle auf den µC der Beine entgegen?
    Wenn Du z.B. send_koordinates(4,50,-50,-140); aufrufst, was macht send_koordinates() mit den Variablen, wie verarbeitet sie diese und wie sendet sie die?


    Gruß
    tucow
    Gruß
    Andreas




    Mein: Humanoide // nanoCopter Projekt
    Das Raspberry Pi als: Wifi Access Point // Wifi Router

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 23.03.2011, 13:25
  2. Delta Roboter - ein Wochenendmärchen ;-)
    Von AlexAtRobo im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 8
    Letzter Beitrag: 08.03.2011, 08:11
  3. Delta Roboter
    Von Brantiko im Forum Mechanik
    Antworten: 87
    Letzter Beitrag: 26.08.2010, 23:17
  4. Delta Sigma Wandlung
    Von drafter im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 0
    Letzter Beitrag: 28.09.2005, 20:43
  5. delta-sigma wandler
    Von Mat1980 im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 04.04.2005, 19:28

Berechtigungen

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