The previous Herbert robotic life-forms all had a single logic circuit and while some made use of different components, the results were the same from a logic point of view. If the robot has enough power then do something. Not a very exciting logic circuit, but something necessary for all life, even artificial life. We can continue to use this simple logic design in one form or another, even with very advanced life-forms. Slightly modified it can become: If you are hungry then eat. For now we will leave it as is and continue by adding more logic circuitry to the robots.
The simplest logic circuits available are the same as the logic operators taught in any introductory computer class: NOT, AND, OR & XOR. These logic chips can be made to suit the purposes of the next stage in robotic life-form evolution, but would require a lot of additional support circuitry. Lacking space on the demo platform, we will instead opt for an integrated circuit that can accomplish our next task: which direction is the better power source?
To answer this question Herbert 1701 Species D will make use of a comparator chip. In simplest terms, a comparator takes two inputs and determines whether one input is higher than the other. Generally the inputs are voltage levels that are being compared. The comparison between the two voltages usually produces one of two outputs, either a ground level or an open circuit.
Continue reading "Herbert 1701 Species D Generations 1 & 2" »
Tuesday, September 1. 2009
Herbert 1701 Species D
As life would have it, the Maxim Maxim kicked in during my search to find the items needed to create a proper Photovore competition arena. I had figured the 250W halogen bulb would prove the most difficult to find, but it was the first item knocked off my list. The "common items" -- such as wooden dowels or Melamine board -- seem to be outside of my reach; short of paying a hefty shipping cost. Instead, I have decided to move on.
Based upon the tests and competition I was able to perform with the Herbert 1701 Species C robots it was pretty clear that the variable trigger solar engine is the route to go, proving far superior in most tests, particularly low-light and bright-light conditions. Therefore, this will be the species and generation that continues forward. At least for the time being.

Seeing as I have little wish and no money to create new circuit boards for each generation of the Herbert 1701 Species D robots, I have opted to build a simple test platform. While this is nothing fancy -- consisting of a solder-less breadboard, a sheet of plastic, a wheel and some motors -- it will work for the purposes of testing different circuitry configurations, as well as varying components.
As can be seen in the platform images, I have built out the variable solar engine using the Maxim MAX8212 voltage monitor. Throughout this species of Herbert artificial life form I will continue to use this same circuit and will be changing around everything else.
Continue reading "Herbert 1701 Species D" »
Based upon the tests and competition I was able to perform with the Herbert 1701 Species C robots it was pretty clear that the variable trigger solar engine is the route to go, proving far superior in most tests, particularly low-light and bright-light conditions. Therefore, this will be the species and generation that continues forward. At least for the time being.
As can be seen in the platform images, I have built out the variable solar engine using the Maxim MAX8212 voltage monitor. Throughout this species of Herbert artificial life form I will continue to use this same circuit and will be changing around everything else.
Continue reading "Herbert 1701 Species D" »
Friday, July 3. 2009
Herbert 1701 Species C Generations 4 - 6 Builds
I want to start off by apologizing for an inaccuracy in the Herbert 1701 Species C schematics. I had grown so accustomed to using reverse biased LEDs as photo sensors that I placed the photodiodes in a reverse biased position in all of the schematics. This, of course, is incorrect as photodiodes function in a forward bias position. The charge circuit for Herbert 1701 Species C Generation 6 is correctly biased as it makes use of an infrared LED instead of a photodiode and should remain reverse biased. All of the affected schematics have been updated to fix this screw-up on my part.
Moving on, I have been building out each of the three species C robotic life forms, generations 4, 5 and 6. Although I will not be labeling each as a separate generation, there are many aspects of the mechanical build that are subject to the same evolutionary process that I have been following for the circuit designs. Use of different components and their placement have just as profound an effect on the effectiveness of each Herbert as the initial circuit design, even more so in some instances. Just as with the trial and error used in those circuit designs, the builds have required much redesign and tweaking.
Beginning the design phase, I had decided on an outer shell to hold the various sensors and solar panel in place. I produced this outer shell using a two piece mold process, which will be used for the depictions in the upcoming tutorial. While this design seemed like a good idea in principle, the application left a lot to be desired. Herbert 1701 Species C Generation 4 was the guinea pig for this design and would have likely yelled at me for my idiocy if it were capable of such.
Continue reading "Herbert 1701 Species C Generations 4 - 6 Builds" »
Moving on, I have been building out each of the three species C robotic life forms, generations 4, 5 and 6. Although I will not be labeling each as a separate generation, there are many aspects of the mechanical build that are subject to the same evolutionary process that I have been following for the circuit designs. Use of different components and their placement have just as profound an effect on the effectiveness of each Herbert as the initial circuit design, even more so in some instances. Just as with the trial and error used in those circuit designs, the builds have required much redesign and tweaking.
Beginning the design phase, I had decided on an outer shell to hold the various sensors and solar panel in place. I produced this outer shell using a two piece mold process, which will be used for the depictions in the upcoming tutorial. While this design seemed like a good idea in principle, the application left a lot to be desired. Herbert 1701 Species C Generation 4 was the guinea pig for this design and would have likely yelled at me for my idiocy if it were capable of such.
Continue reading "Herbert 1701 Species C Generations 4 - 6 Builds" »
Monday, May 18. 2009
Robot Sensors
Spend enough time around robot hobbyists or their message forums and you will come across the two "How Do I" topics that popup over and over again. It depends on the time of year and climate as to which topic is more popular, but the first is "How do I build a flying robot?" To be honest, this question made the mode of transportation for the You Design It project a foregone conclusion before voting even started. Flying is really cool and the number two dream of every man, woman and child, hence the reason so many roboticists want to create a flying robot (the number one involves Rebecca Romijn and the Mystique costume).
That is all well and good (Mmmmm, Mystique), but this entry is more concerned with the second of those questions, "How do I implement robotic vision?" It seems like everyone in the robotic world is obsessed with hooking up a 500 gigapixel camera to their robot and letting their robot see exactly like we humans do. Even more so, they all want object recognition thrown in their as well. This is such a popular request that there are a dozen opensource and inexpensive retail projects out there dedicated to allowing hobbyists to do exactly this. Of course none of these projects ever have the disclaimer that the hobbyist is going to be incredibly disappointed with the outcome, but they will. Oh yes, they will.
In order to see (ha! a pun) why robot hobbyists are going to be disappointed, let us backup a moment and look at the human brain. The human brain is arguably the most complex and powerful logical processor in the known universe (some more than others). Even if you made a silicon processor the same size as the human brain, it would still not compare in power because organic brains are analog processors, not digital (they all lied to you in school when they told you the brain uses binary). In addition, a brain is made up of multiple sections dedicated to performing specific tasks, with one of the larger sections being dedicated to visual processing (striate cortex, prestriate cortex, etc). Basically, a brain is a lot of very powerful analog computers working in parallel and roboticists want to make a single 8-bit 16MHz processor accomplish the same functionality, plus handle all the other sensors, motor control and logic programming. Disappointmentville here we come.
I can fully understand why someone would want to build a flying robot that can see and fully appreciate Rebecca Romijn, but it is not going to happen at the hobby level easily. Throw in a few more processors, reduce the pixel count and make it a 16 color count, and suddenly you are in the realm of possibility. Rebecca is not going to look good at that resolution though, so let’s look at other options instead.
I said in the Herbert 1701 Species C Gen 1 & 2 entry that sensors get skimped on for robots, and to explain what I mean by this I am going to once again jump to biology. We all know the five senses, but most biologists can tell you there are more (and none would fall into the X-Files anywhere). Magnetic field detection is well documented in migratory animals, many snakes (and other animals) have specialized sensors for detecting heat (thermoception), everyone knows bats deal with ultrasonic sound waves, and the list goes on. Robots have all these senses available to them and more, yet rarely will you see more than a couple sensors on a given robot.
I do understand that the organisms people associate with just the five basic senses fall into the "very complex evolved species" classifications. So now it is time to shame that belief with a little more biology. Most single cell bacteria (yes, we are talking micro-organisms here) have both a wider variety of senses and a higher count of sensors than ASIMO, one of the most advanced robots in the world. There are bacteria that are not only covered with touch sensors, but some can even tell you which direction is north from south, know which way is up from down in pitch black liquid while at a zero buoyancy, can sense temperature, know whether there is light or not and how bright it is, and even sense minute chemical changes in the surrounding environment. Single cell organisms. And you want to put two IR sensors on your robot and say that is "enough"?
If the robotic community (hobby and professional) is going to have a hope for making complex robots, we are going to have to loosen up on the sensors a bit. There is a limit to the number of I/O (input/output) ports available on a microprocessor, thus a limit to the number of sensors, but that just screams that maybe you should have more microprocessors to support more sensors. Ugobe understood this a bit when they designed Pleo: more sensors meant more "life-like", which also meant more processors. Granted Ugobe just went belly-up, but that has nothing to do with the sensor count and how much more realistic Pleo was compared to other "toy" robots.
The evolution project artificial robotic life forms are very limited in the number and type of sensors currently, but it is an evolution project. These robots are starting off very simple and evolving into more complex organisms, where, I imagine, the number and variety of sensors will increase with the growth. I am intentionally evolving the Herberts in this manner to increase my own understanding of robotics, and also to generate the best options for each generation. That's my excuse for not having more sensors and processors in each robot (yet), what is yours? Really, when you design a multi-thousand dollar robot (yes, I am talking to you Mr. Universities like MIT, Carnegie Mellon, & Stanford, as well as companies like Honda and everyone who enters the DARPA Grand Challenge), you have given up the right to any excuse.
That is all well and good (Mmmmm, Mystique), but this entry is more concerned with the second of those questions, "How do I implement robotic vision?" It seems like everyone in the robotic world is obsessed with hooking up a 500 gigapixel camera to their robot and letting their robot see exactly like we humans do. Even more so, they all want object recognition thrown in their as well. This is such a popular request that there are a dozen opensource and inexpensive retail projects out there dedicated to allowing hobbyists to do exactly this. Of course none of these projects ever have the disclaimer that the hobbyist is going to be incredibly disappointed with the outcome, but they will. Oh yes, they will.
In order to see (ha! a pun) why robot hobbyists are going to be disappointed, let us backup a moment and look at the human brain. The human brain is arguably the most complex and powerful logical processor in the known universe (some more than others). Even if you made a silicon processor the same size as the human brain, it would still not compare in power because organic brains are analog processors, not digital (they all lied to you in school when they told you the brain uses binary). In addition, a brain is made up of multiple sections dedicated to performing specific tasks, with one of the larger sections being dedicated to visual processing (striate cortex, prestriate cortex, etc). Basically, a brain is a lot of very powerful analog computers working in parallel and roboticists want to make a single 8-bit 16MHz processor accomplish the same functionality, plus handle all the other sensors, motor control and logic programming. Disappointmentville here we come.
I can fully understand why someone would want to build a flying robot that can see and fully appreciate Rebecca Romijn, but it is not going to happen at the hobby level easily. Throw in a few more processors, reduce the pixel count and make it a 16 color count, and suddenly you are in the realm of possibility. Rebecca is not going to look good at that resolution though, so let’s look at other options instead.
I said in the Herbert 1701 Species C Gen 1 & 2 entry that sensors get skimped on for robots, and to explain what I mean by this I am going to once again jump to biology. We all know the five senses, but most biologists can tell you there are more (and none would fall into the X-Files anywhere). Magnetic field detection is well documented in migratory animals, many snakes (and other animals) have specialized sensors for detecting heat (thermoception), everyone knows bats deal with ultrasonic sound waves, and the list goes on. Robots have all these senses available to them and more, yet rarely will you see more than a couple sensors on a given robot.
I do understand that the organisms people associate with just the five basic senses fall into the "very complex evolved species" classifications. So now it is time to shame that belief with a little more biology. Most single cell bacteria (yes, we are talking micro-organisms here) have both a wider variety of senses and a higher count of sensors than ASIMO, one of the most advanced robots in the world. There are bacteria that are not only covered with touch sensors, but some can even tell you which direction is north from south, know which way is up from down in pitch black liquid while at a zero buoyancy, can sense temperature, know whether there is light or not and how bright it is, and even sense minute chemical changes in the surrounding environment. Single cell organisms. And you want to put two IR sensors on your robot and say that is "enough"?
If the robotic community (hobby and professional) is going to have a hope for making complex robots, we are going to have to loosen up on the sensors a bit. There is a limit to the number of I/O (input/output) ports available on a microprocessor, thus a limit to the number of sensors, but that just screams that maybe you should have more microprocessors to support more sensors. Ugobe understood this a bit when they designed Pleo: more sensors meant more "life-like", which also meant more processors. Granted Ugobe just went belly-up, but that has nothing to do with the sensor count and how much more realistic Pleo was compared to other "toy" robots.
The evolution project artificial robotic life forms are very limited in the number and type of sensors currently, but it is an evolution project. These robots are starting off very simple and evolving into more complex organisms, where, I imagine, the number and variety of sensors will increase with the growth. I am intentionally evolving the Herberts in this manner to increase my own understanding of robotics, and also to generate the best options for each generation. That's my excuse for not having more sensors and processors in each robot (yet), what is yours? Really, when you design a multi-thousand dollar robot (yes, I am talking to you Mr. Universities like MIT, Carnegie Mellon, & Stanford, as well as companies like Honda and everyone who enters the DARPA Grand Challenge), you have given up the right to any excuse.
Monday, May 4. 2009
Herbert 1701 Species C Generations 5 & 6
The strong survive. That is one of those statements thrown around when talking about evolution or natural selection. It is also one of those statements that people opposed to the idea of evolution warp to mean something other than what was intended. Sort of like a woman slapping a man for shouting out "bare run" as he passes her during a jog through the woods. An ultra-feminist takes the verbal words to mean "nude run", where-as a non-biased person would have understood that the man was shouting a warning about a "bear" and that the woman should "run" as a result. It is why scientists rarely use the phrase "the strong survive" any longer.
Natural selection is a much better term that means the same exact thing. An animal of the same species with one genetic trait is more likely to survive than one with a different genetic trait. Which one survives depends entirely on the environment and the other animals around (including ones from the same species). Take for example two moths; one moth is dark brown, the other light brown. Which moth survives? If the two moths are in a forested area where the tree bark is a dark brown, the first moth is more likely to survive. It does not mean the second moth will die out, just that it is less inclined to survive in its given habitat. If the environment has no predators for the moths, then both moths are equally likely to survive.
Herbert 1701 Species C Generation 5 is an example on this concept. By changing the trigger voltage to a higher value (around 5.6V) we produce a simple adaptation over Generation 4. Up until this point there have been pretty clear reasons behind changes in each generation or species of Herbert. More efficient use of energy, the inclusion of sensors, and the ability to move all have simple logical advantages when implemented correctly (and we covered "correctly" for each as needed). The change in Species C Gen 5 does not provide a definitive advantage over the previous generation, nor is it a definitive disadvantage.
I previously discussed how additional voltage can produce an advantage by offering more power to the motors for stall situations. The disadvantage is that it will generally take longer to reach the trigger point for that higher voltage, and under low light levels that trigger point may never get reached. So which is the winner, a higher or lower voltage trigger point? That is what is unclear.
Were I a gambling man, my money would be on some sort of balance between voltage levels. Even better would be a variable trigger voltage based on the amount of light that Herbert was currently basking in. Herbert 1701 Species C Generation 6 is the embodiment of this concept. Using an IR LED in a reverse bias configuration produces a max8212 solar engine that varies the trigger voltage based on the amount of IR light available. The configuration shown in this schematic produces a trigger level that varies between approximately 2.68V in low light conditions and around 5.7V in direct Florida sun. It is this variable solar engine that is at the heart of Species C Gen 6.
It might seem as if the variable trigger level would provide an advantage over generations 4 and 5, but like the moths, the advantage depends entirely on the environment. The most efficient method of determining advantages or disadvantages for each adaptation would be through nature's very own Natural Selection process. And that is exactly what I intend to do with each of these three generations. The winner of this selection process will be the generation that I will continue to evolve forward, the others will be shelved (temporarily at least).
Not wanting to bias the selection process in anyway, I will not be determining the environment. Instead, the robotics community has already decided upon the environment that they feel provides the best test of a solar robot's (phototropic artificial robotic lifeform's) ability to survive: The Photovore Competition. The competition rules I have opted to use are the BEAM Photovore rules straight from Robogames. Two Herberts enter, one Herbert leaves.
If only I had an audio track of Tina Turner saying that last bit.
Natural selection is a much better term that means the same exact thing. An animal of the same species with one genetic trait is more likely to survive than one with a different genetic trait. Which one survives depends entirely on the environment and the other animals around (including ones from the same species). Take for example two moths; one moth is dark brown, the other light brown. Which moth survives? If the two moths are in a forested area where the tree bark is a dark brown, the first moth is more likely to survive. It does not mean the second moth will die out, just that it is less inclined to survive in its given habitat. If the environment has no predators for the moths, then both moths are equally likely to survive.
I previously discussed how additional voltage can produce an advantage by offering more power to the motors for stall situations. The disadvantage is that it will generally take longer to reach the trigger point for that higher voltage, and under low light levels that trigger point may never get reached. So which is the winner, a higher or lower voltage trigger point? That is what is unclear.
It might seem as if the variable trigger level would provide an advantage over generations 4 and 5, but like the moths, the advantage depends entirely on the environment. The most efficient method of determining advantages or disadvantages for each adaptation would be through nature's very own Natural Selection process. And that is exactly what I intend to do with each of these three generations. The winner of this selection process will be the generation that I will continue to evolve forward, the others will be shelved (temporarily at least).
Not wanting to bias the selection process in anyway, I will not be determining the environment. Instead, the robotics community has already decided upon the environment that they feel provides the best test of a solar robot's (phototropic artificial robotic lifeform's) ability to survive: The Photovore Competition. The competition rules I have opted to use are the BEAM Photovore rules straight from Robogames. Two Herberts enter, one Herbert leaves.
If only I had an audio track of Tina Turner saying that last bit.
Monday, April 20. 2009
Herbert 1701 Species C Generations 3 & 4
Thus far, Herbert has come along a fair ways during the Evolution Project. From a simple solar engine circuit, to a species with sensors and the capability of movement. In the world of robotics this really seems like a simple thing. In the world of evolutionary robotics this is a huge change. An artificial robotic life form that "just is," to one that is capable of self-sustaining behaviors. That really is huge.
The self-sustaining behaviors are still limited in Species C Gen 2. While Herbert moves towards brighter light sources, it will run into problems in the event of shadows or darkness. Once again we wind up with little comatose Herberts.
The reason for this behavior is the nature of the photodiodes in Herbert's circuitry. When there is minimal or no light hitting each photodiode the current flow to the NPN transistor base (ZTX1047A) is negligible, resulting in the transistor not turning on. Effectively Herbert goes to sleep when there is too much of a shadow over its sensors, regardless of how much energy it has in reserve (the capacitor). Not exactly a high survival genetic trait.
Herbert 1701 Species C Generation 3 is the solution to this problem. The addition of resistors in parallel with the photodiodes ensures that current will always flow to the transistor bases. This means that while Herbert has energy, the motors will turn and Herbert will continue on in its never ending quest for brighter light. How much the motors will turn depends on the size of the resistors used: too large of values and there is not enough current, too small of values and the photodiodes are effectively removed from the circuit. It is a balancing act that is determined by the characteristics of the photodiodes. While I am certain there is an electrical formula to determine the proper value, I used the trial and error method to come up with a value of approximately 50k ohms.
The next area of improvement for Herbert is in the form of additional senses. Species C Gen 3 possesses the ability to move toward brighter light sources, but will happily charge headlong into a wall and make a futile attempt to move the wall while expending all its energy.
Combating this overly ambitious and self destructive behavior, Herbert 1701 Species C Generation 4 develops a rudimentary sense of touch. As can be seen in the schematic, this rudimentary sense of touch occurs through the addition of two momentary (normally open) switches. In the robotics world these are generally termed tactile sensors. When one of these tactile sensors is triggered it causes near full current flow to the base of the corresponding NPN transistor, bypassing the photodiodes and, hopefully, causing Herbert to turn away from the object it touched.
A little side note here. When it comes to parts for solar robots, I almost always purchase from Solarbotics. Their prices are fair, their customer service is exceptional, and their quality is generally excellent. They are the premier for solar robotic supplies. As much as I love the company, I hate their omnidirectional tactile sensors. Perhaps it is just me, but I can never assemble these things to work well. And at $4.50 a pair, they are too expensive for me to be screwing up as often as I manage. Instead of trying "to get it right" any longer, I have created my own style of tactile sensor, which is basically the exact reverse of the Solarbotics tactile sensors. I will be posting a tutorial on the creation of these tactile sensors shortly, which I feel are less expensive overall and easier to assemble correctly, each and every time.
Returning back to Herbert, you may have noticed a lack of bread boarding for these two generations. That is because I have begun creating a fully functional artificial robotic life form with this species. This means using etched PCBs and actually soldering in parts. But rather than limit the PCB to a single generation, I have opted to include space for the components of generations four, five and six. So please ignore the through holes and solder pads that contain nothing in the following pictures (ignore the solder job as well, it was the only class I missed in Nuke school).

Should anyone so desire it, the ExpressPCB board layout can be accessed here: Herbert 1701 Species C Generation 4 PCB
If you decide to etch your own board, three circuit boards will fit on the standard RadioShack 2-sided copper PCB board and I have included the ExpressPCB board layout for printing both sides onto transfer film here: Herbert 1701 Species C Generation 4 Double Sided PCB Print Out
Lastly, the electrical component part list can be downloaded here: Herbert 1701 Species C Generation 4 Parts List. All of the connector components are not required if you wished to solder each to the PCB directly (labeled "OPTIONAL" on the sheet). I'm on a budget, so I reuse what I can by using connectors.
The self-sustaining behaviors are still limited in Species C Gen 2. While Herbert moves towards brighter light sources, it will run into problems in the event of shadows or darkness. Once again we wind up with little comatose Herberts.
The reason for this behavior is the nature of the photodiodes in Herbert's circuitry. When there is minimal or no light hitting each photodiode the current flow to the NPN transistor base (ZTX1047A) is negligible, resulting in the transistor not turning on. Effectively Herbert goes to sleep when there is too much of a shadow over its sensors, regardless of how much energy it has in reserve (the capacitor). Not exactly a high survival genetic trait.
The next area of improvement for Herbert is in the form of additional senses. Species C Gen 3 possesses the ability to move toward brighter light sources, but will happily charge headlong into a wall and make a futile attempt to move the wall while expending all its energy.
A little side note here. When it comes to parts for solar robots, I almost always purchase from Solarbotics. Their prices are fair, their customer service is exceptional, and their quality is generally excellent. They are the premier for solar robotic supplies. As much as I love the company, I hate their omnidirectional tactile sensors. Perhaps it is just me, but I can never assemble these things to work well. And at $4.50 a pair, they are too expensive for me to be screwing up as often as I manage. Instead of trying "to get it right" any longer, I have created my own style of tactile sensor, which is basically the exact reverse of the Solarbotics tactile sensors. I will be posting a tutorial on the creation of these tactile sensors shortly, which I feel are less expensive overall and easier to assemble correctly, each and every time.
Returning back to Herbert, you may have noticed a lack of bread boarding for these two generations. That is because I have begun creating a fully functional artificial robotic life form with this species. This means using etched PCBs and actually soldering in parts. But rather than limit the PCB to a single generation, I have opted to include space for the components of generations four, five and six. So please ignore the through holes and solder pads that contain nothing in the following pictures (ignore the solder job as well, it was the only class I missed in Nuke school).
Should anyone so desire it, the ExpressPCB board layout can be accessed here: Herbert 1701 Species C Generation 4 PCB
If you decide to etch your own board, three circuit boards will fit on the standard RadioShack 2-sided copper PCB board and I have included the ExpressPCB board layout for printing both sides onto transfer film here: Herbert 1701 Species C Generation 4 Double Sided PCB Print Out
Lastly, the electrical component part list can be downloaded here: Herbert 1701 Species C Generation 4 Parts List. All of the connector components are not required if you wished to solder each to the PCB directly (labeled "OPTIONAL" on the sheet). I'm on a budget, so I reuse what I can by using connectors.
Monday, April 13. 2009
Herbert 1701 Species C Generations 1 & 2
Sensors are a very import biological component and yet they are something that get skimped upon when it comes to the field of robotics. Skimped upon not in terms of cost, but more in terms of volume. This does not pertain to the current evolutionary cycle of Herbert; it is just something I wanted to mention. I promise I will get back to that gripe at some future date, for now we have a new species of Herbert to uncover.
The addition of Herbert's first two little sensors has opened a whole new world to the poor little critter. Where once there was only darkness, now there is darkness and light (and a bunch of shades in between). What’s more, it is a focused light; the very light spectrum that breaths life into Herbert. This new found sense should logically be used for something, and in the very simple organisms that have been the Herbert 1701s, it can be.
Enter Herbert 1701 Species C Generation 1. Now that we have previously determined which came first (that being senses), Herbert has been able to evolve into that which came second: movement. Gone are the trademarked (and traditional) green LEDs of Herbert past; replaced with the simplest robotic form of movement: the motor. Biologically, the wheel is something that is far from simple, but when it comes to electromechanical life the wheel is where it is at.

The bread board version of Herbert now seems to lose something once movement has been added, however it still serves as a suitable test bed for initial circuit layout. It also shows us the basic function of Herbert Species C Gen 1; the more light each sensor receives, the faster the corresponding motor turns. Pretty simple, yet a little on the inefficient side.
The phototropic world is a very energy unfriendly one. Sunlight provides a source of energy to life forms each day, but pound for pound it is not high on the scale of power level. This would be one of the reasons you do not see many trees walking around (there is that one oak, but besides him, not many trees at all). With the addition of the ability to move comes the additional need to not only make the most efficient use of the energy Herbert has, but also to conserve a little more of that energy. Herbert 1701 Species C Generation 2 accomplishes this task through the use of a few different components.
The first change is in the value of R2, up from 740K to 820K resistance. This changes the activity voltage range for Herbert to an "on" value of 3.24V and an "off" value of 2.09V. Only a slight increase in voltage as a result, but for bringing a motor out of a stall condition during startup, it helps. In case you do not know, a stall condition is the state where the motor is not turning. Because of Newton's silly little laws of physics, an object at rest tends to stay at rest. This means it takes a little more oomph to get the wheel turning. It also means that once the wheel starts turning, it takes a little less energy to keep it going along. Wasn't that fun and interesting information?
Speaking of stall conditions, because you didn't just get more information than you needed, there is a second changed out component in Gen 2; the primary capacitor, C1. The value of C1 was increased from 1000uf to 4700uf, giving Herbert around 4.7 times more energy reserve to help avoid those pesky stall conditions. It also means it will take Herbert a little longer to fully charge up that capacitor before his brain turns on and says "We have energy, let's roll out!"
The last difference between Generations 1 & 2 is the transistors. As previously mentioned with Species B Gen 2 & 3, the transistors used in a circuit can make a difference in the circuit's efficiency. Herbert 1701 Species C Gen 2 takes this one step further. Gone are the 2N2907 and 2N2222 BJTs, replaced with ZTX968 and ZTX1047A BJTs, respectively. The replacement transistors provide for much greater efficiency under low voltage conditions than any of the previous transistors the Herbert species made use of. David Cook did a complete comparison in his Bipolar Transistor H-Bridge Motor Driver article. The results of his testing were actually a huge eye opener, but you can read all that for yourself.
With the completion of Species C Gen 2, Herbert is getting closer to something that more closely resembles the common views of biological life. Herbert is also getting closer to a critter that I will actually be building out, as opposed to merely bread boarding. Not quite there yet, but soon it will be. And then there will be nothing that can stop Herbert! Muahahahahaha! Ahem. Sorry.
The addition of Herbert's first two little sensors has opened a whole new world to the poor little critter. Where once there was only darkness, now there is darkness and light (and a bunch of shades in between). What’s more, it is a focused light; the very light spectrum that breaths life into Herbert. This new found sense should logically be used for something, and in the very simple organisms that have been the Herbert 1701s, it can be.
The bread board version of Herbert now seems to lose something once movement has been added, however it still serves as a suitable test bed for initial circuit layout. It also shows us the basic function of Herbert Species C Gen 1; the more light each sensor receives, the faster the corresponding motor turns. Pretty simple, yet a little on the inefficient side.
Speaking of stall conditions, because you didn't just get more information than you needed, there is a second changed out component in Gen 2; the primary capacitor, C1. The value of C1 was increased from 1000uf to 4700uf, giving Herbert around 4.7 times more energy reserve to help avoid those pesky stall conditions. It also means it will take Herbert a little longer to fully charge up that capacitor before his brain turns on and says "We have energy, let's roll out!"
The last difference between Generations 1 & 2 is the transistors. As previously mentioned with Species B Gen 2 & 3, the transistors used in a circuit can make a difference in the circuit's efficiency. Herbert 1701 Species C Gen 2 takes this one step further. Gone are the 2N2907 and 2N2222 BJTs, replaced with ZTX968 and ZTX1047A BJTs, respectively. The replacement transistors provide for much greater efficiency under low voltage conditions than any of the previous transistors the Herbert species made use of. David Cook did a complete comparison in his Bipolar Transistor H-Bridge Motor Driver article. The results of his testing were actually a huge eye opener, but you can read all that for yourself.
With the completion of Species C Gen 2, Herbert is getting closer to something that more closely resembles the common views of biological life. Herbert is also getting closer to a critter that I will actually be building out, as opposed to merely bread boarding. Not quite there yet, but soon it will be. And then there will be nothing that can stop Herbert! Muahahahahaha! Ahem. Sorry.
Tuesday, April 7. 2009
Herbert 1701 Species B Generations 4, 5 & 6
When last we left our hero he was trapped behind the age old conundrum: "Which came first, the chicken or the egg?" Mere seconds from impending doom our hero deftly cracked open the egg into the flour and used the concoction to batter-dip the chicken, resulting in the beautifully prepared fried chicken that now rests upon the serving platter. We rejoin our hero as he sits down to enjoy a well earned feast.
Enough of that goofiness. The real question here is: Which came first, the movement or the senses?
Up to this point in the Evolution Project our artificial life forms have been very simple creatures capable of little more than gathering energy, knowing when enough has gathered and expending said energy. Actually nothing "little more" about it; that is all they have done. I think it is time for evolution to change all that.
Movement would be a phenomenal thing at this point. Movement would provide some action to observe and make the ALs more "lifelike". Obviously, movement needs to come first. And with movement, the little Herberts could go forth and wander the world as the free spirits they were intended to be. Until they wandered into a shadow that is; and eventually they all would. Then for all intensive purposes the little Herberts would slip into comas never to be heard from again.
Evolutionarily, movement on its own is a bad thing. Movement expends lots of energy. Movement brings life forms to danger not otherwise present. Movement also brings a life form to an energy source or allows it to flee from danger. The difference between good and bad is the addition of senses.
Senses tell a life form something about its environment. They provide information. While senses, or sensors as the case may be, on their own can gather information, without a means to act on that information the sensors are useless. But they are not harmful. They may expend a bit of extra energy or none at all or even generate energy on their own. Either way it is inconsequential compared to the energy used from movement, especially movement without purpose; and far less dangerous. "Which came first" are the senses. Any other way and the species would have died off.
The next logical step, or maybe illogical step, for Herbert would be the development of some type of sensor to better understand the world around it. Being that Herbert is a phototroph of sorts it would stand to reason that part of its physiology would become more sensitive to light patterns as the species evolved, eventually becoming something akin to a light sensor.
Herbert 1701 Species B Generation 4 introduces this concept in its design with the addition of photoresistors (or photoconductors or CdS cells). CdS cells change the resistive quality based upon the amount of light that falls on the cell. As the resistance changes (decreases for more light, increases for less light), the amount of current that reaches the base of each 2N2222 transistor changes, which in turn changes the amount of energy that passes through each transistor and the ajoined LED.

One of the problems with CdS cells is they are notorious for inconsistencies from one cell to the next. To combat this problem, our Herbert generates an adaptation seen already in the Herbert 1701 A Species with the addition of a balancing mechanism (obviously that gene was passed on). This allows a more equal distribution of energy flow across both LEDs than through the CdS cells themselves.

There is one further problem that the addition of the CdS cells creates. Herbert is a phototroph, meaning it generates its energy from light (the actual definition includes conversion of CO2 and water, but for this phototroph will do). The solar cell that Herbert uses, like the majority of solar cells out there, are more sensitive to the near infrared spectrum of light. The further away from the 850nm mark, the less energy the solar cell generates.
Why is this important? The CdS cells that Herbert 1701B Gens 4 & 5 have are most sensitive to the visible light spectrums, somewhere around 520nm. So while they can detect light, it is not the most efficient detection of light; and in some cases completely useless detection. Herbert 1701 Species B Generation 6 solves this problem by adapting the light sensors once again to something more specific to its needs: photodiodes.
Replacing the CdS cells with photodiodes provides a few advantages to Herbert 1701B Gen 6 over previous generations. The first is the more focused light detection found in the photodiode, in this case around the 850nm spectrum. Second, photodiodes generally react faster to changes in light levels than do CdS cells. This means Herbert 1701B Gen 6 is quicker on its feet, umm, board than Gens 4 & 5. The third is that photodiodes, which are placed in a circuit reversed in polarity from a normal diode, not only provide the needed sensitivity to light, but they also generate a small amount of energy. In a creature that needs to be as power conscious as possible, this is a big plus.

As the amount of light passed over each sensor varies, so too does the amount of current that can flow through the paired trademark green LED that Herbert uses to expend energy. In the plant world, this would be the equivalent of a leaf turning bright green in the sun and brown in the dark. Except in Herbert's case, the leaf does not fall off and die, merely waits to reenter the sunlight.
Oh. Almost forgot. It was the egg. Seriously.
Enough of that goofiness. The real question here is: Which came first, the movement or the senses?
Up to this point in the Evolution Project our artificial life forms have been very simple creatures capable of little more than gathering energy, knowing when enough has gathered and expending said energy. Actually nothing "little more" about it; that is all they have done. I think it is time for evolution to change all that.
Movement would be a phenomenal thing at this point. Movement would provide some action to observe and make the ALs more "lifelike". Obviously, movement needs to come first. And with movement, the little Herberts could go forth and wander the world as the free spirits they were intended to be. Until they wandered into a shadow that is; and eventually they all would. Then for all intensive purposes the little Herberts would slip into comas never to be heard from again.
Evolutionarily, movement on its own is a bad thing. Movement expends lots of energy. Movement brings life forms to danger not otherwise present. Movement also brings a life form to an energy source or allows it to flee from danger. The difference between good and bad is the addition of senses.
Senses tell a life form something about its environment. They provide information. While senses, or sensors as the case may be, on their own can gather information, without a means to act on that information the sensors are useless. But they are not harmful. They may expend a bit of extra energy or none at all or even generate energy on their own. Either way it is inconsequential compared to the energy used from movement, especially movement without purpose; and far less dangerous. "Which came first" are the senses. Any other way and the species would have died off.
The next logical step, or maybe illogical step, for Herbert would be the development of some type of sensor to better understand the world around it. Being that Herbert is a phototroph of sorts it would stand to reason that part of its physiology would become more sensitive to light patterns as the species evolved, eventually becoming something akin to a light sensor.
There is one further problem that the addition of the CdS cells creates. Herbert is a phototroph, meaning it generates its energy from light (the actual definition includes conversion of CO2 and water, but for this phototroph will do). The solar cell that Herbert uses, like the majority of solar cells out there, are more sensitive to the near infrared spectrum of light. The further away from the 850nm mark, the less energy the solar cell generates.
Why is this important? The CdS cells that Herbert 1701B Gens 4 & 5 have are most sensitive to the visible light spectrums, somewhere around 520nm. So while they can detect light, it is not the most efficient detection of light; and in some cases completely useless detection. Herbert 1701 Species B Generation 6 solves this problem by adapting the light sensors once again to something more specific to its needs: photodiodes.
As the amount of light passed over each sensor varies, so too does the amount of current that can flow through the paired trademark green LED that Herbert uses to expend energy. In the plant world, this would be the equivalent of a leaf turning bright green in the sun and brown in the dark. Except in Herbert's case, the leaf does not fall off and die, merely waits to reenter the sunlight.
Oh. Almost forgot. It was the egg. Seriously.
(Page 1 of 3, totaling 23 entries)
next page »


