Bionische Bewegung

Aus Wiki1

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
 
(Der Versionsvergleich bezieht 33 dazwischenliegende Versionen mit ein.)
Zeile 28: Zeile 28:
-
=Strandbeester=
 
-
Der Künstler [[Jansen Theo|Theo Jansen]] hat für seine Strandbeester eine besondere Kinematik entwickelt, die einfach modifiziert werden kann. Die Funktionsweise lässt sich mit der JavaScript Bibliothek JSXGraph visualisieren:
 
-
 
-
<jsxgraph width="700" height="500">
 
-
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-120,50,50,-50], axis:false, grid:false, showCopyright:true, showNavigation:false, keepaspectratio: true });
 
-
//brd.options.label.fontSize = 20;
 
-
var p0 = brd.create('point', [0,0], {withLabel:false, fixed:true, size:3, strokeColor:"black", fillColor:"#58FA58"});
 
-
var p1 = brd.create('point', [-38,-7.8], {withLabel:false, fixed:true, size:3, strokeColor:"black", fillColor:"#58FA58"});
 
-
var pc1 = brd.create('point', [0,-7.8], {withLabel:true, fixed:true, size:1, strokeColor:"white", fillColor:"#BDBDBD"});
 
-
var d1 = brd.create('segment', [function(){return p1;}, function(){return pc1;}, 38], {withLabel:true, name:'a', strokeColor:"#BDBDBD"});
 
-
var d2 = brd.create('segment', [p0, pc1, 7.8], {withLabel:true, name:'l', strokeColor:"#BDBDBD"});
 
-
var c1 = brd.create('circle',[p1,41.5],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var ca = brd.create('circle',[p0,15],{strokeColor:'#D8D8D8', strokeOpacity:1, fillColor:'#E6E6E6', highlightFillColor:"#E6E6E6"});
 
-
var p2 = brd.create('glider',[0,15,ca], {name:'drag this point', size:4, strokeColor:"red", fillColor:"red"});
 
-
var d3 = brd.create('segment', [p0, p2, 15], {withLabel:true, name:'m', strokeColor:"#BDBDBD"});
 
-
var c2 = brd.create('circle',[p2,50],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var p3 = brd.create('intersection', [c1, c2, 1], {withLabel:false, size:1, strokeColor:"#A4A4A4", fillColor:"#A4A4A4"});
 
-
var b1 = brd.create('segment', [p1, p3, 41.5], {withLabel:true, name:'b'});
 
-
var b2 = brd.create('segment', [p2, p3, 50], {withLabel:true, name:'j'});
 
-
var c3 = brd.create('circle',[p3,55.8],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var c4 = brd.create('circle',[p1,40.1],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var p4 = brd.create('intersection', [c3, c4, 0], {withLabel:false, size:1, strokeColor:"#A4A4A4", fillColor:"#A4A4A4"});
 
-
var b3 = brd.create('segment', [p3, p4, 55.8], {withLabel:true, name:'e'});
 
-
var b4 = brd.create('segment', [p1, p4, 40.1], {withLabel:true, name:'d'});
 
-
var c5 = brd.create('circle',[p1,39.3],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var c6 = brd.create('circle',[p2,61.9],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var p5 = brd.create('intersection', [c5, c6, 0], {withLabel:false, size:1, strokeColor:"#A4A4A4", fillColor:"#A4A4A4"});
 
-
var b5 = brd.create('segment', [p1, p5, 39.3], {withLabel:true, name:'c'});
 
-
var b6 = brd.create('segment', [p2, p5, 61.9], {withLabel:true, name:'k'});
 
-
var c7 = brd.create('circle',[p5,36.7],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var c8 = brd.create('circle',[p4,39.4],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var p6 = brd.create('intersection', [c7, c8, 1], {withLabel:false, size:1, strokeColor:"#A4A4A4", fillColor:"#A4A4A4"});
 
-
var b7 = brd.create('segment', [p4, p6, 39.4], {withLabel:true, name:'f'});
 
-
var b8 = brd.create('segment', [p5, p6, 36.7], {withLabel:true, name:'g'});
 
-
var c9 = brd.create('circle',[p5,49],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var c10= brd.create('circle',[p6,65.7],{strokeColor:'#D8D8D8', strokeOpacity:0, highlightStrokeColor:"white", highlightStrokeOpacity:"0"});
 
-
var p7 = brd.create('intersection', [c9, c10, 1], {withLabel:false, size:1, strokeColor:"red", fillColor:"white", trace:true});
 
-
var b9 = brd.create('segment', [p5, p7, 49], {withLabel:true, name:'i'});
 
-
var b10= brd.create('segment', [p6, p7, 65.7], {withLabel:true, name:'h'});
 
-
var p8 = brd.create('point', [-180,-93], {withLabel:false, fixed:true, size:3, strokeColor:"white", fillColor:"white"});
 
-
var p9 = brd.create('point', [180,-93], {withLabel:false, fixed:true, size:3, strokeColor:"white", fillColor:"white"});
 
-
var li = brd.create('line',[p8,p9], {strokeColor:'#D8D8D8',strokeWidth:2});
 
-
 
-
 
-
 
-
 
-
</jsxgraph>
 
-
 
-
https://m.youtube.com/watch?v=kKSDgIhc8GI Gleiches Prinzip - unterschiedliche Geometrie : Vielfalt der Bewegung [[Jansen Theo]]
 
-
 
-
siehe auch [[Bionik]]
 
[[Kategorie:Technik]]
[[Kategorie:Technik]]

Aktuelle Version vom 19:53, 8. Feb. 2017

Zugkräfte statt Drehung

In der Robotertechnik ist die Bewegung von Manipulatoren eine der wesentlichen Aufgabenstellungen. Ein Werkzeug muss sicher im Raum bewegt werden. Dies geschieht üblicherweise durch Motore, die komplexe Gelenksysteme bewegen. Dabei werden die Bewegungsabläufe häufig in Einzelbewegungen zerlegt, wodurch eine unnatürlich abgehackte Bewegung entsteht. Anhand von komplexen Koordinatenberechnungen, werden die Motoren angesteuert. In natürlichen Systemen von Lebewesen erfolgt in der Regel keine Zerlegung der Bewegung. Der Bewegungsaparat bildet ein komplexes System aus Gelenken, festen Stützen (Skelett) und Zugelementen (Muskeln). Durch die mechanische Kopplung ergibt sich der Bewegungsablauf durch das System selbst, wobei die Zugelemente die erforderlichen Kräfte und Verschiebungen in das System einbringen.

Angeregt durch das Buch Gestalt und Anatomie habe ich das Modell eines menschlichen Beines aus Holzstäben, Scharnieren und Seilen nachgebildet
. Bereits bei diesem einfachen Modell lassen sich nur durch 2 lineare Zugbewegungen an den Seilenden komplexe Bewegungsabläufe erzeugen. Dabei sind für den Bewegungsablauf folgende Parameter wichtig:
  1. Kraft auf die beiden Zugseile
  2. lineare Stellung der Zugseile
  3. Position der Gelenke

In einem natürlichen System würden Gelenkstellung und die Position der Zugelemente über neuronale Strukturen verarbeitet und zur Ansteuerung der Zugelemente zurück geführt.

Technisch interessant ist bei dem "natürlichen" Konzept die saubere Trennung zwischen Zug- und Druckkräften. Der "Antrieb" erfolgt ausschließlich durch Variation der Zugkräfte. Das System selbst kann durch Auswahl der Werkstoffe und Dimensionierung der verschiedenen Elemente sehr genau an die auftretenden Belastungen angepasst werden.

Bild:Beinbewegung.gif

Ein besonders faszinierende Form organischer Bewegung hat Theo Jansen in seinen "Strandbeester" umgesetzt.

Eine Übersicht zu Bewegungskonzepten von Robotern findet sich unter: http://www.stefan-enderle.de/WS0607/Slides2-Fortbewegung.pdf

Anwendungen

Die TU Saarbrücken hat das Konzept in einer Roboterhand umgesetzt (2010, siehe google-Bilder zu Schnurantrieb+Roboterhand). Dabei werden die Zugkräfte durch Verdrillen von feinen Schnüren erzeugt.

Ein Beispiel zur Anwendung eines Gehapparates mit Hilfe von Zugelementen ist der Spring+Flamingo+MIT GoogleTM, google-Bilder zu Spring+Flamigo

Ein Bewegungskonzept auf der Basis eines einfachen neuronalen Netzes ist der am Bernstein Center Göttingen entwickelte RunBot GoogleTM: http://www.bccn-goettingen.de/Research/04_Projects/project.2006-08-17.0955555020, google-Bilder zu RunBot

Anwendung des bionischen Konzepts auf die Bewegung eines Armes: http://www.konstruktionspraxis.vogel.de/themen/automatisierung/handhabungstechnik/articles/257347

Persönliche Werkzeuge