- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Beispiele von Selbstlernenden Systemen & Robotern auf FPGA Basis

  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von engineer
    Registriert seit
    24.01.2005
    Ort
    Raum Frankfurt
    Beiträge
    276

    Beispiele von Selbstlernenden Systemen & Robotern auf FPGA Basis

    Anzeige

    Praxistest und DIY Projekte
    Wer arbeitet mit oder an solchen Systemen, bzw kennt Firmen / Institute, die das tun?

    Es geht dabei vorwiegend um die Implementierung neuronaler Strukturen / Netze in FPGAs zur Implementierung in autonome Systeme.

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von engineer
    Registriert seit
    24.01.2005
    Ort
    Raum Frankfurt
    Beiträge
    276
    Enorme Anzahl von Rückmeldungen! Bitte nicht drängeln.

    Im Ernst, niemand hier der sowas macht?

  3. #3
    HaWe
    Gast
    Zitat Zitat von engineer Beitrag anzeigen
    Enorme Anzahl von Rückmeldungen! Bitte nicht drängeln.

    Im Ernst, niemand hier der sowas macht?
    ich kenne keine FPGAs, aber:
    wieviel Variablen- und Programm-Speicher und welche Taktfrequenz haben die Plattformen?
    Sind die Programme native Executabes (C/++) oder Interpreter-basiert (C#, Java, Python)?
    Welche Art von NNs sollen implementiert werden (edit, z.B. per supervised oder unsupervised Learning) ?
    Sollen die NNs ggf. auch autonom trainiert werden?
    Was genau bzw. wofür sollen sie lernen (z.B. Mustererkennung für Verhaltens- oder Bewegungssteuerung oder z.B. G- Learning)?
    Geändert von HaWe (13.12.2017 um 10:47 Uhr)

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    FPGA's werden in VHDL (Very High Speed Integrated Circuit Hardware Description Language) programmiert.
    Das Xilinx FPGA Evaluation Kit liegt bei 6995$, da kann mann im Hobbybereich einiges von kaufen.
    https://www.xilinx.com/products/boar...ts/vcu118.html
    Los gehen die FPGA Evaluation Kits bei 1695$. (die Kits für 300$ enthalten nur Hardware und keine Design Tools)

    Die Vivado Design Suite kostet einzeln ab 2995$
    https://www.xilinx.com/products/desi...ivado.html#buy

    Es dürfte also eher unwahrscheinlich sein, das sich jemand das zu Hobbyzwecken anschafft.
    Von daher nicht unbedingt verwunderlich, das sich in einem Jahr niemand dazu gemeldet hat.

  5. #5
    HaWe
    Gast
    OMG, für 6000 EUR kriegt man ja 200 Raspberry Pis oder 400 Arduino Dues - ja, das ist wohl eher was für hochspezialisierte Profis.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    14.02.2018
    Beiträge
    15
    FPGA-Plattformen gibt es schon ab 30,- Euros. Das Problem ist eher die Umständlichkeit der Sprache und das Langwierige, bis man was zusammen hat, das arbeitet.

    https://www.robotshop.com/de/de/fpga.html

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Wenn man schon mal PAL's und GAL's programmiert hat, ist das Erstellen erster Logikgatter keine langwierige Sache.
    (Mit den Herstellereigenen IDE's).
    wie es mit den Verilog und VHDL Plugins für Eclipse aussieht, keine Ahnung.
    Das müsste man ausprobieren.
    Für 30-50€ bekommt man kein Entwicklerboard.
    Da kann man so ein IO-Linker Board kaufen und die vorhanden Programmierung halt selbst überschreiben.
    Das ist halt ein Chip auf einem Board mit Stiftleisten (quasi ein Breakout board ohne Sockel sondern verlötet).
    Wenn man nicht den Platz und Gewichtsvorteil eines FPGA's haben will, kann man sowas natürlich nehmen.

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.04.2005
    Ort
    Freiberg
    Alter
    41
    Beiträge
    311
    Es dürfte also eher unwahrscheinlich sein, das sich jemand das zu Hobbyzwecken anschafft.
    => Ich schon...

    Hallo zusammen,

    ich möchte mal das Bild von FPGAs korrigieren. Wie gesagt bastel ich aktuell mit einem FPGA. Und das liegt nicht daran, dass ich bereit bin einen Vierstelligen Betrag für so ein Board und nochmal so viel für die Software auszugeben. Sondern es handelt sich tatsächlich um Bastelware für Jedermann (wenn auch nicht ganz sooooo günstig wie Arduinos oder RPis). Hier mal der Weg, den ich gegangen bin:

    1. Xess (http://www.xess.com/):
    Extrem gute Aufbereitung von Hardware und Tutorials. Ich hatte mir mal ein XuLA2-Board gegönnt, für sowas wie 120$ (glaub ich). Darauf war ein Spartan 6 (XC6SLX9). Nach aktuellem Stand würde ich sagen, dass man damit schon sehr viel machen kann - auch wenn man effektiv nur ca. 30 von 100 Pins des FPGAs nutzen kann (bzw. ein paar werden noch für die on-board Speicher verwendet). Aber für ein paar Motoren und Sensoren reicht das ja häufig. Und: Steckbretttauglich!

    Dicker Pluspunkt: Super Dokumentation und damit toller Einstieg in die VHDL-Programmierung.
    Dicker Minuspunkt: Mittlerweile kann man dort keine FPGA-Boards mehr erwerben.

    Aktuell komm ich mit meinem noch völlig zurecht. Sollte ich mir mal was neues anschaffen müssen, wäre wohl

    2. Trenz-Elektronik (https://shop.trenz-electronic.de/de/...nz-Electronic/) meine nächste Anlaufstelle. Die haben nicht nur vergleichbare Steckbrett-geeignete erschwingliche Boards, sondern auch die deluxeren Ausführungen mit dick RAM, den dickeren FPGAs (Kintex, Virtex und die krassen Ultrascale und besser - für den Fall, dass doch mal das eine oder andere Projekt ausartet) und man kann dort auch alle Pins des FPGA nutzen. Inwiefern man auf deren Boards auch die Tutorials von Xess umsetzen kann wäre mal eine interessante Frage. Sollte das jemand ausprobieren: bitte Bescheid geben!

    Thema Software:
    Ja, sie kostet viel. Aber: man braucht sie nicht. Es handelt sich um die kommerziellen Versionen, mit Super-Duper-Analyzing-Tools, bei denen man exzessive Timinganalysen und irgendwas machen kann. Braucht der Bastler nicht. Stichwort heißt: WebPack. Registrieren, frei herunterladen, Plug-and-Play-Installation. Ich hatte zumindest keine Probleme.

    Wer mit einem Spartan 6, 3 (siehe z.B. c't Lab FPGA-Modul) oder älter anfangen möchte, benötigt das ISE WebPack 14.7. Das läuft zwar standardmäßig nicht mehr auf Win7 oder neuer. Aber wo ein Problem, da eine Lösung:
    http://jacobpaulshaffer.com/Getting_..._on_Windows_10
    Wer auf Spartan 7 und neuer aufspringt, sollte das Vivado Webpack nutzen können. Das habe ich selber aber noch nicht ausprobiert. Berichte dazu sind hier natürlich auch erwünscht.
    Das Webpack bietet ausreichend Funktionen: Man kann nicht nur programmieren und kompilieren (Yeah!), sondern auch Simulationen und Floor-Planning durchführen.


    Warum sollte man das jetzt auch noch tun und von PIC & Co weggehen? Achtung: es folgt Propaganda!
    Geschwindigkeit und Flexibilität!
    Geschwindigkeit: rein hardwarebedingt gehen Rechenoperationen (v.a. multiplikationen) schneller (nur ein Taktzyklus) als bei µCs. Warum, das habe ich nicht durchschaut, nur, dass es so ist.
    Wenn da ein 12MHz-Quarz dranhängt (wie bei meinem XuLA2), heißt es nicht, dass ich auf 12MHz arbeiten muss. FPGA-intern kann man auf 300MHz (bei Spartan 6) hochskalieren - die neueren vertragen wohl auch 500MHz. Führt man nicht nur bei steigenden Flanken Operationen durch, sondern auch bei fallenden Flanken, ist man bei 1GHz. Oder man lässt es ohne Taktbezug durchlaufen - das ist am schnellsten, aber ob man es je mit anderen Prozessen wieder synchronisiert bekommt, ist die große Frage.

    Außerdem (und das mag ich am meisten): Parallelisierung. Jeder Prozess, den man sich zusammenprogrammiert, arbeitet parallel zu allen anderen Prozessen. Ich kann also mit 12Mhz eine LED blinken lassen und parallel dazu irgendwelche komplexen Berechnungen durchführen. Egal wie und um was ich meinen Code erweitere, hat es keinen Einfluss auf das Timing bereits existierender Prozesse. Auch Subfunktionen, die N mal durchlaufen müssen kann ich parallel arbeiten lassen und erhalte das Ergebnis in der gleichen Durchlaufzeit, wie für einen einzigen Durchlauf benötigt wird.

    Allerdings ist die interne "Verschaltung" der Prozesse etwas mühseliger. Da braucht man dann etwas mehr Aufwand, um da den Überblick nicht zu verlieren.

    Und auch ganz nett: ich benötige eine Variable mit 4bit länge: ich definiere sie mir. Variable mit 35bit Länge: kein Problem...

    Ich selber stehe da gewiss auch noch am Anfang von VHDL und FPGAs insgesamt. Aber mir macht es erheblich mehr Spaß, als eine µC-Programmierung und kann es deshalb nur jedem empfehlen.

    Am Ende meiner aktuellen Bastelarbeit steht auch ein Machine Learning auf dem FPGA an. Allerdings muss ich dazu erstmal noch ein paar andere ToDos durchlaufen, ehe ich mich darum kümmern kann. Vielleicht kann ich dazu in einem oder zwei Jahren mal was schreiben.

    In diesem Sinne!

    Grüß, NRicola
    Geändert von NRicola (31.05.2018 um 13:23 Uhr)
    Gurken schmecken mir nicht, wenn sie Pelz haben!

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Zitat Zitat von NRicola Beitrag anzeigen
    => Ich schon...
    Tja, aber trotzdem nicht in den 347 Tagen zwichen dem ersten und dem zweiten Post gemeldet.
    Da kommen dann halt auch so Schlussfolgerungen zustande.
    Denn die Preise werden ja auch fast überall aufgerufen.
    Leider ist die Hardware halt doch noch preislich oberhalb von µCs und mal eben in C einsteigen ist auch für ungeübte meist noch leichter als in VHDL
    Für VHDL muß man ja erst mal ein Struktur und Zustände beschreiben, damit man weis was man programmierne will.

    Mit GOTO lässt selbst Arduino C++ wilden Spagetticode und auch Anfänger bekommen meist ewas raus was zumindest dem Anschein nach das macht was sie wollen.

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.04.2005
    Ort
    Freiberg
    Alter
    41
    Beiträge
    311
    Hallo i_make_it,

    Tja, aber trotzdem nicht in den 347 Tagen zwichen dem ersten und dem zweiten Post gemeldet.
    Das liegt daran, dass ich wirklich nichts wertvolles zu der Ausgangsfragestellung beitragen kann.

    Zu deinen restlichen Kommentaren: ich bin programmiertechnisch eher eine Null<Komma>. C ist ok, C++ find ich auch nach mehreren Anläufen immernoch einen Krampf und alles andere als intuitiv zu lesen.
    Selbst in Python hab ich nie gesunden Einstieg gefunden. Und dennoch klappt VHDL bei mir - viel mehr noch halte ich VHDL für sehr intuitiv.
    So schwer ist es auch nicht, ein
    Code:
    for i in 0 to 7 loop
       ...
    end loop;
    zu interpretieren.
    Ich denke, pauschal braucht man so eine Programmiersprache erstmal nicht verurteilen. Angucken lohnt sich allemal.

    Ich bin mir nicht sicher, was du mit Struktur und Zustände meinst. Der Zustand einer Variable sollte natürlich immer definiert werden. Die Struktur in der FPGA-Programmierung besteht lediglich darin, zwischen Variablen und Signalen zu unterscheiden und die der Architektur (und damit global) oder einem Prozess (und damit lokal) zuzuordnen.

    Ein 76€ Artix-7 klingt erstmal nicht nach der Welt. Teurer als ein Arduino-Board ist es allemal. Aber dafür kommt hier wieder der Thead-Ersteller ins Spiel, der angeregt hat, nicht über blinkende LEDs oder PWM-Ansteuerungen für Motoren nachzudenken, sondern um neuronale Netze. Und da behaupte ich mal, dass ein PIC18 oder ein Atmega328 hier schnell an Grenzen kommt, die ein FPGA so erstmal nicht besitzt. Inwiefern ein ARM oder RPi da nicht dennoch besser abschneiden kann, steht dabei natürlich noch in den Sternen.

    Meine Grundbotschaft ist nur: nicht von 1000€ teuren Developer-Boards abschrecken lassen!

    Grüß,
    NRicola
    Gurken schmecken mir nicht, wenn sie Pelz haben!

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Methoden zum Erkennen einer Fehlerbedingung in Microcontroller-Systemen
    Von Dirk im Forum Software, Algorithmen und KI
    Antworten: 23
    Letzter Beitrag: 24.03.2016, 21:01
  2. Easy FPGA: FPGA per Java konfigurieren
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 26.02.2015, 08:10
  3. Synchronisierung der Bewegung von zwei CNC-Systemen
    Von dvdjimmy im Forum Software, Algorithmen und KI
    Antworten: 9
    Letzter Beitrag: 09.06.2008, 22:40
  4. Aufbau von CNC Systemen für Roboter
    Von mostrich im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 7
    Letzter Beitrag: 20.08.2006, 18:33
  5. FPGA unterschiede zw. SRAM und Flash FPGA?
    Von navyseal im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 3
    Letzter Beitrag: 06.06.2006, 22:29

Stichworte

Berechtigungen

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

12V Akku bauen