Skip to content

Commit 0d31955

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 6404b18 + 9aa4b25 commit 0d31955

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

readme.md

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
11
# Arduino RL
22

3-
Reinforcement learning implementation for a two degrees of freedom arm.
3+
A gradient descent Sarsa agent that controls a custom two degrees-of-freedom arm.
4+
5+
* Low memory footprint update implementation
6+
* Logging utilities (written in Python) to parse data sent over serial
7+
* Plotting utilities
8+
9+
## Why?
10+
11+
Reinforcement learning is a powerful and flexible approach to learning from interaction. Embedded reinforcement learning agents could be a key component to creating engaging, interactive experiences with everyday objects. However, RL methods have not typically been designed with memory constraints in mind. To investigate the issues embedded agents face, I wanted to see how a common learning algorithm would work in the 2kb of SRAM available on an Atmel 328p (Arduino Uno/Pro Mini).
12+
13+
## The platform
14+
15+
<a href="/photos/eagle_small.jpg">
16+
<img src="/photos/eagle_small.jpg?raw=true" width="400px" align="right" vspace="2px">
17+
</a>
18+
19+
The agent gets to control a two degrees-of-freedom arm. The joints have 155 degrees of rotation. The elbow joint controls a rod tipped with an LED which the agent can toggle on and off. A photo resistor on the surface can detect whether the agent is pointing at it.
20+
21+
## Task
22+
23+
The agent must point the LED at the photoresistor in as few actions as possible. Each episode ends when the photocell reads above a threshold, and the agent is reset to a random start position. The agent is penalized for turning on the LED uneccesarily.
24+
25+
## Approach and Performance
26+
27+
To see the details on the implementation and approach, as well as the specification of the reward function, please see the [writeup](https://dl.dropboxusercontent.com/u/971295/ArduinoRL_writeup.pdf). You can also watch [a video](https://www.youtube.com/watch?v=SCv1AomFDG0) of the agent in action.
28+
29+
## Photos
30+
31+
![](/photos/arm_detail_small.jpg?raw=true)
32+
33+
![](/photos/action_detail_small.jpg?raw=true)
34+
35+
![](/photos/long_shutter_small.jpg?raw=true)

report/report.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,4 +249,4 @@
249249
\end{center}
250250

251251

252-
\end{document}
252+
\end{document}

0 commit comments

Comments
 (0)