- LiFePO4 Speicher Test         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: Künstliche Intelligenz mit dem Arduino?

  1. #1

    Künstliche Intelligenz mit dem Arduino?

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute.
    Viele, die sich ernsthaft mit Roboter-Programmierung beschäftigen, nehmen die Funktionsweise des menschlichen Gehirnes als Basis ihrer Projekte.

    Nun, so unglaublich das klingt, auch mit zwei oder mehreren Arduinos lässt sich so etwas realisieren.
    Ich habe erst vor einigen Monaten angefangen, mich mit dem Arduino auseinander zu setzen, und kann natürlich mit den alten Hasen hier nicht mitreden. Aber ich versuche mich so umfangreich wie es nur geht über die Möglichkeiten dieses Mikrokontrollers schlau zu machen.

    Ich arbeite gerade an einem Modell eines Mars Rovers, der umfangreiche Sensoren an Bord hat, die man per Smartphone via Bluetooth jederzeit vom Rover abfragen kann.
    Er kann "intelligentes Leben" orten über einen Wärmesensor; wenn er belästigt wird, schießt er Salven aus einer Laser Diode ab; und mit einem 2-Achsen System kann er seine Umgebung per "Fledermaus-Ortung" links/rechts und rauf/runter abtasten.
    Mittels seinen sechs unabhängig voneinander drehbaren Rädern (durch Servos) kurvt er (hoffentlich bald) durch die Gegend.

    Man sieht schon, ich benötige jede Menge Schnittstellen, um das alles zu steuern. Jetzt aber zurück zu meiner Behauptung, dass man mit Arduinos das menschliche Gehirn nachahmen kann.

    Grob gesehen funktionieren unsere grauen Zellen ja aus einer Schicht, die das Unterbewusste (urzeitliche, grundlegende Lebensfunktionen) bilden, und einer durch die Evolution darübergestülpte Schicht, dem Bewusstsein, welches sich dauernd einbildet, alles unter Kontrolle zu haben.

    Dass dem nicht so ist, sieht man in Gefährdungssituationen, wo unser Unterbewusstsein schnell die Steuerung an sich reißt, um unser Leben zu retten.

    Es geht jetzt (meiner Meinung nach), wenn wir versuchen per Programm so ein Verhalten nach zu ahmen, weniger um trickreiche "künstliche Intelligenz" Software (LISP, Prolog, etc), sondern um die Nachbildung dieser Arbeitsteilung aus "Reptilien-Gehirn" und "Großhirnrinde".

    Darauf bin ich gekommen, als ich mir die "I2C" Schnittstelle des Arduino vorgenommen habe. Mit diesem Master-Slave Prinzip kann man ja nicht nur spezielle Treiberkarten und Sensoren bedienen, sondern auch zwei oder mehrere Arduinos miteinander verbinden.

    In meinem Fall bildet ein Mega die "bewusste Gehirn-Schicht", und ein Uno das "Reptiliengehirn", welches für die grundlegendsten Funktionen des Rovers, wie herumfahren und nicht mit Hindernissen kollidieren zuständig ist. Der Datenaustausch zwischen den beiden "Gehirnen" läuft jetzt über die "I2C" Schnittstelle.

    Das sind also meine Ideen zum Thema "menschenähnliches Verhalten" mittels mehrerer Arduinos nachzubilden.
    Jede Schnittstelle für sich ist bereits getestet und funktioniert, jetzt geht es "nur mehr" darum, ein in sich schön verschachteltes Ganzes zu programmieren.

    Ich stelle mir ein möglichst autonomes Fahrzeug vor, welches sich von nichts und niemanden stoppen lässt (ok, von mir schon!).

    Jetzt noch eine Beschreibung der Hardware, welches Schlussendlich meinen Rover ausmachen werden:

    Ein Arduino Uno, und einen damit verbundenen Mega. Der Mega holt sich seinen beachtlichen Strombedarf aus einer Handy-Powerbank, welche sich über Solarzellen von selbst nach-lädt.
    Der Uno, der ein Adafruit-Motortreiber Shield bedient, bekommt seinen Strom über den Adafruit Shield, der wiederum über sechs 1,6 V Akkus, sodass die Motoren satte 9 Volt nutzen können.
    Für diese Akkus habe ich auf dem Rover eine kleine Ladeelektronik montiert, die mir gleichzeitig den Ladezustand der Akkus anzeigt.

    An Sensoren gib es bis jetzt Temp/Luftfeuchte, Helligkeit, Abstandsmessung, IR-Sensor, Kompass, UV-Sensor und Bewegungs-Erkennung.
    Der IR-Sensor, eine Laser Diode und die Ultraschallsensoren sitzen auf einem um 180 Grad beweglichen "Hals", welcher sich über zwei Achsen mittels zwei Servos bewegen lässt.

    Auf Anzeigen jeglicher Art am Rover selbst habe ich verzichtet (außer der Ladestands-Anzeige für die Akkus), dafür ist das Smartphone bestens geeignet.

    Nun meine Frage: Hat sich jemand von euch mit so einem, oder ähnlichen Projekt bereits befasst? An einem umfangreichen Meinungsaustausch wäre ich sehr interessiert. Thx, Geri.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Hallo und willkomen.

    Der Titel ist ja ganz ehrlich, ein bischen reißerich. so in Richtung wie die Schlagzeilen bei "Bild". Wenn er nicht als Frage formuliert wäre.
    Was Du beschreibst, ist eher die übliche Arbeitsteilung wie sie z.B. heute in jedem Mittelklasse und Oberklasse Auto vorkommt.
    (Steuereinheit für ABS/ASR, Lambdaregelung/Treibstoffgemeisch, Navi/Multimedia, Einparkassistent, Tempomat, etc. Und da drüber die Cockpitintegration).
    Oder bei Industriemachinen wo es Schnittkraftüberwachung, Achsregelung, Sensor Vorverabeitung, etc. gibt und die eigentliche Steuerung (CNC/SPS).
    Oder auf Ebene einer ganzen Fabrik. Wo es von der Sensor-(ASI)/Feldbusebene bis hoch zu SCARDA Systemen geht.

    Hier mal ein Beispiel, was so als Ansatz für künstliche Intelligenz allgemein angesehen wird und was da an Leistung dahinter steht:
    Eine IBM Watson Instanz besteht aus 10 IBM Power 7 Schränken, mit 90 x Power 750 Server, 2880 Power 7 CPU Kernen, 500GB/s on Chip Bandbreite, 16 TB RAM, 20 TB HDD, 80 Terraflops.

    Du schreibst sehr selbstbewust, das Dein Rover "intelligentes Leben" orten kann und nutzt dazu einen Wärmesensor.
    Da würde mich jetzt interssieren, wie Du den auswertest um zum einen generell mal Leben von unbelebten Wärmequellen zu unterscheiden und wie Du den Begriff "intelligent" deffinierst. Von meinem Verständniss der Möglichkeiten eines Wärmesensors, sehe ich nämlich keine Möglichkeit mit diesem Sensortyp auf Sensorebene zwichen inelligent und nicht intelligent zu unterscheiden.
    Geändert von i_make_it (21.01.2018 um 11:38 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hallo,

    ich habe mich mit einzelnen aspekten eines autonemen roboters beschäftig. IR-navigation, induktive ladestation, omni move raeder und die kombination nehrerer microcontroler (noch weniger als ein erster ansatz)... Was mich interessieren würde ist dein plan der integration der einzelnen "funktionen", damit jede für sich immer parat und wenn gebraucht auch sofort genutzt werden kann...
    gruß inka

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    .. Viele, die sich ernsthaft mit Roboter-Programmierung beschäftigen, nehmen die Funktionsweise des menschlichen Gehirnes als Basis ihrer Projekte ..
    Nein, das sehe ich wirklich nicht. Programmierung jeder Art hat m.E. was mit Logik zu tun, mit Semantik und Abstrahierbarkeit. Und ich weiß nicht ob sich irgendjemand zutraut die Funktionsweise des menschlichen Gehirns annähernd zu verstehen (siehe z.B. Spektrum der Wissenschaft 1.18 "Triumph der KI" und 10.16 "GPS im Gehirn"). So haben May-Britt Moser und Edvard I. Moser schon für Arbeiten an einem kleinen Teilgebiet der Gehirnfunktion (siehe "GPS im Gehirn") den 2014er Nobelpreis für Physiologie/Medizin bekommen.

    .. Der Titel ist ja ganz ehrlich, ein bischen reißerich. so in Richtung wie wie die Schlagzeilen bei "Bild" ..
    Ja, reißerisch im Sinne von Bild. Wobei die Sprachkünstler von Bild sowas aber mit einem wirklich minimalistischen Wortschatz machen - wirklich mediales Können.

    .. Behauptung, dass man mit Arduinos das menschliche Gehirn nachahmen kann ..
    Also mit einem größeren Cluster von üblichen PCs geht das vielleicht ansatzweise? Mit Arduinos haben einige Forumskollegen schon neuronale Netze programmiert; da vermute ich aber, dass diese Kollegen nicht von gehirnadequater geistiger Potenz sprechen würden. Eher von einer verständnisfördernden überschaubaren Modellbildung. Und KI ist ja nicht gleich Funktion des menschlichen Gehirns.

    Einen Rover mit etlichen Sensoren (Zitat : ".. so unglaublich das klingt, auch mit zwei oder mehreren Arduinos .. Modell eines Mars Rovers, der umfangreiche Sensoren an Bord hat ..") ist für einen Anfänger (".. vor einigen Monaten angefangen, mich mit dem Arduino auseinander zu setzen ..") sicher ein großes Projekt. Alle Achtung vor dem Mut gleich so etwas anzufangen. Aus meinen eigenen Zugang zur Materie weiß ich, dass anfangs die Fähigkeiten dieser Minirechner schon sehr beeindrucken.

    Immerhin bin ich gespannt, was aus Deinem Projekt im Laufe der Zeit werden wird. Vielleicht fällt da etwas für mich ab. Bisher hat mein Archie ja erst zwölf Controllerplatinen - eine Zentrale und elf Satelliten. Aber eben noch keinen arduino . . .
    Ciao sagt der JoeamBerg

  5. #5
    HaWe
    Gast
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Mit Arduinos haben einige Forumskollegen schon neuronale Netze programmiert; da vermute ich aber, dass diese Kollegen nicht von gehirnadequater geistiger Potenz sprechen würden. Eher von einer verständnisfördernden überschaubaren Modellbildung. Und KI ist ja nicht gleich Funktion des menschlichen Gehirns.

    Immerhin bin ich gespannt, was aus Deinem Projekt im Laufe der Zeit werden wird.
    stimme ich beidem zu.
    Das wesentliche Merkmal eines höheren Tier-Gehirns ist ja Lern-Fähigkeit, und zur Modellierung von 100 künstlichen lernfähigen neuronalen Zellen (Perceptrons) in einem 2-schichtigen neuronalen Netz braucht man ca. 100kB. Das geht grade mal mit einem Arduino Due (92kB): das habe ich bereits erfolgreich gemacht, allerdings ist die Performance dann immer noch reichlich anspruchslos.
    100 Nervenzellen ist größenordnungsmäßig etwa das, was ein Wurm hat (vgl. C. elegans mit insgesamt sogar ~300, allerdings ist der noch nicht mal lernfähig).
    Ein Mensch hat etwa 100 Milliarden (also 109 mal so viele) Nervenzellen im Großhirn, plus etwa genau so viele modulierende Zellen (aktivierende, hemmende, nicht lernfähige, wie z.B. Gliazellen) - und ich bin mir nicht mal sicher, ob die von Kleinhirn, Stammhirn und Medulla nicht sogar noch dazu kommen.
    Und was die interne Architektur eines menschlichen Gehirns angeht (Verschaltung in -zig Ebenen) - : ich glaube, davon hast du nicht annähernd auch nur die blasseste Vorstellung (wenn überhaupt jemand).


    Daher schließe ich mich an:
    Ich lass mich von deinem Ergebnis überraschen.

  6. #6
    Der Titel war ja auch durchaus satirisch gemeint, darum das Fragezeichen hinter dem Titel. Auch das "intelligente Leben" steht in Anführungszeichen und ist damit als nicht ernst zu nehmen gekennzeichnet. Was mich aber wirklich fasziniert, ist, dass man mit so einem einfachen Mikrokontroller wie dem Arduino, durchaus so etwas wie eine "beinahe intelligente Steuerung" realisieren kann (indem man einfach mehrere über die I2C Schnittstelle verbindet. Klar kommt es jetzt auf eine gute Programmierung an, die zwei Kontroller so miteinander kommunizieren lässt, dass das Ergebnis deutlich besser ist, als man es mit nur einem Kontroller machen könnte. Ich bin durchaus nicht so bescheuert, dass ich denke, dass man mit einem Arduino dasselbe machen könnte, wie mit Hochleistungsrechnern. Mir ging es nur darum aufzuzeigen, dass man selbst mit einem Arduino durchaus gute Simulationen und Steuerungen realisieren kann. Ansonsten wünsche ich ein schönes Wochenende ...

    - - - Aktualisiert - - -

    Zwölf Kontroller-Platinen? Alle Achtung, da hast ja jede Menge Hardware und wahrscheinlich einen ziemlichen Stromverbrauch. Wäre interessant, so etwas mal in Bildern zu sehen. Thx. Geri

  7. #7
    HaWe
    Gast
    Zitat Zitat von LoroLoco Beitrag anzeigen
    Der Titel war ja auch durchaus satirisch gemeint, darum das Fragezeichen hinter dem Titel. Auch das "intelligente Leben" steht in Anführungszeichen und ist damit als nicht ernst zu nehmen gekennzeichnet. Was mich aber wirklich fasziniert, ist, dass man mit so einem einfachen Mikrokontroller wie dem Arduino, durchaus so etwas wie eine "beinahe intelligente Steuerung" realisieren kann (indem man einfach mehrere über die I2C Schnittstelle verbindet. Klar kommt es jetzt auf eine gute Programmierung an, die zwei Kontroller so miteinander kommunizieren lässt, dass das Ergebnis deutlich besser ist, als man es mit nur einem Kontroller machen könnte. Ich bin durchaus nicht so bescheuert, dass ich denke, dass man mit einem Arduino dasselbe machen könnte, wie mit Hochleistungsrechnern. Mir ging es nur darum aufzuzeigen, dass man selbst mit einem Arduino durchaus gute Simulationen und Steuerungen realisieren kann. Ansonsten wünsche ich ein schönes Wochenende ...

    - - - Aktualisiert - - -

    Zwölf Kontroller-Platinen? Alle Achtung, da hast ja jede Menge Hardware und wahrscheinlich einen ziemlichen Stromverbrauch. Wäre interessant, so etwas mal in Bildern zu sehen. Thx. Geri
    mit 1 einzigen stärkeren ARM Prozessor samt Multithreading (z.B. Due mit Scheduler und DueTimer oder gar Raspi mit pthread) kann man weit mehr erreichen als mit mehreren kleinen AVRs, sowohl wegen cpu Takt als auch wegen Wegfall der limitierenden Kommunikation über sehr leistungsschwache Bus-Systeme wie I2C und wegen eines Vielfachen des dynamisch verfügbaren RAMs für einzelne Tasks/Threads. Also lieber 1 Due mit 92kB/84MHz als 12 Arduino Uno oder Mega mit je 2,5-8kB/16MHz plus langsame i2c- und UART-Kommunikation untereinander (weitere I2C Portexpander außen vor).

    PS,
    von Sarkasmus u/o Satire u/o Ironie lese ich hier nichts, das ist aber immer auch schwierig mit Sarkasmus u/o Satire u/o Ironie in Foren: das muss man daher deutlich klarer als solche kenntnlich machen, falls man es wirklich so meint.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2008
    Ort
    Graz
    Beiträge
    521
    Zitat Zitat von LoroLoco Beitrag anzeigen
    Viele, die sich ernsthaft mit Roboter-Programmierung beschäftigen, nehmen die Funktionsweise des menschlichen Gehirnes als Basis ihrer Projekte.
    Das einzige Projekt das sicher so etwas in der Art umsetzt ist NVIDIA mit deren autonomen Fahrzeuge.
    Die füttern das neuronale Netz einfach mit allen Sensordaten und das Auto lernt daraus wie es zu fahren hat.

    Was GM macht weiß ich nicht, vermute aber ähnliches. GM will ja 2019 die ersten autonomen Fahrzeuge ohne Lenkrad und Pedale auf den Markt bringen und verhandelt deswegen schon mit den Zulassungsbehörden in den USA.


    Man sieht in den Videos wie das Auto zuerst mal den Kurs verlässt, der Fahrer eingreifen muss, aber mit der Zeit kann es richtig fahren.

    Website

    Video 1

    Video 2

    Aber das am Arduino ist mehr als sportlich, NVIDA hat spezielle Prozessoren mit enormer Rechenleistung dafür entwickelt.
    alles über meinen Rasenmäherroboter (wer Tippfehler findet darf sie gedanklich ausbessern, nur für besonders kreative Fehler behalte ich mir ein Copyright vor.)

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    .. fasziniert .. so etwas wie eine "beinahe intelligente Steuerung" realisieren kann (indem man einfach mehrere über die I2C Schnittstelle verbindet ..
    Ich will Dir nicht den Wind aus den Segeln nehmen. ABer - oben habe ich einen Link auf die Topologie meines Archie. Knappe 1,5 m I²C-Kabel in meinem archie, es sind etliche Mithörer auf dem Bus, dazu die stets vorhandene Elektronik mit ihren (fast) unvermeidbaren hochfrequenten Störungen - da geht die Übertragungsrate in den Keller - und man feststellt, dass es nicht reicht mit >400 kHz zu senden *gg*. Also bei mir jedenfalls wars kein ".. einfach mehrere über die I2C Schnittstelle verbindet ..". Und dann will das Übertragungsprotokoll schon kritisch überlegt sein um Übertragungsdauer zu sparen. Wahrscheinlich bin ich für ne einfache Lösung noch zu sehr Anfänger.

    Wie gesagt - ich bin auf Deine Lösungen gespannt.
    Ciao sagt der JoeamBerg

  10. #10
    Zitat Zitat von HaWe Beitrag anzeigen
    mit 1 einzigen stärkeren ARM Prozessor samt Multithreading (z.B. Due mit Scheduler und DueTimer oder gar Raspi mit pthread) kann man weit mehr erreichen als mit mehreren kleinen AVRs, sowohl wegen cpu Takt als auch wegen Wegfall der limitierenden Kommunikation über sehr leistungsschwache Bus-Systeme wie I2C und wegen eines Vielfachen des dynamisch verfügbaren RAMs für einzelne Tasks/Threads. Also lieber 1 Due mit 92kB/84MHz als 12 Arduino Uno oder Mega mit je 2,5-8kB/16MHz plus langsame i2c- und UART-Kommunikation untereinander (weitere I2C Portexpander außen vor).

    PS,
    von Sarkasmus u/o Satire u/o Ironie lese ich hier nichts, das ist aber immer auch schwierig mit Sarkasmus u/o Satire u/o Ironie in Foren: das muss man daher deutlich klarer als solche kenntnlich machen, falls man es wirklich so meint.
    Ich habe ehrlich gesagt nicht damit gerechnet, dass ich hier auf Sheldon Cooper stoßen werde, aber bitte, hier ist es: Das Satire Schild.Klicke auf die Grafik für eine größere Ansicht

Name:	Satire.png
Hits:	2
Größe:	2,9 KB
ID:	33232

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Künstliche Intelligenz: Der schlauere Mario
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 13.04.2016, 09:10
  2. TV: Künstliche Intelligenz
    Von Günter49 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 17
    Letzter Beitrag: 29.06.2009, 15:29
  3. Künstliche Intelligenz Programm
    Von philippus93 im Forum Software, Algorithmen und KI
    Antworten: 7
    Letzter Beitrag: 20.06.2008, 20:16
  4. Fernsehtip: 5.Nov. 20.05 Uhr: Künstliche Intelligenz
    Von Frank im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 10
    Letzter Beitrag: 12.11.2005, 15:04
  5. Künstliche Intelligenz (KI)
    Von Devil im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 2
    Letzter Beitrag: 12.04.2005, 17:18

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test