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.
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
This project was supported by: