hi,
meld mich heute im laufe des nachmittags,
hab im augenblick, troubles mit einer mc
mfg
nomad
Druckbare Version
hi,
meld mich heute im laufe des nachmittags,
hab im augenblick, troubles mit einer mc
mfg
nomad
hi,
neurales netz:
wird bei mir fuer die motorsteuerung verwendet.
input = sensordaten
output = motor-commandos
z.b. die daten fuer die input-neuronen -> mysql
die daten der output-neuronen -> mysql
man koennte dann mit einem vergleich der daten, herausfinden, ob die aktionen die ausgefuehrt werden optimal sind
und koennte diesen vergleich dann, im neural-net-regler fuer zukunftige aktionen benutzen.
statemachine:
ich hab rausgefunden, dass wenn man daten mit mysql verarbeitet, schneller ist als wenn man text-files lesen und
schreiben muss.
bei einem 1ghz proc, 512 mb, und 40gb-hd sehe ich im augenblick keine probleme.
gedaechnis & vergessen:
prosaisch gesehen, mit mysql ueber die time-stamp-funktion.
es waere auch moeglich, sehr alte daten zu komprimieren.
es ist auch eine grundsaetzliche frage, wie sich menschen oder auch tiere an aktionen etc. erinnern koennen
im augenblick bin ich noch heftig mit der hardware der plattform beschaeftigt.
(R8C/13 aus dem ELEKTOR, und bau von hindernis-sensoren (ultraschall))
die obengenannten ueberlegungen wurden von mir bei einem schwimmende autonome plattform und in
simulationen benutzt.
mfg
nomad
Echt das mit dem schreiben auf Plattelangsam sein soll als mit dem mysql
das wurdert mich doch etwas mal testen.
Oder unter Linux ist das anders als unter Windows das kann ja auch sein.
Dein Post hört sich an als währst du ein alten Haase was das stuerm mit PC software an geht.
Das Thema Neuronales Netz interesiert mich sehr aber mehr als ein AND oder ein OR konnte mein Netz (zwei neuronen) noch nicht lernen.
Das Thema vergessen finde ich auch sehr heiß vielleicht hast du ja lust noch einbisschen deine Gedanken zu diskutieren. Den die Zeit kann nicht der einzigs Faktor zum vergessen sein. Es gibt auch dinge du gleich wieder vergessen und andere die du nach jahren noch weiß. Unterbewustsein !?
Wie hast du dein Epia an de Batterie an geschlossen. Hast du da noch irgend welche Spannungsstabis da zwischen ?
Gruß
hi,
Epia & Batterie:
nee, nur ne 12volt 7,2ah und ein anschluss an einen ad-wandler, also sobald ein bestimmter wert unterschritten,
wird wird das system gestoppt.
zugriffs & langsamkeit:
ist rein geffuehlmaessig.
also das mit den grundlagen hab ich aus einem uralten elektor-heft: so november 2001
da war eine reihe ueber neurale netze drinn.
habs dann einfach in c-geschrieben und an meine beduerfnisse angepasst.
nur eben die programme sind recht gross, so um 30-40000 zeilen code.
also input via rs232, parser, inputverarbeitung, regelwerk,output.
zu bewustsein: => rolf pfeiffer AI
ist ein gutes buch
mfg
nomad
40000 das ist heftig so weit bin ich noch nicht.
was für ein ad-wandler ?
Prof. Rolf Pfeiffer von der Universität Zürich meinst du den ?
hi,
den ad-wandler ist der eingebaute ad-wandler des alten c-control-mircrocontrollers von conrad,
ja, den pfeiffer, ist recht interessant,
neuralNet's
hier ist mal ein kleines programm:
vielleicht hilfs dir.
mfg
nomad
//================================================== =======================//
// THE Nomad - PROJECT //
// by //
// RYTTA COMMUNICATIONS INC. //
// (c) Version 0.0.1. March 2003 //
// //
//================================================== =======================//
// nn_1.c //
// ------------------- //
// begin : Fri.March 14. 12.00:00 GMT 2003 //
// copyright : (C) 2003 by s.morf //
// email :
// graphics : no //
// compile with : cc -o nn_1 nn_1.c -lm //
// start with : ./nn_1 //
// //
// for : neuralNet for sensorControl and //
// MotorMovements //
//************************************************** ************************/
// THIS PROGRAMM IS UNDER THE GNU-LICENCE //
/************************************************** *************************
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
************************************************** **************************
Contributions:
************************************************** **************************
Notes:
14.03. - interduction
- compile and run == ok
- result stimmt gemaess elektor artikel
************************************************** **************************
referneces:
berechnung des netzwerk-outputs
for L = 1 to number_of_layers
{
for n = 1 to number_of_neurons_in_biggest_layer
{
for c = to number_weights_in_biggest_layer
{
O(L+1,n) = O(L+1,n) + O(L,c) * W*L,n,c)
}
O(L+1,n) = 1/(1+exp(-1*O(L+1,n)))
}
}
listing 2
alternative outputprogrammierung
for t =1 + number_of_inputs to number_of_neurons
{
for f= 1 to number_of_neurons
{
O(t) = O(t) + O(f) * W(f,t)
}
O(t) = 1/(1+exp(-1 * O(t)))
}
sigmoid-funktion
-0.18
e = gem.rechner 1/(1+(e )) = 0.5449
e gem.c double exp(double x)
e = 2.7118 ..... as basis
1
output = ______________ = 0.5449
-0.18
1+ e
zu bild 10
input ins Neuron 1 = (0.2*0.5) + (0.4*0.8) = 0.42
1
output = ______________ = 0.603
-0.42
1+ e
input ins neuron 2 = (0.2*0.1)+(0.4+0.9) = 0.38
1
output = ______________ = 0.594
-0.38
1+ e
input ins letzte neuron (0.594 * 0.7) + (0.603 * 0.5) = 0.717
1
final_output = ________________ = 0.672
-0.717
1+ e
************************************************** ************************
D E C L A R A T I O N S
************************************************** ************************/
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include "conio.h"
#include <conio.h>
double in_1 = 0.2;
double in_2 = 0.4;
double W_11 = 0.1;
double W_12 = 0.5;
double W_21 = 0.9;
double W_22 = 0.8;
double W_31 = 0.7;
double W_32 = 0.5;
double Hid_in_1;
double Hid_in_2;
double Hid_out_1;
double Hid_out_2;
double Out_in_3;
double out_final;
main()
{
clrscr();
gotoxy(2,1);
printf("The NeuralNet Version 0.0.1. (c) 2003 RCI");
gotoxy(2,2);
printf("now running");
Hid_in_1 = (in_1 * W_12) + (in_2 * W_22);
gotoxy(2,4);
printf("Hidden Input 1 = %f",Hid_in_1);
Hid_in_2 = (in_1 * W_11) + (in_2 * W_21);
gotoxy(2,5);
printf("Hidden Input 2 = %f",Hid_in_2);
Hid_out_1 = 1/(1+exp(-1 * Hid_in_1));
gotoxy(2,6);
printf("Hidden output 1 = %f",Hid_out_1);
Hid_out_2 = 1/(1+exp(-1 * Hid_in_2));
gotoxy(2,6);
printf("Hidden output 2 = %f",Hid_out_2);
Out_in_3 = (Hid_out_2 * W_31) + (Hid_out_1 * W_32);
gotoxy(2,7);
printf("Output in_3 = %f",Out_in_3);
out_final = 1/(1+exp(-1 * Out_in_3));
gotoxy(2,10);
printf("Final Output = %f",out_final);
gotoxy(2,12);
printf("finished\n");
}
danke für den code schnipsel werde ich mir mal an sehen.
Kleiner Tipp wenn du die Code tag nimmst wirds einfachen zu lesen
aber danke
Gruß
Hallo Nomad, hab ähnliches vor bzw. teil-realisiert... aber hängst Du echt das Epia direkt an die Batterie an? Schätze mal, das ist ein Bleigelakku, und der kann die 12 Volt im geladenen Zustand überschreiten... Hast Du die Motoren an der selben Batterie? Ich verwende einen DC-DC Konverter (iTuner M1) um sicher zu gehen, dass nichts passieren kann, braucht das TC10000 diesen nicht (es hat ja einen eingebaut, aber welche Toleranz hat der bezüglich der Eingangsspannung)?
Gruß
hl_angel
P.S: Nimm ne Notebookfestplatte.. hab meine auf ebay für 10 euro bekommen und 4 GB (4200 RPM) sollten ja reichen: die Batterie wird es Dir in Laufzeit danken ;-)
hi,
also es ist eine 12v-batterie, 7.2 AH
und laut technik, via-tech.de sollte es gehen,
im manual und so steht nichts davon,
ein stecker mit abisolierten kabel liegt ja bei.
bis jetzt betreib ich das ganze ueber ein netzteil (12volt, 5A, 60watt)
werd aber deinen rat im kopf haben und s e h r, s e h r, vorsichtig sein,
vermutlich werde ich (wenn's soweit ist) nochmals via-tech.de anfragen.
Zur Sicherheit:
koenntest du mir eine skizze des DC-DC-Wandlers (iTuner M1)posten.
Also wie man so einen Wandler auf ein Platinchen bringt.
zur notebookHD:
das ganze via-system ist leider schon eingebaut.
und 4GB sind auch nicht sehr viel.
mit meiner 40GB hab ich die Suse9.0 inkl. graphische BenutzerOberflaeche und saemtliche Entwicklungs-Werkzeuge an
Bord.
mfg
nomad
Hallo, skizze/schaltplan hab ich leider nicht, die platine sieht so aus:
http://www.itx-warehouse.co.uk/Produ...?ProductID=347
eigentlich sollte ein 12 V spannungsbegrenzer ja reichen (zehnerdiode?), da du den spannungswandler ja im board hast.
Ich lass mir aber mit dem DC-DC konverter gleich alle spannungen für den bot generieren (bis auf die motoren)
Die 40 GB auf nem bot ist ja ein hammer... aber ich läster ja nicht... mein system ist ja auch für die meisten überdimensioniert :-)
Ich hab allerdings die entwicklungsumgebung auf dem "normalen" PC gelassen und arbeite über WLAN mit dem bot.. Da mein board einen CF slot hat, werd ich versuchen im nächsten schritt wieder ein wenig abzuspecken und die platte gegen eine CF card tauschen (da ich momentan kein linuxer bin, muss ich das windoof 2000 wohl ein wenig abspecken... aber das ist ohne probleme möglich).
Wie ist eigentlich die floatingpoint-performance des TC10000? Das hat zwar vollen FPU takt, aber wie ist es im vergleich zu einem P3 (den ich verwende)? Gerade bei neuronalen netzen nicht zu verachten, oder verwendest du fixpointarithmetik?
gruss
hl_angel