Nach der Einrichtung einer Entwicklungsumgebung soll mit PyPose eine Verbindung zu den AX-12A-Motoren hergestellt werden, um die Position der Motoren zu lesen/schreiben. PyPose ist ein Python-Programm mit dessen Hilfe man Posen eines Roboters aufzeichnen und für AVR als *.h-Dateien speichern kann. Für die Kommunikation zwischen PyPose <-> Arboitx <-> AX-12A-Motoren wird eine serielle Verbindung mittels FTDI oder einer XBEE-Funkbrücke benötigt. In diesem Artikel wird eine kabelgebundene FTDI-Schnittstelle verwendet.
Arduino-Installation – http://www.arduino.cc/playground/Learning/Linux
Arbotix-Installation – https://code.google.com/p/arbotix/wiki/GettingSetup
Arduino IDE
Die Arduino-Entwicklungsumgebung ab Version 1.0 enthält gcc, avr-gcc,
Java VM, und nötige Bibliotheken für die Arbeit mit
AVR-Mikrocontrollern. Seit der Version Arduino 1.0 wurden viele
syntaktische Änderungen vorgenommen, so dass Sketchbook-Dateien (*.pde)
von ehemaligen Arduino-IDEs nicht zwangsläufig unter den neuen Versionen ab Arduino 1.0
laufen. In diesem Artikel wird die aktuelle Arduino-Version 1.0.1 auf einem Raspberry Pi geladen und eingerichtet.
Voraussetzung: root-Rechte oder sudo-Eintrag in /etc/sudoers
Download/Installation Arduino IDE
http://www.arduino.cc/playground/Learning/Linux
1. Apt-Repositorien aktualisieren.
apt-get update
2. Download und Installation Arduino.
apt-get install arduino
3. Gruppenzugehörigkeit erweitern, um den seriellen Bus benutzen zu dürfen.
usermod -a -G dialout meinbenutzername
Download/Installation Arbotix
https://code.google.com/p/arbotix/wiki/GettingSetup
1. Download Arbotix Firmware, PyPose & Nuke.
wget https://arbotix.googlecode.com/files/arbotix-0015.zip
2. Arbotix Firmware, PyPose & Nuke nach Ordner arbotix-0015 auspacken und in den Ordner wechseln.
mkdir arbotix-0015 unzip arbotix-0015.zip -d arbotix-0015 cd arbotix-0015
3. Kopieren von arbotix-0015/arbotix/* nach ~/sketchbook/arbotix0015_sketches.
mkdir ~/sketchbook/arbotix0015_sketches cp -r arbotix-0015/arbotix/* ~/sketchbook/arbotix0015_sketches
4. Verschieben von ~/sketchbook/arbotix0015_sketches/hardware/* nach /usr/share/arduino/hardware.
Mit „whereis arduino“ überprüfen, ob /usr/share/arduino korrekt ist.
sudo mv ~/sketchbook/arbotix0015_sketches/hardware/* /usr/share/arduino/hardware/
5. Verschieben von ~/sketchbook/arbotix0015_sketches/libraries/* nach /usr/share/arduino/libraries.
sudo mv ~/sketchbook/arbotix0015_sketches/libraries/* /usr/share/arduino/libraries/
6. Die Datei „usr/share/arduino/hardware/arbotix/programmers.txt“ anpassen, so dass USB zur Kommunikation verwendet wird.
sudo vim /usr/share/arduino/hardware/arbotix/programmers.txt diamexisp.name=Diamex ISP diamexisp.communication=usb diamexisp.protocol=stk500v2
Test & Fehlerbehebung
1. Mögliche Fehler während dem Ausführen von Arduino und compilieren einer *.ino-Datei
1.1 HardwareSerial.cpp error: attempt to use poisened „SIG_USART1_RECV“
Fehlerhafte avr-gcc-Version.
vi /Pfadangabe/zu/arduino-0023/hardware/arbotix/cores/arbotix/wiring.h