Towards neuromorphic control: A spiking neural network based PID controller for UAV


Rasmus K. Stagsted, Antonio Vitale, Jonas Binz, Alpha Renner, Leon Bonde Larsen, Yulia Sandamirskaya

Abstract

In this work, we present a spiking neural network (SNN) based PID controller on a neuromorphic chip. On-chip SNNs are currently being explored in low-power AI applications. Due to potentially ultra-low power consumption, low latency, and high processing speed, on-chip SNNs are a promising tool for control of power-constrained platforms, such as Unmanned Aerial Vehicles (UAV). To obtain highly efficient and fast end-to-end neuromorphic controllers, the SNN-based AI architectures must be seamlessly integrated with motor control. Towards this goal, we present here the first implementation of a fully neuromorphic PID controller. We interfaced Intel's neuromorphic research chip Loihi to a UAV, constrained to a single degree of freedom. We developed an SNN control architecture using populations of spiking neurons, in which each spike carries information about the measured, control, or error value, defined by the identity of the spiking neuron. Using this sparse code, we realize a precise PID controller. The P, I, and D gains of the controller are implemented as synaptic weights that can adapt according to an on-chip plasticity rule. In future work, these plastic synapses can be used to tune and adapt the controller autonomously.

Live Paper Discussion Information

Start Time End Time
07/16 15:00 UTC 07/16 17:00 UTC

Virtual Conference Presentation

Supplementary Video

Paper Reviews

Review 2

The authors present a SNN architecture for direct control of two robotic systems, one of which requires nested PID loops, and evaluate control performance relative to a cpu representation as a step response. The paper is well written and explained. From my perspective I think the main thing that can be improved is the interrogation of the control performance, and a broader set of tests and results, the presented data are quite limited. It would be helpful to see the performance of the controller on the same system with different control contexts, e.g. replacing imu sensing with external markers for higher sensor fidelity, increasing decreasing timestep sizes, or changing the size of the neuron arrays, so that the effects of the implementation on performance can be more clearly seen/investigated. Some other comments: 'Mapping between motor velocity and torque' - this should be detailed. The PID gains of both systems were tuned by hand - I think a little more detail is needed to have a stronger basis for comparison, and to know to what extent the chosen gains favour one controller's performance over another. To me the CPU PID seems oddly poor performing. What sensitivity is there to the quality of the sensor data? How does the system function with ground truth input, or with simulated input? Pushbot - 'directly translated into motor commands' A little more detail would be better. It would be helpful to have overshoot stated as a % of the step. I would also show a recommend a showing a single step response which allows a longer settling time, so we can see what a little better what happens with constant input? The exemplary graphs change their input a little to quickly to see the full response. The paper reads well, but there are a couple typos: Raspberri - typo programm - typo I enjoyed the reading the paper, and the topic is a fascinating frontier in robotics. I look forward to seeing more of the author's work.

Review 3

This paper presents an attempt to implement a PID controller fully in a Spiking Neural Network (SNN) on Intel’s neuromorphic research chip Loihi. The SNN was tested on two robotic platforms; on a mobile robot platform and a 1-DOF UAV platform. Idea of implementing SNN on neuromorphic chip is certainly interesting and it is an important research question to attempt. Design and realization of the SNN on the nueromohlic chip has been presented well in detail and certainly has some merits. However, publication of the present experiments and results seems premature. Major comments: 1. I understand the importance of on-chip SNN approaches for applications such as UAVs due to potentially ultra low power consumption, low latency, and high processing speed. However, conventional PID based approaches are also effective, easy to implement and widely use in such applications. What are the specific merits of this on-chip SNN approach against the conventional PID on a chip? I think such comparison has not been clearly presented in the manuscript. 2. Based on the comparison results as summarized in Table III and the results from Fig. 7 and 8, it is obvious that the conventional PID approach is giving better results (eg. based on overshoot, oscillations, steady-state-error) than the proposed method. 3. In my opinion, the implementation of the proposed method on a "Pushbot" seems to be not matching relevant to title of the paper. The authors could have found a way to test a single PID on the UAV platform rather than on a Pushbot. 4. In the case of Pushbot, the authors claimed that "both controllers work well despite the delay in the system". I do not think this claim is justifiable based on the results presented in Table I and II. 5. I do not clearly understand how did the authors train the SNNs during experiments. No information has been given in the manuscript on training and cross-validation of SNNs. 6. The authors have mentioned about two nested PID controllers (inner and outer PIDs) related to the 1-DOF UAV platform. The inner PID computes the torque. However, no results have been presented to show the behavior of the torque output or how it affects the overall system. 7. I wonder what information we can acquire as readers from the Fig.1. Even though, a 3D model of the set-up has been presented (top panel), it has not been referred anywhere in the manuscript. Just presenting a photo of the system/experiment set-up without details (eg. naming the important components, connections etc) is not adequate. 8. No evidence for generalization is offered. Multiple trials/experiments could have done with different motion profiles (i.e: instead of only using step inputs as in Fig. 7 and 8) to generalize the results and conclusions. Comments on the video submission: Though the video submission is clear, it is not that informative. Information such as PID gains, other set-up variables, assumptions in this perticular trial should be presented.