Closed-loop spiking control on a neuromorphic processor implemented on the iCub
Jingyue Zhao, Nicoletta Risi, Marco Monforte, Chiara Bartolozzi, Giacomo Indiveri, Elisa Donati
11 Closed-loop spiking control on a neuromorphicprocessor implemented on the iCub
Jingyue Zhao, Nicoletta Risi, Marco Monforte, Chiara Bartolozzi,
Member, IEEE ,Giacomo Indiveri,
Senior Member, IEEE , and Elisa Donati,
Member, IEEE
Abstract —Despite neuromorphic engineering promises the de-ployment of low latency, adaptive and low power systems thatcan lead to the design of truly autonomous artificial agents,the development of a fully neuromorphic artificial agent is stillmissing. While neuromorphic sensing and perception, as wellas decision-making systems, are now mature, the control andactuation part is lagging behind. In this paper, we presenta closed-loop motor controller implemented on mixed-signalanalog-digital neuromorphic hardware using a spiking neuralnetwork. The network performs a proportional control actionby encoding target, feedback, and error signals using a spikingrelational network. It continuously calculates the error through aconnectivity pattern, which relates the three variables by meansof feed-forward connections. Recurrent connections within eachpopulation are used to speed up the convergence, decrease theeffect of mismatch and improve selectivity. The neuromorphicmotor controller is interfaced with the iCub robot simulator. Wetested our spiking P controller in a single joint control task,specifically for the robot head yaw. The spiking controller sendsthe target positions, reads the motor state from its encoder, andsends back the motor commands to the joint. The performance ofthe spiking controller is tested in a step response experiment andin a target pursuit task. In this work, we optimize the networkstructure to make it more robust to noisy inputs and devicemismatch, which leads to better control performances.
Index Terms —spiking motor controller; neuromorphic imple-mentation, iCub, relation neural network
I. I
NTRODUCTION N EUROMORPHIC computation is a promising frameworkfor the development of embedded and efficient systemsthat will allow artificial devices to interact with the realworld in real-time, by exploiting computational principlesderived from biological structures. The emulation of neuronsand synapses dynamics in a compact and energy-efficienttechnology [1] makes Spiking Neural Network (SNN) suitablefor embedded low-power applications such as autonomousrobotics, prosthetics, and always-on wearable biomedical sig-nals processing. In addition, the spiking nature of the siliconneurons is a natural match for robotic systems that need to beinterfaced with biological signals.
J. Zhao, N. Risi, E. Donati and G. Indiveri are with the Insti-tute of Neuroinformatics, University of Zurich, 8006 Zurich Switzer-land, and also with the ETH Zurich, 8092, Zurich, Switzerland (e-mail:jzhao,nicoletta,elisa,[email protected]).M. Monforte, C. Bartolozzi are with the Istituto Italiano di Tecnologia,Genova, Italy (email:marco.monforte,[email protected])This work is supported by the European Union’s Horizon 2020Marie Skodowska-Curie Action grant NEPSpiNN (Grant No. 753470), theForschungskredit grant FK-18-103, and the H2020 ERC project NeuroAgents(Grant No. 724295)
Fig. 1: The setup used for the experiments, including theCTXCTL software, the iCub simulator (both running on thelaptop) and the DYNAP-SE (blue box on the left). The monitorshows the simulated iCub and (on the left) the spikes recordedfrom the DYNAP-SE.Neuromorphic sensors and processors are being increas-ingly developed and integrated into robotic applications, es-pecially where fast, compact and power-efficient devices arerequired [2], [3]. Despite their extensive deployment, a fullyclosed-loop neuromorphic system is still missing. Motorsare still being controlled with traditional approaches. Re-cent works [4], [5] presented fully spiking open-loop motorcontrollers implemented on Field Programmable Gate Arrays(FPGAs). Open-loop controllers, however, are known to beless accurate and reliable. A simulated implementation ofa closed-loop controller was proposed in [6], where thecommands were sent to the motors as spike trains usingPulse–Frequency Modulation (PFM) rather than traditionalPulse–Width Modulation (PWM). In such a way the motorcommands are encoded in the signal frequency instead ofthe signal width, and the spikes can be sent directly to themotor without any conversion, decreasing latency and powerconsumption. The first implementation of PFM control ona mixed-signal neuromorphic device was proposed in [7],although the system was open-loop.A different approach consists in the use of SNN to im-plement the traditional Proportional Integral Derivative (PID)controller. Different attempts have been made in this direc-tion: on FPGAs [8] with the neuromorphic digital processorSpiNNaker [9], and on a mixed analog-digital device [10]. In a r X i v : . [ c s . ET ] S e p the latter, the SNN is in charge of the error calculation andthe motor command is encoded in the firing rate of the outputpopulation. The inherent mismatch problem in this type ofencoding is solved by a preliminary calibration phase, whereneurons with similar behavior are selected. However, this pro-cedure is time-consuming and drastically reduces the numberof available neurons to implement the SNN. An alternativeway to cope with mismatch is to resort to space coding,whereby the motor command is encoded by the identity of theneuron that is spiking, irrespective of its firing rate [11]. Thespiking Proportional (P) controller uses relational SNN [12] toencode target, feedback and error. The latter is continuouslycomputed through the three variables relation encoded in thecustomised feed-forward inter-population synapses.This work extends the scope of [11] with the characterisa-tion of the controller implemented on the DYNAP-SE mixed-mode neuromorphic processor [13], controlling a single jointof the humanoid platform iCub. The system is characterisedby its step response and evaluated in a target pursuit task.As showed in the next pages, given the responsiveness andlow error range of the control, the proposed architecture provesto be a promising spiking computational building block for afuture more complex controller.The overall system is modular, based on a robotic mid-dleware and FPGA components working with neuromorphicstandard interfaces, this allows us to easily plug and playdifferent neuromorphic platforms to benchmark the spikingcontrollers or perception modules implemented on differentneuromorphic hardware.II. M ATERIALS AND M ETHODS
To build a closed-loop neuromorphic motor controller, weinterfaced a mixed analog-digital neuromorphic processor [13]with a simulator of the humanoid robot iCub [14] to controlthe robot head yaw joint (Fig. 2).
A. Neuromorphic hardware
The mixed-signal neuromorphic chip used to implementthe spiking motor control network is the DYNAP-SE [13].It integrates analog circuits that emulate the behavior ofbiological neurons and synapses, and digital logic circuitsfor configuration and communication based on the AddressEvent Representation (AER) protocol [15]. The DYNAP-SEprocessor consists of 4 chips, each composed of 1024 adaptiveleaky integrate-and-fire neurons [16] that can receive inputsfrom 64 sources and send their output up to 4096 neurons.A SNN can be implemented on the chip by setting neuronparameters and configuring their connections.
B. Robotic platform and system interfacing
As test-bed for the characterisation of the proposed con-troller architecture, we resorted to the open-source iCub hu-manoid platform simulator iCubSim [14], controllable usingthe Yet Another Robot Platform (YARP) middleware [17].This configuration enabled the characterisation of the systemusing the robot by running simulations on a virtual platform Fig. 2: The overall pipeline, showing the implementedmodules and the communication system between them.and will allow us to easily deploy the system on the realiCub robot using the same interfaces. The YARP Event-driven library [18], coupled with FPGA and System on chip(SoC) devices, enables the communication to different typesof neuromorphic hardware and software computing modules.Supported neuromorphic hardware comprises vision sensors(ATIS [19] and DVS [20]), tactile sensors [21] and neuro-morphic computing platforms, such as SpiNNaker [22]. Inthis work, we developed the supporting infrastructure andmodules to integrate DYNAP-SE. The physical system setupis shown in Fig. 1. The configuration of the DYNAP-SEchip is performed through a custom Python API (CTXCTL ).The communication between the iCub simulator and softwaremodules running on the laptop and DYNAP-SE are managedvia an FPGA (Spartan-6 XC6SLX25).Fig. 2 shows the block diagram of the whole system. Thetarget position and the current robot state (e.g. output of theencoders from the iCub simulator) are converted into spacecoding (on central processing unit (CPU), orange blocks). Themotor positions are encoded in an array, where the analogvalue of the target (or the motor state) is the center of aGaussian distribution. The value of the Gaussian at each pointrepresents the mean firing of a neuron sensitive to the target (ormeasured) motor position. These analog values are sent to theFPGA (green blocks), where they are converted into Poissonspike trains and sent to the neuromorphic hardware usingconfigurable spike generators. The output spikes of the neuralnetwork implemented on the chip (blue block) are sent to thelaptop via the FPGA, and are decoded into a motor commandthat is sent to the iCub simulator. The communication acrossall modules is supported by YARP. C. Neuromorphic motor controller
Fig. 3 shows the block diagram of a simple P controller.The desired (target) position of the motor θ ∗ is compared tothe current position of the motor, measured by the encoder, θ . http://ai-ctx.gitlab.io/ctxctl/primer.html Fig. 3: Block diagram of the spiking P controller. The threewaynetwork output is multiplied by the proportional gain K p andsent to the iCub simulator.The motor command is then updated proportionally to theirdifference (the position error).Here we are proposing a spiking P controller based on athreeway relational network [12]. As shown in Fig. 4a, thebuilding blocks of the proposed controller consist of fourmodules of excitatory and inhibitory neurons:A, B two input populations encode the desired ( a = θ ∗ ) andcurrent ( b = θ ) iCub head position measured by theencoders, respectivelyH the hidden population implements the relation a − b = c encoded via the synaptic connections with the in-put/output populationsC the output population encodes the difference between theinput variables c = a − b = θ ∗ − θ , i.e. the error used inthe feedback control loopAll populations perform Winner-Take-All (WTA) computationby means of global inhibitory connections, coupled with local-and self-excitation. Self-excitation is built in the input (A, B),output (C) and hidden (H) populations, while lateral-excitationis used in the hidden (H) and the output (C) population.Each input population is stimulated by a group of Poissonspike generators via feed-forward one-to-one connections.An input variable a is converted into spikes by setting thefiring rates of the spike generators according to a Gaussiandistribution with the Gaussian mean set to a . In Fig. 4(a),the firing rates curve of population A represents an 8-levelvariable a = 5 , which mimics the biological neuron tuningcurves [23]. This encoding scheme allows to robustly encodeinput variables in the presence of distorted inputs and/or noisyneurons, as, if an input neuron fails to spike, its neighborneuron will still encode the variable value that is closest tothe correct one.For an input population with n spike generators, the rate ofPoisson spike generator i is rate i calculated in Equation 1: µ = a · ( n − rate i = exp( − ( i − µ ) σ ) × rate max i ∈ [0 , n − (1)where a is the normalised encoded value, µ is the mean ofthe Gaussian calculated using the encoded value, neuron ID i ranges in [0 , n − , σ is the Gaussian variance which isadjustable and rate max limits the maximum firing rate of thewinner neuron which is closest to µ . The resolution of encod-ing is n − . In our implementation, n = 16 , rate max = 250 Hz and σ = 1 . The subtraction relation a − b = c is encoded byfeed-forward inter-population excitatory connections from Aand B to the 2D array of neurons in H, and from H to C,as shown in Fig. 4(a). Each neuron in A (B) is connected toone column (row) of neurons in H so that each “k-diagonal”(from left to right) represents a unique variable value a − b .Neurons located along the same diagonal of H represent thesame subtraction result (e.g. − − ). The neurons ineach k-diagonal of H are connected to one single neuron in Cwhich represents the result of the subtraction. If the number ofpossible positions represented by A and B is n , the populationsin H and C will comprise n and n − neurons respectively.In the current implementation n = 16 . Recurrent connectivitywithin each population implements WTA competition to speedup the network and sharpen the selectivity, decreasing noiseand weak activity.Each neuron in C represents one possible error value. Theinstantaneous firing rate of each neuron is transformed into ananalog value by means of an exponentially-decaying spikingtrace ( E ): E = E + 1 , whenever a spike is generated E = E × exp( − t − t s τ ) (2)where t is the current time, t s is the time of last spike, τ is thetime constant of the decay trace. The spiking trace is updatedin software periodically ( ∼ every
60 ms ).Normalised error c can be calculated as the center of mass(CoM) using the spiking traces E of all neurons in populationC as shown in Equation 3. x c = (cid:80) n − j =1 rate j · j (cid:80) n − j =1 rate j c = 2 x c − (3)where n is the number of neurons in the input population, rate j is the firing rate of the neuron j , and the CoM x c is thenormalised value of c with the range of ( − , .
1) Mismatch minimisation:
Device mismatch is a charac-teristic of sub-threshold mixed-signal neuromorphic processorsthat results in different response transfer functions of identicalcircuit instantiating in different part of the chip. Therefore,despite sharing the same parameters, different silicon neuronscan exhibit slightly different output spiking rate for the sameinput.In the proposed network, this can have a significant impacton the hidden and output population, H and C, where itintroduces noise in H that propagates to the neurons in C,hindering the selection of the correct error. This drawbackcan be solved by optimizing the network structure at eachlevel. In the input populations A and B, the WTA helps theboost of the activation of the correct winner and to suppressthe activation of outliers. The synaptic weights of the self-excitation have a Gaussian profile, as shown in Fig. 4(b).In the hidden population H, three optimization mechanismsare implemented. First, a 2D inhibitory neuron population,H’, with the same layout of H is introduced. Each inhibitory
Target A
0 1 2 3 4 5 6 7 H Feedback B Error C
Excitatory synapseInhibitory synapse Excitatory neuronInhibitory neuron (a) Basic network structure (b) Basic network module (c) Redundant parallel populationsAH1B C H2
Winner-Take-all structure
Distance between neuronsRecurrent synaptic weight
Fig. 4: (a) Threeway relational network, modified from [11]. (b) WTA implemented in A, B, C and H (in 2D). (c) Networkoptimization to further reduce the effect of the mismatch.neuron h’ is excited by the corresponding excitatory neuron hin the same location of the hidden matrix. Reversely, the h’helps h to win the competition by inhibiting other excitatoryneurons in the same row, column, and minor diagonal. Thisselective inhibition prevents outliers from firing more than theexpected winner.Secondly, both self- and lateral-excitation are constructedinside the hidden excitatory neurons with a connection ratioof . A lateral-excitation stronger than the self-excitation isused to boost the activation of concurrently active neighbour-ing neurons with respect to isolated neurons firing because ofmismatch.Thirdly, we added a redundant parallel population with thesame excitatory and inhibitory neuron layout and connections,see Fig. 4(c). These two hidden populations independentlyreceive the input from A and B and inject output to C. Thistwin structure weakens the impact of outliers since they arehardly located at the same coordinate in both hidden matrices,whereas the winner neurons, which are strongly stimulatedby A and B, are at the same position in two matrices. Inthe output population C, we added lateral-excitation to furtherconsolidate the winner region domination and to reduce theoutlier interference. In total, 1090 neurons are used in thisnetwork.
2) Direction neurons:
As the spiking network encodes thedifference between target and encoder position, it is crucialto configure the network parameters such that the populationdynamic follows the target input dynamic. Since the threewaynetwork consists of WTA populations, the output neuronsin C encode an integrated evidence of the feedback error,which results in a trade-off between stability and reaction timeto external perturbations. To increase the network sensitivityto the target changes and to mitigate the effect of devicemismatch at the level of single neurons, we added anotherpopulation of inhibitory neurons (hereafter referred to as’direction neurons’). Specifically, we grouped neurons in C -7 -5 -3 -1 0 1 3 5 7
Error population _ _ _ + ++ Direction neurons
Fig. 5: Direction neurons to modulate the output commanddirection.into 4 clusters, according to the encoded error value (Fig. 5):negative (-), large negative (–), positive (+), large positive (++).Then, we introduced 4 groups of inhibitory neurons receivingexcitatory inputs only from one neuron group in C andinhibiting back the other ones. If configured as a hard WTA,this connectivity forces competition across neurons sensitiveto different error magnitudes (and error sign) and thereforehelps the network reacting to fast external perturbations.III. R
ESULTS
1) Discrete target pursuit task:
Fig. 6 shows the raster plotof excitatory neurons in populations A, B, and C while thenetwork is fed with the target and encoder positions during aDTP task. The black curves in A and B subplots show the inputtarget and encoder positions, while the black one in C subplotis the difference between these two values, i.e., the expectederror. The purple curve is the error decoded from the outputpopulation C. A, B, and C encode the normalised position a , b , and c . Both a and b range in [0 , , and c in [ − , . TheCoM of the firing neurons represents the encoded value of the Fig. 6: Raster plot of input population A, B and output population C during a DTP task.population. The y axis of Fig. 6 shows both the neuron IDand the corresponding encoded value. a and b are updated ina control loop about every
20 ms .In the experiment shown in Fig. 6, the starting targetposition a is set to 0.3 and the control is in steady-state ( b = 0.3). Therefore the center of the WTA lies in neuron No.4and No.5, and around neuron No.15 in C. At
10 s , the targetposition is set to a = 0 . , resulting in a total error c = 0 . .Correspondingly, the winner neuron in C moves to No.24.The error generates a positive motor command and actuatesthe joint to move right towards the new target position. As thecontroller is closed-loop, the change of the encoder positionshifts the WTA center in population B between neurons No.8and No.9. When the encoder reaches the new target position at . , the error goes back to zero. At
16 s , the target positionis set back to a = 0 . , which results in a negative error inpopulation C and generates a motor command to move thejoint to the left. After the encoder reaches the target, the errorreturns to zero and the WTA center in C moves back to neuronNo.15. Each time the controller reaches the steady state, theerror stays around zero but still oscillates slightly because ofthe competition of the neurons around No.15, which leads tothe jittery encoder trajectory.
2) P controller characterisation:
As with standard P con-trollers, to generate the motor command, the network outputerror is multiplied by a gain factor K p . The effect of this gainon the controller dynamic was quantified by measuring theSNN performance in two scenarios: with a step response taskand with the DTP task mentioned in Section III-1.The mean and standard deviation (std) of Average RootMean Square Error (RMSE) between target and encoderpositions over the first
40 s after the step onset are used toquantify the performance of the controller. Fig. 9 shows theaverage RMSE and its std in the both tasks.The performance of the controller with different K p in thestep response task is shown in Fig. 7. With the smallest K p = Fig. 7: Controller step response for three values of K p , witherror band as ± of the target value (grey shading). AverageRMSE = 0 . , . , . with K p = 50 , , .TABLE I: Rise time with different K p in the step response K p
50 100 150Rise time (s) 1.92 0.89 0.66 , the encoder curve is the smoothest, since the controllerdoes not overshoot or oscillate. This results in the smallestRMSE, given that the position is updated with small steps,trading off speed with smoothness. The system rise time, heremeasured as the time to reach of the target step value,is .
92 s (see Table I). The encoder trajectory becomes morejittery with larger K p , as the joint position is updated witha larger step. For K p = 100 , the rise time is .
89 s . With K p = 150 , the controller reacts faster with rise time of .
66 s
Fig. 8: The controller performance in the DTP task withdifferent K p . Average RMSE = 0 . , . , . with K p = 50 , , .Fig. 9: RMSE with different K p in the step response and DTPtask.but overshoots the target. After the overshoot, the motor staysaround the target position.In the DTP task, the smallest gain ( K p = 50 ), which leadsto the slowest controller response, yields the largest averageRMSE between the target and the encoder curves. The encodercurve, however, is the smoothest one because deviations fromthe expected error due to the network noise are less amplified.However, due to device mismatch, the average RMSE doesnot decrease proportionally to Kp. This is because a largergain in the control loop can also amplify the network noise ifthe WTA dynamic is unstable. Thus, larger K p leads to lesssmooth encoder curves.TABLE II: Rise time with different τ in the step response τ (s) 0.005 0.75 5Rise time (s) 0.54 0.66 0.80 Fig. 10: The step response of the controller with differ-ent τ . Average RMSE = 0 . , . , . with τ =0 . , , , s .
3) The effect of time constant of the exponentially decayingtrace:
One of the key parameters affecting the performance ofthe spiking controller is the time constant of the exponentially-decaying spiking-trace E (Eq. 2), which tracks the instanta-neous firing rate of the output population C. The effect onthe controller step response is shown in Fig. 10. The smallerthe time constant ( τ ), the faster the exponential decay andtherefore the smaller the integration time window. This speedsup the response of the controller, leading to shorter rise time(see Table II), but increases the control loop sensitivity to thenetwork noise. As a result, the encoder trace jitters around thetarget position, but the amplitude of the oscillation is relativelysmall, which leads to a smaller RMSE. The encoder curvegets smoother with larger time constant, but the amplitude andperiod of oscillation are both larger because the long memoryslows down the response of the spiking controller and leadsto larger RMSE. This trend is quantified in Fig. 11 in both thestep response and the DTP task.
4) The controller performance in a sinusoidal target pur-suit task:
We tested the performance of the neuromorphiccontroller in a target pursuit task where the target signal isa sinusoidal function with period of
12 s . Fig. 12 shows theraster plot of excitatory neurons in populations A, B and Cduring one example trial. As in the DTP experiment, the blackcurves in subplots A, B and C show the input target position,the input encoder positions and the error between them. Thepurple curve is the error decoded from the neural activity inC. As the input changes the error encoded by population Cfollows the expected position error, which leads to the encoderposition following the target position (Fig. 13).IV. D
ISCUSSION AND C ONCLUSION
We presented a spiking P controller implemented on sub-threshold mixed-mode neuromorphic hardware and interfacedwith the humanoid robot iCub simulator. We characterised its
Fig. 11: RMSE with different τ in the step response and DTPtask.Fig. 12: The network activity during a sinusoidal target pursuittask.Fig. 13: The controller behavior during a sinusoidal targetpursuit task.step response and measured the performance of the neuro-morphic controller with a target pursuit task. Fig.6 and 12show that the controller can react to external perturbations andreach the target state as the distance between the target andencoder position decreases after the initial start-up stage. In this regard, increasing the number of neurons used to encodethe positional error would increase the network resolution andtherefore the controller performances in tracking the targetposition. As regards the decoding stage, we calculate theCoM of the exponentially-decaying spiking trace values of theneurons in the output population in order to find the centrallocation of the firing neurons. The identity of the spikingneuron represents the value of the error, given the space codingparadigm adopted. This value is then sent to the motor usingPWM. To implement a fully spiking controller, the motorcould be moved using PFM, where the frequency of the signalencodes for the error value, using rate coding. This could beachieved by an SNN structure based on pointer neurons [24],which converts space-coding to rate-coding.The proposed implementation of the closed-loop architec-ture in a modular system allows easy deployment on theiCub physical robot to test the controller in a real scenario.Validating the SNN performances with the model of the iCubrobot provides an example framework for comparing differentneuromorphic computing platforms with the same control task.The overall performance of the controller, stability andprecision, will be improved adding the Integrative, I, andDerivative, D, terms of the standard PID. This could beimplemented adding two additional threeway networks, at thecost of drastically increasing the number of required neuronsand increasing the latency that hinders the use in real-time andfast applications, as shown recently in RSS20 conference [25].To mitigate these drawbacks, we are currently exploring theimplementation of the I and D terms exploiting the intrinsic in-tegration and derivative functionalities of synaptic primitives.A CKNOWLEDGMENT
The authors would like to acknowledge the 2019 CapocacciaNeuromorphic Workshop and all its participants for fruitfuldiscussions. This work is supported by the Forschungskreditgrant FK-18-103, the H2020 ERC project NeuroAgents (GrantNo. 724295) and China Scholarship Council.R
EFERENCES[1] E. Chicca, F. Stefanini, C. Bartolozzi, and G. Indiveri, “Neuromorphicelectronic circuits for building autonomous cognitive systems,”
Proceed-ings of the IEEE , vol. 102, no. 9, pp. 1367–1388, 2014.[2] C. Bartolozzi, F. Rea, C. Clercq, D. B. Fasnacht, G. Indiveri,M. Hofst¨atter, and G. Metta, “Embedded neuromorphic vision forhumanoid robots,” in
CVPR 2011 WORKSHOPS . IEEE, 2011, pp.129–135.[3] T. Delbruck and M. Lang, “Robotic goalie with 3 ms reaction time at4% cpu load using event-based dynamic vision sensor,”
Frontiers inneuroscience , vol. 7, p. 223, 2013.[4] F. Perez-Pe˜na, A. Morgado-Estevez, A. Linares-Barranco, A. Jimenez-Fernandez, F. Gomez-Rodriguez, G. Jimenez-Moreno, and J. Lopez-Coronado, “Neuro-inspired spike-based motion: from dynamic visionsensor to robot motor open-loop control through spike-vite,”
Sensors ,vol. 13, no. 11, pp. 15 805–15 832, 2013.[5] F. Perez-Pe˜na, A. Linares-Barranco, and E. Chicca, “An approach tomotor control for spike-based neuromorphic robotics,” in .IEEE, 2014, pp. 528–531.[6] F. Perez-Pe˜na, J. A. Le˜nero-Bardallo, A. Linares-Barranco, andE. Chicca, “Towards bioinspired close-loop local motor control: Asimulated approach supporting neuromorphic implementations,” in . IEEE,2017, pp. 1–4. [7] E. Donati, F. Perez-Pefia, C. Bartolozzi, G. Indiveri, and E. Chicca,“Open-loop neuromorphic controller implemented on vlsi devices,” in . IEEE, 2018, pp. 827–832.[8] A. Jimenez-Fernandez, G. Jimenez-Moreno, A. Linares-Barranco, M. J.Dominguez-Morales, R. Paz-Vicente, and A. Civit-Balcells, “A neuro-inspired spike-based pid motor controller for multi-motor robots withlow cost fpgas,”
Sensors , vol. 12, no. 4, pp. 3831–3856, 2012.[9] F. Galluppi, C. Denk, M. C. Meiner, T. C. Stewart, L. A. Plana, C. Elia-smith, S. Furber, and J. Conradt, “Event-based neural computing on anautonomous mobile platform,” in . IEEE, 2014, pp. 2862–2867.[10] S. Glatz, J. N. Martel, R. Kreiser, N. Qiao, and Y. Sandamirskaya,“Adaptive motor control and learning in a spiking neural networkrealised on a mixed-signal neuromorphic processor,” arXiv preprintarXiv:1810.10801 , 2018.[11] J. Zhao, E. Donati, and G. Indiveri, “Neuromorphic implementation ofspiking relational neural network for motor control,” in . IEEE, pp. 89–93.[12] P. U. Diehl and M. Cook, “Learning and inferring relations in corticalnetworks,” arXiv preprint arXiv:1608.08267 , 2016.[13] S. Moradi, N. Qiao, F. Stefanini, and G. Indiveri, “A scalable mul-ticore architecture with heterogeneous memory structures for dynamicneuromorphic asynchronous processors (dynaps),”
IEEE transactions onbiomedical circuits and systems , vol. 12, no. 1, pp. 106–122, 2017.[14] V. Tikhanoff, P. Fitzpatrick, F. Nori, L. Natale, G. Metta, and A. Can-gelosi, “The iCub humanoid robot simulator,” in
In IEEE/RSJ Interna-tional Conference on Intelligent Robots and Systems , vol. 1. IEEE,2008.[15] S. R. Deiss, R. J. Douglas, A. M. Whatley et al. , “A pulse-coded com-munications infrastructure for neuromorphic systems,”
Pulsed neuralnetworks , pp. 157–178, 1999.[16] G. Indiveri, “A low-power adaptive integrate-and-fire neuron circuit,”in
Proceedings of the 2003 International Symposium on Circuits andSystems, 2003. ISCAS’03. , vol. 4. IEEE, 2003, pp. IV–IV.[17] G. Metta, P. Fitzpatrick, and L. Natale, “Yarp: Yet another robotplatform,” in
In International Journal of Advanced Robotic Systems ,vol. 3, no. 1, 2006, pp. 43–48.[18] A. Glover, V. Vasco, M. Iacono, and C. Bartolozzi, “The event-drivensoftware library for YARP with algorithms and iCub applications,” in
In Frontiers in Robotics and AI , vol. 4, 2018, p. 73.[19] C. Posh, D. Matolin, and R. Wohlgenannt, “A QVGA 143 dB dynamicrange frame-free PWM image sensor with lossless pixel-level videocompression and time-domain CDS,” in
IEEE Journal of Solid-StateCircuits , vol. 46, January 2011, pp. 259–275.[20] P. Lichtsteiner, C. Posch, and T. Delbruck, “A 128x128 120dB 15uslatency asynchronous temporal contrast vision sensor,” in
IEEE Journalof Solid-State Circuits , vol. 43, 2008, pp. 566–576.[21] P. Motto Ros, M. Laterza, D. Demarchi, M. Martina, and C. Bartolozzi,“Event-driven encoding algorithms for synchronous front-end sensors inrobotic platforms,” in in IEEE Sensors Journal , vol. 19, April 2019, pp.7149–7161.[22] S. B. Furber, F. Galluppi, S. Temple, and L. A. Plana, “The spinnakerproject,”
Proceedings of the IEEE , vol. 102, no. 5, pp. 652–665, 2014.[23] A. Schoups, R. Vogels, N. Qian, and G. Orban, “Practising orientationidentification improves orientation coding in v1 neurons,”
Nature , vol.412, no. 6846, p. 549, 2001.[24] R. Hahnloser, R. J. Douglas, M. Mahowald, and K. Hepp, “Feedbackinteractions between neuronal pointers and maps for attentional process-ing,” nature neuroscience , vol. 2, no. 8, pp. 746–752, 1999.[25] “Towards neuromorphic control: A spiking neural network based pidcontroller for uav,” in
Proceedings of Robotics: Science and Systems,2020. , 2020.
Jingyue Zhao received the B.Sc, MSc degree inComputer Science from National University of De-fense Technology, Changsha, China in 2015 and2017, respectively. She studied as a Fellowship PhDstudent in Computer Science at EPFL, Lausanne,Switzerland in 2017 and switched to the PhD pro-gram in Neuroscience at the Institute of Neuroin-formatics, University of Zurich and ETH Zurich inDecember 2018. She is interested in biological motorcontrol circuits and principles, and applying them inrobotic applications on neuromorphic hardware.
Nicoletta Risi studied biomedical engineering atthe Universtiy of Genova, Genova, Italy where shegraduated (with honors) in 2016. In 2017 she workedas an external collaborator at the bioengineering androbotics research center Centro E. Piaggio, Pisa,Italy. Since September 2017 she is a PhD studentat the Institute of Neuroinformatics, University ofZurich and ETH Zurich. She is interested in inte-grating event-based sensing with spike-based com-putation on neuromorphic hardware.
Marco Monforte is a third year Ph.D. student atIstituto Italiano di Tecnologia, in affiliation withUniversit degli Studi di Genova (Italy). His doctoralresearch investigates the use of neuromorphic event-driven cameras for robotics, combining these sensorswith deep learning techniques for prediction androbot control in highly dynamic tasks. He receivedthe Laurea degree magna cum laude in Automa-tion Engineering at Universit degli Studi di NapoliFederico II, Naples (Italy), in 2017. Other researchinterests include robot grasping and navigation.
Chiara Bartolozzi
Giacomo Indiveri (SM’03) received the M.Sc. de-gree in electrical engineering and the Ph.D. degreein computer science and electrical engineering fromthe University of Genova, Genova, Italy, in 1992 and2004, respectively. Currently, he is a dual Professorat the Faculty of Science of the University of Zurichand at Department of Information Technology andElectrical Engineering of ETH Zurich, Switzerland.He is the director of the Institute of Neuroinfor-matics (INI) of the University of Zurich and ETHZurich. He was a post-doctoral research fellow inthe Division of Biology at Caltech and at the Institute of Neuroinformatics ofthe University of Zurich and ETH Zurich. He was awarded an ERC StartingGrant on ”Neuromorphic processors” in 2011 and an ERC ConsolidatorGrant on neuromorphic cognitive agents in 2016. His research interestslie in the study of real and electronic neural processing systems, with aparticular focus on spike-based learning and spike-based recurrent neuralnetwork dynamics. His research and development activities focus on the fullcustom hardware implementation of real-time sensory-motor systems usinganalog/digital neuromorphic circuits and emerging memory technologies.Dr. Indiveri is a member of several technical committees of the IEEECircuits and Systems Society and a Fellow of the European Research Council.