Aufbau der Software

Arduino Programme

 

  1. Arduino Programme für den Servocontroller(pololu)
  2. Arduino Programme für den Ultraschalltransceivers
  3. Programm zum Laufen (Servocontroller-Pololu)
  4. Programm zum Laufen (Servocontroller-Pololu)
  5. Programm für Hindernisserkennung (Servoshield-Renbotics)
  6. Programm für Hindernisserkennung (Servocontroller-Pololu)
  7. Remote Controll (Servoshield-Renbotics)
  8. PoserSoftware-GUI zum erlernen neuer Bewegungsabfolgen(Servoshield-Renbotics)
  9. Kinect-Motion Controll Servoshield
  10. Kinect-Motion Control


Hier findet man die Bibliotheken, die in der Arduino Library abgelegt sein sollten.

1.Arduino Programme für den Servocontroller (pololu)

 

Die Verwendung der Poser Software:

Die Software findet man hier auf der Entwicklerseite und kann, nachdem man alle für den Betrieb notwendigen Programme installiert hat, selbst kompiliert werden.Es ist auch möglich, nur die vorkompilierte Version herunterzuladen. Diese kann im Anschluss sofort ausgeführt werden. Die wichtigste Aufgabe ist die Erstellung der Frame Matrix, die die exakte Abfolge an Bewegungen beinhaltet und immer wieder in einer loop ausgeführt wird. Des Weiteren liefert die Poser Software die Korrekturwerte für jeweilige Offsets der Servos, welche in einem Array abgelegt werden:

int calibration[8] = {-56, -255, -1364, 197, -796, -966, -284, 568 };

Eine Matrix zum Laufen sieht beispielsweise fogendermaßen aus:

int frames[17][8] = {
                      { 6000,  5545,  6000,  6597,  6000,  6511,  6000,  5516 },
                      { 5203,  5545,  6000,  6597,  9270,  6511,  6000,  5516 },
                      {  926,  5500,  6000,  6500,  9200,  6500,  4600,  5400 },
                      {  500,  4874,  6000,  2255,  6000,  6500,  4884,  7475 },
                      { 2376,  4800,  6000,  2200,  6000,  6500,  4800,  7400 },
                      { 3352,  4800,  7023,  2200,  6000,  6500,  7842,  7400 },
                      { 3300,  4800,  8336,  2200,  6000,  6500,  7800,  7400 },
                      { 3044,  4800,  8200,  2200, 11652,  8000,  7100,  7400 },
                      { 3300,  4800,  8200,  2200, 11652,  6500,  6844,  7400 },
                      { 6029,  5340,  8825,  3820, 11652,  6500,  6844,  7400 },
                      { 6000,  5300,  8800,  3800, 11600,  7239,  6060,  9845 },
                      { 6000,  5527,  7264,  4425, 11600,  7200,  6000,  9800 },
                      { 7300,  6800,  7200,  4600,  8164,  7200,  6000,  9800 },
                      { 3000,  6200,  3153,  5000,  5500,  8000,  4000,  9200 },
                      {  287,  4200,  5600,  2900, 10200,  8000,  4000,  9200 },
                      {  600,  5800,  5600,  2900,  7214,  5900,  2024,  9100 },
                      { 6017,  6055,  6054,  5544,  6048,  6070,  6090,  5517 }

Diese Werte wurden für die fehlerfreie Funktion während der Laufbewegung des Roboters benötigt.

 Kinect Motion Control

Zur Steruerung des Roboters mithilfe der Kinect wurde ein Windows 64bit Betriebssystem verwendet. Als erstes muss man sich die KinectSDK herunterladen. 

Die modifizierte Microsoft.Samples.Kinect.WpfViewers Version der Beispielprogramme befindet sich im Anhang. Die vorhandene Datei kann durch diese Ersetzt werden.

Für persönliche Anpassungen der Software kann man Änderungen innerhalb der Datei KinectDiagnosticViewer.xaml.cs vornehmen.

Das Fußtracking funktioniert. Aber beim anschließenden Verbindungsaufbau über die USB Verbindung zum Arduino, kommt es zu einem Programmabsturz. Der Grund für diesen Programmabsturz konnte ich am Ende meines Praktikums aus Zeitmangel nicht mehr lösen.

 

 

 

Anhänge:
Diese Datei herunterladen (Bibliotheken.rar)Bibliotheken[ ]%2012-%10-%11 %1:%Okt%+02:00
Diese Datei herunterladen (Kinect.rar)Kinect.rar[ ]%2013-%01-%18 %0:%Jan%+01:00
Diese Datei herunterladen (navigation_pololu.rar)navigation_pololu.rar[ ]%2013-%01-%18 %0:%Jan%+01:00