Patent ID: 11911902
Assignee: DALIAN UNIVERSITY OF TECHNOLOGY
Field: Handling (Mechanical engineering)
Classification: CPC B  G | IPC B

Claim 0:
1. A method for obstacle avoidance in degraded environments of robots based on intrinsic plasticity of a spiking neural network (SNN), comprising the following steps:
step 1: dynamic energy threshold module
improving a trigger threshold in the SNN by the method; replacing an original static trigger threshold by a biologically explainable dynamic trigger threshold and correlating the dynamic trigger threshold with a membrane potential to realize the intrinsic plasticity homeostasis of the SNN; designing a dynamic energy threshold according to positive correlation observed in biology between the dynamic threshold and a mean membrane potential; calculating the dynamic energy threshold Eil(t) for each neuron at a current moment according to the membrane potential of each neuron at the current moment, the membrane potential of all neurons in the same layer, and the trigger threshold of all the neurons in the same layer, with specific modes as shown in formulas (1-4):, E
       i
       l
      
      (
      t
      )
     
     =
     
      
       η
       (
       
        
         
          v
          i
          l
         
         ⁢
         
          (
          t
          )
         
        
        -
        
         
          V
          m
          l
         
         (
         t
         )
        
       
       )
      
      +
      
       
        V
        θ
        l
       
       (
       t
       )
      
      +
      
       ln
       (
       
        1
        +
        
         e
         
          
           
            
             v
             i
             l
            
            (
            t
            )
           
           -
           
            
             V
             m
             l
            
            (
            t
            )
           
          
          
           
            ψ
            l
           
           (
           t
           )
          
         
        
       
       )
      
     
    
   
   
    
     (
     1
     )
    
   
  
 

 
  
   
    
     
      
       
        V
        m
        l
       
       (
       t
       )
      
      =
      
       
        μ
        (
        
         
          v
          i
          l
         
         ⁢
         
          (
          t
          )
         
        
        )
       
       -
       
        0.2
        
         (
         
          
           
            
             max
             ⁡
             (
             
              
               v
               i
               l
              
              ⁢
              
               (
               t
               )
              
             
             )
            
            -
            
             min
             ⁢
             
              
               (
               
                
                 v
                 i
                 l
                
                ⁢
                
                 (
                 t
                 )
                
               
               )
              
              )
             
             ⁢
               
              
             for
             ⁢
                
             i
            
           
           =
           1
          
          ,
          2
          ,
          …
             
          ,
          
           N
           l
          
         
        
       
      
     
    
   
   
    
     
      (
      2
      )
     
    
   
  
 

 
  
   
    
     
      
       V
       θ
       l
      
      (
      t
      )
     
     =
     
      
       μ
       (
       
        
         Θ
         i
         l
        
        ⁢
        
         (
         t
         )
        
       
       )
      
      -
      
       0.2
       
        (
        
         
          
           
            max
            ⁡
            (
            
             
              Θ
              i
              l
             
             ⁢
             
              (
              t
              )
             
            
            )
           
           -
           
            min
            ⁢
            
             
              (
              
               
                Θ
                i
                l
               
               ⁢
               
                (
                t
                )
               
              
              )
             
             )
            
            ⁢
              
             
            for
            ⁢
               
            i
           
          
          =
          1
         
         ,
         2
         ,
         …
            
         ,
         
          N
          l
         
        
       
      
     
    
   
   
    
     (
     3
     )
    
   
  
 

 
  
   
    
     
      
       
        ψ
        l
       
       (
       t
       )
      
      =
      
       
        
         
          ❘
          "\[LeftBracketingBar]"
         
         
          
           σ
           ⁡
           (
           
            
             v
             i
             l
            
            (
            t
            )
           
           )
          
          
           μ
           ⁡
           (
           
            
             v
             i
             l
            
            (
            t
            )
           
           )
          
         
         
          ❘
          "\[RightBracketingBar]"
         
        
        ⁢
           
        for
        ⁢
           
        i
       
       =
       1
      
     
     ,
     2
     ,
     …
        
     ,
     
      N
      l
     
    
   
   
    
     (
     4
     )
    
   
  
 

where Nl is the number of the neurons in a layer l, η is a slope hyperparameter, set to 0.2; vil(t) is the value of the membrane potential of the neuron i in the layer l at moment t; μ(⋅) is mean value operation; σ(⋅) is standard deviation operation; Θil(t) is the trigger threshold of the neuron i in the layer l at moment t; Vml(t) and Vθl(t) are index values of relationships between the layers, and are specifically the differences of the mean value of all the neurons in the same layer from maximum and minimum ranges, to enhance potential coupling and sensitivity of each neuron and other neurons in the same layers; ψl(t) is a coefficient of variation of all the neurons in the same layer to encode potential fluctuation between the layers, since the coefficient of variation is used to describe the distribution of the membrane potential relative to the mean value of the potential;
step 2: dynamic time threshold module
designing a dynamic time threshold according to negative correlation observed in biology between the dynamic threshold and a previous depolarization rate; calculating the dynamic time threshold Γil(t+1) for each neuron at the current moment according to the membrane potential of each neuron at the current moment and the previous moment, the depolarization rate, and the trigger threshold of all the neurons in the same layer, with specific modes as shown in formulas (5-6):, Γ
       i
       l
      
      (
      
       t
       +
       1
      
      )
     
     =
     
      a
      +
      
       e
       
        
         -
         
          (
          
           
            
             v
             i
             l
            
            (
            
             t
             +
             1
            
            )
           
           -
           
            
             v
             i
             l
            
            (
            t
            )
           
          
          )
         
        
        
         
          ψ
          l
         
         (
         
          t
          +
          1
         
         )
        
       
      
     
    
   
   
    
     (
     5
     )
    
   
  
 

 
  
   
    
     
      a
      =
      
       
        
         e
         
          -
          
           
            ❘
            "\[LeftBracketingBar]"
           
           
            μ
            ⁢
            
             (
             
              
               Θ
               i
               l
              
              (
              t
              )
             
             )
            
           
           
            ❘
            "\[RightBracketingBar]"
           
          
         
        
        ⁢
           
        for
        ⁢
           
        i
       
       =
       1
      
     
     ,
     2
     ,
     …
        
     ,
     
      N
      l
     
    
   
   
    
     (
     6
     )
    
   
  
 

vil(t) and vil(t+1) are the values of the membrane potentials of the neuron i in the layer l at moment t and moment t+1 respectively; Γil(t+1) is a single exponential function, where a is an exponential decay function with a decay rate which is based on the mean value of the dynamic thresholds of all the neurons in a previous time stamp t in the layer l; a threshold relationship between the layers is used to enhance the coupling connection between a single neuron and a whole, so that the higher the depolarization of the membrane potential is, the faster the time threshold decreases; the coefficient of variation ψl(t+1) is also used to dynamically adjust the sensitivity of the time threshold to layered potential fluctuation; when the layered potential fluctuation is lower, the time threshold is more sensitive to the previous depolarization rate, and vice versa;
step 3: biologically reasonable dynamic energy-time threshold fusion module
after obtaining two thresholds through step 1 and step 2, obtaining a final dynamic energy-time threshold Θil(t+1) by fusing, with a specific mode as shown in formula (7):, Θ
       i
       l
      
      (
      
       t
       +
       1
      
      )
     
     =
     
      
       1
       2
      
      ⁢
      
       (
       
        
         
          E
          i
          l
         
         (
         t
         )
        
        +
        
         
          Γ
          i
          l
         
         (
         
          t
          +
          1
         
         )
        
       
       )
      
     
    
   
   
    
     (
     7
     )
    
   
  
 

obtaining Eil(t) at the moment t by the dynamic energy threshold module to ensure a positive correlation relationship between the dynamic threshold and the mean membrane potential; obtaining Γil(t+1) at the moment t+1 by the dynamic time threshold module to ensure a negative correlation relationship between the dynamic threshold and the depolarization rate; obtaining the final dynamic energy-time threshold Θil(t+1) by mean superposition, and deploying the threshold in the SNN to replace a basic static threshold, to form a dynamic threshold spiking model and exhibit the intrinsic plasticity homeostasis of the model;
step 4: synaptic scene building and autonomous learning module
after obtaining the dynamic energy-time threshold Θil(t+1) through step 3, applying the threshold to Leaky Integrate-and-Fire neuron; after the membrane potential reaches the dynamic spiking threshold, triggering a spike and transmitting the spike to a next layer to form a dynamic threshold spiking model; to solve an obstacle avoidance problem in a degraded scene, firstly building a training test simulation environment; using a URDF model of a TurtleBot-ROS robot as an experimental robot, equipped with 2D lidar and odometer sensors for sensing the environment to form a robot model; importing the robot model into a ROS-Gazebo simulator, and building a plurality of training environments with increasing difficulty in the ROS-Gazebo simulator by using a static Block obstacle to complete the training in different scenes and phases; manually adding dynamic obstacles in the ROS-Gazebo simulator as the test scenes in degraded environments to test the validity of a spiking homeostasis model; then, embedding the dynamic threshold spiking model into a deep reinforcement learning framework DDPG to replace an Actor network for decision making in the form of spikes and autonomous trial and error learning of synaptic weight; wherein the input of a decision network comprises 18-dimensional lidar data, 3-dimensional velocity information, and 3-dimensional distance information, i.e., 24-dimensional state information; making an action decision through a 4-layer fully connected layer with a network structure of 24-256-256-256-2; final two actions representing the velocity of left and right wheels of the robot respectively, so as to conduct autonomous sensing and decision making; after training the dynamic threshold spiking model, in the environment of the ROS-Gazebo simulator, manually adding noise interference to form a degraded environment; achieving the intrinsic plasticity homeostasis of the neurons by the dynamic threshold spiking model through the autonomous adjustment of the dynamic energy-time threshold; and keeping a stable trigger rate under degradation, interference and emergency situations, thereby completing autonomous obstacle avoidance and navigation of a brain-like robot.