Zu Besuch beim Strandbeest – Meeting Theo Jansen

Im Februar hatte ich mich auf der Seite Strandbeest.com des Niederländischen Künstlers Theo Jansen für eine sogenannte Beach Session angemeldet. Dabei bestimmt man zunächst eine aus vier angebotenen Wochen im Sommer, ohne den genauen Veranstaltungstag zu kennen. Mit etwas Mut zur Lücke habe ich dann schon mal Urlaub eingereicht. Ende April wurde dann der geplante Veranstaltungstag bekannt gegeben – immer noch mit der Einschränkung, dass das Wetter einen Strich durch die Rechnung machen könnte.IMG_5223

Am 29. Juni war es so weit, am Strand von Den Haag hatte ich (mit ca. 40 weiteren Gästen und der Familie) „mein“ Date mit Theo Jansen. Das Wetter hat gepasst – erst auf dem rund zweieinhalb Kilometer weiten Rückweg wurden wir richtig nass :-)

7K2_5350

Theo Jansen

Wir sind von Kijkduin aus zu Fuß zum Strandpavillion „De Fuut“ gelaufen, wo wir mehr als rechtzeitig angekommen sind. Dort war schon alles aufgebaut und bereitgestellt, und Theo Jansen war dabei, ein paar letzte Handgriffe an einem der Strandbeesten zu machen – wobei das nicht so wirkte, als gäbe es jemals einen „letzten“ Handgriff.

7K2_5390

Theo Jansen und der HobbyIngenieur

Besonders bemerkenswert: Theo Jansen hatte für jeden Gast Zeit. Zeit für Fragen, Zeit für Erklärungen, Zeit für Smalltalk. So kam es, dass ich mich mit Ihm zunnächst über die Geschichte seiner Strandbeesten unterhalten habe, bevor er sich sehr ausgiebig nach meinen Versionen erkundigt und sich die Videos der verschiedenen Modelle angesehen hat.
IMG_5328Von meinen Modellen hatte ich keines dabei, aber ein paar Bauteile hatte ich vorsichtshalber eingepackt. Bisherige Strandbeest-Nachbauten waren bisher überwiegend aus Spritzguss, Rohren oder 3D gedruckt, so dass meine Laser-geschnittenen Bauteile tatsächlich noch einmal etwas Neues waren.
7K2_5441

7K2_5474Bei den Strandbeesten geht die Entwicklung weiter. Links abgebildet ein klassisches Modell mit dem bekannten Beinmechanismus. Oben eine Version ohne Beine – genannt Bruchus – die sich wie eine Raupe fortbewegt. Mehr zu den einzelnen Modellen, mehr Bilder und ein paar Videos folgen in einem weiteren Artikel.

Knolling… Knolling? Knolling!

Knolling. Soso. Nach dem der bekennende Strandbeest-Fan Adam Savage (Mythbusters/Tested.com) mit dem Begriff „knolling“ um die Ecke kam, habe ich erstmal Leo.org bemüht, um mir die Übersetzungen anzusehen – aber Fehlanzeige – nichts passendes dabei. „to knoll“ = läuten, „knoll“ (Subst.) = Hügel, kleiner Haufen. Eher das Gegenteil ist in diesem Fall gemeint: Statt eines Haufens von Teilen geht es beim Knolling um das „extreme Bauteile sortiering“. Zu dem Thema hatte ich natürlich auch noch etwas in der Schublade ;-)

In der Galerie sind einige schöne Beispiele enthalten. Wer Ordnung noch etwas mehr liebt, der kann mal unter den Stichworten „Kunst aufräumen“ bzw. „Ursus Wehrli“ auf die Suche gehen.

 

Strandbeest im c’t uplink 10.6

Peter König stellt das Strandbeest im c’t uplink Podcast vor. Das Modell der Make Redaktion ist schon ein wenig flügel- oder eher beinlahm – da ist wohl mal ein Service fällig ;-)

Was genau das Problem ist, kann ich so aus der Ferne noch nicht sagen, aber eine Vermutung steuere ich schon mal bei: Beim Transport kann es passieren, dass die Beinmechanik ein eine Position gedrückt wird, die sie im normalen Bewegungsablauf nicht erreicht. Dann blockiert das Bein und es kann vorkommen, dass das Servo mit seinem Drehmoment die Verschraubungen der Zahnräder löst.

Der Strandbeest Arduino Sketch

Ursprünglich sollte der Quelltext eigentlich beim Make Magazin auf der Seite gehostet werden, ich übernehme das jetzt mal hier. Die nachfolgenden Zeilen machen zusammengefasst folgendes: Nach der Initialisierung in setup() wird in loop() zunächst geprüft, ob an einem der beiden RC Kanäle (hier: chA) überhaupt ein Puls anliegt. Falls nein, so ist das (mindestens) beim FlySky Receiver das Signal dafür, dass keine Verbindung zum Sender besteht. Dann bekommen die Servos ein Stoppsignal.

Ist auf Kanal A ein Puls messbar, so wird auch noch der zweite Kanal gemessen. Je nach Wertebereich werden dann die Servos angesteuert.

// Strandbeest RC V1.1 -- 2016-01-19
// OHNE 45° Steuerknüppel-Stellungen
// FlySky Receiver

#include <Servo.h> 

Servo links;
Servo rechts;

#define RechtsFwd 180
#define RechtsBck 0
// Neutral kann angepasst werden, wenn Servos "kriechen"
#define RechtsNeutral 90

#define LinksFwd 0 
#define LinksBck 180
// Neutral kann angepasst werden, wenn Servos "kriechen"
#define LinksNeutral 90

#define RCchA 9
#define RCchB 8

long chA;
long chB;

void setup()
{
  // Pins für den RC Receiver auf Input
  pinMode(RCchA, INPUT);
  pinMode(RCchB, INPUT);

  //Servos anmelden und auf Neutral stellen
  rechts.attach(5);
  rechts.write(RechtsNeutral);
  links.attach(6);
  links.write(LinksNeutral);
}

void loop()
{
  //Fernbedienungskanal A abfragen
  chA = pulseIn(RCchA, HIGH, 30000);
  //Wenn =0, dann kein RC Connect
  if (chA==0)
  {
    //Servos stoppen, falls keine RC Verbindung
    rechts.write(RechtsNeutral);
    links.write(LinksNeutral);
    chA = pulseIn(RCchA, HIGH, 30000);
  }
  else
  {
    //RC Verbindung vorhanden, also auch noch 
    //Fernbedienungskanal B abfragen
    chB = pulseIn(RCchB, HIGH, 30000);
    
    if (chB < 1200) //Steuerknüppel nach links 
    { 
      if ((chA > 1300)&&(chA < 1600)) 
      // Vor/Rück in etwa in Mittelstellung? 
      { //rechtes Servo vorwärts, linkes Servo rückwärts 
        rechts.write(RechtsFwd); 
        links.write(LinksBck);
      }
    } 
    else if (chB > 1700) //Steuerknüppel nach rechts
    {
      if ((chA > 1300)&&(chA < 1600)) 
      // Vor/Rück in etwa in Mittelstellung? 
      { //rechtes Servo rückwärts, linkes Servo vorwärts 
        rechts.write(RechtsBck); 
        links.write(LinksFwd); 
      } 
    } 
    else //Steuerknüppel Kanal B etwa auf Mitte 
    { 
      if (chA > 1700) //Steuerknüppel nach vorn
      {
        //Rechtes und linkes Servo vorwärts
        rechts.write(RechtsFwd);
        links.write(LinksFwd);  
      }
      else if  (chA < 1200) //Steuerknüppel nach hinten
      {
        //Rechtes und linkes Servo rückwärts
        rechts.write(RechtsBck);
        links.write(LinksBck);        
      }
      else // Kanal A und B etwa auf Mitte - also Stopp
      {
        //Beide Servos Stopp
        rechts.write(RechtsNeutral);
        links.write(LinksNeutral);
      }
    }
  }
}

Der Strandbeest Bausatz

Hier (also eigentlich weiter unten in diesem Artikel) sind sie, die Dateien um die Bauteile für meine Strandbeest Adaption auszuschneiden. Die Dateien stehen unter der Creative Commons Lizenz CC-BY-NC-SA – sinngemäß: Die Dateien sind nicht-kommerziell frei verwendbar. Änderungen und Weiterentwicklungen am Bausatz sind erwünscht. Die Resultate müssen – wenn veröffentlicht – ebenfalls nicht-kommerziell nutzbar sein.Strandbeest V1.5 - Teil 1 (release)

In der deutschen Ausgabe des Make Magazins, Heft 1/2016 gibt es auf acht Seiten die Anleitung für den Zusammenbau. Auf der Stückliste im Heft steht, dass zwei MDF Zuschnitte 30cm*38cm, 3mm Stärke benötigt werden. Im Prinzip reichen die Abmessungen, aber da ich nach wie vor am Strandbeest-Bausatz entwickele, sind seit der Einreichung meines Artikels noch mal ein paar Teile hinzugekommen. Es handelt sich um Verstärkungen, die auf die Trägerplatten für die Beinpaare geklebt werden können. Die Teile sind optional, sie haben sich aber als sinnvoll erwiesen. Daher: Besser zwei Zuschnitte 41cm*30cm kaufen! Die neuen Teile sind in beiden Zeichnungen am rechten Rand hinzugefügt, so dass man auch mit 38cm auskommt, wenn man sie nicht mit ausschneidet.

Thema Sperrholz: Sperrholz empfehle ich ausdrücklich nicht! Sperrholz verbiegt und verzieht sich gerne mal etwas und ist manchmal nicht vollständig gefüllt. Da die Funktion des Modells davon abhängt, dass die Bauteile gut voreinander laufen, muss alles möglichst plan bzw. gerade sein. Also MDF kaufen und auch dabei darauf achten, das alles schön gerade ist.

Strandbeest V1.5 - Teil 2 (release)Bei den folgenden Links handelt es sich um Archive, die die Dateien als PDF, SVG und RLD Versionen beinhalten. In allen Fällen kann es sein ist es wahrscheinlich, dass die Dateien auf den zu verwendenden Lasercutter angepasst werden müssen. Je nach Gerät werden Linienbreiten oder Linienfarben unterschiedlich als Schnittlinien oder Gravurflächen interpretiert.

Wer einen Lasercutter sein Eigen nennt, weiß höchstwahrscheinlich, wovon hier die Rede ist. Alle Anderen sind gut beraten, im Makerspace oder FabLab ihres Vertrauens nach den besonderen Eigenschaften bzw. Eigenheiten des dort vorhandenen Gerätes zu fragen und die Dateien dann zuhause passend vorzubereiten. Sitzt man im FabLab erstmal vor dem Laser, ist die gebuchte Zeit oft schneller um, als einem lieb ist.

Tipp für Erst-Laser: Im Makerspace oder FabLab gibt es i. d. R. Geräteeinweisungen, die vor der Benutzung obligatorisch sind. Die habe ich damals auch belegt und mir in diesem Rahmen Musterdateien in verschiedenen Formaten mitgeben lassen. Damit konnte ich dann zuhause schauen, mit welchen Files sowohl ich, als auch das FabLab umgehen können.

Hier die Dateien:

cc-by-nc-saStrandbeest V1.5 PDF
Strandbeest V1.5 SVG
Strandbeest V1.5 RLD
Namensnennung bei Verwendung im Rahmen der Lizenz: Joachim Haas, BlaueStun.de

Die RLD Dateien sind für die beliebten „China Laser“ und die dazugehörige Software RDWorks in der Version 8.01.12 vorbereitet. Aber auch hier kann nicht gleich losgelegt werden. Mindestens die Zuordnung der verwendeten Ebenen zu Schnitt bzw. Gravur und die zugehörigen Schnittgeschwindigkeiten sind noch einzustellen.

Und wo sind die DXF Files? Tja, die liegen noch nicht in brauchbarer Form vor. Die Exporte, die ich bisher gemacht habe, sind alle unterschiedlich unvollständig. Mal fehlt hier etwas, mal fehlen da ein paar Teile. Aber ich habe Hilfe diesbezüglich angeboten bekommen und ich arbeite daran ;-)