AnimatLab
Developer(s) | David W. Cofer, Gennady Cymbalyuk, James Reid, Ying Zhu, William J. Heitler, and Donald H. Edwards |
---|---|
Stable release |
2.0.7
/ June 8, 2013 |
Development status | Active |
Written in | C++, VB.NET |
Operating system | Windows |
Type | Neuromechanics |
Website | http://www.animatlab.com |
AnimatLab is an open-source neuromechanical simulation tool that allows authors to easily build and test biomechanical models and the neural networks that control them to produce behaviors. Users can construct neural models of varied level of detail, 3D mechanical models of triangle meshes, and use muscles, motors, receptive fields, stretch sensors, and other transducers to interface the two systems. Experiments can be run in which various stimuli are applied and data is recorded, making it a useful tool for computational neuroscience. The software can also be used to model biomimetic robotic systems.
Motivation
Neuromechanical simulation enables investigators to explore the dynamical relationships between the brain, the body, and the world in ways that are difficult or impossible through experiment alone. This is done by producing biologically realistic models of the neural networks that control behavior, while also simulating the physics that controls the environment in which an animal is situated. Interactions with the simulated world can then be fed back to the virtual nervous system using models of sensory systems. This provides feedback similar to what the real animal would encounter, and makes it possible to close the sensory-motor feedback loop to study the dynamic relationship between nervous function and behavior. This relationship is crucial to understanding how nervous systems work.[1]
History
The application was initially developed at Georgia State University under NSF grant #0641326.[2] Version 1 of AnimatatLab was released in 2010. Work has continued on the application and a new, improved second version was recently released in June 2013.
Functionality
AnimatLab allows users to develop models of varied levels of detail due to the types of models available. Neurons may be simple firing rate models, integrate-and-fire models, or Hodgkin–Huxley models. Plugins for other neuron models can be written and used. Hill-type muscles, motors, or servos can be used to actuate joints. Adapters between neurons and actuators are used to generate forces. Adapters between mechanical components (joints, body segments, muscles, etc.) provide feedback to the control system. Stimuli, such as voltage clamps, current clamps, and velocity clamps (for joints) can be added to design experiments. Data can be recorded from virtually every component of the system, and viewed in graphs or exported as a comma separated values file, making analysis easy. In addition, the user interface is entirely graphical, making it easy for beginners to use.
Neural modeling
A variety of biological neuron models are available for use. The Hodgkin–Huxley model, both single- and multi-compartment integrate-and-fire models, and various abstracted firing-rate models are available.[3] This is a valuable feature because the purpose of one's model and its complexity decide which features of neural behavior are important to simulate.[4]
Network construction is graphical, with neurons dragged and dropped into a network and synapses drawn between them. When a synapse is drawn, the user specifies what type to use. Both spiking and nonspiking chemical synapses, as well as electrical synapses, are available. Both short-term (through facilitation) and long term (Hebbian) learning mechanisms are available, greatly increasing the capability of the nervous systems constructed.
Rigid body modeling
Body segments are modeled as rigid bodies drawn as triangle meshes with uniform mass density.[3] Meshes can be selected from a set of primitives (cube, ellipsoid, cone, etc.) or imported from third party software such as Maya or Blender. Physics are simulated with the Vortex engine. Users can specify separate collision and graphical meshes for a rigid body, greatly reducing simulation time. In addition, material properties and the interaction between materials can be specified, allowing different restitution, coefficient of friction, etc. within the simulation.
Muscle modeling
A Hill-type muscle model modified according to ([5]) can be used for actuation. Muscles are controlled by placing a voltage-tension adapter between a motor neuron and a muscle. Muscles also have stiffness and damping properties, as well as length-tension relationships that govern their behavior. Muscles can are placed to act on muscle attachment bodies in the mechanical simulation, which then apply the muscle tension force to the other bodies in the simulation.
Sensory modeling
Adapters may be placed to convert rigid body measurements to neural activity, much like how voltage-tension adapters are used to activate muscles. These may be joint angles or velocities, rigid body forces or accelerations, or behavioral states (e.g. hunger).
In addition to these scalar inputs, contact fields may be specified on rigid bodies, which then provide pressure feedback to the system. This functionality has been used for skin-like sensing [3] and to detect leg loading in walking structures.[6]
Stimulus types
Stimuli can be applied to mechanical and neural objects in simulation for experimentation. These include current and voltage clamps, as well as velocity clamps for joints between rigid bodies.
Graph types
Data can be output in the form of line graphs and two-dimensional surfaces. Line graphs are useful for most data types, including neural and synaptic output, as well as body and muscle dynamics. Surface plots are useful for outputting activation on contact fields. Both of these can be output as comma separated values files, allowing the user to use other software such as Matlab or Excel for quantitative analysis.
Research performed with AnimatLab
Many academic projects have used AnimatLab to build neuromechanical models and explore behavior. These include:
- Shaking of a wet cat paw[7][8]
- Locust jump and flight control [9][10][11]
- Crayfish walking[12]
- Cockroach walking and turning[6]
External links
References
- ↑ Chiel, H. J.; Beer, R. D. (1997). "The brain has a body: adaptive behavior emerges from interactions of nervous system, body and environment". Trends in Neurosciences. 20 (12): 553–7. doi:10.1016/s0166-2236(97)01149-1. PMID 9416664.
- ↑ National Science Foundation Awards
- 1 2 3 Cofer, D. W.; Cymbalyuk, G.; Reid, J.; Zhu, Y.; Heitler, W.; Edwards, D.H. (2010). "AnimatLab: A 3-D graphics environment for neuromechanical simulations". J Neuroscience Methods. 187 (2): 280–288. doi:10.1016/j.jneumeth.2010.01.005. PMID 20074588.
- ↑ Izhikevich, E. M. (2004). "Which model to use for cortical spiking neurons?" (PDF). IEEE transactions on neural networks / a publication of the IEEE Neural Networks Council. 15 (5): 1063–70. doi:10.1109/TNN.2004.832719.
- ↑ Shadmehr R., Wise S. Computational neurobiology of reaching and pointing: a foundation for motor learning. Cambridge, Massachusetts: MIT Press; 2005.
- 1 2 Szczecinski, N. S. Massively distributed neuromorphic control for legged robots modeled after insect stepping. Master's Thesis. Case Western Reserve University, 2013.
- ↑ Klishko A., Cofer D. W., Edwards D. H., Prilutsky B. Extremely high paw acceleration during paw shake in the cat: a mechanism revealed by computer simulations. AbstrAm Phys Soc Meeting A38.00007; 2008a.
- ↑ Klishko A., Prilutsky B., Cofer D. W., Cymbalyuk G., Edwards D. H. Interaction of CPG, spinal reflexes and hindlimb properties in cat paw shake: a computer simulation study. Neuroscience Meeting Planner Online, Program No. 375.12. Society for Neuroscience; 2008b.
- ↑ Cofer, D. W. (2009). Neuromechanical Analysis of the Locust Jump (Ph.D. dissertation). Available from digital archive database. (Article No. 1056)
- ↑ Cofer, D. W.; Cymbalyuk, G.; Heitler, W. J.; Edwards, D.H. "Neuromechanical simulation of the locust jump". J Exp Biol. 2010 (213): 1060–1068.
- ↑ Cofer, D. W.; Cymbalyuk, G.; Heitler, W. J.; Edwards, D. H. (2010). "Control of tumbling during the locust jump". J Exp Biol. 213 (19): 3378–87. doi:10.1242/jeb.046367.
- ↑ Rinehart M. D., Belanger J. H. Biologically realistic limb coordination during multi-legged walking in the absence of central connections between legs. In: Society for Neuroscience Annual Meeting; 2009.