====== Beam Robotics ======
Not self sufficient, but interesting little [[https://www.youtube.com/watch?v=8B91psOGwss|Toothbrush Robot]]
==== Beam Project ====
This purpose of this project is to get a minimalist BEAM inspired robot capable of searching out it's own light based energy source running over the Autumn weeks of 2014 (winter solstice 12/22/14 00:02:52!).
Steps:
- Order [[beam.components]] - www.conrad.de
- Get [[http://www.beam-wiki.org/wiki/Miller_Solar_Engine|Miller solar Engine]] to function on breadboard
- Combine to form light seeking minimalist analog robot
I bought the wrong version of the MN1381 replacement available on the market - TC54**VN**27. This version is more suited to switch __off__ above a certain voltage (e.g. a low voltage warning light that goes off above 2.7V) . For a solar engine, a circuit should switch __on__ above a certain voltage (wait until Capacitor charged, then discharge). For this you need a TC54**VC** [[beam.components| component]]
As I had to wait to re-order this part, I got my first solar engine working with a [[http://www.solarbotics.net/library/circuits/se_t1_zener.html|diode triggered solar engine]] ((http://www.beam-wiki.org/wiki/Diode_triggered_Solar_Engine))
{{dob:diode-se.gif|}} {{:dob:tech:pasted:20161226-191655.png}}
//D1// sets the trigger level. In order to have enough energy to drive the motor, the trigger voltage will need to be higher than the 0.7V set by a single diode:
W= 1 / 2 CV2
Needs to be either multiple diodes in series (trigger level = # diodes x 0.7V) or zener diode in reverse with suitable breakdown voltage, or combination of the two. Zener with nominal breakdown @ 3.3V + 1 diode gave a trigger at ~3.1V in my setup and this worked well to trigger a revolution of the pager motor used. Notice that current is leaking at close to trigger point => need to have reasonably high light level to quickly go over the tirgger level, else current leaks away close to the tirgger point and the voltage never gets high engouh to trigger the circuit.
Datalogging the voltage accross the Capacitor C1 by inputing it to the analog input (e.g. pin A0) of an Arduino Uno board. Instal Arduino IDE from ubuntu softward center. Plugin Arduino to USB port. Open and upload {{dob:serial_read.ino.gz|Arduino Sketch}} to the arduino board using arduino IDE to send data to usb serial port on PC (/dev/ttyACM0 in Ubuntu 14.04).
Install NumPy and matplotlib Python packages
sudo apt-get install python-matplotlib
sudo apt-get install python2.7-numpy
Then run python {{dob:graph-serial3.py.gz|graphing script}} in terminal ((modified version of Mahesh Venkitachalam graphing script)) to graph the incoming data and output data live to the terminal. The data can also be output to datafile (as in command below):
python graph-serial3.py --port /dev/ttyACM0 >> output.dat
Output for 3,3V Zener in series with diode looks like this:
{{dob:diode_se_zener33_diode.png?400|}}
now trying to go from breadboard to beam robot,
marking the 3906 on top and glueing it face to face with 3940 transistor
=== Miller Solar Engine ===
TCV54VC's now arrived. Time to try Miller Solar Engine. Hope is that the current leakage is reduced => lower light levels can a slowly charge up circuit to trigger level instead of leaking away.
{{dob:se_1381_mse.gif|}} ((http://www.beam-wiki.org/wiki/Miller_Solar_Engine))
==== Background Information ====
//"A human is a way that a robot makes another robot"// - Mark Tilden.\\
Aesthetics are in this case an evolutionary strategy as aesthetics. Aesthetics drive interest.
==== Beam Philosophy ====
Complex, non pre-programmed behaviour can be generated through relatively simple rules ((Chaos theory expamples e.g. Lorenz Attractor)). Insects can exhibit complex behaviour and interactions with their environment while presumably following simple reaction rules. Ants, bees, wasps and other insects can only have simple processing power due to their limited size and energy consumption, but can nonetheless exhibit very complex behaviours. The approach taken here is to mimic some of this complex behaviour using a minimal set of analog electronic components. Input from the environment is to be processed through simple analog components, and the simple physics that governs their behaviour, to control output actions with minimal control logic between the two. [[http://en.wikipedia.org/wiki/BEAM_robotics|BEAM]] (Biology, Electronics, Aesthetics, and Mechanics) robotics being the latest naming for this type of approach, though this appears recently to have fallen out of fashion compared to digital artificial intelligence approaches to mimicking complex biological behaviour.
[[http://en.wikipedia.org/wiki/William_Grey_Walter|William Grey Walter]], inventor of Electroencephalography(EEG). thought consciousness could best be explained in terms of analog circuitry as apposed to digital logic. He built his Machina speculatrix, tortoise shaped automata named Elmer and Elsie, in the late 1940s. He reproduced light seeking and other "intelligent" behaviors using these early robots. He also gives an interesting first person [[http://cyberneticzoo.com/wp-content/uploads/2010/01/Grey-Walter-My-Miracle.pdf|account]] of his own experience of brain injury.
==== Other ideas ====
A learning function could be incorporated by using fuses. A fuse that controls a particular behaviour blows for if the outcome is unfavourable, thus cutting out this behaviour from future interactions.
Some type of "self healing" fuse, i.e. a fuse that can blow and then short itself again after some time interval, could be used to add adaptability to a changing environment. A certain behaviour may not always be unfavourable and should instead be tried again to check if the environment has changed. Depending on how damaging the negative effects of an unfavorable outcome are, the time interval between checks can be set to be shorter/longer...