Saturday, June 22, 2013

Spin Brain

The Spin Brain prototype is wired for L-testing
SPIN BRAIN
From Humanoido Labs, the Spin Brain is the latest incarnation in the popular series of single board brains for robots, humanoids, and control projects.


The new type of machine brain accommodates from 1 up to 5 props. The charts list a 5.00 Mhz crystal for performance up to 800 MIPs in parallel.

The introductory Spin Brain may be converted into a Supertronic Spin Brain with enhancements for more speed enabling a theoretical  config to 13,600 MIPs and a total processor count of 5,512 - see Supertronic postings for more information

Typical config begins with a 5Mhz crystal deploying the Loader Chip. RC configs provide the lowest power consumptions for battery operated experiments while crystals enable the highest speed performances. The chart below lists a board populated with various chip numbers from one up to five. The cost per chip is given, with the total number of Cogs/ Cores. Next is the count for VP processors followed by the total number of hard and soft processors. Given is the theoretical MIPs and the total number of I/O ports. Loaded with demo exampling software, the Spin Brain is the smallest most complete portable brain designed thus far.

PERFORMANCE & INTERFACING
The Spin Brain is based on the Parallax Propeller chip and handles both thinking and controlling for humanoid robots and robotic systems. The Brain is designed to think in parallel for greatest performance. All chips have a method to communicate in parallel via a simple one wire interface. Extreme power is derived from parallel operations and the use of a parallel algorithm which divides a problem into chunks for parallel solving. Programming is in Propeller Spin language.

FUNDAMENTAL ARRANGEMENT OF THE FIRST SPIN BRAIN

Prop  Cost   Core   VP      Total   MIPS    GPIO
1     $08    08     1000    1008    0160    032
2     $16    16     2000    2016    0320    064
3     $24    24     3000    3024    0480    096
4     $32    32     4000    4032    0640    128
5     $40    40     5000    5040    0800    160


SAMPLE PARTS LIST
05 - Propeller Chip (1 to 5)

01 - Motherboard
01 - 32K eeprom
01 - eeprom socket
05 - Prop sockets
01 - 5Mhz Crystal
10 - Decoupling Capacitors .1uf
05 - Voltage Dropping Resistors 1K
01 - EEPROM Resistor
05 - LED
01 - Roll Wire
03 - 3300uf 16V Filtering Capacitor Electrolytic
03 - 10uf 16V Filtering Capacitor Electrolytic
05 - Propeller Labels
01 - 3 pin programming connector

01 - Battery holder
01 - Battery CR123A
 
STARTER SPIN BRAIN SOFTWARE
Spin Brain RTOS - Real Time Operating System
Loader - Load code into all chips at once
Enumerator - Auto address each chip
EViewer - LED displays chip enumeration 

Enhancer - Create 1000 VPs per chip
VP Demo - 1,000 operating programs per chip
Parallel Algorithm - Parallel solution algorithm
Evo Demo - Chip evolution example

Binaries - As announced 
Spin Brain Manual - Spin Brain Details
 
BRAIN DIAGRAM


CHIP1  CHIP 2  CHIP3  CHIP4  CHIP5
|______|_______|______|______|_____  PARALLEL INTERFACE
 __________________________________  PROGRAMMER INTERFACE
O      O       O      O      O       OUTPUT DISPLAY (LEDS)
<>     <>      <>     <>     <>      32 PIN I/O BUS


BACKGROUND
The humanoid brain project began in 2002, to develop a powerful brain for mobile humanoid robots. This led to the Big Brain being introduced August 5th, 2010. The past 2 years have seen the most progress with objectives to decrease physical brain size, decrease electrical power requirements, introduce powerful enhancements, and develop a standardized software package. Numerous challenges were faced and solved regarding wiring, power requirements, electrical noise, portability, timing, loading, distributing, interfacing, enhancing, developing parallel algorithms, making the software work, debugging, etc. etc. There are undoubtedly hidden refinements needed that will arise as we continue to develop the Spin Brain.


SOFTWARE
Software is not free. Its development has run the course of three years. To run code, a Spin Brain is needed. This is being developed as a potential market product. When it reaches beta stage, testers will try it. If you’re interested in beta testing a brain and its software, reply to the blog announcement and I will contact you at that time and make package arrangements. On the other hand, if you want a finished and refined product, purchases can be made when it’s released. Video demonstrations may be released to demo the software.

Only the prototype exists now, however, playing continues with many possibilities of the Spin Brain as a potential future product. It's a Big Brain with a handful of enhanced Propeller chips in parallel. It demonstrates basic principles by taking some exampling characteristics of a supercomputer, in particular the notion of larger multiples of relatively simple processors communicating over a common bus, each doing a portion of a task in parallel.

A task can be prepared it so it's properly divided up into parallel chunks allowing each processor to run full throttle, with simultaneous calculations, and then assembling the bits into a single result upon completion. Programming will minimize speed compromise when the calculation process is interrupted for a memory dump or output operation when dealing with very long strings of numbers.