Date post: | 15-Jul-2015 |
Category: |
Technology |
Upload: | tomas-jukin |
View: | 331 times |
Download: | 1 times |
Tomáš Jukin@Inza
Arduino and Neural Nets
16 MHz
2 KB RAM 16 MHz
:-(
:’-(
? ? ?
7 + 8 + 4 = 19!
7 + 8 + 4 = 19
7 + 8 + 4 = 19 Input
Hidden
Output
7 + 8 + 4 = 19
7 Segment Display to Binary
Tomáš Jukin@Inza
www.juicymo.cz@JuicymoCZ
Tomáš Jukin@Inza
academy.juicymo.cz@JuicymoAcademy
Dendrite
NucleusAxon
Input
Activation FunctionOutput
Dendrite 2
Nucleus
Axon
Dendrite 1
Input 2
Activation Function
Output
Input 1
Input 2
Activation Function
Output
Input 10,2
0,80,43
0,18
0,37
Input
Hidden
Output
Feed Forward ANN
Input Hidden Output
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
Flow
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º = 20/180 = 0,111…
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º = 20/180 = 0,111…
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º = 20/180 = 0,111…
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º = 20/180 = 0,111…
0,345 = 34% power
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º = 20/180 = 0,111…
0,345 = 34% power
0,4 = 40% power
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º = 20/180 = 0,111…
0,345 = 34% power
0,4 = 40% power
0,4 - 0,345 = 0,055
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º = 20/180 = 0,111…
0,345 = 34% power
0,4 = 40% power
0,4 - 0,345 = 0,055
Input Hidden Output
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º= 20/180 = 0,111…
0,345 = 34% power
0,4 = 40% power
0,4 - 0,345 = 0,055
W11 = 0,14
W12 = 0,65
W14 = 0,42
W13 = 0,26
W21 = 0,21
W22 = 0,37
W24 = 0,19
W23 = 0,46
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º= 20/180 = 0,111…
0,345 = 34% power
0,4 = 40% power
0,4 - 0,345 = 0,055
W11 = 0,14
W12 = 0,65
W14 = 0,42
W13 = 0,26
W21 = 0,21
W22 = 0,37
W24 = 0,19
W23 = 0,46
Backpropagation
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º= 20/180 = 0,111…
0,345 = 34% power
0,4 = 40% power
0,4 - 0,345 = 0,055
W11 = 0,14
W12 = 0,65
W14 = 0,42
W13 = 0,26
W21 = 0,21
W22 = 0,37
W24 = 0,19
W23 = 0,46
Backpropagation
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º= 20/180 = 0,111…
0,345 = 34% power
0,4 = 40% power
0,4 - 0,345 = 0,055
W11 = 0,14
W12 = 0,65
W14 = 0,42
W13 = 0,26
W21 = 0,21
W22 = 0,37
W24 = 0,19
W23 = 0,46
Backpropagation
Ultrasonic Sensor
Gyroscope
Wheel Encoder
Left Motor
Right Motor
20º= 20/180 = 0,111…
0,345 = 34% power
0,4 = 40% power
0,4 - 0,345 = 0,055
W11 = 0,14
W12 = 0,65
W14 = 0,42
W13 = 0,26
W21 = 0,21
W22 = 0,37
W24 = 0,19
W23 = 0,46
Backpropagation
When to use ANNs?
It can learn and detect patterns
When to use ANNs?
But beware local optimum!
When to use ANNs?
To much training is bad!
When to use ANNs?
To much training is bad! To few training is bad too!
And what about hardware?
How ANN stores data?
FF ANN needs just a two dimensional array
How ANN stores data?
FF ANN needs just a
Feed-Forward Artificial Neural Net
Nice!
So I can run it everywhere then, can I?
ANN on UNO?
NOPE :-(
ANN on UNO?
2 KB RAM => 19 neurons effectively
ANN on UNO?
Average ANN has >100 neurons
ANN on UNO?
Interesting ANN has >2000 neurons
ANN on UNO?
=> No go on UNO …
ANN on Raspi?
Yop, that is a start…
ANN on Raspi?
Yop, that is a start… and I2C or UART
will connect it with UNO…
ANN on Raspi?
Yop, that is a start… and I2C or UART
will connect it with UNO… but BEWARE the VOLTAGE!
Case Study
#Probee Robot
#Probee Robot
3x UltraSonic Sensor (Forward / Backward / Turret)
4x DC Motor
1x Motor Controller (Left / Right)
1x Arduino UNO (= brain)
1x Bluetooth Module
1x 2x16 I2C LCD (= status display)
#Probee Robot UNO ANN
Hours to learn movement…
#Probee Robot UNO ANN
Hours to learn movement…
15 minutes battery
#Probee Robot UNO ANN
Hours to learn movement…
15 minutes battery
Needs better HW preparation …=>
Interested?
Build or Implementstart today!
You can start right now……with any language…
…or on Arduino!
Inspiration
http://goo.gl/sKTfsdBlog post about ANN on UNO
http://goo.gl/cuIUiHANN controlling robot in video
Questions?
Tomáš Jukin@Inza
www.juicymo.cz@JuicymoCZ
Photo Credits
All photos used are CC from Flickr!