Skip to main content
Log in

Design process and tools for dynamic neuromechanical models and robot controllers

  • Original Article
  • Published:
Biological Cybernetics Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  1. 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

    Article  PubMed  Google Scholar 

  2. Astrom K (2002) Chapter 7: specifications. In: Control system design, pp. 252–269. doi:10.1075/livy.2.01pic

  3. Bässler U (1983) Neural basis of elementary behavior in stick insects. Springer, Berlin

    Book  Google Scholar 

  4. Bässler U (1986) On the definition of central pattern generator and its sensory control. Biol Cybern 69:65–69. doi:10.1007/BF00337116

    Article  Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Article  PubMed  PubMed Central  Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Article  Google Scholar 

  9. 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

    Article  PubMed  Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Article  Google Scholar 

  12. 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

    Article  PubMed  Google Scholar 

  13. 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

    Article  PubMed  Google Scholar 

  14. Dennis J, Schnabel R (1983) Numerical methods for unconstrained optimization and nonlinear equations, 1st edn. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  15. DiCaprio RA (1999) Gating of afferent input by a central pattern generator. J Neurophysiol 81(2):950–953

    CAS  PubMed  Google Scholar 

  16. 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

    CAS  PubMed  Google Scholar 

  17. 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

    PubMed  PubMed Central  Google Scholar 

  18. 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

    Article  PubMed  Google Scholar 

  19. 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

    Article  PubMed  Google Scholar 

  20. 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

    CAS  PubMed  Google Scholar 

  21. 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

  22. 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

    Article  Google Scholar 

  23. Khalil HK (2002) Nonlinear systems, 3rd edn. Prentice Hall, Englewood Cliffs

    Google Scholar 

  24. 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

  25. 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

    Article  CAS  PubMed  PubMed Central  Google Scholar 

  26. 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

    Article  PubMed  Google Scholar 

  27. 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

    Google Scholar 

  28. 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

    Article  CAS  PubMed  Google Scholar 

  29. Roberge JK (1975) Operational amplifiers: theory and practice. Wiley, New York, pp 97–104

  30. 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

    PubMed  Google Scholar 

  31. Ryckebusch S, Laurent G (1993) Rhythmic patterns evoked in locust leg motor neurons by the muscarinic agonist pilocarpine. J Neurophysiol 69(5):1583–1595

    CAS  PubMed  Google Scholar 

  32. 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

  33. 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

  34. 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

  35. 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

    PubMed  Google Scholar 

  36. 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

    Article  CAS  PubMed  PubMed Central  Google Scholar 

  37. 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

    Google Scholar 

  38. 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

    Article  PubMed  Google Scholar 

  39. Trappenberg T (2009) Fundamentals of computational neuroscience. Oxford University Press, Oxford

  40. 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

    Article  CAS  PubMed  Google Scholar 

  41. 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

    Chapter  Google Scholar 

  42. 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

    PubMed  Google Scholar 

Download references

Acknowledgements

The author would like to thank Joshua Mehling for inspiration and support of this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicholas S. Szczecinski.

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\).

Fig. 11
figure 11

Modulatory networks, as drawn in this paper (a), were implemented in the model as disinhibitory pathways (b). c Changing the Modu. neuron’s activation adjusts the input–output gain

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00422-017-0711-4

Keywords

Navigation