Mouth

Watch the video tutorial on using a mouth to eat!


The mouth allows a biomechanical organism to transfer food from a food source into its stomach. This increases its energy level so that it does not "die" when its energy level reaches zero. You can add a mouth the same way you do all parts. Select it as the default body part and select the Add Body button on the command bar. Then click on the parent part you want to add the mouth onto. You can position the mouth anywhere you want and it will maintain that location and orientation relative to the parent even as the organism moves in the simulation. In order to eat the mouth has to be within a user-defined distance of a food source, and it has to be stimulated. You specify the distance using the Minimum Food Radius property. If the mouth is within that distance it is possible for it to eat the food, but it will still not do so until it is stimulated.

To do this you need to add a mouth node to a neural network diagram and draw a connection from a neuron onto the mouth node. This will add an adapter between the two nodes. You need to configure the gain of the adapter to convert membrane voltage or firing frequency into an eating rate. This rate determines how fast food is transferred from the source to the stomach. If it is 1 then 1 quantity of food will be transferred to the stomach each time step. Typically, you will want this to be pretty small. If you want it to eat 1 unit of food in 1 second and you had a time step of 1 ms then you should set this value to be 0.001.

If a stomach is present then it will take food from the source at a rate determined by the feeding rate signal and transfer it to the stomach. The food is stored in the stomach as caloric energy. For each food source you can specify the how many calories one unit of food is worth. When the mouth eats a unit of food it transfers that many calories into the stomach. This lets you have food sources that have different nutritional values. You can have a high energy food source, and a different lower energy food source that is more plentiful. Odors could be used to distinguish between them.

The mouth will continue to transfer food over until it is all gone, it is no longer stimulated so the eating rate goes back to zero, or if the mouth is moved so it is no longer close enough to the food source. If no stomach is present then it will remove food from the source and the food energy will be gone.

See the sections on the Odor Sensor, Stomach, and Food Sourcesfor more information on this subject.

Mouth Properties

Location Local
The location of the body relative to it's own origin.  Each body part has it's own local coordinate system which is the center of the body's parent body part.. 
Default value:  (0,0,0) 
Acceptable range: -infinity - infinity

Location World
The location of the body relative to the world origin.  The world origin is center of the root body
Default value:  The distance from the center of the root body part 
Acceptable range:  -infinity - infinity

Color
The color of the body.  The user can enter a color value using R (Red) G (Green) B (Blue) values or they can use the color chooser.   To use the color chooser, click on the color property and a dropdown arrow will appear.  .  Click the drop down arrow to open up the color chooser and then select the desired color.


Default value:  Red (255, 0, 0)
Acceptable range:  R: 0 - 255, G: 0 - 255, B: 0 - 255;

Name
The name of this body
Default value:  If it is the first body in an organism, "root".  Otherwise the name is "body_xx" where xx is the number in which the body was added.

Minimum Food Radius
The mouth must be within this radius distance away from a food source for it to be able to eat from that source.
Default value: 10 cm
Acceptable range: Any value greater than 0.

Transparency
The transparency value determines how transparent a body part is.  The higher the transparency value the more transparent a body will be.  1 is fully transparent and 0 is fully opaque.
Default value: 0 (opaque)
Acceptable range: 0 - 1

Visible
Determines if this body is visible within the simulation. If you set this value to false then this body will still be included in the simulation and any dynamics related to this object will still be calculated, but no graphics will be generated for the user. This property does not effect visibility in the editor. If you wish to make something invisible in the editor then you will need to use the alpha value described above.
Default value:  True
Acceptable values:  True, False

Radius
The radius of the mouth.  This value can be directly entered by the user or they can use the mouse by clicking on the curved portion of the cylinder and dragging the mouse to the desired radius.
Default value:  1 cm
Acceptable range:  any number greater than zero