Hexapod (Tastsinn): Unterschied zwischen den Versionen

Aus Das Projektwiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(Einfügen von Bildern sowie inhaltliche Füllung)
Zeile 1: Zeile 1:
[[Datei:Hexapod.png|400px|thumb|right|PhantomX Hexapod Mark II WS 2016/17]]

'''!!!This site is under construction!!!'''
'''!!!This site is under construction!!!'''


Die Aufgabe dieses Projektes war es, einem "PhantomX Hexapod Mark II" einen Tastsinn zu geben. Dabei sollten mehrere Möglichkeiten der Umsetzung betrachtet werden, von denen aber nur eine verwendet werden sollte.
Die Aufgabe dieses Projektes war es, einem "PhantomX Hexapod Mark II" einen Tastsinn zu geben. Dabei sollten mehrere Möglichkeiten der Umsetzung betrachtet werden, von denen aber nur eine verwendet werden sollte. Die schlussendliche Umsetzung verzichtet auf die Verwendung zusätzlicher Sensoren und benutzt die Funktionalitäten der Servos, um einen Tastsinn in zwei Anwendungsfällen zu realisieren.






= Konzept =
= Konzept =
=== Hardware ===
=== Hardware ===
[[Datei:Hexapod_bein.png|300px|thumb|right|Bein des Hexapoden mit Servos, Aufbau von links nach rechts: Coxa, Femur, Tibia]]
[[Datei:Hexapod_fernbedienung.png|300px|thumb|right|Fernbedienung zur Steuerung des Hexapoden]]
Die verwendete Hardware umfasst den Hexapoden-Roboter und eine dazugehörige Fernbedienung. Bei dem Roboter handelt es sich um einen "'''PhantomX Hexapod Mark II'''" (weiterhin als "Hexapode" bezeichnet). Dieser besteht aus diversen Trägerelementen, die durch Servo-Motoren des Typs '''AX-12A''' (weiterhin als "Servos" bezeichnet) bewegt werden. Jedes der sechs Beine besteht dabei aus drei Servos, wodurch in dem Hexapoden insgesamt 18 Servos verbaut sind. Diese Servos werden mit einer 12V Betriebsspannung versorgt. Die Versorgung kann entweder über ein Netzteil oder über einen Akku bereitgestellt werden.

Die Ansteuerung der Servos erfolgt über einen Einplatinencomputer, einen "'''Beagle Bone Black'''" (weiterhin als "BBB" bezeichnet). Dieser wird über einen Spannungswandler, der eine 5V Ausgangsspannung liefert, mit der Versorgungsspannung der Servos betrieben. Auf diesem läuft die gesamte Software zur Bewegung des Roboters, Verwertung der Fernbedienungssignale und Realisierung des Tastsinns. Die Verwendung dieses Controllers ist im Werkszustand nicht vorgesehen. Im Projekt [[Hexapod (Umbau)]] wurde der originale Controller, welcher über die Arduino IDE programmiert werden konnte, gegen den BBB ausgetauscht.

Der ursprüngliche Controller verfügte über einige zusätzliche Funktionalitäten, welche über die Steuerungsaufgaben hinausgehen. Dazu gehören die Unterbringung des Spannungswandlers, die Befestigung des Funkmoduls "Xbee" und die Bussteuerung. Um diese Funktionalitäten weiter zu gewährleisten wurde eine neue '''Platine''' erstellt. Auf dieser wurde der Spannungswandler des Original Controllers installiert. Desweiteren ist auf ihr ein IC des Modells "SN74LS241N" untergebracht. Dieses ermöglicht die Umsetzung der Vollduplex-Kommunikation auf Seiten des BBB auf eine Halbduplex-Kommunikation auf Seiten des Servo-Busses. Zuletzt befindet sich auf der Platine die Halterung des Xbees inklusive einer 3,3V Spannungsversorgung vom BBB für den Xbee.

Der '''Xbee''' ist ein Funkmodul, welches mit einem anderen Xbee Daten austauschen kann. Die Daten werden dabei über eine serielle Schnittstelle übergeben. Dies bietet den Vorteil, dass die Controller auf dem Hexapoden und der Fernbedienung sich nicht um die Logik zum Versenden und Empfangen von Daten kümmern müssen. Diese Kapselung spielt für dieses Projekt zwar keine große Rolle, ist aber für eine Echtzeitfähigkeit, wie im Projekt [[Hexapod (Echtzeitfähige Steuerung)]] wichtig.


=== Definition ===
=== Definition ===
Bei der Durchführung dieses Projektes ist es wichtig zwischen den Begriffen "Tasten" und "Tastsinn" zu unterscheiden. Dabei bezeichnet der Tastsinn allgemein die Fähigkeit, Berührungen wahrzunehmen. Dies umfasst keine Spezifizierung, wie dies geschieht. Das Tasten hingegen ist der Vorgang, bei dem ein Wesen mit kontrollierten Bewegungen einen Gegenstand erfühlt. Das Tasten ist also die Anwendung eines Tastsinns in einem bestimmten Bereich. Daher soll in diesem Projekt ein Tasten realisiert werden, denn ein allgemeiner Tastsinn würde die Möglichkeit, Bewegung in alle Richtungen wahrzunehmen, erfordern.

=== Realisierungsoptionen ===
Zur Realisierung gab es entweder die Möglichkeit den Hexapoden mit weiteren Sensoren auszustatten oder die Funktionalitäten der Servos zu benutzen. Bei der Anbringung weiterer Sensoren würden sich Näherungssensoren zur Erkennung eines Abstandes anbieten. Ultraschallsensoren würden mit dem gleichen Prinzip eine Möglichkeit bieten. Desweiteren könnten Kraftmesser benutzt werden, um den Druck auf Partiien des Hexapoden zu messen. Diese Implementierungen hätten den Vorteil, dass sie in den meisten Fällen keinen direkten Kontakt zu einem Objekt erfordern würden, um dieses zu erkennen. Die Nachteile dabei wären hingegegen, dass diese Sensoren oft nur einen beschränkten Wirkungsbereich hätten und für eine universelle Einsetzbarkeit mehrere Sensoren installiert werden müssten. Auch entspräche die Erkennung von Objekten auf Distanz nicht dem Tasten, wie man es von der Verwendung von Lebewesen kennt, die dafür direkten Kontakt benötigen.


Die Option, die hier daher betrachtet werden soll, ist die Verwendung der Servos. Diese haben den Vorteil, dass sie bereits an allen Seiten des Hexapoden angebracht sind und so in jede Richtung verwendet werden können. Auch wird der Hexapode direkten Kontakt benötigen, um die Servos zur Objekterkennung benutzen zu können. Ein Nachteil ist, dass man die Servos und deren Protokoll und Aufbau nachvollziehen muss.


= Umsetzung: ino =
= Umsetzung: ino =

Version vom 10. Februar 2017, 07:54 Uhr

PhantomX Hexapod Mark II WS 2016/17

!!!This site is under construction!!!

Die Aufgabe dieses Projektes war es, einem "PhantomX Hexapod Mark II" einen Tastsinn zu geben. Dabei sollten mehrere Möglichkeiten der Umsetzung betrachtet werden, von denen aber nur eine verwendet werden sollte. Die schlussendliche Umsetzung verzichtet auf die Verwendung zusätzlicher Sensoren und benutzt die Funktionalitäten der Servos, um einen Tastsinn in zwei Anwendungsfällen zu realisieren.



Konzept

Hardware

Bein des Hexapoden mit Servos, Aufbau von links nach rechts: Coxa, Femur, Tibia
Fernbedienung zur Steuerung des Hexapoden

Die verwendete Hardware umfasst den Hexapoden-Roboter und eine dazugehörige Fernbedienung. Bei dem Roboter handelt es sich um einen "PhantomX Hexapod Mark II" (weiterhin als "Hexapode" bezeichnet). Dieser besteht aus diversen Trägerelementen, die durch Servo-Motoren des Typs AX-12A (weiterhin als "Servos" bezeichnet) bewegt werden. Jedes der sechs Beine besteht dabei aus drei Servos, wodurch in dem Hexapoden insgesamt 18 Servos verbaut sind. Diese Servos werden mit einer 12V Betriebsspannung versorgt. Die Versorgung kann entweder über ein Netzteil oder über einen Akku bereitgestellt werden.

Die Ansteuerung der Servos erfolgt über einen Einplatinencomputer, einen "Beagle Bone Black" (weiterhin als "BBB" bezeichnet). Dieser wird über einen Spannungswandler, der eine 5V Ausgangsspannung liefert, mit der Versorgungsspannung der Servos betrieben. Auf diesem läuft die gesamte Software zur Bewegung des Roboters, Verwertung der Fernbedienungssignale und Realisierung des Tastsinns. Die Verwendung dieses Controllers ist im Werkszustand nicht vorgesehen. Im Projekt Hexapod (Umbau) wurde der originale Controller, welcher über die Arduino IDE programmiert werden konnte, gegen den BBB ausgetauscht.

Der ursprüngliche Controller verfügte über einige zusätzliche Funktionalitäten, welche über die Steuerungsaufgaben hinausgehen. Dazu gehören die Unterbringung des Spannungswandlers, die Befestigung des Funkmoduls "Xbee" und die Bussteuerung. Um diese Funktionalitäten weiter zu gewährleisten wurde eine neue Platine erstellt. Auf dieser wurde der Spannungswandler des Original Controllers installiert. Desweiteren ist auf ihr ein IC des Modells "SN74LS241N" untergebracht. Dieses ermöglicht die Umsetzung der Vollduplex-Kommunikation auf Seiten des BBB auf eine Halbduplex-Kommunikation auf Seiten des Servo-Busses. Zuletzt befindet sich auf der Platine die Halterung des Xbees inklusive einer 3,3V Spannungsversorgung vom BBB für den Xbee.

Der Xbee ist ein Funkmodul, welches mit einem anderen Xbee Daten austauschen kann. Die Daten werden dabei über eine serielle Schnittstelle übergeben. Dies bietet den Vorteil, dass die Controller auf dem Hexapoden und der Fernbedienung sich nicht um die Logik zum Versenden und Empfangen von Daten kümmern müssen. Diese Kapselung spielt für dieses Projekt zwar keine große Rolle, ist aber für eine Echtzeitfähigkeit, wie im Projekt Hexapod (Echtzeitfähige Steuerung) wichtig.

Definition

Bei der Durchführung dieses Projektes ist es wichtig zwischen den Begriffen "Tasten" und "Tastsinn" zu unterscheiden. Dabei bezeichnet der Tastsinn allgemein die Fähigkeit, Berührungen wahrzunehmen. Dies umfasst keine Spezifizierung, wie dies geschieht. Das Tasten hingegen ist der Vorgang, bei dem ein Wesen mit kontrollierten Bewegungen einen Gegenstand erfühlt. Das Tasten ist also die Anwendung eines Tastsinns in einem bestimmten Bereich. Daher soll in diesem Projekt ein Tasten realisiert werden, denn ein allgemeiner Tastsinn würde die Möglichkeit, Bewegung in alle Richtungen wahrzunehmen, erfordern.

Realisierungsoptionen

Zur Realisierung gab es entweder die Möglichkeit den Hexapoden mit weiteren Sensoren auszustatten oder die Funktionalitäten der Servos zu benutzen. Bei der Anbringung weiterer Sensoren würden sich Näherungssensoren zur Erkennung eines Abstandes anbieten. Ultraschallsensoren würden mit dem gleichen Prinzip eine Möglichkeit bieten. Desweiteren könnten Kraftmesser benutzt werden, um den Druck auf Partiien des Hexapoden zu messen. Diese Implementierungen hätten den Vorteil, dass sie in den meisten Fällen keinen direkten Kontakt zu einem Objekt erfordern würden, um dieses zu erkennen. Die Nachteile dabei wären hingegegen, dass diese Sensoren oft nur einen beschränkten Wirkungsbereich hätten und für eine universelle Einsetzbarkeit mehrere Sensoren installiert werden müssten. Auch entspräche die Erkennung von Objekten auf Distanz nicht dem Tasten, wie man es von der Verwendung von Lebewesen kennt, die dafür direkten Kontakt benötigen.

Die Option, die hier daher betrachtet werden soll, ist die Verwendung der Servos. Diese haben den Vorteil, dass sie bereits an allen Seiten des Hexapoden angebracht sind und so in jede Richtung verwendet werden können. Auch wird der Hexapode direkten Kontakt benötigen, um die Servos zur Objekterkennung benutzen zu können. Ein Nachteil ist, dass man die Servos und deren Protokoll und Aufbau nachvollziehen muss.

Umsetzung: ino

Prinzip

Abbruchkriterien

Umsetzung

Umsetzung: Python

Abbruchkriterien

Umsetzung

Probleme

Am Ende dieses Projektes gab es mit dem Implementierung das Problem, dass ein fest definiertes Szenario zur Anwendung benötigt wird.


Ausblick

Mögliche Folgeprojekte