![]() |
![]() |
|
|
Organism |
||||
An organism is essentially a structure that also has a brain. In addition to being able to build a body plan you can also create a behavioral control system using
the behavioral editor. You can open the body and
behavioral editors by double-clicking the appropriate nodes beneath the organism node. These nodes are shown in
figure 1.
you can have as many organisms as you want in your simulation. However, usually what you will want is a population of individual organisms. For example, if you want to look at emergent behavior in an ant colony then you will probably want 100 individual ants, but you do not necessarily want to have to build 100 ants over and over again. AnimatLab has a couple of features that can help with this. First, you can make a clone of an existing organism. This makes a complete duplicate of the organism at that time. From that point on the two organisms are different though. Changes to one will not be carried over into the other one. So you could use this to make 100 clones of your ant once you got it to a place you wanted. However, if you then decided you wanted to change something like rebuilding part of the neural controller you would have to do this for all 100 clones. A way around this is to use Copies. When you make a copy of an organism it serves as the base template. The only configuration files are the ones for the original object. When the simulation is run it simply loads those files in for each copy and changes certain key properties like the location and name of the organism. Now if you make 100 copies you can make changes to the original template organism and all of the copies have the same changes. This will only work though if you really do want all of the ants to have the exact same neural network and body plan. This might be a problem if you wanted different castes of ants, like workers, fighters, queen, nurse, etc.., where each of these was slightly different. In this case your best bet would be to create templates for each caste type, and then make copies of the caste templates. Collision ExclusionIf you have parts that are close together in a structure, especially if they are coupled directly by a joint, can become over-constrained or interfere with each other. In the most basic case where you have two rigid bodies that are connected by a joint, the joint applies constraints on the movement of the two parts, but if the parts are close together there may be additional collision constraints applied as well. This causes that joint to be over-constrained and can make it become unstable. To get around this problem all body parts that are directly connected by a joint have the collision detection between those two parts disabled. If another part hits one of them then the collision is still detected, it is only if those two parts attempt to collide that the collision is ignored. This way only the joint constraints are applied.Another situation where collisions can cause problems is when you have a part inside of another part. For example, to build a simulation of a grasshopper leg it is necessary to have a small movable part inside the femur of each rear leg. These two parts are not directly coupled by a joint, and so their collisions are not automatically disabled. What do you do in this situation? As soon as the simulation starts it will essentially blow up because you have parts inside of other parts so the physics engine will try and push them apart against their joint constraints causing a big mess. To get around this problem AnimatLab provides the ability to disable collisions between any two parts within an organism. When the organism is selected click on the Collision Exclusion property to open the Collision Exclusion dialog shown in figure 2. Then select the two parts you want to exclude in the drop downs and hit the add button. To remove an exclusion pair select that pair and hit the remove button. When you are done hit the ok button, or to ignore your changes hit the cancel button.
Adding OrganismsThe easiest way to add an organism is to hit the Add Organism button,Organism PropertiesXX Location of this organism. Default value: 0 cm Acceptable range: Any value Y Y Location of this organism. Default value: 0 cm Acceptable range: Any value Z Z Location of this organism. Default value: 0 cm Acceptable range: Any value Behavioral Editor A read-only property that tells the filename for the behavioral editor. Body Plan A read-only property that tells the filename for the body plan editor. Collision Exclusion Opens the collision exclusion dialog. See the section on Collision Exclusions. Microcontrollers Opens the microcontroller dialog. This area is still under development. It will be used to allow AnimatLab to be a general control framework for robotic systems. Name The name of this organism. Default value: Organims_? Acceptable range: Any string |
||||
|
AnimatLab.com © 2006 | All Rights Reserved | |