Abstract
We present a serial design process with associated tools to select parameter values for a posture and locomotion controller for simulation of a robot. The controller is constructed from dynamic neuron and synapse models and simulated with the open-source neuromechanical simulator AnimatLab 2. Each joint has a central pattern generator (CPG), whose neurons possess persistent sodium channels. The CPG rhythmically inhibits motor neurons that control the servomotor’s velocity. Sensory information coordinates the joints in the leg into a cohesive stepping motion. The parameter value design process is intended to run on a desktop computer, and has three steps. First, our tool FEEDBACKDESIGN uses classical control methods to find neural and synaptic parameter values that stably and robustly control servomotor output. This method is fast, testing over 100 parameter value variations per minute. Next, our tool CPGDESIGN generates bifurcation diagrams and phase response curves for the CPG model. This reveals neural and synaptic parameter values that produce robust oscillation cycles, whose phase can be rapidly entrained to sensory feedback. It also designs the synaptic conductance of inter-joint pathways. Finally, to understand sensitivity to parameters and how descending commands affect a leg’s stepping motion, our tool SIMSCAN runs batches of neuromechanical simulations with specified parameter values, which is useful for searching the parameter space of a complicated simulation. These design tools are demonstrated on a simulation of a robot, but may be applied to neuromechanical animal models or physical robots as well.










Similar content being viewed by others
References
Akay T, Büschges A (2006) Load signals assist the generation of movement-dependent reflex reversal in the femur-tibia joint of stick insects. J Neurophysiol 96(6):3532–3537
Astrom K (2002) Chapter 7: specifications. In: Control system design, pp. 252–269. doi:10.1075/livy.2.01pic
Bässler U (1983) Neural basis of elementary behavior in stick insects. Springer, Berlin
Bässler U (1986) On the definition of central pattern generator and its sensory control. Biol Cybern 69:65–69. doi:10.1007/BF00337116
Bässler D, Büschges A, Meditz S, Bässler U (1996) Correlation between muscle structure and filter characteristics of the muscle-joint system in three orthopteran insect species. J Exp Biol 199(Pt 10):2169–2183
Bingham JT, Choi JT, Ting LH (2011) Stability in a frontal plane model of balance requires coupled changes to postural configuration and neural feedback control. J Neurophysiol 106(1):437–448. doi:10.1152/jn.00010.2011
Büschges A, Schmitz J, Bässler U (1995) Rhythmic patterns in the thoracic nerve cord of the stick insect induced by pilocarpine. J Exp Biol 198(Pt 2):435–456
Buschmann T, Ewald A, von Twickel A, Büschges A (2015) Controlling legs for locomotion-insights from robotics and neurobiology. Bioinspir Biomim 10(4):041,001. doi:10.1088/1748-3190/10/4/041001
Cofer DW, Cymbalyuk G, Reid J, Zhu Y, Heitler WJ, Edwards DH (2010) AnimatLab: a 3D graphics environment for neuromechanical simulations. J Neurosci Methods 187(2):280–288. doi:10.1016/j.jneumeth.2010.01.005
Cruse H (1985) Which parameters control the leg movement of a walking insect? II: the start of the swing phase. J Exp Biol 116:357–362
Daun-Gruhn S, Rubin JE, Rybak Ia (2009) Control of oscillation periods and phase durations in half-center central pattern generators: a comparative mechanistic analysis. J Comput Neurosci 27(1):3–36. doi:10.1007/s10827-008-0124-4
Daun-Gruhn S (2010) A mathematical modeling study of inter-segmental coordination during stick insect walking. J Comput Neurosci 30(2):255–278. doi:10.1007/s10827-010-0254-3
de Rugy a, Loeb GE, Carroll TJ (2012) Muscle coordination is habitual rather than optimal. J Neurosci 32(21):7384–7391. doi:10.1523/JNEUROSCI.5792-11.2012
Dennis J, Schnabel R (1983) Numerical methods for unconstrained optimization and nonlinear equations, 1st edn. Prentice-Hall, Englewood Cliffs
DiCaprio RA (1999) Gating of afferent input by a central pattern generator. J Neurophysiol 81(2):950–953
Fischer H, Schmidt J, Haas R, Büschges A (2001) Pattern generation for walking and searching movements of a stick insect leg. I. Coordination of motor activity. J Neurophysiol 85(1):341–353
Fuchs E, Holmes P, Kiemel T, Ayali A (2011) Intersegmental coordination of cockroach locomotion: adaptive control of centrally coupled pattern generator circuits. Front Neural Circuits 4(January):125. doi:10.3389/fncir.2010.00125
Guo P, Ritzmann RE (2013) Neural activity in the central complex of the cockroach brain is linked to turning behaviors. J Exp Biol 216(Pt 6):992–1002. doi:10.1242/jeb.080473
Hellekes K, Blincow E, Hoffmann J, Büschges A (2011) Control of reflex reversal in stick insect walking: effects of intersegmental signals, changes in direction and optomotor induced turning. J Neurophysiol 107(1):239–249. doi:10.1152/jn.00718.2011
Hess D, Büschges A (1999) Role of proprioceptive signals from an insect femur-tibia joint in patterning motoneuronal activity of an adjacent leg joint. J Neurophysiol 81(4):1856–1865
Hooper SL, Guschlbauer C, Blümel M, von Twickel A, Hobbs KH, Thuma JB, Büschges A (2016) Muscles: non-linear transformers of motor neuron activity. In: Neuromechanical modeling of posture and locomotion, pp. 163–194. doi:10.1007/978-1-4939-3267-2
Hunt AJ, Schmidt M, Fischer MS, Quinn RD (2015) A biologically based neural system coordinates the joints and legs of a tetrapod. Bioinspir Biomim 10(5):55,004. doi:10.1088/1748-3190/10/5/055004
Khalil HK (2002) Nonlinear systems, 3rd edn. Prentice Hall, Englewood Cliffs
Knops SA, Tóth TI, Guschlbauer C, Gruhn M, Daun-Gruhn S (2012) A neuro-mechanical model for the neural basis of curve walking in the stick insect. J Neurophysiol 679–691. doi:10.1152/jn.00648.2012
Marder E, Taylor AL (2011) Multiple models to capture the variability in biological neurons and networks. Nat Neurosci 14(2):133–138. doi:10.1038/nn.2735
Markin SN, Klishko AN, Shevtsova Na, Lemay Ma, Prilutsky BI, Rybak Ia (2010) Afferent control of locomotor CPG: insights from a simple neuromechanical model. Ann N Y Acad Sci 1198:21–34. doi:10.1111/j.1749-6632.2010.05435.x
Markin SN, Klishko AN, Shevtsova NA, Lemay MA, Prilutsky BI, Rybak IA (2016) A neuromechanical model of spinal control of locomotion. In: Prilutsky BI, Edwards DH (eds) Neuromechanical modeling of posture and locomotion. Springer, Berlin. doi:10.1007/978-1-4939-3267-2
Martin JP, Guo P, Mu L, Harley CM, Ritzmann RE (2015) Central-complex control of movement in the freely walking cockroach. Curr Biol 25(21):2795–2803. doi:10.1016/j.cub.2015.09.044
Roberge JK (1975) Operational amplifiers: theory and practice. Wiley, New York, pp 97–104
Rosenbaum P, Schmitz J, Schmidt J, Bueschges A (2010) Task-dependent modification of leg motor neuron synaptic input underlying changes in walking direction and walking speed. J Neurophysiol. doi:10.1152/jn.00006.2015
Ryckebusch S, Laurent G (1993) Rhythmic patterns evoked in locust leg motor neurons by the muscarinic agonist pilocarpine. J Neurophysiol 69(5):1583–1595
Schmidt J, Fischer H, Büschges A (2001) Pattern generation for walking and searching movements of a stick insect leg. II. Control of motoneuronal activity. J Neurophysiol 85(1):354–361
Shaw KM, Lyttle DN, Gill JP, Cullins MJ, McManus JM, Lu H, Thomas PJ, Chiel HJ (2015) The significance of dynamical architecture for adaptive responses to mechanical loads during rhythmic behavior. J Comput Neurosci 38(1):25–51
Szczecinski NS, Chrzanowski DM, Cofer DW, Terrasi AS, Moore DR, Martin JP, Ritzmann RE, Quinn RD (2015) Introducing MantisBot: Hexapod robot controlled by a high-fidelity, real-time neural simulation. In: IEEE International Conference on Intelligent Robots and Systems, pp. 3875–3881. Hamburg, DE (2015). doi:10.1109/IROS.2015.7353922
Szczecinski NS, Brown AE, Bender JA, Quinn RD, Ritzmann RE (2013) A neuromechanical simulation of insect walking and transition to turning of the cockroach Blaberus discoidalis. Biol Cybern. doi:10.1007/s00422-013-0573-3
Ting LH, Chiel HJ, Trumbower RD, Allen JL, McKay JL, Hackney ME, Kesar TM (2015) Neuromechanical principles underlying movement modularity and their implications for rehabilitation. Neuron 86(1):38–54. doi:10.1016/j.neuron.2015.02.042
Toth TI, Grabowska M, Schmidt J, Büschges A, Daun-Gruhn S, Tóth TI, Grabowska M, Schmidt J, Büschges A, Daun-Gruhn S (2013) A neuro-mechanical model explaining the physiological role of fast and slow muscle fibres at stop and start of stepping of an insect leg. PLoS ONE 8(11):1–14. doi:10.1371/journal.pone.0078246
Tóth TI, Grabowska M, Rosjat N, Hellekes K, Borgmann A, Daun-Gruhn S (2015) Investigating inter-segmental connections between thoracic ganglia in the stick insect by means of experimental and simulated phase response curves. Biol Cybern 109(123):349–362. doi:10.1007/s00422-015-0647-5
Trappenberg T (2009) Fundamentals of computational neuroscience. Oxford University Press, Oxford
Watson JT, Ritzmann RE (1998) Leg kinematics and muscle activity during treadmill running in the cockroach, Blaberus discoidalis: I. Slow running. J Comp Physiol A 182(1):11–22
Wolf H (1995) Mechanosensory signal processiong: impact on and modulation by pattern-generating networks, exemplified in locust flight and walking. In: Ferrell WR, Proske U (eds) Neural control of movement. Plenum Press, New York, pp 285–294
Zill SN, Chaudhry S, Büschges A, Schmitz J (2015) Force feedback reinforces muscle synergies in insect legs. Arthropod Struct Dev. doi:10.1016/j.asd.2015.07.001
Acknowledgements
The author would like to thank Joshua Mehling for inspiration and support of this work.
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was supported by NASA Space Technology Research Fellowship NNX12AN24H.
Appendix
Appendix
1.1 Neural parameters
The parameter values for the network in Fig. 1 are listed below. All neural properties are scaled to ms time scale, producing base units of mV, uS, nF, and nA. Unless otherwise noted, all neurons have the parameters \(C_m = 5\), \(G_m = 1\), \(E_r = -60\), \(G_{Na} = 0\).
HC Neurons \(C_m = 5\), \(G_m = 1\), \(E_r = -60\), \(G_{Na} = 1\), \(E_{Na} = 50\), \(A_h = 0.5\), \(S_h = -0.046\), \(E_h = -60\), \(A_m = 1\), \(S_m = 0.046\), \(E_m = -40\).
Servo Interface \(C_m = 50\), \(E_r = -60 - 20 \cdot \theta _{\min } / (\theta _{\max } - \theta _{\min })\). This ensures that when the simulation starts with \(\theta = 0\), the Servo Interface neuron starts at its resting potential. Any value will work, but a different value will cause unnecessary motion at startup.
Perceived Rotation Like the Servo Interface neuron, \(E_r = -60 - 20 \cdot \theta _{\min } / (\theta _{\max } - \theta _{\min })\).
Rotation (slow) \(C_m = 50\).
Flexion Trigger \(E_r = -75\).
Rotation (slow) \(C_m = 10\).
1.2 Synaptic parameters
Unless stated otherwise, all synapses have \(E_{lo} = -60\) and \(E_{hi} = -40\).
HC \(\rightarrow \) IN. \(g = 0.118\), \(E_s = 300\), \(E_{hi} = -20\).
IN \(\rightarrow \) HC. \(g = 1.041\), \(E_s = -100\), \(E_{hi} = -20\).
MN \(\rightarrow \) Compare. Excitatory connection: \(g = 1\), \(E_s = -20\), \(E_{lo} = -70\), \(E_{hi} = -30\). Inhibitory connection: \(g = 1\), \(E_s = -100\), \(E_{lo} = -70\), \(E_{hi} = -30\).
Compare \(\rightarrow \) Servo Interface. Excitatory connection: \(g = 1\), \(E_s = 0\). Inhibitory connection: \(g = 1\), \(E_s = -100\).
Perceived Rotation \(\rightarrow \) Extension MN. \(g = 0.5\), \(E_s = -100\)
Perceived Rotation \(\rightarrow \) Rotation (fast/slow). \(g = 0.0588\), \(E_s = 300\). This parameter combination makes the steady-state voltage of the postsynaptic neuron the current voltage of the presynaptic neuron.
Rotation (fast/slow) \(\rightarrow \) Velocity. \(g = 0.133\), \(E_s = -20\), \(E_{hi} = -60\).
Rotation (fast/slow) \(\rightarrow \) Velocity. \(g = 0.133\), \(E_s = -100\), \(E_{hi} = -60\).
1.3 Mechanical parameters
The servomotors run a proportional feedback loop with an experimentally determined gain of \(k =\) 15.2 Nm/rad. Damping has been determined to be \(c =\) 2.5 Nms/rad. The inertia was that of one MX-64T servomotor placed 30 cm from the joint, \(I = 13.5\times 10^{-3}\) kg\(\cdot \)m\(^2\).
1.4 Computer specifications
All data were collected using a desktop computer with an Intel i5-4690K CPU running at 3.50 GHz and 8 GB of RAM. FEEDBACKDESIGN, CPGDESIGN, and SIMSCAN all parallelize their computations. Four parallel threads were used in this work.
1.5 Modulatory pathways
To simplify figures in this paper, modulatory connections were drawn as synapses onto other synapses, as shown in Fig. 11a. In practice, this was implemented as a disinhibitory pathway that changed the conductance, and thus sensitivity, of an interneuron (Fig. 11b). This is similar to GABAergic synapses, which change the effective size of the postsynaptic neuron, reducing its sensitivity to incoming currents [39]. The Modu. (Modulatory) neuron’s voltage controls the effective conductance of the connection between the Input and Output neurons between 0% when at \(-60\) mV and 100% when at \(-40\) mV. The plots in Fig. 11c, generated with SIMSCAN, show that the activation of the Modu. neuron directly scales the Output neuron’s activation for the same Input activations.
All neurons in Fig. 11b. have the typical set of parameters listed in Sect. 1, except the Inter. 1 neuron, whose resting potential is \(E_r = -40\). The inhibitory synapses are both identical, with \(G_s = 20\), \(E_s = -61\), \(E_{lo} = -60\), and \(E_{hi} = -40\).
1.6 FEEDBACKDESIGN
FEEDBACKDESIGN automates the analysis presented in Sects. 3.1 and 3.2. The user provides parameter values for a closed- or open-loop network of neurons, synapses, and a servomotor and limb if desired. Neurons that interface as inputs or outputs to the servomotor, and that feedback to the input neuron, are specified by the user. The equilibrium state is found by simulating the system until the energy goes to 0. If this happens, then the eigenvalues of the equilibrium point are found to ensure that the point is stable. If instead the energy diverges, the system is deemed unstable and no further analysis is conducted.
The transfer function is generated for each neuron and neuron-servomotor complex, and the open-loop transfer function of each node (i.e. neuron or servomotor) is calculated by compounding Eqs. 34 and 35 for each node along the path. The closed loop transfer function is calculated by Eq. 39. The user can also query the stability margins, which are calculated by using a Newton minimizer to find the crossing points of the gain and phase responses (Sect. 3.2). The system’s parameter values can be varied and these analyses repeated to produce plots like those in Figs. 3 and 4. FEEDBACKDESIGN can be downloaded at
+http://biorobots.case.edu/download/neural_des+
+ign_tools/FEEDBACKDESIGN.zip+.
1.7 CPGDESIGN
CPGDESIGN automates the analysis presented in Sect. 4.1. It assumes the network structure in Fig. 5. For a set of parameter values, it will calculate \(\delta \), or if \(\delta \) is provided, it will compute the corresponding strength of mutual inhibition. The user can simulate the dynamics, with the option to add external stimuli. When the simulation is complete, the equilibrium points will be found at every time step, using a log-bounded interior point Broyden–Fletcher–Goldfarb–Shanno (BFGS) minimizer. The eigenvalues and eigenvectors will also be calculated. The user then has the option to animate the phase portrait for each neuron over time, and calculate the nullclines corresponding to the equilibrium states. In this way the user can gain an intuitive understanding of the CPG’s dynamics. Finally, the program facilitates studying phase response properties by calculating whether or not the output was periodic, the period of oscillation, and the rising edges of one HC’s activity. CPGDESIGN can be downloaded at
+http://biorobots.case.edu/download/neural_des+
+ign_tools/CPGDESIGN.zip+.
1.8 SIMSCAN
SIMSCAN automates the analysis presented in Sects. 4.2 and 5.2. The user makes a simulation with AnimatLab 2 and exports a “Standalone” simulation, which can be run from the command line. The user then tells SIMSCAN the directory of this file, the parameters to change and their values, and an objective function with which to process the data (in this paper, it simply extracts the speed of the “treadmill”). SIMSCAN then runs the simulations with the desired values and saves the output from the objective function. This process can easily be parallelized, and multiple objective functions can be used to measure different quantities. SIMSCAN will also produce a function handle that takes the desired parameters as inputs, and runs the simulation and computes the objective as an output. This handle can be used to optimize the parameters of the simulation to perform a specific task. SIMSCAN can be downloaded at
+http://biorobots.case.edu/download/neural_des+
+ign_tools/SIMSCAN.zip+.
Rights and permissions
About this article
Cite this article
Szczecinski, N.S., Hunt, A.J. & Quinn, R.D. Design process and tools for dynamic neuromechanical models and robot controllers. Biol Cybern 111, 105–127 (2017). https://doi.org/10.1007/s00422-017-0711-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00422-017-0711-4