-
        

Ergebnis 1 bis 4 von 4

Thema: Programmierung meines Hexapods

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.11.2010
    Beiträge
    14

    Programmierung meines Hexapods

    Anzeige

    Hallo

    Ich habe vor einiger Zeit schonmal von meinem Projekt berichtet.
    Ich wollte als Maturaarbeit einen Roboter bauen, des sich gleich wie eine Ameise bewegt. Dazu habe ich den Körper der Ameise im Masstab 1:115 vergrössert und in dieser Grösse einen Roboter gebaut. Danach analysierte ich den Schritt der Ameise genau und habe für jedes einzelne der 18 Gelenke eine Funktion aufgestellt, die die genaue Bewegung des Gelenks beschreibt im Verhältnis zur zurückgelegten Distanz des Körpers. Wenn die Ameise einen Schritt macht, bewegt sich ja der Körper nach vorne. Diese Bewegung habe ich in 12 gestoppt und die Winkel in jedem Punkt ausgemessen (mit GeoGebra^^). Auf jeden Fall wollte ich damit klar machen, dass die x-Achse bei allen 18 Funktionsthermen gleich ist.

    Mein Problem ist nun, dass ich nur noch 1.5 Wochen Zeit bis zur Abgabe habe, aber der Roboter noch nicht programmiert ist.
    Ich habe leider keinerlei Ahnung vom Programmieren und wollte daher fragen, ob mir jemand kurz helfen könnte.
    Ich verwende ein Arduino Mega zur Steuerung der Servos.
    Die ganz grundlegenden Schritte konnte ich schonmal anschauen und ich habe die Servos schon so getrimmt, dass alle Winkel (Nicht die Servos!) in einer 90° Position sind. Ich kenne also die Abweichung der einzelnen Servos. Hier mal der bisherige Code:

    #include <Servo.h> //Definition der Servobibliothek


    Servo s11,s12,s13,s21,s22,s23,s31,s32,s33,s41,s42,s43,s5 1,s52,s53,s61,s62,s63;
    //Deklaration der Servoobjekten


    //Servos werden ports zugeordnet
    void setup()
    {
    s11.attach(25);
    s12.attach(23);
    s13.attach(27);
    s21.attach(37);
    s22.attach(35);
    s23.attach(39);
    s31.attach(22);
    s32.attach(26),
    s33.attach(24);
    s41.attach(49);
    s42.attach(53);
    s43.attach(51);
    s51.attach(34);
    s52.attach(3;
    s53.attach(36);
    s61.attach(52);
    s62.attach(4;
    s63.attach(50);
    }




    //Setze alle Servos in 90' Position
    void neutral()
    {
    s11.write(90-2);
    s12.write(90-3);
    s13.write(90-10);
    s21.write(90+4);
    s22.write(90-;
    s23.write(90-7);
    s31.write(90+4);
    s32.write(90-3);
    s33.write(90-10);
    s41.write(90+4);
    s42.write(90+;
    s43.write(90-4);
    s51.write(90-2);
    s52.write(90+;
    s53.write(90+3);
    s61.write(90+7);
    s62.write(90+6);
    s63.write(90+6);
    }








    void loop()
    {
    neutral();
    }

    Jetzt muss ich wie gesagt noch den Schritt programmieren.
    Äusserst nützlich wäre ein Befehl, wo ich alle Funktionen der Servos eingeben könnte, die dann alle simultan mit den Werten von 0-12 durchgegangen werden. Wie geht das am einfachsten?

    Lieber Gruss
    Luca

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von avrrobot
    Registriert seit
    12.01.2011
    Beiträge
    210
    Blog-Einträge
    9
    Hallo,
    Es wäre schön, wenn du mal einen Link von dem Thread posten würdest.
    Ach ja: Sowas wäre vielleicht einfacher in code Tags zu schreiben.
    Da ich jetzt den andren Thread nicht kenne,
    kann ich nur vermuten, dass du c verwenden willst.(wegen dem #include....)
    Aber das mit dem s11.attach.. sieht eher wie java aus,
    aber egal, ist ja noch kein Quellcode.
    Welchen Controller willst du verwenden?
    Und ist es nicht etwas spät, erst so kurz vor Abgabe über die Programmierung nachzudenken oder gehts auch ohne?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    23.11.2010
    Beiträge
    14
    Also:
    1. Meinst du mit dem Thread die vorherigen Posts von mir? -->http://www.roboternetz.de/community/...t=maturaarbeit
    2. Ich verwende einen Mikrocontroller von Arduino (www.arduino.cc). Die liefern auch eine Software, mit der man das Board programmieren kann. Geschrieben wird in einer Mischung aus c und c++. Die Software übersetzt dann alles für den Controller(glaube ich).
    3. Ja es ist sehr spät um mit der Programmierung anzufangen. Dennoch ändert das nichts. Der Grund für den Verzug liegt darin, dass es sehr aufwändig war einen Roboter zu bauen, ohne jegliche Vorlagen zu verwenden und den genauen Schritt der Ameise zu analysieren. Die Ameise hat nämlich 3 unterschiedlich lange Beinpaare, was die ganze Sache zusätzlich verkompliziert.
    Ausserdem hatte ich zu Beginn keine Ahnung von Robotik und Elektronik.

    Lieber Gruss
    Luca

  4. #4
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    30
    Beiträge
    947
    Hallo Luca!

    Welche Version des Arduino Mega Boards verwendest du? Und welche Version der GUI?
    Bis irgendeiner Version von Arduino (glaube es ging um GUI) war die Ansteuerung von so vielen Servos mit dem MEGA-Board nicht möglich. Da waren die Servo-Bibliotheken noch etwas buggy. Oder hast du es schon ausprobiert und es läuft alles?

Ähnliche Themen

  1. Bau eines Hexapods. Schwierigkeitsgrad?
    Von 5Volt-Junkie im Forum Mechanik
    Antworten: 30
    Letzter Beitrag: 02.01.2012, 00:07
  2. Geräusche eines Hexapods
    Von Zeus73 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 4
    Letzter Beitrag: 01.02.2009, 20:16
  3. Bewegungskosmetik für Hexapods
    Von ikarus_177 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 13
    Letzter Beitrag: 24.01.2009, 20:57
  4. Quad- und Hexapods Neue Moeglichkeiten - Video
    Von nomad im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 2
    Letzter Beitrag: 05.03.2007, 12:40
  5. Algorithmen für Hexapods
    Von tichy im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 8
    Letzter Beitrag: 11.01.2006, 16:24

Berechtigungen

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