RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

1

Scalability in Neural Control of Musculoskeletal
Robots

arXiv:1601.04862v1 [cs.RO] 19 Jan 2016

Christoph Richter, Sören Jentzsch, Rafael Hostettler, Jesús A. Garrido, Eduardo Ros, Alois Knoll,
Florian Röhrbein, Patrick van der Smagt, and Jörg Conradt

Abstract—Anthropomimetic robots are robots that sense, behave, interact and feel like humans. By this definition, anthropomimetic robots require human-like physical hardware and
actuation, but also brain-like control and sensing. The most selfevident realization to meet those requirements would be a humanlike musculoskeletal robot with a brain-like neural controller.
While both musculoskeletal robotic hardware and neural control
software have existed for decades, a scalable approach that
could be used to build and control an anthropomimetic humanscale robot has not been demonstrated yet. Combining Myorobotics, a framework for musculoskeletal robot development,
with SpiNNaker, a neuromorphic computing platform, we present
the proof-of-principle of a system that can scale to dozens of
neurally-controlled, physically compliant joints. At its core, it
implements a closed-loop cerebellar model which provides realtime low-level neural control at minimal power consumption
and maximal extensibility: higher-order (e.g., cortical) neural
networks and neuromorphic sensors like silicon-retinae or cochleae can naturally be incorporated.
Index Terms—adaptive control, neurocontrollers, anthropomorphism, human-robot interaction, distributed processing,
large-scale systems, parallel architectures, neural network hardware, biological neural networks, neurorobotics, learning (artificial intelligence)

9 muscles assembly
ball-in-socket joint

2 elbow muscles

MyoGanglion

I. I NTRODUCTION
major challenge and vision for articulated robots is to
behave and interact with humans in a safe and natural
manner. Robots that mimic the mechanical properties of the
human build strive toward both attributes simultaneously [1],
[2] as they possess built-in compliance and relatively natural,
i.e., human-like, mass-distribution and dynamics by design.
Musculoskeletal robots in particular offer lightweight, lowinertia end-effectors, since the main actuators, the skeletal
muscles, can be kept at rest. Figure 1 shows such a design,
which coarsely mirrors a human arm. Most of the muscle
mass is rigidly attached to the torso. Muscles connect to the
distal bone only via tendons, which have a negligible weight.
In this way, two passive safety aspects, which minimize the
head injury criterion [1], are intrinsic to the anthropomimetic

A

C. Richter and J. Conradt: Neuroscientific System Theory, Department
of Electrical and Computer Engineering, Technische Universität München,
Germany. Correspondence should be addressed to c.richter@tum.de.
C. Richter: Bernstein Center for Computational Neuroscience Munich,
Germany
S. Jentzsch and P. van der Smagt: fortiss GmbH, Associate Institute of the
Technische Universität München, Germany.
R. Hostettler, F. Röhrbein, A. Knoll, and P. van der Smagt: Robotics
and Embedded Systems, Department of Informatics, Technische Universität
München, Germany.
J.A. Garrido, E. Ros: Department of Computer Architecture and Technology, CITIC, University of Granada, Granada, Spain.

asymmetric hinge

light-weight
carbon-fiber bone

Fig. 1. Complex Myorobotics arm mimicking the complexity of a human
arm without spatula. 9 muscles cooperate to control the ball-in-socket-joint.
One of these muscles, relating to the biceps, is biarticular, as it is attached so
that it affects the motion of two joints, effectively coupling the shoulder and
elbow joint.

RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

3D-printed
body (PA)
motor
driver
board

linear encoder
senses spring
compression
→ tendon force

tendon

pulleys

coiled up
tendon

brushless
DC motor
(100 W)

exchangeable spring

Fig. 2. Myorobotics “muscle” with its components. The tendon (red cable)
is routed in a triangular fashion in the muscle to create a non-linear net
spring force. The tendon force is sensed by measuring the spring displacement
through a magnetic strip fixed to the guiding rod of the spring that slides by a
hall-effect encoder. This allows to calculate the respective force from a known
spring constant and tendon routing geometry.

musculoskeletal architecture: compliance and minimal moving
mass.
Similarly bio-inspired approaches on the controller side are
simulated or emulated biological neural networks, because
the (human) brain and central nervous system are the most
relevant reference for natural control of musculoskeletal limbs.
Without doubt, neural control as done by animals or humans
is the most elegant, versatile, and energy-efficient way to use
musculoskeletal systems. Just as the human-like mechanical
build has inherent passive safety advantages, brain-like control
has desirable active safety features. The human nervous system
implements active compliance on multiple levels. Arguably
even more importantly, though, humans are perfectly accustomed to human-like behavior. Despite the fact that your
colleagues could, if so inclined, injure you or others, working
with humans is generally considered safe and does not require
any special training. Consequently, there is every hope that
their natural and in this sense predictable behavior could gain
anthropomimetic robots human-like safety attributes. The most
demanding requirements and challenges on both the robotic
hardware and the controller side are scalability and usability.
Anthropomimetic robots have been built by numerous research
groups, such as the Jouhou System Kougaku Laboratory of
the University of Tokyo, and partners within the EU-funded
project Embodied Cognition in a Compliantly Engineered
Robot (Eccerobot) [3], [4], among others. However, those
systems were custom-designed, mostly utilizing complex hardware and software, which inhibits (re-)production across labs
and involves high production costs [5]. The situation is similar

2

with computing platforms. Robotic applications require flexible interfaces and strict real-time execution of large neural simulations [6]. Different neuromorphic architectures and neuro
accelerators have been developed during the previous decades,
yet most of them, like those based on graphics processing units
(GPU) [7], [8], lack in terms of scalability. Special-purpose
systems like those based on field programmable gate arrays
(FPGA) [9], [10] or custom silicon [11], [12] are usually too
inflexible for a non-expert to implement and investigate custom
learning rules, synapse types or cell models.
To this end, the prevailing architecture for neural simulations and neural controllers is still the desktop computer, which
we define in the context of this work as a Von Neumann
architecture with a modest number of computing cores that
share a common large random access memory. Depending on
the underlying computations, such architectures are typically
not optimal for simulating large neuronal networks1 , which
are inherently parallel [12].
In this article, we present the unique combination of musculoskeletal robotics hardware (Myorobotics) and neural control
substrate implemented on a scalable spiking neural network
infrastructure (SpiNNaker). We demonstrate how these technologies can address the aforementioned challenges and facilitate the development of human-scale anthropomimetic systems
that are controlled by brain-like spiking neural networks. It is
our conviction that SpiNNaker and Myorobotics pave the way
for large-scale, complex neurorobots.
A. SpiNNaker
SpiNNaker [14] is a computer system designed for realtime simulations of spiking neural networks (SNNs) by the
Manchester APT research group. A typical SpiNNaker system
comprises thousands of ARM968 processing cores, which can
run arbitrary code. They are distributed on a quasi-seamlessly
extensible mesh network, which is spanned by special multicast routers at its nodes. SpiNNaker’s multicast routers are
optimized for small (40 or 72 bit-wide) data packets. Those
SpiNNaker packets typically resemble action potentials or
neural spikes in a SNN simulation. As such they typically
convey only the source address of their originating neuron,
from which the routers deduce the routing direction based
on a user programmed routing table. Every SpiNNaker chip
houses 1 router, 18 SpiNNaker cores (each with 96 kB of local
memory), and 128 MB of shared SDRAM.
The Manchester group provides an open software framework which promotes an event-driven programming model
through the Spin1 API [14]. Implementations of PyNN, a
common interface for neuronal network simulators [15], and
Nengo, a graphical and scripting based software package for
simulating large-scale neural systems [16], are provided as
a high-level, user friendly way to specify neural networks.
These networks are then automatically mapped, uploaded, and
executed on SpiNNaker. The entire software framework is
open source, so it can be extended and modified by its users2 .
1 The

human cerebellum alone comprises more than 1011 neurons [13].

2 https://github.com/SpiNNakerManchester

RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

In terms of SNN simulation performance SpiNNaker is
superior to desktop computers by orders of magnitude. As
a rule of thumb, a single SpiNNaker chip (P ≈ 1 W) can
handle a network of 10, 000 leaky integrate-and-fire neurons
in real-time. A desktop computer needs a high-performance
processor (P ≈ 50 W) with fast memory to perform the
same task. A single SpiNN-5 board contains 48 SpiNNaker
chips drawing about the same amount of electrical power
(P ≈ 50 W), but providing about 50× the computational
power. Finally, the system scales from 18 (single chip) to over
a million cores (65 k chips), so the system size can be adapted
to a wide range of neural network sizes, by interconnecting
an appropriate number of SpiNNaker boards. Whereas the
maximum system size might not be relevant to the robotics
community, the scalability, power efficiency, flexibility and
ease-of-use certainly are. SpiNNaker is designed for real-time
SNN simulations. Given proper interfaces, it offers the prime
opportunity to let large SNNs interact with and adapt to the
real world.
B. Myorobotics
Myorobotics is a toolkit for modular musculoskeletal robots
that encompasses the full life-cycle of robot design. Robots
can be assembled, optimized and simulated from primitives,
then built and controlled from the same software. The robots
are assembled from a set of primitives: “bones”, “muscles”,
and joints, which are shown in Figure 1. The most interesting
of those building blocks, the “muscle”, is detailed in Figure 2.
Its body is made of 3D-printed Polyamide (PA). It is actuated
by a 100 W DC motor (maxon EC) that coils up a cable,
the “tendon”. Three pulleys route the tendon in a triangular
fashion. One of the pulleys is attached to a spring-loaded
guiding rod. This mechanism endows the Myorobotics actuator
with a (non-linear) series elasticity.
The Myorobotics toolkit allows for the creation of a multitude of robot morphologies and enables researchers to investigate properties and dynamics of musculoskeletal robots. Its
dedicated electronics provide tendon force, velocity, position
and torque control at 500 Hz directly from a standard desktop
computer with all sensory data available on the bus. At this
update rate the bandwidth of a single FlexRay interface, which
is employed for high-level control, allows for up to 24 motors
that can be driven concurrently.
The framework can be easily extended with new primitives
thanks to a standardized structure connector between the parts,
as well as a software plugin that imports the construction
directly from the CAD software SolidWorks. Consequentially,
the system allows for primitives from a broad range of
categories and covers many interesting use cases, such as anthropomimetic arms with complex shoulder joints (Figure 1),
quadrupeds and hopping robots. As the whole system was built
with the non-robotic expert user in mind, it is easy to use and
allows for fast modification of the robot topology. The entire
system including all 3D models, schematics and all source
code is open source3 .
3 http://www.myorobotics.eu/

3

What differentiates Myorobotics from other series elastic
actuators and variable stiffness actuators is that Myorobotics
actuators generate pulling forces between two attachment
points rather than torques between two rigid links. This yields
a fundamentally different control problem. While it can be
reduced to classical joint-angle based control by describing
a muscle Jacobian that maps the lengths of all tendons that
apply forces between two links to a joint angle, this mapping
is in many cases not unique; choosing a specific mapping
means reducing the space of possible trajectories. However,
it is currently subject of active research to design control
strategies that directly map task space trajectories to desired
muscle forces without the intermediate step of calculating
target joint angles. This is especially interesting in the context
of this paper, as all biological muscle based systems solve this
control problem rather than a target joint angle/torque problem.
Myorobotics is thus a much closer model of the behavior of
biological musculoskeletal systems than series elastic actuators
like, e.g., MACCEPA.
C. Neural Circuitry
We focus on implementing a cerebellar model to control
the dynamics of the robotic system. Even though the major
role of the cerebellum seems to be supervised learning of
motor patterns [17], it is clear that vertebrate limb control can
not be reduced to cerebellar functioning [18]. An individual
with cerebellar lesions may be able to move the arm to
successfully reach a target, and to successfully adjust the
hand to the size of an object. However, the action cannot
be made swiftly and accurately, and the ability to coordinate
the timing of the two subactions is lacking [19]. Vertebrate
movement generation involves the basal ganglia, filtering out
unwanted movements [17], as well as the motor and parietal
cortices. Movement realisation, of course, also involves the
spinal cord, which controls antagonism and seems to take
care of nonlinearities in muscular functionality. Our model,
however, focuses on a model of the cerebellar neurocircuitry
for the following reasons. First, the fast learning of cerebellar
circuitry is important for fast adaptation to environmental
influences [20]. Second, some functionality of the spinal cord
can be simulated with simple PID controllers [21], especially
for the comparatively simple actuator behavior that our system
exhibits.
II. S ETUP
A. Robot
The robot employed in our proof-of-concept is the most
basic setup that can be built with Myorobotics, consisting of a
single symmetric hinge joint, two “bones” and two “muscles”
driving it (Figure 3). The system uses only the motor driver
boards from the Myorobotics electronics, which we interface
using a CAN bus. Larger Myorobotics systems connect the
driver boards to intermediate controller boards (MyoGanglia),
that offer a higher-level, higher-bandwidth control interface
via FlexRay.
Figure 3a highlights the individual parts of our joint assembly. The two artificial “muscles” (m1 , m2 ) are connected to the

SpiNN
Link

SpiNNaker

4

out: z

motor

in: x, y

SpiNN-IO

UART

SpiNNaker Router
SpiNN

PC

CAN

Link

Robot

sensor

RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

x as payload
ARM
core
spike train
y as payload
ARM
core
spike train
z as payload

(a)

(b)

ARM
core

Fig. 3.
Our single-joint Myorobotics proof-of-principle setup, as (a)
schematic (labels see main text), and as (b) photograph with a SpiNN-5 48chip SpiNNaker neuromorphic computer.

lower bone (bl ), tendons connect them to the opposite side of
the hinge joint (j). Each “muscle” consists of a brushless DC
motor (d) that coils up the tendon (t); we will call this actuator
from now on. The tendon is routed via a spring (s) and exits at
a fixed outlet (o). The mechanically linear spring is combined
with a triangular routing of the tendon (Figure 2), making the
net spring behavior non-linear. Since the actuators can only
pull, an antagonist actuator is required. By pretensioning both
actuators, both springs get contracted thereby changing the
mechanical stiffness of the system.
B. Interfaces
To connect SpiNNaker to robotic sensors and actuators,
we have developed a hardware interface that acts like another node on SpiNNaker’s mesh network [22]. It translates
sensor data into SpiNNaker packets and SpiNNaker packets
into, e.g., motor commands. The microcontroller-based design allows us to connect SpiNNaker to many different bus
systems including UART and CAN. We use the former for
communication with an external desktop computer, the latter
for Myorobotics actuators and sensors (Figure 4). Although
the interface board allows for real-time injection of neural
spike trains into SpiNNaker, our current implementation saves
bandwidth by handling the de- and en-coding between robot
data and neural spikes directly on SpiNNaker. The inset in
Figure 4 illustrates this setup: Sensory updates arrive as a
SpiNNaker packet’s payload at the respective ARM cores that
are continuously emitting spike trains encoding the current
sensory state. Likewise, dedicated motor cores continuously
translate incoming spike trains to motor commands.
The typical translations performed on the input SpiNNaker
cores are either rate- or population coding, the latter with
Gaussian receptive fields and linearly distributed preferred values. Since SpiNNaker cores can be freely programmed, more
flexible translation schemes, e.g. involving self-organizing
maps, can be implemented. Our output cores translate the
rate of incoming spikes from within the SpiNNaker mesh to a
motor output signal via a linear transformation and an exponential fall-off in time. The time window and update cycle is

spike train

Fig. 4. Logical and electrical layout of our system, frame and arrow colors
indicate bus types. The SpiNN-IO board provides a real-time interface between
the robot, the desktop computer, and SpiNNaker. By communicating with a
SpiNNaker chip’s router via SpiNNLink it provides the input SpiNNaker cores
with sensory data x, y. It receives motor commands z from output cores that
it translates and forwards to the robot.

typically 20 ms. Again, more complex translation schemes can
be implemented. Those could involve proprioceptive feedback
from the Myorobotics actuators and in this way emulate the
macroscopic or microscopic behavior of real skeletal muscles.
It should be mentioned that from a PyNN network point of
view, input and output are handled and set up like normal
neural populations. The low-level implementation as C code
is wrapped by PyNN objects and thus hidden from the PyNN
programmer. All settings like time constants or scale factors
can be adjusted in a user-friendly, object-oriented fashion.
C. Network Model
As a first demonstration of our system we chose a cerebellar
model that has previously been used to operate robots [20].
Our network model is akin to a Marr-Albus-style cerebellum
[23], [24]. Its specific set-up including all cell parameters are
derived from [20]. Although several network configurations
were evaluated in [20], we have considered the network
that receives an implicit estimation of the robot actual state
φact and the set point φset . Figure 5 illustrates the network
structure. The network is comprised of leaky integrate-andfire neurons with biologically realistic cell parameters and
plausible divergence/convergence ratios between the different
layers. As previously done in [20] we are omitting inhibitory
interneurons and the olivo-cerebellar loop, to arrive at a most
basic and deterministic model. However, the network still
keeps the main roles that have been proposed for each layer
in the Marr-Albus model [23], [24], i.e., input sparse recoding
of the mossy fiber (MoF) inputs in the granular layer and
supervised learning in the Purkinje cells.
Each of the two motors is controlled by the spike rate of 4
deep cerebellar nuclei (DCN) cells, which receive excitatory
input from 32 MoFs, and inhibitory input from 8 Purkinje

RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

MoF
state

PID
ϕset

ϵ

exc., pl
ast

ic

PuC

exc.

ex

c.
inh.

DCN

motor
out

ω

setpoint
teachin

error
InO

g

w (arb. unit)

ϕact

GrC

0.0

−0.5

−1.0
−150

−100

−50

0

tGrC − tInO (ms)

Fig. 5. Schematic drawing of our cerebellar model along with its input
(actual angle φact , setpoint φset , control error ε) and output (motor pulse
width ω). Single neurons or spike sources are represented by dots, populations
are marked by rectangular frames, the thin lines connecting neurons represent
synapses. The graph represents the learning rule governing weight changes
∆w at GrC-PuC synapses in response to the relative timing of GrC and InO
spikes as they arrive at PuC dentrites.

cells (PuC). MoF spiking activity (representing sensory input -actual state- and control data -target angle-) produces
sequences of active granule cells (GrC). Since each of the
256 GrCs receives input from a unique set of MoF cells, a
sparse coding of the input is made available in the parallel
fibers (PFs), the long axons of the GrCs.
The inhibitory corrective term that the DCN receives from
PuCs is shaped through supervised learning between PFs and
PuCs. The teaching signal encoding the actual error reaches
the PuCs through the Inferior Olive (InO), producing complex
spikes. This particular type of long-lasting spikes have been
demonstrated to induce long-term depression in the PF-PuC
synapses when correlated with simultaneous PF spikes [25].
This learning mechanism has been implemented by using
a kernel function ∆w(tGrC − tInO ) relating mutual InO–
GrC spike timing with synaptic weight changes ∆w (see
[20] for details). It basically punishes synapses that likely
lead to erroneous behavior: If a GrC spike on a GrC-PuC
synapse leads to some action and is followed by an InO
spike after a characteristic response time, say 100 ms, then
the respective synaptic weight, which was likely responsible
for that error, is depressed [26]. In order to compensate the
long-term depression term, long-term potentiation is induced
every time a presynaptic spike occurs in the PFs. The effective
spike-timing dependent plasticity function ∆w(tInO − tGrC )
is plotted in Figure 5. Interestingly, this learning rule also
deals with the long delay that has been observed in the actionperception loop of the nervous system that has been estimated
around 100 ms [26].
This rather unusual learning rule would be impossible to implement on many neuro-accelerator platforms. SpiNNaker, on
the other hand, is freely programmable. Just like the previously
discussed input and output populations, we implemented this
learning rule as low-level C code on SpiNNaker and wrapped
it into a PyNN object for the high-level network description.
We chose a look-up table (LUT) based approach, in which

5

the LUTs for the temporal kernel are compiled by the Python
frontend. The respective SpiNNaker cores buffer up to 160
spikes per simulated synapse and evaluate their mutual timing
and the corresponding synaptic weight change periodically.
The reference network implementation, which we ported
to SpiNNaker, is running on EDLUT4 [7], [27], a highperformance event-driven neural network simulator software.
We developed a framework that translates a high-level textbased network description for either EDLUT or PyNN, runs
the simulation on the PC or SpiNNaker, respectively, and
compares the resulting network output. Through the use of
a programmable power supply (Manson HCS-3202) we can
monitor SpiNNaker’s run-time power consumption and compare it to that of EDLUT running on our desktop computer.
This way our SpiNNaker implementation could be rigorously
checked and tested against the reference implementation on
EDLUT.
Our SpiNNaker implementation matches the EDLUT reference well. Minor deviations mainly stem from the fact that
the SpiNNaker implementation is tick-based and uses fixed
point representations while EDLUT is purely event-driven
and uses double precision floating point. SpiNNaker cores
lack a floating point unit, so floating point computations on
SpiNNaker would be inefficient. The Manchester team made
this design decision to save on power consumption and die area
per core. A comparison to the relatively efficient desktop-based
software simulator EDLUT highlights SpiNNaker’s power
efficiency: Depending on the network layout and its input,
SpiNNaker’s energy consumption is just one hundredth to one
tenth that of EDLUT running on a typical desktop computer—
a considerable asset that is especially relevant for autonomous
robots.
D. Graphical User Interface
While our system can run headless, in a closed-loop fashion,
we have built a graphical user interface (GUI) for live monitoring and interaction with the neural simulation on SpiNNaker.
The software runs on an external computing station, receives
data from the CAN bus and uses UART to inject data into
SpiNNaker via the SpiNN-IO board (Figure 4).
Through the GUI, the user can control the target joint angle
of the robot and adjust the PID parameters determining the
teaching (error) signal calculation. The teaching signal as well
the target angle are sent to SpiNNaker at an update frequency
of 20 Hz.
As for debugging purposes and performance evaluation, the
user can monitor the current CAN data, the deviation between
current and target joint angle, the current error signal, as well
as the live spike train of selected neuron populations.
III. E VALUATION
Figure 6 shows the performance of our proof-of-principle
cerebellar model running in real-time on SpiNNaker while
controlling the antagonistic Myorobotics joint. It illustrates
4 Event-Driven
simulator
http://edlut.googlecode.com/

based

on

Look-Up-Tables,

RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

(a) naive cerebellum

6

(b) five minutes later: trained cerebellum

Fig. 6. Performance of our cerebellar real-time simulation on SpiNNaker. Colored semi-opaque squares symbolize spike events (spike density ∝ color
saturation), left ordinate indicates the neuron ID. The black solid curves indicate the respective angle φ (MoF input), motor output ω (DCN output) or error
signal  (InO input). Indices: L, R = left, right; act: actual sensory values; set: setpoint.

neural spikes as colored raster plots and its control and sensory
input values over time as black solid lines, where applicable.
There are separate PuC (dark blue spikes), InO (red spikes)
and DCN (purple spikes) populations, for the left (index “L”)
and right (index “R”) actuator. The error signals L , R are
computed as a PID error signal E(φset −φact ) by the GUI. The
corresponding spike trains are emitted by the InO populations.
They shape the weights between the GrCs (not shown) and
the respective PuCs. The control input is the joint angle set
point φset (t) as given by the GUI, it corresponds closely to
the mossy fiber spikes of the MoFset population. The other
control input is the actual joint angle φact (t) as measured by
a magnetic angle sensor within the Myorobotics joint, MoFact
is the corresponding neural population. The SpiNN-IO board
reads φact directly from the CAN bus, receives φset , L , R via
UART (from a USB-UART interface) and streams all values
into SpiNNaker via SpiNN-Link where they are translated into
spike trains as illustrated in Figure 4.
A. Control Performance
In the present set up the teaching signal conveys the
mismatch between the actual and the target joint angle. Consequently, in order to minimize that error and maximize the
agreement between φact and φset , the network learns to perform antagonistic control. In our scenario, the network learns
to follow the given sinusoidal trajectory φset (t) within few
revolutions. The learning is exclusively based on the intrinsic
plasticity mechanism at GrC-PuC synapses, as explained in
subsection II-C. Figure 6a shows the performance of the naive
network with randomly initialized weights at the GrC-PuC
synapses. In this state the cerebellar model does not even know
right from left. Therefore, the joint angle φact (MoFact ) does

not track the given trajectory φset (t) (MoFset ) at all. As an
example, at t = 15 s, φset is at the rightmost position, φact still
on the far left side. In this situation, the right muscle should
clearly pull more. The teaching signal reacts accordingly:
R is at its maximum resulting in a high InOR firing rate.
The corresponding GrC-PuCR weights decrease accordingly.
In subsequent similar situations this results in less DCNR
inhibition by the PuCR population and more motor output ωR .
So after 5 minutes of run time (and learning) the system can
follow the trajectory much better (Figure 6b): φact tracks φset
much more closely, the cerebellar model has learned to do
antagonistic control. The cerebellum can also learn to follow
different other waveforms or manually controlled trajectories5 .
Note that in the given example the network output is the sole
control input to the robot arm. It controls the motors directly
via pulse width modulation. While this nicely demonstrates
the learning capabilities of the network, it does not mirror the
biological antetype. In a more biologically realistic scenario,
the cerebellum would output a corrective term that adds to a
(cortical) forward-kinematic control signal.
B. Scalability and Constraints
Our present configuration runs on a single SpiNNaker chip.
It utilizes only 16 SpiNNaker cores, 2 % of a single SpiNN5 board. Consequently, there is ample room for adding more
joints and actuators as well as higher-level (e.g. cortical) neural
networks. With SpiNNaker being a scalable system, computing
resources are clearly not the bottleneck anymore.
Our SpiNN-IO board connects the robot and the desktop
computer with SpiNNaker. Its microcontroller limits the effective, combined update rate of input and output populations
5 See

https://youtu.be/y6MwOtW3 kQ for a video demonstration.

RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

7

to about 500 kHz [22]. In effect, our current system could
handle 500 input/output populations at an update rate of 1 kHz.
As each input/output population occupies a single SpiNNaker
core, those neural populations would fill about 60 % of a
single SpiNN-5 board. A limit of 500 sensory streams at
1 kHz update rate translates to roughly 100 actuators, or
dozens of joints that could be controlled with a single or
few SpiNN-5 boards—within an order of magnitude to a
human-scale robot. This limit could be alleviated by using (a)
more than one SpiNN-IO (on separate SpiNN-5 boards), or
(b) a modified SpiNN-IO design that uses SpiNNaker’s interboard connectors. FPGAs on the SpiNN-5 board multiplex 8
SpiNNLink ports on each of those connectors.
The remaining bottleneck is the communication between
SpiNN-IO and the robot. In our current setting we can use
up to 4 separate CAN busses, which can manage up to 4
joints (8 Myorobotics actuators) at an update rate of 500 Hz.
By using the full Myorobotics electronics, namely up to 6
MyoGanglia connected to a dedicated FlexRay controller, up
to 12 joints (24 actuators) can be used at the same update rate.
Again, with multiple SpiNN-IO boards, each with a dedicated
FlexRay controller, we can alleviate this limit.
IV. D ISCUSSION
By demonstrating the control of a musculoskeletal joint with
a simulated cerebellum running in real-time, we successfully
combined robotic hardware (Myorobotics) and simulation platform (SpiNNaker). Both Myorobotics and SpiNNaker offer
scalability and usability: They can be extended in a straightforward manner, with no major roadblocks in sight towards systems approaching human-level complexity. Of course, many
components still have to be added in order to arrive at a
system that can interact with its environment in an intelligent
way. Fortunately, a number of suitable technologies are readily
available today.
A. Sensors
While any sensor could be added to our framework, eventbased systems are the most natural fit. Their sensory addressevent-representation (AER) maps directly onto SpiNNaker
packets, i.e. neural spikes in SNN simulations. The events
emitted by an AER auditory sensor, or silicon cochlea [28], for
instance, represent a sound’s momentary frequency-resolved
power spectrum. Their address encodes a specific frequency.
The repetition rate of events with the same address encodes
the respective spectral weight. Events emitted by an AER
vision sensor, or silicon retina, typically represent a sudden,
pixel-local change in brightness. Here, the address encodes the
pixel coordinate. Silicon retinae [22], [29] and cochleae have
previously been integrated with SpiNNaker. They are perfectly
compatible with our interface.
B. Intelligence
SpiNNaker can serve as a computing backend for PyNN
[15] or Nengo [16]. Neural networks specified in those languages can often be run directly on SpiNNaker or require only

Fig. 7.
Roboy, a human-like, musculoskeletal robot with 28 degrees
of freedom and 48 motors, to be controlled by brain-inspired systems.
Photography: Adrian Baer

minor modifications to be made, when porting a network from
one compute backend to another. Missing software features,
in our case a learning rule and input/output handlers, can be
added to SpiNNaker’s open source framework. Thus, many
available models can be ported and integrated into the system
with minor effort.
C. Systems
Neural models available for either PyNN or Nengo include
diverse brain structures. In fact, the world’s largest functional
brain model, Spaun [30], is defined in Nengo. An embodied
version of the model that can interact with the physical world
as well as with humans would be an interesting test bed for
human-robot interaction and cognitive science [31]. A Spaunlike brain model combined with advanced musculoskeletal
robots like Roboy [3] (Figure 7) would herald a whole new era
of robotic research. Our proof-of-concept system combining
SpiNNaker and Myorobotics paves the way for exactly these
kinds of endeavors, which we hope to stimulate with this
article.
A typical human cerebellum comprises about 100 billion

RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

neurons [13], about as many as the rest of the brain. A realistic
simulation of such a complex large scale system will rely
not just on massive computing resources, it also requires a
detailed and realistic environment to interact with. Therefore,
real-time capable neuro-simulators in conjunction with robots
will eventually become an essential tool of brain research.
Practical and scalable systems like the one hereby presented
thus enable an interaction between neuroscience and robotics
which is mutual: Robots can help to advance neuroscience just
as neuroscience helps us to create more natural robots.
ACKNOWLEDGMENT
We thank N. Luque for helpful discussions regarding cerebellar motor control, S. Temple and the SpiNNaker Manchester
team for their invaluable hardware, software and support, and
the Myorobotics team for providing us with robot parts. C.R.
and J.C. acknowledge funding and support by the German
Federal Ministry for Education and Research through the
Bernstein Center for Computational Neuroscience Munich
(01GQ1004A). S.J., R.H., A.K., F.R. and P.v.d.S. acknowledge
funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement no. 604102
(Human Brain Project), R.H. under grant agreement no.
288219 (Myorobotics). P.v.d.S. also acknowledges support
from DLR. J.G and E.R. would like to acknowledge Spanish
National Project NEUROPACT (TIN2013-47069-P). J.G. also
acknowledges funding from the University of Granada and
the European Union H2020 Framework Programme (H2020MSCA-IF-2014) under grant agreement no. 653019 (CEREBSENSING).
R EFERENCES
[1] A. Bicchi and G. Tonietti, “Fast and ’soft-arm’ tactics [robot arm
design],” Robotics & Automation Magazine, IEEE, vol. 11, no. 2, pp.
22–33, 2004, 00479. [Online]. Available: http://ieeexplore.ieee.org/xpls/
abs all.jsp?arnumber=1310939
[2] O. Holland and R. Knight, “The anthropomimetic principle,” in Proceedings of the AISB06 symposium on biologically inspired robotics,
2006.
[3] R. Pfeifer, H. G. Marques, and F. Iida, “Soft robotics: The next
generation of intelligent machines,” in Proc. 23rd International Joint
Conference on Artificial Intelligence (IJCAI), Beijing, China, 2013.
[Online]. Available: http://ijcai.org/papers13/Papers/IJCAI13-011.pdf
[4] S. Wittmeier, C. Alessandro, N. Bascarevic, K. Dalamagkidis, D. Devereux, A. Diamond, M. Jäntsch, K. Jovanovic, R. Knight, H. G. Marques,
P. Milosavljevic, B. Mitra, B. Svetozarevic, V. Potkonjak, R. Pfeifer,
A. Knoll, and O. Holland, “Toward anthropomimetic robotics: development, simulation, and control of a musculoskeletal torso,” Artificial life,
vol. 19, no. 1, pp. 171–193, 2012, PMID: 23186343.
[5] H. G. Marques, M. Christophe, A. Lenz, K. Dalamagkidis, U. Culha,
M. Siee, P. Bremner, and the MYOROBOTICS Project Team, “Myorobotics: a modular toolkit for legged locomotion research using
musculoskeletal designs,” in Proc. 6th International Symposium on
Adaptive Motion of Animals and Machines (AMAM’13), Darmstadt,
Germany, March 2013.
[6] J. Conradt, G. Tevatia, S. Vijayakumar, and S. Schaal, “On-line learning
for humanoid robot systems,” in International Conference on Machine
Learning (ICML2000), 2000, pp. 191–198.
[7] F. Naveros, N. Luque, J. Garrido, R. Carrillo, M. Anguita, and E. Ros,
“A spiking neural simulator integrating event-driven and time-driven
computation schemes using parallel cpu-gpu co-processing: A case
study,” Neural Networks and Learning Systems, IEEE Transactions on,
vol. 26, no. 7, pp. 1567–1574, July 2015.

8

[8] T. Yamazaki and J. Igarashi, “Realtime cerebellum: A large-scale
spiking network model of the cerebellum that runs in realtime using
a graphics processing unit,” Neural Networks, vol. 47, no. 0, pp.
103 – 111, 2013, computation in the Cerebellum. [Online]. Available:
http://www.sciencedirect.com/science/article/pii/S0893608013000348
[9] E. Ros, E. Ortigosa, R. Carrillo, and M. Arnold, “Real-time computing platform for spiking neurons (RT-spike),” Neural Networks, IEEE
Transactions on, vol. 17, no. 4, pp. 1050–1063, July 2006.
[10] R. Agis, E. Ros, J. Diaz, R. Carrillo, and E. Ortigosa, “Hardware eventdriven simulation engine for spiking neural networks,” International
journal of electronics, vol. 94, no. 5, pp. 469–480, 2007.
[11] J. Schemmel, D. Bruderle, A. Grubl, M. Hock, K. Meier, and S. Millner,
“A wafer-scale neuromorphic hardware system for large-scale neural
modeling,” in Circuits and Systems (ISCAS), Proceedings of 2010
IEEE International Symposium on. IEEE, 2010, pp. 1947–1950,
00114. [Online]. Available: http://ieeexplore.ieee.org/xpls/abs all.jsp?
arnumber=5536970
[12] P. A. Merolla, J. V. Arthur, R. Alvarez-Icaza, A. S. Cassidy, J. Sawada,
F. Akopyan, B. L. Jackson, N. Imam, C. Guo, Y. Nakamura, B. Brezzo,
I. Vo, S. K. Esser, R. Appuswamy, B. Taba, A. Amir, M. D. Flickner,
W. P. Risk, R. Manohar, and D. S. Modha, “A million spiking-neuron
integrated circuit with a scalable communication network and interface,”
Science, vol. 345, no. 6197, pp. 668–673, 2014. [Online]. Available:
http://www.sciencemag.org/content/345/6197/668.abstract
[13] B. B. Andersen, L. Korbo, and B. Pakkenberg, “A quantitative study of
the human cerebellum with unbiased stereological techniques,” Journal
of Comparative Neurology, vol. 326, no. 4, pp. 549–560, 1992.
[14] S. Furber, F. Galluppi, S. Temple, and L. Plana, “The SpiNNaker
project,” Proceedings of the IEEE, vol. 102, no. 5, pp. 652–665, May
2014.
[15] A. P. Davison, D. Brüderle, J. M. Eppler, J. Kremkow, E. Muller,
D. Pecevski, L. Perrinet, and P. Yger, “PyNN: a common interface
for neuronal network simulators,” Frontiers in Neuroinformatics,
vol. 2, no. 11, 2008. [Online]. Available: http://www.frontiersin.org/
neuroinformatics/10.3389/neuro.11.011.2008/abstract
[16] T. Bekolay, J. Bergstra, E. Hunsberger, T. DeWolf, T. C.
Stewart, D. Rasmussen, X. Choo, A. Voelker, and C. Eliasmith,
“Nengo: A Python tool for building large-scale functional
brain models,” Frontiers in Neuroinformatics, vol. 7, no. 48,
2014. [Online]. Available: http://www.frontiersin.org/neuroinformatics/
10.3389/fninf.2013.00048/abstract
[17] K. Doya, “Complementary roles of basal ganglia and cerebellum in
learning and motor control,” Current opinion in neurobiology, vol. 10,
no. 6, pp. 732–739, 2000.
[18] P. van der Smagt, G. Metta, and M. A. Arbib, “Neurorobotics: from
sensing to action,” in Springer Handbook of Robotics, 2nd ed. Springer,
2016.
[19] G. Holmes, “The cerebellum of man,” Brain, vol. 62, no. 1, 1939.
[20] N. Luque, J. Garrido, R. Carrillo, O. Coenen, and E. Ros, “Cerebellar
input configuration toward object model abstraction in manipulation
tasks,” Neural Networks, IEEE Transactions on, vol. 22, no. 8, pp. 1321–
1328, Aug 2011.
[21] D. Bullock and J. Contreras-Vidal, “How spinal neural networks reduce
discrepancies between motor intention and motor realization,” CAS/CNS
Technical Report Series, no. 023, 1991.
[22] C. Denk, F. Llobet-Blandino, F. Galluppi, L. A. Plana, S. Furber,
and J. Conradt, “Real-time interface board for closed-loop robotic
tasks on the SpiNNaker neural computing system,” in International
Conference on Artificial Neural Networks (ICANN), Sofia, Bulgaria,
Sofia, Bulgaria, Sep 2013, pp. 467–474. [Online]. Available: http:
//mediatum.ub.tum.de/doc/1191903/90247.pdf
[23] D. Marr, “A theory of cerebellar cortex,” The Journal
of physiology, vol. 202, no. 2, p. 437470, June 1969.
[Online]. Available: http://www.pubmedcentral.nih.gov/articlerender.
fcgi?tool=EBI&pubmedid=5784296
[24] J. S. Albus, “A theory of cerebellar function,” Mathematical
Biosciences, vol. 10, no. 12, pp. 25 – 61, 1971. [Online]. Available:
http://www.sciencedirect.com/science/article/pii/0025556471900514
[25] Y. Yang and S. G. Lisberger, “Purkinje-cell plasticity and cerebellar
motor learning are graded by complex-spike duration,” Nature,
vol. 510, no. 7506, pp. 529–532, Jun. 2014. [Online]. Available:
http://dx.doi.org/10.1038/nature1328210.1038/nature13282
[26] N. Luque, J. Garrido, R. Carrillo, O.-M. Coenen, and E. Ros, “Cerebellarlike corrective model inference engine for manipulation tasks,”
Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions
on, vol. 41, no. 5, pp. 1299–1312, Oct 2011.

RICHTER et al.: SCALABILITY IN NEURAL CONTROL OF MUSCULOSKELETAL ROBOTS (IEEE Robotics & Automation Magazine, accepted 2015-12-31)

[27] E. Ros, R. Carrillo, E. M. Ortigosa, B. Barbour, and R. Agı́s, “Eventdriven simulation scheme for spiking neural networks using lookup
tables to characterize neuronal dynamics,” Neural computation, vol. 18,
no. 12, pp. 2959–2993, 2006.
[28] V. Chan, S.-C. Liu, and A. van Schaik, “AER EAR: A matched silicon
cochlea pair with address event representation interface,” Circuits and
Systems I: Regular Papers, IEEE Transactions on, vol. 54, no. 1, pp.
48–59, 2007.
[29] P. Lichtsteiner, C. Posch, and T. Delbruck, “A 128× 128 120 db 15
µs latency asynchronous temporal contrast vision sensor,” Solid-State
Circuits, IEEE Journal of, vol. 43, no. 2, pp. 566–576, 2008.
[30] C. Eliasmith, T. C. Stewart, X. Choo, T. Bekolay, T. DeWolf, Y. Tang,
and D. Rasmussen, “A large-scale model of the functioning brain,”
Science, vol. 338, no. 6111, pp. 1202–1205, 2012. [Online]. Available:
http://www.sciencemag.org/content/338/6111/1202.abstract
[31] J. L. Krichmar, “Design principles for biologically inspired cognitive
robotics,” Biologically Inspired Cognitive Architectures, vol. 1, pp. 73–
81, 2012.

9

