Archiv der Kategorie: Heli-Bot

AIML und KI

Als ich jemanden erzählte, dass ich AIML (Artificial Intelligence Markup Language) für meinen Helibot verwenden werde, bekam dieser einen Lachanfall und meinte, dass AIML nicht das Geringste mit KI zu tun hätte. Vorgefertigte Antworten und Sätze zu verwenden, habe nichts mit Intelligenz zu tun.
Nun, das mag zwar sein, aber angenommen ich treffe eine mir bekannte Person und die begrüßt mich mit „Hallo H.“ dann benötige ich auch keine besonders ausgeprägte Intelligenz, um eine passende Antwort zu finden, sondern ich finde sie automatisch und denke gleichzeitig darüber nach, was mein Gesprächspartner, sagen wir X von mir wohl will. Woher ich ihn kenne, wann ich ihn unter welchen Umständen mit ihm das letzte mal kommuniziert habe. Will ich etwas von X und/oder will er etwas von mir – in dieser speziellen Situation (privat, im Beruf, beim Sport, Musizieren, …). D.h. ich denke hoffentlich nicht über die Antwort nach, sonder erledige diese wie mit einem AIML-file automatisch und gleichzeitig rufe ich mir alles zu X ins Gedächtnis.
Helibot soll es genau so machen und alle Verbindungen zu Daten die mit X in Verbindung stehen bereit stellen, währen er automatisch „Hallo X“ sagt, was natürlich schon voraus setzt, dass er X erkennt. Diese Daten (mit X verknüpft) werden dann für die Platzhalter in AIML genutzt. X wird nach der ersten Kommunikation (oder nach der ersten Betrachtung) bewertet und ausstehende, früher geplante Ereignisse sollen besprochen werden. Schuldet mir X € 10.- werde ich das ansprechen. Wollte ich mit X eine Veranstaltung besuchen, werde ich das ansprechen….
Helibot ebenfalls, er nimmt dazu die „Motivation“ aus dem Motivations-file, dem Bewertungs-file und den mit X verknüpften Daten, insbesondere den Log-files. Das Bewertungs-file wird dazu vorher in Assoziationszyklen bearbeitet, denn Helibot denkt immer. Damit hat Helibot schon eine Meinung und Einstellung zu X wenn er diesen trifft und wenn die Kommunikation beginnt. Auch diese Kommunikation und andere Tatsachen (sein neuer Job, seine äußerliche Veränderung, seine neunen Ansichten, ….. ) fließen in die nächste Bearbeitung der Bewertung ein. Damit werden neue Daten mit X verknüpft bzw. ändert sich die Stärke der Verknüpfung (Gewichtung) für die Platzhalter in AIML. Auch neue Sätze werden aufgenommen und neue Platzhalter werden generiert.
Ich überlege nicht, was ich sagen soll, wenn mich jemand begrüßt und wir einen Smalltalk führen, warum sollte es also Helibot?
Nein, das Bewerten und Verknüpfen der Information und Aktionen erfordert Intelligenz, aber nicht das Sprechen und ersteres soll in den Assoziationszyklen geschehen. Helibot soll 3 TB Speicher bekommen. 1 TB für aktuelle Programme und Daten, 1 TB für das Kurzzeitgedächtnis und 1 TB für das Langzeitgedächtnis. Das Schwierigste für Helibot wird wohl die Entscheidung werden, was für ihn essentiell, wichtig, weniger wichtig und was zum Löschen ist.

Ich benötige übrigens sogar zu dem sehr komplexen und schwierigen Unterfangen „aufrecht zu gehen“ keine besondere Intelligenz und muss auch nicht darüber nachdenken. Es geht ganz automatisch, aber wenn es mir gelänge eine Maschine zu bauen, die den aufrechten Gang beherrschte und gut, gefühlvoll Klavierspielen (nach Noten und ohne Intelligenz) könnte, dann … oh, darüber würde ich mich wirklich sehr darüber freuen.

Weblinks:
http://www.alicebot.org/aiml.html
https://de.wikipedia.org/wiki/Artificial_Intelligence_Markup_Language
https://www.tutorialspoint.com/aiml/

Randnotizen:
Vollständiger Turing-Test – Erst als die Gebrüder Wright aufhörten Vögel zu imitieren und sich mit Windkanälen und Aerodynamik beschäftigten, wurde der Traum vom „künstlichen Fliegen“ war. Lehrbücher der Luftfahrkunde haben eben nicht zum Ziel eine Maschine zu bauen, die genau so wie Tauben fliegen, sodass sie sogar andere Tauben täuschen können. Und so ist bei meinem Helibot auch nicht das wichtigste Ziel, dass er nicht von einem Menschen unterschieden werden kann, sondern, dass er sich rational entwickelt, im Alltag Lösungen findet die „gut genug“ sind, für schwierige Probleme die wahrscheinlichste Lösung (auch der Erfahrung nach) wählt und eine Art Selbstbewusstsein entwickelt.

Bestätigungstheorie von Carnap und Hempel
Unvollständigkeitstheorem von Gödel, Handhabbarkeit
Nutzen (Wenn McDonald einen Hamburger um € 1.- anbietet, dann behauptet das Unternehmen, dass es den Euro bevorzugt und hofft, dass der Kunde den Hamburger bevorzugt).
NP-Vollständigkeit, Wahrscheinlichkeit, Entscheidungstheorie, Spieltheorie, Markov’sche Entscheidungsprozesse, Anspuchserfüllung – „gut genug“ oft zielführender als „optimal“.

(30)

S.USV pi advanced für Helibot

zurück zu:
Helibot Planung 001 – Detail- Beschreibung der ersten Phase || Helibot Planung
Helibot Umsetzung

usv So sieht die USV aus.

Und unten liegt sie neben dem Raspberry Pi, an dem ich schon die Halterung angeschraubt habe.
usvpihalterung

USV drauf stecken, anschrauben mit dem Akku verbinden und los geht’s.
rasppimitusv
S.USV pi advanced für Helibot weiterlesen

(259)

Installation von Raspbian und OpenCV auf Raspberry Pi 3; Teil 2

zurück zu:
Installation von Raspbian und OpenCV auf Raspberry Pi 3; Teil 1
Helibot Planung 001 – Detail- Beschreibung der ersten Phase || Helibot Planung
Helibot Umsetzung

raspkomp

Installation von Raspbian und OpenCV auf Raspberry Pi 3 auf dem Raspberry Pi 3 Model B

Ich steckte also die Teile zusammen und musste enttäuscht feststellen, dass nur das rote Lämpchen aufleuchtete. Siehe DE:R-Pi Fehlerbehebung. Mein Raspberry Pi startete nicht. Ich sah mir die SD an und stellte fest, dass nichts drauf war. Na gut, dann auch nichts gestartet werden.
Also noch einmal das Gleiche und diesmal kontrollierte ich gleich nach dem dd, ob auch tatsächlich etwas geschrieben wurde. Ja, alles war da und nachdem ich meiner Himbeere wieder Saft gab, kam Bewegung auf das TV-Gerät. Alles funktionierte tadellos und ich staunte nicht schlecht, dass er automatisch in die Graphik wechselte und sogar das WLAN erkannt wurde. Wow!

raspconIch war auf Konfigurationsarbeiten auf der Konsole eingestellt, aber das war nichts davon nötig, als die Tastaturbelegung zu wechseln und in der graphischen Oberfläche ein paar Einstellungen vorzunehmen.
Natürlich richte ich sofort, gegen jeder Empfehlung ein root pw ein, weil ich bei einer Admin-Sitzung auf nicht gewillt bin, hundert mal „sudo“ einzutippen. Root-Login brauche ich hingegen nicht, der SSHd läuft nach dem Boot und auch sonst passt alles. Bevor ich mich ein wenig umsehe, rufe ich schnell meine Emails auf Gmail ab. Aha, Google glaubt ich komme mit einem Safari auf Mac und warnt mich, dass dieser nicht weiter unterstützt wird. Na gut, außer der Warnung von Google, dass sich jemand mit Safari auf Mac eingeloggt hat, gibt es nichts neues. Also staune ich weiter über Raspbian.
raspepiOpenCV und Python wollte ich installieren, doch da ist alles bereits vorhanden. Mathematica, Wolfram, Python usw., das ist mir ja schon fast zu genial, denn da brauche ich ja gar nichts mehr machen und kann ein paar geplante Schritte überspringen.
raspTV

Na gut, dann kümmere ich mich demnächst um meine S.USV pi advanced und meine Kameras:
pixyCam

Weblinks:
Raspberry Pi – Mathematica, Wolfram, Python
Software-Perlen, die Sie kennen sollten
USING A STANDARD USB WEBCAM
Beginners Guide How To Setup a USB Webcam to your Raspberry Pi 2 in Minutes
2 Webcams with motion

(230)

Installation von Raspbian und OpenCV auf Raspberry Pi 3; Teil 1

zurück zu:
Helibot Planung 001 – Detail- Beschreibung der ersten Phase || Helibot Planung
Helibot Umsetzung
weiter zu Installation von Raspbian und OpenCV auf Raspberry Pi 3; Teil 2

Installation von Raspbian und OpenCV auf Raspberry Pi 3 auf dem Raspberry Pi 3 Model B
Daten zu meinem Modell:
Raspberry Pi 3
Prozessorhersteller: Broadcom
Merkmale: Quad-Core-CPU, 1GB RAM, 900MHz Taktrate des Boards, 40 GPIO-Pins, 4 USB-Ports, 4-poliger Stereoausgang, HDMI-Port, 10/100-Ethernet, MicroSD-Kartensteckplatz
Prozessorkern BCM2837
Prozessorfamilie BCM2xxx
Prozessorarchitektur ARM
Prozessorserie ARM7

Und so sieht er aus:
rasppi3
rasppi3-2
rasppi3-3

Um Raspbian darauf installieren zu können benötige ich zuerst einmal eine Speicherkarte. Ich verwende dazu eine ScanDisk Ultra microSDHC der Klasse 10 mit 32GB , obwohl der Raspberry Pi hat eine Lesegeschwindigkeit von nur etwas über 20 MByte/s hat und somit SD-Speicherkarten der Klasse 4 oder 6 ausreichen würden. Aber für ein Backup oder zum Schreiben/Lesen von Daten mittels Cardreader ist eine hohe Geschwindigkeit von Vorteil.
Empfehlsenswerter Artikel dazu: Raspberry Pi: SD- und microSD-Speicherkarten
Mein Kartenleser war ein wenig mühsam in der Handhabe, aber ohne Gehäuse komme ich gut damit zurecht. 😉
Cardreader

MicroSD
Hier findet man SD Cards die funktionieren und welche, die nicht geeignet sind RPi SD cards.

Ich arbeite mit meinem Lieblings-OS Ubuntu am PC, also muss ich mich um nichts kümmern. Kartenleser mit Karte am USB anstecken und Ubuntu sagt mir sofort was los ist.
fdisk -l
Gerät Boot Start Ende Sektoren Size Id Typ
/dev/sdc1 8192 62333951 62325760 29,7G c W95 FAT32 (LBA)
Oops, ich habe ja Raspbian schon drauf.
Wer es genau wissen will, wie man in Linux seine HDs checkt, liest 9 commands to check hard disk partitions and disk space on Linux oder spielt sich mit GParted.

Da ich die Seite Elektronik Kompendium mag, lese ich mir vorher Betriebssystem für den Raspberry Pi auf eine SD-Speicherkarte installieren durch und dann geht‘ aber wirklich los. Ich hole mir Raspian Jessi von https://www.raspbian.org/ oder https://www.raspberrypi.org/downloads/raspbian/

umount /dev/sdc1
dd bs=4M if=2016-03-18-raspbian-jessie.img of=/dev/sdc1
sync

fertig und jetzt:
raspi-b-plus-ports

Stecken Sie die SD-Speicherkarte in den Slot auf der Unterseite der Platine.
Schließen Sie eine Tastatur (USB) und einen Bildschirm (HDMI) an.
Verbinden Sie den Raspberry Pi mit dem Netzwerk (RJ45).
Nehmen Sie den Raspberry Pi durch Anschließen eines 5V-Netzteils in Betrieb.

https://www.raspbian.org/

(377)

Helibot Planung 001 – Detail- Beschreibung der ersten Phase

Ziele:
Sensorik duales Sehen mittels 2 Cams,
stereo Hören mittels 2 Micros,
1 Lautsprecher,
2 Gleichgewichts- und Beschleunigungssensoren,
3 Temperatursensoren und 3 Drucksensoren –
1 Raspberry pi,
USV,
Reflexantworten mittels erweitertem AIML

Als erstes wird Raspian und OpenCV installiert. Näheres dazu auf Helibot Umsetzung.

(29)