Brain Thread and Posts Structure
It appears we should take a time out to discuss the structure of the thread posts and the way the way topics are being organized. There is really a method to the madness. The key here is this is a large scale Open Source Development Project meaning it is developed step by step openly on the Forum. So posts can contain data, useful or not, and ideas, useful or not, as open development continues.
Photos
The objective is to create smaller precursory concept photos because they have smaller size and you can get the general idea of the post. This will do several things.
1) generate continued interest
2) keep the amount of storage data on the Parallax server to a minimum
3) create a photo size that can be more readily manipulated on my slow computer
4) create a photo size that can be efficiently stored on my computer of limited resources
5) create a manageable photo size that will go into the final Brain book and/or manual so it can be offered as a download of reasonable MB size
Posts
There are several logical points to posting in the Brain Thread.
1) We are trying something relatively different or at least perhaps on a larger scale. This is an Open Source project, not made open only at the end of the project, but made open during its development.
2) There's is a method to opening up a new post for each new idea. These ideas are extremely important and must be handled individualistically, i.e. if you are building a brain.
3) Each idea will go into the Brain Manual/Book. When each highly specific idea is posted, then posts can be categorized and organized more readily for this upcoming project, at least from my organizational technique and perspective.
4) Ideas will be posted with my intention of going back and posting more information, such as data, results, elaboration and photos. This is often but not always accomplished overnight. Right now, there are several of these simple-appearing posts that only look like simple after-thoughts, but assuredly are significant points waiting for more information to be added.
5) Sometimes numerous photos are taken at the same time and processed at a later date, then distributed over the next week or two into the posts as edit, with the ideas and thoughts that are waiting for additional data.
6) When new data is added, posts are indeed edited. For me, this one-on-one topical post is the most easy to edit.
7) Many disparate ideas if posted within a single post are run-ons and not easy to follow when you look at the thread as a whole, especially if you are building a brain and want some degree of organization in a project that could grow increasingly complex.
8) There is a time factor. Opening up new headline idea threads that can be later picked up and developed is an extremely effective way of working when your work is interrupted and continued at a later time.
9) Post ideas are open and available for comment on their post number. Specific ideas have a Forum automatic specific post number assignment for later analysis.
Brain Structural Support
Open side receives structural supports
Even though expansion from host boarding
provides increased EXO rigidity, it's simply
not enough support for an entity that will
undergo various motions and movements, so
very strong reinforcement is made with double
joined 2-inch spacers.
The add-on structural supports are comprised
of each two joined 2-inch brass spacers
supporting the sides made up of boards.
Three reinforcements are currently in place
and continue to allow the add-on of host
boards.
Host boards are now attached with angle iron,
a bolt, and a 2-inch spacer at 90-degrees to
the structural support.
Brain Feet
Increase stability and protection with feet
Brain Feet are created from recycled tube containers
that are placed over the end points of the protruding
brass spacers on all sides. These ensure a more stable
mounting support as well as protecting the access user
from getting poked.
Tubes are one end open, 2 3/8th-inches long, and
about 5/8ths-inch in diameter. Packing material will be
established at a future date. Tubes are from packaging
used for Chinese herbs. A small piece of pvc plumbing
sink piping will also work.
These could be attached from their closed end, or
adjoined with stuffing. The tube can either be removed
for hosting boards or have spacer bolting extensions
in place.
Brain Assembly Line Reference Board
Increasing the speed and ease of assembly
Create this reference board for assembly
and follow these assembly line steps, for
example, insert all resistor A into all boards
then go on to the next step.
Dropping Resister A insertion
Dropping Resister B insertion
Dropping Resister data jumper
Decoupling Capacitor point 1
Decoupling Capacitor point 2*
Decoupling Capacitor point 3*
Decoupling Capacitor point 4*
LED insertion
Vss to chip
Vss (to next board)
Vss (from previous board)
Vdd (from previous board)
Vdd (to next board)
Data Jumper to LED 1
Data jumper to LED 2
Bus wire 1
Bus wire 2
Data line
Opt line
Note: The termination board must be terminated
and is wired differently. This will be handled
separately.
(Photo coming soon!) This reference board decreases assembly
time
Machine learning and Data mining is a subfield of artificial intelligence that develops computer programs that can learn from past experience and find useful patterns in data. This field has provided many tools that are widely used and making significant impacts in both industrial and research settings. Some of the application domains include personalized spam filters, HIV vaccine design, handwritten digit recognition, face recognition, credit card fraud detection, unmanned vehicle control, medical diagnosis, intelligent web search, etc.
Brain Projects Reports on other Brain projects are welcomed
The Robot Group has the Robot Brain project and group, headed by Project Leader Glenn Curry, and has a devoted web site here.
The Robot Brain: The Robot Brain project is large project with the goal of providing a platform to test various robot control theories. It is in it's early stages but conisists of an ever growing number of GNU/Linux and NetBSD based computers networked together. The collection of rack mount computers are strapped together via ethernet to form the fixed brain for various mobile robot bases. We are currently working on getting "agent" based software running on this "Society" of machines. The brain team is convinced that interesting things can be done with the concept of "agents" introduced by Marvin Minsky in his book "The Society of Mind". We need all the help we can get and many friends and members of The Robot Group have already contributed greatly to the project and we owe them our thanks.
A followup on this project would be very interesting.
Here is a view of a Brain Vertice from the side
showing the support capability of the entire
EXO. The Brain Vertice is made up from
multiple groups of 90-degree positioned brass
spacers that support the brain on its side.
There are four vertices that surround the
brain, offering support and orientations to
all sides. This is very important when working
on the brain, rewiring, reprogramming, and
changing or adding to the boards
configurations.
Brain Reference Board for Assembly Line
Use a reference for faster assembly
You can stub in the wire jumpers into a single
PPPB and breadboard, then move along the
multiple boarded Brain for more rapid assembly
in assembly line fashion. A reference board is
used when the Brain is flipped over to three
remaining side and suddenly there is no wiring
reference. With the reference board, wiring is
fast and efficient. It's not much of a concern if
the brain has only a score of boards, but as the
overall board count increases to 20 and above,
even hundreds, the reference becomes a time
saver.
This is a Parallax Propeller Proto
board used for reference in assembly
line wiring of multiple boards in the Brain
Brain Spin Code to Reduce LED Current
Small program reduces power consumed by Brain data lights
I found a solution to the problem of the LED drawing too much current on the PPPBs. After trying several complex PWM programs, I decided to write a simple Spin program that takes the power drawn down from 19-20 mA to 3-5 mA by pulsing the LED-resister combination in two disparate cycles.
The code is easily modifiable to include more than one data LED. This is a very simple solution to the original power problem and does not require any extra objects from the OBEX and the code is very small - only 7 lines. (it could be made smaller)
These boards will now run at 3-5 mA with one cog in use and one data light on. This is within Brain Specifications established earlier in the Brain Design.
For anyone wishing to reduce the power consumed with LEDs on their Propeller boards, the code is provided for download here.
Brain Photo Size Increased photos may appear larger
If you are not seeing a minimum of 2 1/2 by 3 1/2 inch
size photos then please re-size your browser to display
this photo size on the screen. I realize these are still
small by some standards, but are just the right size or
considered large by online standards.
I have gone back to several posts and posted new
larger photos. These will show increases in resolution
and are not too large as to take up too much space.
There may be a mix of photo size from time to time
as images are cropped or jpeg'd to varying degrees.
To set and reset browser page size with FireFox, use
ctrl + for larger and ctrl - for smaller.
Brain Logical Addressing Idea for identifying locations
This sketch shows slices of Propeller chip
board addressing management in the Brain
This is a rough sketch to show the idea for a Brain
addressing scheme. Top side high level management
includes several boards that, in indexing, numerically
wrap around the EXO form. The actual numbers may
change but the general idea is given.
Indexing allows neighbor identification, the creation of
neighborhoods, name identifications to be established,
talk and listen conversations, and a compatible BUS
Bi-directional party line for AI.
There are two modes to consider when addressing,
vertical and horizontal. Horizontal anterior positions
will allow numerical indexing to continue with cards
inserted into the interior rack.
Indexing can theoretically start stop at any location
because the distance between two Propellers is as
close as its neighbor, either adjacent by row, or
adjacent by 90-degree flip side. This is because the
same jumper size will reach board-to-board in any
adjacent configuration. This is now a 4-inch jumper
used throughout, though wiring could be reduced
at a later time.
Photo showing setup for testing
the Brain data light
Photo showing the test schematic sketch
Micro-Photo showing the power light
that was converted to a data light
and power reduced. Note the lit LED
and yellow insulated jumper wire
which leads back to Propeller pin
24.
Photo showing the power supply
readings at 3.3-volts and 3 mA
current draw
Brain Neighborhood Identification Labels DIY your own Brain Labels
It's confusing to keep track of all the Brain
neighborhoods and their addressing IDs
when working with manual board wiring.
To facilitate easy identification, Brain labels
were printed for each location. Labels each
have a number, the project name, the logo
of the respective board and a worded
identification. Some labels identify the upper
management and some labels identify the
work force. At a later date, a project logo
will be created.
Photo showing a sheet of Brain labels
awaiting cutout
Adding brain labels is simple. Locate the
board position on each PPPB to the right
of each solder-less breadboard. Labels
are designed to fit in the unused space.
I like the idea of wire wrapping a DIP Propeller chip onto a Proto Board. Have you completed adding a DIP this way? If so, I'd like to see a picture of the back side of the board.
I'd also like to see a close up on the labels you are using. I have several projects that use multiple Props (not nearly as many as you have in this project) and I'd like to see how you're identifying each Propeller.
A few (or more) posts ago you wrote about thoughts you had about self modifying hardware. A picture of robotic hands working an old fashion switchboard came to my mind. I think computers were supposed to free us of switch boards. Kind of funny to think about.
I keep trying to think up an application for so many Propeller chips. As I've mentioned before I find the idea of a massively parallel system intriguing. So far most of my ideas deal with machine vision and displays. I've wondered if Hanno's idea of capturing video using a little black and white camera could be scaled up. Maybe each Prop (or cog) could analyze one line of the video coming in. The trick (one of many) would be to get the Props/cogs to share the appropriate information. One could add color to the B&W cameras by using colored filters to the cameras (the first color images from the surface of the moon where taken using this technique).
I've also thought another possible application could be in robot navigation. A laser could be scanning the surroundings while multiple Props/cogs could be analyzing different parts of the scan and work together to create a 3D map of the robots environment.
When your brain goes mobile, you might want to consider a switching voltage regulator. They are much more efficient than linear regulators. I've used several different kinds of switching regulators from Dimension Engineering. There kind of expensive but they are supposed to dramatically improve ones battery life and they give off a lot less heat than linear regulators. I've used this one as a replacement for the 3.3V regulator on a Propeller Proto Board before (watch out, I think the pin out is different than the original regulator). Since they cost so much, I usually use a female header so I can unplug them if I want to use them in a different board.
It's been fun to try to think of applications for so many Propeller chips. I think the software for this thing is going to be a really big challenge.
Humanoido, I like the idea of wire wrapping a DIP Propeller chip onto a Proto Board. Have you completed adding a DIP this way? If so, I'd like to see a picture of the back side of the board.
Hi Duane! Thanks for your Brain ideas. I can first address the wire wrap. I knew twenty boards on the UltraSpark40 project would be recycled. These each held two propeller chips, one surface mount and one DIP that was added. I used a socket and made the wire wrap connections from the back side. This accomplished four things. 1) it held the chip on socket in place. 2) It provided wiring for the chip. 3) It allowed complete removal. 4) It maintained an unmodified board. So when I find the older photos showing this they can be posted. On the Brain, the DIP props are being used for another project and were removed from the PPPBs. These probably would not be added back onto the PPPBs at this time. But I think you can clearly envision the setup. Just add a socket on the front side of the PPPB and wire from the socket stubs through the opposite side of the board. If the wire wrap tool is not handing the chip socket's depths, a different socket type will be required. Special wire wrap sockets are guaranteed to work though I rarely need these.
Humanoido, I'd also like to see a close up on the labels you are using. I have several projects that use multiple Props (not nearly as many as you have in this project) and I'd like to see how you're identifying each Propeller. Duane
Duane, the reason I did not post the file to print the Brain labels is because I think the label may change. However, since you're looking for label ideas, I can post a pic. The label reveals the new Brain name and logo as well.
Brain Address and Identification
printed labels for PPPBs
Labels reveal the office paradigm with CEO, President, Vice President and one Office Worker. In the Brain, the concept is the same but the names are changed. The logo within the label also changes to reflect the CPU used in the boards. Here we see a label for a BASIC Stamp 2 board and the rest are Propeller boards. I would anticipate printing up more labels for hosted processor boards, including specific BASIC Stamp versions like the BS2px and BS1.
Humanoido, When your brain goes mobile, you might want to consider a switching voltage regulator. They are much more efficient than linear regulators. I've used several different kinds of switching regulators from Dimension Engineering. There kind of expensive but they are supposed to dramatically improve ones battery life and they give off a lot less heat than linear regulators. I've used this one as a replacement for the 3.3V regulator on a Propeller Proto Board before (watch out, I think the pin out is different than the original regulator). Since they cost so much, I usually use a female header so I can unplug them if I want to use them in a different board. Duane
Duane, what amperage or usage differences are you seeing between the analog voltage regulator and the switching regulator? Lower heat dissipation is a good sign. I can see with a "switching LED" the power is vastly different. So the idea is a good one with the regulator.
I don't have a circuit where I could easily substitute one regulator for another right now.
But based on my reading of this Wikipedia page. I think I could give a possiple example.
Lets say you're powering several boards the draw a total of 100mA at 3.3V. Assume the power supply coming in is 6.6V(to make the math easier). It this case the lowest current you could expect to see with the 6.6V supply is 100mA. But since the voltage is twice as high it's using twice the power. I think the current would likely be a little higher than 100mA.
Now lets use a switching regulator with 80% efficency. (100mA * 3.3V) = .8 * (XmA * 6.6V) solve for X. (So much for keeping the math easy). I get X equals 62.5 mA.
So instead of needing 100mA at 6.6V you'd only need 62.5mA if you use a switching regulator. The difference would be greater with a greater input voltage or less with a smaller input voltage.
The difference is going to vary widely based on the voltage difference between Vin and Vout.
I hope I'm doing this right. Someone please correct me if I'm wrong.
Humanoido, I don't have a circuit where I could easily substitute one regulator for another right now. But based on my reading of this Wikipedia page. I think I could give a possiple example. Lets say you're powering several boards the draw a total of 100mA at 3.3V. Assume the power supply coming in is 6.6V(to make the math easier). It this case the lowest current you could expect to see with the 6.6V supply is 100mA. But since the voltage is twice as high it's using twice the power. I think the current would likely be a little higher than 100mA. Now lets use a switching regulator with 80% efficency. (100mA * 3.3V) = .8 * (XmA * 6.6V) solve for X. (So much for keeping the math easy). I get X equals 62.5 mA. So instead of needing 100mA at 6.6V you'd only need 62.5mA if you use a switching regulator. The difference would be greater with a greater input voltage or less with a smaller input voltage. The difference is going to vary widely based on the voltage difference between Vin and Vout. Duane
Duane, thanks for doing the calculations and providing the link. It does appear that use of a switching regulator will be extremely beneficial to a mobile robot brain. Depending on conditions, going from 100mA down to only 62.5mA is very significant. Although the Brain can computationally think at a few milliamps per board, it's the quantity of boards and the management of other peripherals (such as data lights) that will require the bulk of power. With single cog use (multiple cog testing still required), the draw is around 84 to 105mA (at 4 to 5 mA idle per board) in thinking mode. Taking the higher reading and apply your calculations indicate a 40% power savings at twice the voltage (6.6v). Applying ohms law with 6.6V and .0625 current, the R is calculated at 105.6 and with 3.3V we are looking at 31 mA idle for all the boards which fits significantly more in a battery operated robot.
Use of nylon bolts with brass spacers ended up bending
under the light load of supporting its own weight. It is now
recommended to use metal bolts to fasten all Vertice
spacers on all sides of the Brain.
Currently the only remaining nylon construction is with the
bolts and nuts joining the PPPBs together where spacers
do not connect. This appears to have sufficient strength
under new flexing tests.
Showing metal replacement hardware con-
necting PPPBs together with metal angle iron.
Note that board to board connections are now
the only place where nylon is used, due to
rigidity requirements in apps that
requirement mobility. This became
acceptable after weighing the brain
and determining it could be moved by
a robot using at least two standard
size servos. This is well within the load
handling capabilities of the Parallax
Boe-Bot. It also falls within the load
handling characteristics of the Parallax
SumoBot, Stingray, Quadrover and
Scribbler robots. So if you want a big
Brain for any of these robots, this is it.
There's a lot of Brain handling taking place
when moving around from horizontal to vertical
and flipping from Brain Span to alternate Brain
Span during wiring, testing and programming.
What is needed are handles to avoid inadvertently
grabbing a component board and tearing out
components from the solderless breadboard.
The solution was found inside the Brain. Peeking
inside we see a couple full expanded brass spacers
(see photo) that add structural rigidity to the Exo.
By expanding on this support concept at two opposing
sides on each Brain end, handles can be formed while
serving the additional purpose of adding overall
structural rigidity.
Brain spacers are adjoined inside the Brain to form
handles for moving the massive brain around. These
are made up of two 2-inch long brass spacers that
exactly equals the distance between boards. This
distance is also equal to the width of one PPPB.
Brain 1st LCD Selected for Output
Parallax 4x20 serial LCD
This Parallax 4x20 serial LCD (with
keypad interface and outputs) is
selected for installation into the Brain. Photo shows top orientation with a
row of soldered points. Use this
photo guide for mounting purposes.
The Parallax part number is 30059. The Matrix Orbital
part number is LK204-25-WB. This version is pre-modified
for BASIC Stamp module-compatibility.
The advantages of using the 30059 are many, but
primarily its best features include a buffer and the
ability to line wrap data serially received.
20x4 Display
Keypad Interface: 25 (5x5)
6 General Purpose Output
Horizontal & Vertical bar graph modes
Large Digits
Automatic Line Wrapping & Scrolling
Appearance: Inverse Blue with White Backlight
RS232 mode (Compatible with TTL levels) : 1200bps to 19.2 Kbps
I2C mode: Serial transfers of up to 100 Kbps & connect up to 16 displays
Fully Buffered - no delays in transmission
Key Specifications:
Power Requirements: 5 VDC @ 40 mA (Backlight Off) / 110 mA (Backlight On)
Communication: Asynchronous serial (TTL) or I2C
Dimensions: 3.86 x 2.36 x 1.20 in (98 x 60 x 30.63 mm)
Operating Temperature: +32 to +122 °F (0 to +50 °C)
It would be an advantage to use the extra six general purpose outputs for Brain functions and connect a keypad like the Parallax 4x4 matrix keypad 27944 and cable 27943 (if these work with this display).
Brain 4x20 LCD Connection
Hardware connects the largest LCD
The LCD requires a small change. See
photos. Reverse the bolt and nut positions
through the spacer on two sides of the LCD
for a better mounting configuration.
The left hand LCD mount consists
of two right angle metal brackets
Now fabricate the left angle iron mount.
This consists of two 90-degree angle
brackets mounted together. In effect, it
moves the LCD forward from the axis of
the spacer.
The right hand LCD mount also consists of
two right angle brackets but one is longer,
with dimensions of 3/4 x 1 5/8ths inch.
Now assemble the right hand mount for
the LCD. This consists of two different
90-degree right angle brackets, one of
which is long.
Brain LCD Spacing
This can vary but must reside withing the
the length of the foot so as not to bump the
platform surface during the Brain flipping
process
As the space of the LCD is critical,
this post will describe the details.
Simple attachment with a Parallax 5/8ths inch
aluminum spacer
Add a Parallax spacer part number
713-00001 to both sides of the LCD. This
will simply screw into the existing LCD
mounting hardware.
The other end of the space requires a
Parallax bolt, part number 700-00028.
Brain Nylon Board Connects
Connects from board to board use nylon hardware
The photo illustrates how to connect one PPPB to
the next using nylon hardare (bolt and nut). The
connections are strong enough to allow this light
weight connector.
One 90-degree metal angle bracket and
two nylon bolts and nuts connect PPPBs
together.
Brain Board Insulator and Changes
Protecting circuit pathways from short circuits
Cardboard was used as an insulator
and then replaced with thinner paper. This
prevents shorting out the PPPBs near the
servo power points. This thinner paper
allows a smaller bolt to be used for mounting.
This thick cardboard insulator was replaced
with thinner paper. It prevents a short circuit
at the servo connect location.
Introducing the Flip Brain
The flip brain concept for use in any Brain position
You can now flip the Brain. This achieves any operating
position, in vertical and horizontal directions and brings
various sensors and instruments into position. The
primary reason for the Flip Brain is total and complete
access to all boards, all wiring, all connectors, all pins,
and all resources.
In the horizontal, there are four basic flip positions
which are supplemented by four vertice flip
positions. This is ideal for going from desktop
operation that can access any of four Brain
Spans of at least six boards at a time.
This is the standard flip position for desktops.
Note this flip engages the Vertice so the angle
is very convenient to see the display and
access the connectors.
Note the large display and access to connectors
for VGA, TV, and mouse. The top has open
access to the CEO, President and Vice
President. Remain Brain Spans include the
office workers.
Flip the brain and this view shows Span 2.
Wiring is still in its infancy on this Brain Span.
Note how easily the display fits under the
bottom Brain Span and has clearance with the
desktop. This view is facing the back position
when in the desktop mode.
Flip again! Another Brain Span comes into
view! This is Span 3. Components are in
place with limited wiring.
This flip is straight on without using the vertice.
Note the top includes another LCD display in
this trial experiment. This display is for use in
the next flip to the vertical position.
The final Brain Flip brings the small
LCD into view (right side) and makes
top EXO position fully accessible.
The Brain now has two LEDs for display, one in
each orientation (vertical and horizontal). The
mounting of the small display is equally unique
and will be discussed in a later post.
Comments
It appears we should take a time out to discuss the structure of the thread posts and the way the way topics are being organized. There is really a method to the madness. The key here is this is a large scale Open Source Development Project meaning it is developed step by step openly on the Forum. So posts can contain data, useful or not, and ideas, useful or not, as open development continues.
Photos
The objective is to create smaller precursory concept photos because they have smaller size and you can get the general idea of the post. This will do several things.
1) generate continued interest
2) keep the amount of storage data on the Parallax server to a minimum
3) create a photo size that can be more readily manipulated on my slow computer
4) create a photo size that can be efficiently stored on my computer of limited resources
5) create a manageable photo size that will go into the final Brain book and/or manual so it can be offered as a download of reasonable MB size
Posts
There are several logical points to posting in the Brain Thread.
1) We are trying something relatively different or at least perhaps on a larger scale. This is an Open Source project, not made open only at the end of the project, but made open during its development.
2) There's is a method to opening up a new post for each new idea. These ideas are extremely important and must be handled individualistically, i.e. if you are building a brain.
3) Each idea will go into the Brain Manual/Book. When each highly specific idea is posted, then posts can be categorized and organized more readily for this upcoming project, at least from my organizational technique and perspective.
4) Ideas will be posted with my intention of going back and posting more information, such as data, results, elaboration and photos. This is often but not always accomplished overnight. Right now, there are several of these simple-appearing posts that only look like simple after-thoughts, but assuredly are significant points waiting for more information to be added.
5) Sometimes numerous photos are taken at the same time and processed at a later date, then distributed over the next week or two into the posts as edit, with the ideas and thoughts that are waiting for additional data.
6) When new data is added, posts are indeed edited. For me, this one-on-one topical post is the most easy to edit.
7) Many disparate ideas if posted within a single post are run-ons and not easy to follow when you look at the thread as a whole, especially if you are building a brain and want some degree of organization in a project that could grow increasingly complex.
8) There is a time factor. Opening up new headline idea threads that can be later picked up and developed is an extremely effective way of working when your work is interrupted and continued at a later time.
9) Post ideas are open and available for comment on their post number. Specific ideas have a Forum automatic specific post number assignment for later analysis.
Open side receives structural supports
Even though expansion from host boarding
provides increased EXO rigidity, it's simply
not enough support for an entity that will
undergo various motions and movements, so
very strong reinforcement is made with double
joined 2-inch spacers.
The add-on structural supports are comprised
of each two joined 2-inch brass spacers
supporting the sides made up of boards.
Three reinforcements are currently in place
and continue to allow the add-on of host
boards.
Host boards are now attached with angle iron,
a bolt, and a 2-inch spacer at 90-degrees to
the structural support.
Increase stability and protection with feet
Brain Feet are created from recycled tube containers
that are placed over the end points of the protruding
brass spacers on all sides. These ensure a more stable
mounting support as well as protecting the access user
from getting poked.
Tubes are one end open, 2 3/8th-inches long, and
about 5/8ths-inch in diameter. Packing material will be
established at a future date. Tubes are from packaging
used for Chinese herbs. A small piece of pvc plumbing
sink piping will also work.
These could be attached from their closed end, or
adjoined with stuffing. The tube can either be removed
for hosting boards or have spacer bolting extensions
in place.
Increasing the speed and ease of assembly
Create this reference board for assembly
and follow these assembly line steps, for
example, insert all resistor A into all boards
then go on to the next step.
- Dropping Resister A insertion
- Dropping Resister B insertion
- Dropping Resister data jumper
- Decoupling Capacitor point 1
- Decoupling Capacitor point 2*
- Decoupling Capacitor point 3*
- Decoupling Capacitor point 4*
- LED insertion
- Vss to chip
- Vss (to next board)
- Vss (from previous board)
- Vdd (from previous board)
- Vdd (to next board)
- Data Jumper to LED 1
- Data jumper to LED 2
- Bus wire 1
- Bus wire 2
- Data line
- Opt line
Note: The termination board must be terminatedand is wired differently. This will be handled
separately.
(Photo coming soon!)
This reference board decreases assembly
time
Now you can attend class to learn more about machine learning
Oregon State University has a class for machine learning and data mining.
http://classes.engr.oregonstate.edu/eecs/winter2011/cs434/
Machine learning and Data mining is a subfield of artificial intelligence that develops computer programs that can learn from past experience and find useful patterns in data. This field has provided many tools that are widely used and making significant impacts in both industrial and research settings. Some of the application domains include personalized spam filters, HIV vaccine design, handwritten digit recognition, face recognition, credit card fraud detection, unmanned vehicle control, medical diagnosis, intelligent web search, etc.
Slides for review of basic probability concepts
Slides for review of basic concepts in vector calculus and linear algebra
More slides and information is available through links at the web page.
Reports on other Brain projects are welcomed
The Robot Group has the Robot Brain project and group, headed by Project Leader Glenn Curry, and has a devoted web site here.
The Robot Brain: The Robot Brain project is large project with the goal of providing a platform to test various robot control theories. It is in it's early stages but conisists of an ever growing number of GNU/Linux and NetBSD based computers networked together. The collection of rack mount computers are strapped together via ethernet to form the fixed brain for various mobile robot bases. We are currently working on getting "agent" based software running on this "Society" of machines. The brain team is convinced that interesting things can be done with the concept of "agents" introduced by Marvin Minsky in his book "The Society of Mind". We need all the help we can get and many friends and members of The Robot Group have already contributed greatly to the project and we owe them our thanks.
A followup on this project would be very interesting.
Showing how to use Vertices
Here is a view of a Brain Vertice from the side
showing the support capability of the entire
EXO. The Brain Vertice is made up from
multiple groups of 90-degree positioned brass
spacers that support the brain on its side.
There are four vertices that surround the
brain, offering support and orientations to
all sides. This is very important when working
on the brain, rewiring, reprogramming, and
changing or adding to the boards
configurations.
Use a reference for faster assembly
You can stub in the wire jumpers into a single
PPPB and breadboard, then move along the
multiple boarded Brain for more rapid assembly
in assembly line fashion. A reference board is
used when the Brain is flipped over to three
remaining side and suddenly there is no wiring
reference. With the reference board, wiring is
fast and efficient. It's not much of a concern if
the brain has only a score of boards, but as the
overall board count increases to 20 and above,
even hundreds, the reference becomes a time
saver.
This is a Parallax Propeller Proto
board used for reference in assembly
line wiring of multiple boards in the Brain
Small program reduces power consumed by Brain data lights
I found a solution to the problem of the LED drawing too much current on the PPPBs. After trying several complex PWM programs, I decided to write a simple Spin program that takes the power drawn down from 19-20 mA to 3-5 mA by pulsing the LED-resister combination in two disparate cycles.
The code is easily modifiable to include more than one data LED. This is a very simple solution to the original power problem and does not require any extra objects from the OBEX and the code is very small - only 7 lines. (it could be made smaller)
These boards will now run at 3-5 mA with one cog in use and one data light on. This is within Brain Specifications established earlier in the Brain Design.
For anyone wishing to reduce the power consumed with LEDs on their Propeller boards, the code is provided for download here.
photos may appear larger
If you are not seeing a minimum of 2 1/2 by 3 1/2 inch
size photos then please re-size your browser to display
this photo size on the screen. I realize these are still
small by some standards, but are just the right size or
considered large by online standards.
I have gone back to several posts and posted new
larger photos. These will show increases in resolution
and are not too large as to take up too much space.
There may be a mix of photo size from time to time
as images are cropped or jpeg'd to varying degrees.
To set and reset browser page size with FireFox, use
ctrl + for larger and ctrl - for smaller.
Idea for identifying locations
This sketch shows slices of Propeller chip
board addressing management in the Brain
This is a rough sketch to show the idea for a Brain
addressing scheme. Top side high level management
includes several boards that, in indexing, numerically
wrap around the EXO form. The actual numbers may
change but the general idea is given.
Indexing allows neighbor identification, the creation of
neighborhoods, name identifications to be established,
talk and listen conversations, and a compatible BUS
Bi-directional party line for AI.
There are two modes to consider when addressing,
vertical and horizontal. Horizontal anterior positions
will allow numerical indexing to continue with cards
inserted into the interior rack.
Indexing can theoretically start stop at any location
because the distance between two Propellers is as
close as its neighbor, either adjacent by row, or
adjacent by 90-degree flip side. This is because the
same jumper size will reach board-to-board in any
adjacent configuration. This is now a 4-inch jumper
used throughout, though wiring could be reduced
at a later time.
Photo showing setup for testing
the Brain data light
Photo showing the test schematic sketch
Micro-Photo showing the power light
that was converted to a data light
and power reduced. Note the lit LED
and yellow insulated jumper wire
which leads back to Propeller pin
24.
Photo showing the power supply
readings at 3.3-volts and 3 mA
current draw
(text to follow here)
DIY your own Brain Labels
It's confusing to keep track of all the Brain
neighborhoods and their addressing IDs
when working with manual board wiring.
To facilitate easy identification, Brain labels
were printed for each location. Labels each
have a number, the project name, the logo
of the respective board and a worded
identification. Some labels identify the upper
management and some labels identify the
work force. At a later date, a project logo
will be created.
Photo showing a sheet of Brain labels
awaiting cutout
Adding brain labels is simple. Locate the
board position on each PPPB to the right
of each solder-less breadboard. Labels
are designed to fit in the unused space.
Use these Parallax three pin connectors
to insert 3.3-volts DC, ground and signal to each
board for test junctures.
Parallax supplies a handy 3-pin connector
which plugs into breadboards. The use is to
supply power, ground, and signal for testing.
This is a sample test being set up with a
Propeller board using the pin connector with test
leads connected
I like the idea of wire wrapping a DIP Propeller chip onto a Proto Board. Have you completed adding a DIP this way? If so, I'd like to see a picture of the back side of the board.
I'd also like to see a close up on the labels you are using. I have several projects that use multiple Props (not nearly as many as you have in this project) and I'd like to see how you're identifying each Propeller.
A few (or more) posts ago you wrote about thoughts you had about self modifying hardware. A picture of robotic hands working an old fashion switchboard came to my mind. I think computers were supposed to free us of switch boards. Kind of funny to think about.
I keep trying to think up an application for so many Propeller chips. As I've mentioned before I find the idea of a massively parallel system intriguing. So far most of my ideas deal with machine vision and displays. I've wondered if Hanno's idea of capturing video using a little black and white camera could be scaled up. Maybe each Prop (or cog) could analyze one line of the video coming in. The trick (one of many) would be to get the Props/cogs to share the appropriate information. One could add color to the B&W cameras by using colored filters to the cameras (the first color images from the surface of the moon where taken using this technique).
I've also thought another possible application could be in robot navigation. A laser could be scanning the surroundings while multiple Props/cogs could be analyzing different parts of the scan and work together to create a 3D map of the robots environment.
When your brain goes mobile, you might want to consider a switching voltage regulator. They are much more efficient than linear regulators. I've used several different kinds of switching regulators from Dimension Engineering. There kind of expensive but they are supposed to dramatically improve ones battery life and they give off a lot less heat than linear regulators. I've used this one as a replacement for the 3.3V regulator on a Propeller Proto Board before (watch out, I think the pin out is different than the original regulator). Since they cost so much, I usually use a female header so I can unplug them if I want to use them in a different board.
It's been fun to try to think of applications for so many Propeller chips. I think the software for this thing is going to be a really big challenge.
Duane
Brain Address and Identification
printed labels for PPPBs
Labels reveal the office paradigm with CEO, President, Vice President and one Office Worker. In the Brain, the concept is the same but the names are changed. The logo within the label also changes to reflect the CPU used in the boards. Here we see a label for a BASIC Stamp 2 board and the rest are Propeller boards. I would anticipate printing up more labels for hosted processor boards, including specific BASIC Stamp versions like the BS2px and BS1.
I don't have a circuit where I could easily substitute one regulator for another right now.
But based on my reading of this Wikipedia page. I think I could give a possiple example.
Lets say you're powering several boards the draw a total of 100mA at 3.3V. Assume the power supply coming in is 6.6V(to make the math easier). It this case the lowest current you could expect to see with the 6.6V supply is 100mA. But since the voltage is twice as high it's using twice the power. I think the current would likely be a little higher than 100mA.
Now lets use a switching regulator with 80% efficency. (100mA * 3.3V) = .8 * (XmA * 6.6V) solve for X. (So much for keeping the math easy). I get X equals 62.5 mA.
So instead of needing 100mA at 6.6V you'd only need 62.5mA if you use a switching regulator. The difference would be greater with a greater input voltage or less with a smaller input voltage.
The difference is going to vary widely based on the voltage difference between Vin and Vout.
I hope I'm doing this right. Someone please correct me if I'm wrong.
Duane
Duane, thanks for doing the calculations and providing the link. It does appear that use of a switching regulator will be extremely beneficial to a mobile robot brain. Depending on conditions, going from 100mA down to only 62.5mA is very significant. Although the Brain can computationally think at a few milliamps per board, it's the quantity of boards and the management of other peripherals (such as data lights) that will require the bulk of power. With single cog use (multiple cog testing still required), the draw is around 84 to 105mA (at 4 to 5 mA idle per board) in thinking mode. Taking the higher reading and apply your calculations indicate a 40% power savings at twice the voltage (6.6v). Applying ohms law with 6.6V and .0625 current, the R is calculated at 105.6 and with 3.3V we are looking at 31 mA idle for all the boards which fits significantly more in a battery operated robot.
Repairing the bent Vertice
Use of nylon bolts with brass spacers ended up bending
under the light load of supporting its own weight. It is now
recommended to use metal bolts to fasten all Vertice
spacers on all sides of the Brain.
Currently the only remaining nylon construction is with the
bolts and nuts joining the PPPBs together where spacers
do not connect. This appears to have sufficient strength
under new flexing tests.
Showing metal replacement hardware con-
necting PPPBs together with metal angle iron.
Note that board to board connections are now
the only place where nylon is used, due to
rigidity requirements in apps that
requirement mobility. This became
acceptable after weighing the brain
and determining it could be moved by
a robot using at least two standard
size servos. This is well within the load
handling capabilities of the Parallax
Boe-Bot. It also falls within the load
handling characteristics of the Parallax
SumoBot, Stingray, Quadrover and
Scribbler robots. So if you want a big
Brain for any of these robots, this is it.
Adjoining spacers double in purpose
There's a lot of Brain handling taking place
when moving around from horizontal to vertical
and flipping from Brain Span to alternate Brain
Span during wiring, testing and programming.
What is needed are handles to avoid inadvertently
grabbing a component board and tearing out
components from the solderless breadboard.
The solution was found inside the Brain. Peeking
inside we see a couple full expanded brass spacers
(see photo) that add structural rigidity to the Exo.
By expanding on this support concept at two opposing
sides on each Brain end, handles can be formed while
serving the additional purpose of adding overall
structural rigidity.
Brain spacers are adjoined inside the Brain to form
handles for moving the massive brain around. These
are made up of two 2-inch long brass spacers that
exactly equals the distance between boards. This
distance is also equal to the width of one PPPB.
Parallax 4x20 serial LCD
This Parallax 4x20 serial LCD (with
keypad interface and outputs) is
selected for installation into the Brain.
Photo shows top orientation with a
row of soldered points. Use this
photo guide for mounting purposes.
See the Parallax page for more information here.
The Parallax part number is 30059. The Matrix Orbital
part number is LK204-25-WB. This version is pre-modified
for BASIC Stamp module-compatibility.
The advantages of using the 30059 are many, but
primarily its best features include a buffer and the
ability to line wrap data serially received.
- 20x4 Display
- Keypad Interface: 25 (5x5)
- 6 General Purpose Output
- Horizontal & Vertical bar graph modes
- Large Digits
- Automatic Line Wrapping & Scrolling
- Appearance: Inverse Blue with White Backlight
- RS232 mode (Compatible with TTL levels) : 1200bps to 19.2 Kbps
- I2C mode: Serial transfers of up to 100 Kbps & connect up to 16 displays
- Fully Buffered - no delays in transmission
Key Specifications:- Power Requirements: 5 VDC @ 40 mA (Backlight Off) / 110 mA (Backlight On)
- Communication: Asynchronous serial (TTL) or I2C
- Dimensions: 3.86 x 2.36 x 1.20 in (98 x 60 x 30.63 mm)
- Operating Temperature: +32 to +122 °F (0 to +50 °C)
It would be an advantage to use the extra six general purpose outputs for Brain functions and connect a keypad like the Parallax 4x4 matrix keypad 27944 and cable 27943 (if these work with this display).Hardware connects the largest LCD
The LCD requires a small change. See
photos. Reverse the bolt and nut positions
through the spacer on two sides of the LCD
for a better mounting configuration.
The left hand LCD mount consists
of two right angle metal brackets
Now fabricate the left angle iron mount.
This consists of two 90-degree angle
brackets mounted together. In effect, it
moves the LCD forward from the axis of
the spacer.
The right hand LCD mount also consists of
two right angle brackets but one is longer,
with dimensions of 3/4 x 1 5/8ths inch.
Now assemble the right hand mount for
the LCD. This consists of two different
90-degree right angle brackets, one of
which is long.
Both mounts connect to brass spacers.
This can vary but must reside withing the
the length of the foot so as not to bump the
platform surface during the Brain flipping
process
As the space of the LCD is critical,
this post will describe the details.
Simple attachment with a Parallax 5/8ths inch
aluminum spacer
Add a Parallax spacer part number
713-00001 to both sides of the LCD. This
will simply screw into the existing LCD
mounting hardware.
The other end of the space requires a
Parallax bolt, part number 700-00028.
Reversal of hardware facilitates Brain mounting
Compare the two photos before and after to see
how to modify the LCD mounting hardware.
Before: stock mounting hardware
After: hardware and LCD fits onto spacers
Connects from board to board use nylon hardware
The photo illustrates how to connect one PPPB to
the next using nylon hardare (bolt and nut). The
connections are strong enough to allow this light
weight connector.
One 90-degree metal angle bracket and
two nylon bolts and nuts connect PPPBs
together.
Protecting circuit pathways from short circuits
Cardboard was used as an insulator
and then replaced with thinner paper. This
prevents shorting out the PPPBs near the
servo power points. This thinner paper
allows a smaller bolt to be used for mounting.
This thick cardboard insulator was replaced
with thinner paper. It prevents a short circuit
at the servo connect location.
The flip brain concept for use in any Brain position
You can now flip the Brain. This achieves any operating
position, in vertical and horizontal directions and brings
various sensors and instruments into position. The
primary reason for the Flip Brain is total and complete
access to all boards, all wiring, all connectors, all pins,
and all resources.
In the horizontal, there are four basic flip positions
which are supplemented by four vertice flip
positions. This is ideal for going from desktop
operation that can access any of four Brain
Spans of at least six boards at a time.
This is the standard flip position for desktops.
Note this flip engages the Vertice so the angle
is very convenient to see the display and
access the connectors.
Note the large display and access to connectors
for VGA, TV, and mouse. The top has open
access to the CEO, President and Vice
President. Remain Brain Spans include the
office workers.
Flip the brain and this view shows Span 2.
Wiring is still in its infancy on this Brain Span.
Note how easily the display fits under the
bottom Brain Span and has clearance with the
desktop. This view is facing the back position
when in the desktop mode.
Flip again! Another Brain Span comes into
view! This is Span 3. Components are in
place with limited wiring.
This flip is straight on without using the vertice.
Note the top includes another LCD display in
this trial experiment. This display is for use in
the next flip to the vertical position.
The final Brain Flip brings the small
LCD into view (right side) and makes
top EXO position fully accessible.
Intro of 2nd LCD serves multiple purposes
The introduction of Parallax 2x16 serial LCD part number 27977 to the Brain
serves several purposes.
The Brain now has two LEDs for display, one in
each orientation (vertical and horizontal). The
mounting of the small display is equally unique
and will be discussed in a later post.