Friday, December 31, 2010

Troubleshooting Phase

12-31-2010, 07:36 PM Code 5-88 Troubleshooting Phase
This will be a checklist for troubleshooting the three boards.

Class I - LED is Dead
( ) Check the pin socket
( ) Check solder joint on back side

Class II - LED is Shorted On but Still Blinks with Code
( ) Check for short on front side printed circuit board ( ) Board number
( ) Check for short on back side trace ( ) Board number
( ) Check for short on front side printed circuit board ( ) Board number
( ) Check for short on back side trace ( ) Board number

Testing Phase

12-31-2010, 07:30 PM CODE 5-87 TESTING PHASE
Completed the testing phase of all boards. Have 17 boards that work perfect. One board has an LED that won't light and two boards have the LED lit all the time but the code still blinks it brighter and dimmer. The next work phase is to troubleshoot three boards.

Decoupling Capacitor

12-31-2010, 07:29 PM Code 5-86 DECOUPLING CAPACITOR
The board assembly was completed a short time ago by installing all of the decoupling capacitors. These are 10nF inserted into pin sockets across from pin 24 socket at Vss and Vdd.

Test Software Brain Blob Test

12-31-2010, 01:52 PM Code 5-85 Test Software - Brain Blob Test
The code pasted below can be used to test the LED data light mod. This code may appear elsewhere as BRAIN BLOB TEST.zip.


{{

The Brain Blob by Humanoido
brainblobtest.spin
LED Mod Test on the Brain Blob Project
Blinks LED on pin 24 using the Parallax Propeller Proto Board
(Use pin 23 for demo board testing of this software)
Friday December 31, 2010

}}

CON
  _clkmode      = xtal1 + pll16x ' 80MHz clock
  _xinfreq      = 5_000_000      ' 5MHz crystal
 LED            = 24             ' LED mod is on pin 24 Proto Board
' LED = 23                       ' pin 23 demo board
 delay          = 40_000_000     ' Approx 1 second on and off

PUB Main
  dira[LED] := 1          ' Set LED pin as output
'  dira[22]  := 1         ' correct ghost led on demo board
'  outa[22] := 0          ' correct ghost led on demo board
  outa[LED] := 1          ' Initialize pin on
  repeat                  ' Loop below
    blink                 ' Do Private Method to blink LED
  
PRI Blink                 ' Private Method to blink LED
  !outa[LED]              ' Toggle state LED
  waitCnt(delay+cnt)      ' Delay

Brain Blob Mods Complete


12-31-2010, 01:43 PM Code 5-84 BRAIN BLOB MODS COMPLETE
These boards have their mods completed. Work now enters the testing phase to test each of the mods on twenty boards. This equals 40 tests and any troubleshooting that may be required.

Brain Blob Dangerous Growth


12-31-2010, 01:35 PM Code 5-83  PM Brain Blob (Dangerous Growth Spurt?)
Checkout these latest pics of the Brain Blob
I knew it would happen. As the New Year's Holiday began, and with steady work on the project, I noticed something different about the Brain Blob. Once again, it had grown larger, now consuming the greatest portion of the Parallax laboratory project table. I was surprised, as you can see in the photo, the larger span of this entity seems out of control as the boards are coming together and multiplying in some odd linear X and blobular Y directional way.


The latest Brain Blob growth is shocking. When will it stop? The Blob on the radio program - WLS Chicago, continued to grow until it consumed the Earth and everyone on it.


Stay tuned to this channel thread and see what happens with the Brain Blob. No responsibility is claimed for this project and we disavow any knowledge of its existence at this time.

Project After LED Mods

12-31-2010, 07:10 AM CODE 5-82 PROJECT AFTER LED MODS
I'm lining up the next project that will follow the LED modification installs. The decoupling capacitor will be installed into all boards and then tested. The question is, what is the best code to test the propeller functionality with and without a decoupling capacitor??? My guess is the acid test is hooking up a scope to see the signal conformity. Since I travel, a large scope is not possible. It looks like the small Prop Scope could fill this requirement. Anyone have experience with this and recommendations?

Data Light & Testing

12-31-2010, 07:02 AM Code 5-81 Data Light & Testing
Over the holiday the data light will be installed in as many boards as possible. Later, testing will be a separate project.

Is there any simple way to determine the wire gauge that fits into this tiny hole by the power slide switch (near the LED) in the Parallax Propeller Proto Board? (see photo in previous posts, with the yellow insulated wire)

Power Regulator Modification

12-31-2010, 04:45 AM Code 4-80 Power Regulator Modification
This modification to the LM1086 CS-3.3 is now completed on all 20 Parallax Propeller Proto Boards.

 
The mod involves desoldering the voltage regulator's middle leg to disable all circuits behind the device.

Power is fed to all boards from an external power source. This reduces power consumption by disabling the power LED and two regulators.

This disables the power LED, however, the small modification described in the previous posts enables it to be recycled and function as a data light.

LED Test Software

12-31-2010, 04:34 AM Code 4-79 LED TEST SOFTWARE
Here's some code used to test the LED modification on the Parallax Propeller Proto Board. The modification is described in several posts. It also runs on the Parallax Demo Board by changing the pin from 24 to 23. This is the reason for the LED ghost correction.


{{

The Brain Blob
LED Mod Test on the Brain Blob Project
Blinks LED on pin 24 using the Parallax Propeller Proto Board
Use pin 23 for demo board
by Humanoido
Friday December 31, 2010

}}

CON
  _clkmode      = xtal1 + pll16x ' 80MHz clock
  _xinfreq      = 5_000_000      ' 5MHz crystal
 LED            = 24             ' LED mod is on pin 24 Proto Board, pin 23 demo board
 delay          = 40_000_000     ' Approx 1 second on and off

PUB Main
  dira[LED] := 1          ' Set LED pin as output
  dira[22]  := 1          ' correct ghost led on demo board
  outa[22] := 0           ' correct ghost led
  outa[LED] := 1          ' Initialize pin on
  repeat                  ' Loop below
    blink                 ' Do Private Method to blink LED
  
PRI Blink                 ' Private Method to blink LED
  !outa[LED]              ' Toggle state LED
  waitCnt(delay+cnt)      ' Delay

More about the LED Mod

12-31-2010, 04:17 AM Code 4-78 More about the LED Mod

Work begin on the LED mod. The photos show a yellow wire lead to pin 24 for tests. This re-enables use of the Parallax Propeller Proto Board's power LED and re-purposes it as a data light.

 


Power is fed to the VSS and Vdd junctions from the pin connector

The procedure requires scratching off the board resin before soldering from the back side. Wire wrap was not necessary.

Wednesday, December 29, 2010

Hardware Development

12-29-2010, 06:35 PM Code 4-70 Hardware Development
Hand sketched a circuit to lock in a method for a hybrid design today. This can one wire single duplex communicate at high speed or accomplish two wire full duplex at high speed. There's communication in a single cog with programming space left over for both methods and it can hardware adjust for speed as well. I look forward to trying out the designs and testing and reporting back here.

Software Overview

12-29-2010, 06:31 PM Code 4-69 Software Overview
It's talking (the brain) but now another co-software is being developed to up the complexity so the brain can load its own software (self loading) and do self modifying programming. Self loading makes it easier to stick code into 20 or more boards and self modifying program is good for recycling code space as RAM is somewhat of a premium at this point. It's a balancing act with the Propeller cogs. More on this after testing.

Monday, December 27, 2010

Brain Blob Preliminary Specs

12-27-2010, 02:40 PM Code 3-55 Brain Blob Preliminary Specs

Preliminary Specs
21 boards
1 Basic Stamp 2 Module
20 Propeller Chips
20 Parallax Proto Boards
21 EEPROMs
...20x64K+1x2K=130,000 KBYTES
... approx 127MB
1 Board of Education
161 Cores with 80MHz Clock
160 cores at 20 MIPS = 3,200 MIPS
Expands to 1000x
320 Counters
US Serial Communication
Breadboards
External Power Source
1-Data Light per Board
Hybrid 1-Wire Half Duplex and
2-Wire Interface Full Duplex
BUS Design

Brain Blobatory Breadboard Retrofit

12-27-2010, 02:03 PM Code 3-50 BRAIN BLOBATORY BREADBOARD RETROFIT
Parallax Propeller Proto Boards are fitted with tiny solderless breadboards. This enables wiring and rewiring, testing and various evolutionary changes in the circuit design, inclusive of necessary brain rewiring as brain evolution takes place.

Attach breadboards (available from Parallax) by peeling back the paper covering the sticky tape surface. To keep Proto Boards reusable without breadboards, afix some rolled tape instead as it's easily removed.

Design: every Proto Board will have one small solderless breadboard for testing, wiring and rewiring. Breadboards are best for designs that undergo an evolutionary process throughout their life span.

Brain Span Construction

12-27-2010, 01:25 PM Code 3-49 BRAIN SPAN CONSTRUCTION

The Brain Span includes the first three PPPB boards located above the Brain Base which is located above the Brain Stem. The top most board of the Brain Span is board number seven. The Brain Span brings the Brain Blob up to a total of seven boards with 49 computing cores. 

Seen here, the Brain Span with three PPPBs is under construction. Note the added tiny solderless breadboards for board to board wiring.

Jumper Leads

Jumper Leads for Brain building
12-27-2010, 12:56 PM Code 3-48 Jumper Leads
Make a set of jumper leads for testing and constructing various Big Brain boards. These jumper leads were created for injecting power to the PPPB boards for testing and programming. A piece of threaded black heat shrink tubing can be positioned when setting the leads. Red and black leads came from a package of alligator cables with assorted colors. Cut off the clips on the opposite and and tin the wires so the cable becomes solderless breadboard plug in compatible.


Brain Definitions as Applied to the Brain Blob

12-27-2010, 12:50 PM  Brain Definitions as Applied to the Brain Blob
The list of Brain components, sections, corners and
crevices will be categorized, labeled, named &
renamed as this project develops.

Brain Guts - the interior of the brain, operating components, internals, specific wiring, modules, parts, sections, even code can be included

Brain Stem - the section of brain, lowermost nerve center, interfaces motor functions. The Brain Stem includes one Parallax Propeller Proto Board and one BASIC Stamp Board of Education

Brain Base - the bottom part of the brain that connect to the Brain Stem. Includes two Parallax Propeller Proto Boards

Brain Span - the next three Parallax Propeller Proto Boards located above the Brain Base

Brain Guts Data Light

12-27-2010, 12:28 PM  BRAIN GUTS DATA LIGHT
How to Convert the Power LED into a Data LED
(using the Parallax Propeller Proto Board)
 


The objective here is to gain a brain data light by rewiring the power light from the disabled power circuit. Unfortunately, it initially did not appear simple as this is a surface mount component along with its supporting resistor and soldering directly to the component ends would prove futile. In fact, even seeing the item or how it was wired looked impossible until a microscope was used. The microscope revealed a whole new world!
Brain Guts data light on the PPPB

Traces appeared from the LED leading to a resistor. The LED took shape. Remarkably the resistor had a tiny number imprinted on it - a remarkable feat. The span of the microscope image revealed a way to connect wires. As seen in the image, while Vss can be picked off the array of multiple holes, the resistor leads to a tiny hole near the power switch by the number two. Simply scrape off the board coating at this point and solder a wirewrap wire, as a standard Parallax jumper connector breadboard wire is too thick for use. Solder this thin wire to a connection point, then adjoin a full size jumper wire and lead it to the solderless breadboard which in turn connects to the appropriate Propeller chip pin.

A microscope image shows the LED & resistor combination on a Propeller Proto Board. Note holes near number 2 and Vss. Route 2 to the appropriate Propeller pin to gain a Data LED converted from the original power LED circuit. Pick off Vss and the circuit is complete. Recycling the power LED and resistor pair enables display of various brain computational data and activity using the board's existing components.

Saturday, December 25, 2010

Soldering Brain Pins

12-25-2010, 10:51 AM  Soldering Brain Pins
 
PPPB with socket array added

More Assembly Details: Today was the day for putting hot melted solder on pin sockets. For starters, the brain boards each have one pin socket array, dual socket rows, for a total of 20 wire receptacles. Now completed are 25 arrays and 250 solder joints. The socket array has pin estate for clock propagation, parallel loading, serial Rx and Tx, and 8-bit parallel. 


Brain Pin In Connector Array
Vdd
Vss
24
25
26
27
28
29
30
31

Proto Board Brain Surgery Technique

12-25-2010, 08:42 AM  PROTO BOARD BRAIN SURGERY TECHNIQUE TO REDUCE POWER CONSUMPTION

Propeller Proto Board
mod to enable a low
power mode

You can easily modify your Parallax Propeller Proto Board to reduce its power draw for longer lasting robotics performance using batteries. The goal is to reduce the power of twenty boards so they can run portable, a single board or series of boards set on your robot platform or a Parallax Boe-Bot for example.
 
The technique works just as well with one board. In the Brain Blob, there are over 20 boards. To eliminate the use of a tether, Parallax Proto Boards will be modified for power consumption reduction, bringing it to within battery operation range.

The goal is to power the Parallax Proto Board with slightly less power by NOT including the 5-volt and 3.3-volt regulators. An external power supply with 3.3 volts would be used. The objective, feed in the 3.3 volts without it feeding back into the on-board regulators, connect 3.3 volts and ground on the board.

To minimize power on the Parallax Proto Board, I have disabled all the circuitry from the 3.3 volt regulator (inclusive) going backwards to the switch and input. This disables the power LED and the draw from both regulators. Power is fed in externally with a regulated lab bench supply. FYI, don't try to remove either of the power regulators from the Proto Board. They appear to be epoxied on. Trying to remove one could break the board. For power feed in, I soldered a standard connector to the boards and added decoupling capacitors. I have it working fine with power reduction.


Parallax Propeller Proto Board PPPB
An update here: With cog 0 running, the board current reduction technique worked as it draws only 4ma. This is what I wanted to achieve. Any guesses as to the current drawn with all eight cogs running? I should add that all these tests are with the 80MHz clock. Clock reduction can reduce power consumption as reported down to around 2mA.

Summary: Just lift up the middle leg of the LM1086CS-3.3 which is pin number 2 as Vout. No need to solder on anything. There's no short circuit possible because the 3.3-volt circuit is now isolated. Plus, the leg can push back down for re-soldering in the future to return the Propeller Proto Board to its original pristine condition. (It won't break off) To see how this works, take a look at the schematic under Regulators.


Test Conclusions: Here are some test conclusions about modifying the Parallax Propeller Proto Board for less current draw. The unmodified board draws 10ma. This includes the powering up of two voltage regulators and one power LED. The modified board draws 4ma. It disables the the power circuit from the 3.3-volt regulator back to the barrel jack power input. The reference is one active cog with a 5MHz crystal. The modification saves 6mA for each board. For 100 boards, unmodified use 1 amp. Modified use 400 milliamps. The savings is .6 amp. The test does not separate out the LED from the regulators as the majority of the current is likely across the LED. This was not a necessary part of the test because a power indicator light would not be used. For 20 modified boards, the power draw is 80mA total. Unmodified is 200mA. Proto Board current draw is critical for battery operated robots and devices.

Note: With the BASIC Stamp SEED Supercomputer, a common source of power was applied to operate at reduced voltage down around a volt. 

Friday, December 24, 2010

Brain Blob Software (Blobber Code)

12-24-2010, 06:00 PM  BRAIN BLOB SOFTWARE (BLOBBER CODE)
I didn't say much about the software but now is a good time. Tomorrow is Christmas day and I plan to have a nice holiday break and napkin out some new code for the Brain Blob. This Blobbing software has a purpose, which currently is to keep the cogs as open as possible. I don't want any stuff taking up cogs that would reduce the number of processors. The cogs will be kept clean and open primarily for the Blobbing code.


Master/Slave Concept
The Master is the exception in cog usage. It's loaded. This approach takes one master and fills it with TV, I/O, mouse, keyboard, Blobber, and addtl. code. The slaves are kept open for the highest processor density.


Serial Communications
is custom with code smaller than Simple Serial (no relation there). No name on this yet, just calling it Blobber software. The push is for the size. Only a few lines of code keep it ultra simple which opens up all the cogs for programming.


Operating System
Will we see an operating system for the Blob? Yes. The system is already developed and will be installed once the maximum hardware density is completed. It will have some very nice surprises.


Languages
Mainly there's two languages used so far, SPIN and PBASIC. PBASIC is embedded in the Brain Stem for motor mobility functions and compatibility while SPIN is for higher level thinking. The BB is open to PASM for enhancements.


Self Learning Algorithm
I would like to begin development of a not too complex self learning code, but isn't this what we all want and are waiting for?

The Next Brain Blob Addition

12-24-2010, 05:44 PM  THE NEXT BRAIN BLOB ADDITION
Update: I have now modified six more Propeller Proto Boards to add 48 more cores to the Brain Blob. I only need to add the interfacing and the solderless breadboards. This will bring up the 33 cores to 81 cores/computers. Not too shabby for some robotical brain computing. Modifications include the power circuits to reduce power loads and soldering in the pin sockets. It's a lot of soldering work and so I've apportioned it across several days. I now wonder if the power LED can be rewired into a port LED but that's another issue.

I think the big push after the Brain Blob hardware is completed and operational, is software that has a degree of self reasoning power. It doesn't need to be an Einstein but some intelligence greater than a bug would be appreciated. Memory needs to be added, as so far the sum total is reference eeprom at 20 x 32KRAM. Propeller can access PC and the PC has TeraBytes of operating storage. Another new option is to use a server to provide wireless data storage. Web access can provide a knowledge base to work with. 

A Working Robot Brain Blob!

12-24-2010, 04:46 PM  A WORKING ROBOT BRAIN BLOB!
Watch the Brain Guts Grow from a Blob into Something Bigger and Bigger! (probably a bigger blob...)


The growing guts of the Brain Blob now have 5 boards connected. Stay tuned as this project continues to grow with added boards/ processors.


The connection of the Brain Stem to the two-boards Brain Base along with the interfacing of one additional Brain Board brings the number of processor boards to five and the number of Brain Cores to 33. This is now a working 33-core brain. The photo shows the first connection made with all boards to achieve the first working brain in this special configuration. The special configuration is a blob.

Tuesday, December 21, 2010

Brain Base

12-21-2010, 09:04 AM BRAIN BASE Adding the Brain Base to the Big Brain. Another step has recently unfolded in the quest to build and fill the Big Brain. Now completed is the first hardware Brain Base. This part of the brain has two Propeller boards interfaced in common.

Brain Stem Defined

12-21-2010, 08:52 AM  BRAIN STEM DEFINED The Brain Stem handles the nerve sending ability for robotic motor and various motion control functions. It uses a protected interface that communicates between the 5-volt level of the BASIC Stamp and the 3.3-volt level of the Propeller chip. A serial software interface joins processors and enables interboard communications. This is the next step in filling the big brain.

Brain Stem Completed

12-21-2010, 08:52 AM  BRAIN STEM The Robotic Brain Stem is completed and upgraded. The Brain Stem handles the nerve sending ability for robotic motor and various motion control functions. It uses a protected interface that communicates between the 5-volt level of the BASIC Stamp and the 3.3-volt level of the Propeller chip. A serial software interface joins processors and enables inter-board communications. This is the next step in filling the big

Saturday, November 20, 2010

Brain Stem Upgraded


Photo: the Lab's first development image of a multi processor robotic brain stem made from Parallax components (the prototype is seen resting on the green cutting board). This is a hybrid brain stem processor programmed in two languages. The module is currently a hand held unit. When connected to the Giant Brain, it will pass motion mobility commands to the robot and ensure compatibility with additional components.

The Hybrid Brain Processor HBP runs on batteries or AC power supply. It has hybridic phase from half duplex to full duplex. The first model communicates high speed serial. Work is continuing on this project. The Lab's first Robotic Brain Stem is created from Parallax processors and designed to communicate motion mobility commands to a Giant Brain. The HBP Hybrid Brain Processor is programmed in two languages.

Hybrid Brain Processor

11-20-2010, 10:18 PM  HYBRID BRAIN PROCESSOR  The first Hybrid Brain Processor is now working. I'm taking some photos of it and tomorrow will work more on the hybrid software. Currently it uses two languages. This HBP is essentially the first successful prototype brain stem.

Friday, November 19, 2010

Brain Stem Under Construction

11-19-2010, 10:15 AM  BRAIN STEM ALMOST COMPLETE The big brain should also have a compatible Brain Stem. The Brain Stem should route specific information via the nerve center to the mobility center. A working Brain Stem Module BSM is in the works and almost completed. It include a quasi-duplex interface including half and full depending on location and direction. All information to and from the robot will pass through the BSM. The project is going very well.

Interactive Atlas of the Brain Stem - Swenson


http://www.dartmouth.edu/~rswenson/A...tem/index.html

Interface

11-19-2010, 10:06 AM  INTERFACE The next idea in the massive brain is the interface. This is open source and allows the connection of hybrid processors. Hybrid processors establish compatibility from module to module. So a big brain can be filled with interconnected hybrid processors. An example of this is currently designed and in the building process.

Friday, October 29, 2010

Recycle

You can recycle your Propeller chip projects from one to the next, exploiting green Earth technology in the process. This is an example list of starting small and increasing to progressively larger machines. However, as these machines become larger, it takes longer times to recycle and rebuild. (I'm still working on the Progression Machine, beyond the 40-Prop Barrier.) See the examples below.

List of Recycled Propeller Green Machines
This is simply to show that by recycling, it's possible to more economically build projects with increasingly larger numbers of prop chips. Not only are parts recycled, but technology too.

 
01) PEK 1
02) MC Computer
03) LED Machine
04) 2-Proper 2 props, 1 PEK, 1 on same breadboard, 2-Prop-Experiment
05) Spark 2
2 props, 1 Proto Board & 1 in parallel
06) PiggyTwins
2 props, 1 piggybacked on another
07) Dueling Breadboards
2 props, one on ea., f/interface tests
08) Spark 4 Tiny Tim, 4 props, two proto boards w/2 props on ea
09) Spark 5 5 props stacked Proto Boards
10) Spark 6 6 props 3 proto boards 2 props on each
11) Spark 8 Tertiary ADJUNCT, 8 props 4 proto boards 2 props on each
12) Propalot 10 props on solderless breadboard
13) Spark 10 10 props, 5 proto boards w/10 props total
14) TTB Test Bed of Ten
10 props single board
15) Twelvenator Board of Twelve, 12 props green board
16) UltraSpark 15 15 props, interrupted stack Proto Boards
17) Tertiary 20 20 props, 15 proto boards stacked 5 props
18) UltraSpark 20
20 props stacked
19) Boe-Bot Brain Project
20 props as Brain on Boe-Bot
20) MLEPS Super Language Machine 25 props
21) UltraSpark40 Supermicrocontroller 40 props 320 cores, 6,400/8,320 MIPS
22)
Smartest Boe0Bot Brain Temp Experiment40 props, US40, 1 BOE, 321C 

*This is a partial list of Propeller projects that were built leading up to the UltraSpark40 Machine. Some projects have lots of documentation and others not because of rapid development time. Photos were take of most projects in their unique configurations. There may be gaps in the Spark and UltraSpark series because some of indice were test beds existing a fleeting time for testing purposes.

Thursday, October 21, 2010

Second Brain

10-21-2010, 10:16 AM  SECOND BRAIN The 2nd brain could be housed inside the 1st. Though I expect the ability to connect and disconnect brains on the outside would be a useful feature in times of service, debugging or expanding with more brains. Maybe if brains are made inexpensively, they could be discarded and recycled. With multiple brains come dedicated brains. Brains could be located anywhere inside the robot. How about off-the-shelf brains. Companies could compete to see who can make the best brain.

Multi Brain Concept

10-21-2010, 10:12 AM  MULTI BRAIN CONCEPT Today I'm working on a new robot brain concept. The overall brain concept up to this point is macro in nature. However, why not induce more than one brain? More than one brain, or a multi-brain could be more useful. Humans have duplicate hands, feet, legs, ears, arms, cheeks, and eyes. Why did evolution stop there? Why don't we have a duplicate brain. It could help Alzheimer's or other brain challenged patients and certainly help solving problems with double brain power.

Friday, October 15, 2010

Smaller Brain

10-15-2010, 06:51 AM  SMALLER BRAIN Actually a smaller brain is possible, modeled after the bigger brain. This can fit the budget and resources of the hobbyist. But the question remains about filling it. I think we want a robot brain that can go above and beyond the basics. The basics include vision, obstacle avoidance, beeping, moving in some patterns, determining location and orientation, sumo, maze solving, wandering, not falling off a ledge, ranging, mapping, accepting input from sensors, recharge batteries when necessary, and other fundamental age proven activities. Therefore the purpose of a brain beyond the basics would include thinking, reasoning, and the ability to resolve problems and accept new challenges.

Thursday, October 14, 2010

Algorithm Machine

10-14-2010, 01:14 PM  AM ALGORITHM MACHINE One important aspect of a brain is the ability to move information and thoughts. It takes much more than an artificial neuron and a synapse. Not much can be accomplished without the techniques and algorithms to transport and understand information and thought. So I put together the AM Algorithm Machine for developing algorithms leading to this project of filling a brain. The AM is rather small so the WIDE BUS was introduced. The brain is a really big project requiring a lot of resources. Obviously we will deal with some kind of machine approximation.

Friday, September 17, 2010

Work Begins

09-17-2010, 01:05 PM  WORK BEGINS Work has begun on the actual big brain. (wood, chewing gum, paper clips, cardboard, liquid solder and white elmers glue) As I said before, get your brain work submitted soon - so your name can be included with the roster on the upper inverted neural underside rotated etching of the frontal upper occipital lobe. It now seems we have a way of thinking with the big brain that is faster than the original specs of the Propeller chip. Internal pure thought should be the fastest, above any I/O. The prop chip now has faster internals methodology and faster I/O's. This is just the beginning.

Monday, September 13, 2010

Brain Build 1

09-13-2010, 06:37 PM  INFORMATION TRANSFER The next section of brain material will focus on the transfer of information. I think wiring from cog to cog is an ideal way to communicate in a special brain lobe. The experiments with this approach are fantastic fast. This has become an incorporated feature of UltraSpark 40. The next step is to decode the 32 x 40 wiring potential with part allotment going to peripheral I/O and the other part going to communications.

09-17-2010, 01:05 PM  WORK BEGINS Work has begun on the actual big brain. (wood, chewing gum, paper clips, cardboard, liquid solder and white elmers glue) As I said before, get your brain work submitted soon - so your name can be included with the roster on the upper inverted neural underside rotated etching of the frontal upper occipital lobe. It now seems we have a way of thinking with the big brain that is faster than the original specs of the Propeller chip. Internal pure thought should be the fastest, above any I/O. The prop chip now has faster internals methodology and faster I/O's. This is just the beginning.

10-14-2010, 01:14 PM  AM ALGORITHM MACHINE One important aspect of a brain is the ability to move information and thoughts. It takes much more than an artificial neuron and a synapse. Not much can be accomplished without the techniques and algorithms to transport and understand information and thought. So I put together the AM Algorithm Machine for developing algorithms leading to this project of filling a brain. The AM is rather small so the WIDE BUS was introduced. The brain is a really big project requiring a lot of resources. Obviously we will deal with some kind of machine approximation.

10-15-2010, 06:51 AM  SMALLER BRAIN Actually a smaller brain is possible, modeled after the bigger brain. This can fit the budget and resources of the hobbyist. But the question remains about filling it. I think we want a robot brain that can go above and beyond the basics. The basics include vision, obstacle avoidance, beeping, moving in some patterns, determining location and orientation, sumo, maze solving, wandering, not falling off a ledge, ranging, mapping, accepting input from sensors, recharge batteries when necessary, and other fundamental age proven activities. Therefore the purpose of a brain beyond the basics would include thinking, reasoning, and the ability to resolve problems and accept new challenges.

10-21-2010, 10:12 AM  MULTI BRAIN CONCEPT Today I'm working on a new robot brain concept. The overall brain concept up to this point is macro in nature. However, why not induce more than one brain? More than one brain, or a multi-brain could be more useful. Humans have duplicate hands, feet, legs, ears, arms, cheeks, and eyes. Why did evolution stop there? Why don't we have a duplicate brain. It could help Alzheimer's or other brain challenged patients and certainly help solving problems with double brain power.

10-21-2010, 10:16 AM  SECOND BRAIN The 2nd brain could be housed inside the 1st. Though I expect the ability to connect and disconnect brains on the outside would be a useful feature in times of service, debugging or expanding with more brains. Maybe if brains are made inexpensively, they could be discarded and recycled. With multiple brains come dedicated brains. Brains could be located anywhere inside the robot. How about off-the-shelf brains. Companies could compete to see who can make the best brain.

11-19-2010, 10:06 AM  INTERFACE The next idea in the massive brain is the interface. This is open source and allows the connection of hybrid processors. Hybrid processors establish compatibility from module to module. So a big brain can be filled with interconnected hybrid processors. An example of this is currently designed and in the building process.


11-19-2010, 10:15 AM  BRAIN STEM ALMOST COMPLETE The big brain should also have a compatible Brain Stem. The Brain Stem should route specific information via the nerve center to the mobility center. A working Brain Stem Module BSM is in the works and almost completed. It include a quasi-duplex interface including half and full depending on location and direction. All information to and from the robot will pass through the BSM. The project is going very well.

Interactive Atlas of the Brain Stem - Swenson

http://www.dartmouth.edu/~rswenson/A...tem/index.html

11-20-2010, 10:18 PM  HYBRID BRAIN PROCESSOR  The first Hybrid Brain Processor is now working. I'm taking some photos of it and tomorrow will work more on the hybrid software. Currently it uses two languages. This HBP is essentially the first successful prototype brain stem.

12-21-2010, 08:52 AM  BRAIN STEM See the 12-21-2010 entry here to the Robotic Brain Stem that was recently completed and upgraded. The Brain Stem handles the nerve sending ability for robotic motor and various motion control functions. It uses a protected interface that communicates between the 5-volt level of the BASIC Stamp and the 3.3-volt level of the Propeller chip. A serial software interface joins processors and enables inter-board communications. This is the next step in filling the big brain.

12-21-2010, 09:04 AM BRAIN BASE Adding the Brain Base to the Big Brain. Another step has recently unfolded in the quest to build and fill the Big Brain. Now completed is the first hardware Brain Base. This part of the brain has two Propeller boards interfaced in common.

Information Transfer

09-13-2010, 06:37 PM  INFORMATION TRANSFER The next section of brain material will focus on the transfer of information. I think wiring from cog to cog is an ideal way to communicate in a special brain lobe. The experiments with this approach are fantastic fast. This has become an incorporated feature of UltraSpark 40. The next step is to decode the 32 x 40 wiring potential with part allotment going to peripheral I/O and the other part going to communications.

Tuesday, August 24, 2010

AM Algorithm Machine

08-04-2010, 01:37 AM
AM Algorithm Machine
A Tiny Tester for Developing Parallel Algorithms
You can use this tiny tester, built from Parallax parts, for developing parallel algorithms and running tests for much larger machines (including large Propeller based parallel cluster machines under design and construction). It's a real time saver! The tester is an upgrade and a spin-off of the Minuscule BASIC Stamp Super Computing Machine. This is a tiny algorithm machine, simple to build, easy to use. The field of parallel clustering computing is relatively new to hobbyists. Developing techniques and methods is an important aspect of cluster computing to gain the greatest rewards and benefits from not only paralleled space but multiprocessors as well.

Features 
  • Operates in five BUS modes
  • Serial & Parallel options
  • Includes WIDE BUS
  • Handles up to 200 step code
  • Programs in PBASIC
  • Very small footprint
  • Builds with Parallax BASIC Stamp 1 Project Boards #27110
  • Speakers & LEDs for output
  • Twin 9-volt battery operated

SCHEMATIC

Use the above schematic to build the tester, then program it with parallel algorithms to test various interfaces and parallel configs. Provisions are made for converting between single wire, full duplex, and data buss interfaces.
_____________________

Overview
It doesn't matter if you're using stamps or props, parallel techniques work cross platform. Here's a chance to use a language that's been proven over time and develop routines for new parallel machines. The addition of the upgraded interface bus allows for trying out several hardware configurations such a one wire, serial full duplex, and data bus.

Criteria
The AM is currently being used with the UltraSpark 40 Supermicrocontroller Parallel Computing Machine and satisfies several conditions for testing the new series.

Interface
This versatile machine operates in four modes, which can be wired as single mode A, single mode B, or dual modes A & B, or simply C mode. Operate the AM using a single wire and serial PBASIC code commands or program the machine using the seven parallel port bits.

A - Single Wire Serial P0
B - Parallel Bus P3, P4, P5, P6, P7
A + B Dual BUS, as seen above
C - Parallel Bus Only P0, P3. P4, P5, P6, P7


Code and Parallel Algorithms
It is left up to the user to derive various parallel algorithms in PBASIC
code. However, as code becomes available, it can be posted in this thread. The 1st proposal is a split function task for n processors. In this example, one program is written that supplants itself into n processors and auto determines the work share for each processor. Time passes and the work conclusion is collected and concluded. It is ok to create a separate collection program.

10-12-2010, 07:15 AM  Update 10.12.2010 NAME ESTABLISHED
This update includes the name AM - Algorithm Machine. This is a tiny minimal two core machine capable of quickly running tests on simple parallel algorithms. The second advantage of the machine is that it introduces a new wide bus for experimentation.

10-12-2010, 07:20 PM  Update 10.13.10 REVISED SCHEMATIC
Revised Draft Schematic Posted

10-13-2010, 08:56 AM  INTRODUCING WIDE BUS

A - Single Wire Serial P0
B - Parallel Bus P3, P4, P5, P6, P7
A + B Dual BUS, as seen above
C - Parallel Bus Only P0, P3. P4, P5, P6, P7
D - P0 - P7


Regarding bus modes. For a D mode, WIDE BUS, remove the LEDs and Peizo speakers to gain a parallel eight bit BYTE bus data array using pins P0- P7. Connect, P0 to P0, P1 to P1, P2 to P2 up to P7 to P7, confirming a protection resistor (220 ohm) across each port.

10-13-2010, 08:57 AM  BS1 PROJECT BOARD SCHEMATIC
BASIC Stamp 1 Project Board Schematic - Use for Wiring the AM

Schematics may be difficult to find these days. Use this BS1 Project Board schematic when wiring two boards together to create the AM project. The 93LC56 chip is an EEPROM with 256 bytes size or 1/4th K. This holds up to 100 instructions. The microcontroller is a Microchip PIC16C56A running at 4MHz. This gives about 2,000 IPS Instructions Per Second. The serial PC interface runs at 4,800 BAUD for programming and debug. Power can be within the range of 6 to 15 volts.

Source / Sink Current per I/O.................. 20 mA / 25 mA
Source / Sink Current (device) ................ 40 mA / 50 mA
Power Consumption................................ 7 mA running (no loads); 5 mA Sleep (Rev B). On Rev B boards the power LED remains illuminated when the BASIC Stamp is in sleep mode

10-13-2010, 08:57 AM  PROGRAMMING COMMANDS
BRANCH Branch to address specified by offset
BUTTON Monitor & manage button input; branch if button in target state
DEBUG Send variables and/or messages to PC for viewing
EEPROM Store user data in available EEPROM space
END Terminate program and enter low-power mode until reset
FOR...NEXT Create numerically controlled loop
GOSUB Unconditional branch to a subroutine
GOTO Unconditional branch to program address
HIGH Make pin an output high
IF...THEN Compare and conditionally branch to program address
INPUT Make pin an input
LET Optional designator for assignments
LOOKDOWN Search table; if found set output variable to target location
LOOKUP Set output variable to table data specified by offset
LOW Make pin output low
NAP Enter low-power mode for short period
OUTPUT Make pin an output
PAUSE Suspend program for 1 to 65,535 milliseconds
POT Read a 5 – 50 K variable resistance and scale result
PULSIN Measure width of an input pulse
PULSOUT Output timed pulse by inverting pin for some time
PWM Output analog level (requires external RC network for filtering)
RANDOM Generate a pseudo-random number
READ Read byte from EEPROM location
RETURN Return from a subroutine
REVERSE Reverse pin state; make input if output, output if input
SERIN Receive serial data, 300 – 2400 baud, N81 format
SEROUT Transmit serial data, 300 – 2400 baud, N81 format
SLEEP Enter low-power mode for 1 – 65,535 seconds
SOUND Generate tone or white noise
TOGGLE Make pin an output and toggle current state
WRITE Write byte to EEPROM location

10-13-2010, 10:28 AM  MORE PHOTOS 
This view of AM - Algorithm Machine, shows a nearly cubical shape, wired in WIDE BUS mode. The solderless breadboard is used only on the top board. Wiring is made with the pin connectors. The bread- board is used for adding the Peizo speaker and LED outputs in other modes.

10-14-2010, 05:33 AM  AM Algorithm Machine BS1-IC Experiment
Instead of using two Stamp 1 Project Boards, this experiment uses a BS1-IC in SIP form. A BS1 module (Parallax part number BS1-IC) plugs into the solderless breadboard on one Stamp 1 Project Board and extends its buss connections directly to the board. The following features result.

    * Significantly Smaller
    * Improves Wiring Efficiency
    * Better Visibility
    * Maintains both Peizo & LED Outputs
    * Requires Only One Battery for Field Use
    * Rewiring is faster

BASIC Stamp 1 Module


BS1 Project Board
Boards setup before wiring.
Setup uses a Revision B Project Board and Revision C BS1-IC. The Project Board programs with a serial to USB converter, and has a choice of battery or power supply operation. Note, the on/off switch at lower right in the photo is especially handy for recycling power.


Schematic for rev. c was not found, however, the pinout of BS1-IC Rev. B can also be used for wiring Rev. C.

Note, this experiment is provided for pure academics. In actuality, to program the add-on BS1-IC SIP, add a small three pin programming port and a Parallax Serial Converter, then connect to the PC.

Friday, August 6, 2010

Beginning

08.06.2010 12:44 AM, Code 1-1  In the beginning, how would you fill a Big Brain?

If you had a big brain for your robot, what would you put in it?
I think some similarity to a human brain is good, for example, put in vision processing, memory, and a robot autonomic nervous system. Ok, your turn, fill the brain..

 
Use an extremely large array of sensors similar to that of the human nervous system. Consciousness. The only limit is your imagination. Education. Impressive sensors. Move around and manipulate the world. Keep the brain "out of trouble." That is, keep it from running into things, running off drops or down stairs. Keep itself powered, recharging by returning to a recharging station or battery changing station when needed or keeping itself in light where it could receive recharging through solar panels. It might also include calling out for help with some sort of trouble alarm. Basic robot safety (protecting itself) would be a first priority. Aim for the most basic brain functions first. Give it a model of human intelligence. 

Keep out of trouble, self preservation, maintain itself, protect others, know its environment, and ponder its existence in the Universe, an autonomic nervous system so it can react automatically to many things without much thinking (hot, cold, light, dark, hunger, full, touch, smell, noise, tilt, terrain, wind, hurt..) another place in the brain could determine what is right and wrong. For example, it is wrong to walk inside the house on the white carpet with muddy feet. It is wrong to feed the cat with fish from the aquarium. This list could be endless. The brain will need to prioritize. 

How about a personality section. It can be sarcastic, optimistic, pessimistic, logical like Mr. Spock, wild and crazy as Steve Martin might say, timid and shy, bold and brave to explore strange new worlds seek out new life and boldly go where... The important thing about the personality brain lobe is that it must develop its own personality based on its experiences. Will a good robot follow the law like a mindless cretin or will it have the ability to interpret the law within reason and circumstance.. Which leads into the next section of the brain, which would be a philosophical center and the ability to interpret various philosophies. 

A section in the brain for fuzzy logic, to interpret results in a less rigid fashion, to have the ability to average things, and approximate the information collected. Rather than draw a philosophically incorrect conclusion, the result could be inconclusive, especially when there is no yes or no solution. The gray water section could include interpretation of vision, and other sensory elements and include sets of general algorithms to apply across the board. 

Another brain section called, "Shoot from the hip." In life it becomes necessary to make snap decisions and judgments, in quick situations where and when there is limited or no time to think. For example, a baseball flying at your head and you would want to duck in a particular direction, a baby crawled onto the coming trains tracks you would grab it in the most efficient manner to save it, your information is at home and you must immediately summarize it to pass through the security gate, should you buy red or blue and the person behind you is telling you to hurry up, etc. This is not to be confused with instinctive reactions which also can be programmed in another part of the brain. 

An emotional center in the brain is needed when interacting with humans, otherwise the robot will be very boring.. This can include heightened interest in certain topic, lack of interest in others, robust behaviors for interesting activities..

Thinking should be accessible in some way by output. In SEED, it displayed thoughts on a debug screen. However, in the bigger brain we're designing, it additionally will have motor functions which can move a robot in various ways. Human thinking does not always have visible results but if you can peek into a dream it can be very interesting. On the original Star Trek series, in the early episodes, the ships computer said, "Working," so you knew it was thinking.

Let's say thousands of people were developing common apps and posting each on the net. The brain would access the open door by doorknob routine, and have access to millions of other routines. The intelligence "brain" decides which routine is needed and the robot performs the action to grasp the specific knob/lever/handle and opens the door.