class_docstr: A random agent using spring-like forces for its action evolution.
class_docstr_tok: ["A","random","agent","using","spring-like","forces","for","its","action","evolution","."]
docstr: Critical damping for movement.
  
  I.e., x(t) = (A + Bt) \exp(-\omega t) with A = x(0), B = x'(0) + \omega x(0)
  
  See
    https://en.wikipedia.org/wiki/Damping#Critical_damping_.28.CE.B6_.3D_1.29
  for details.
  
  Args:
    t: A float representing time.
    omega: The undamped natural frequency.
    displacement: The initial displacement at, x(0) in the above equation.
    velocity: The initial velocity, x'(0) in the above equation
  
  Returns:
     The velocity x'(t).
docstr_tok: ["Critical","damping","for","movement",".","I.e.",",","x","(","t",")","=","(","A","+","Bt",")","\\exp","(","-\\omega","t",")","with","A","=","x","(","0",")",",","B","=","x","'","(","0",")","+","\\omega","x","(","0",")","See","https",":","\/\/en.wikipedia.org\/wiki\/Damping","#","Critical_damping_.28.CE.B6_.3D_1.29","for","details",".","Args",":","t",":","A","float","representing","time",".","omega",":","The","undamped","natural","frequency",".","displacement",":","The","initial","displacement","at",",","x","(","0",")","in","the","above","equation",".","velocity",":","The","initial","velocity",",","x","'","(","0",")","in","the","above","equation","Returns",":","The","velocity","x","'","(","t",")","."]
code: def critically_damped_derivative(
      self, t, omega, displacement, velocity
  ):
      r"""Critical damping for movement.
  
      I.e., x(t) = (A + Bt) \exp(-\omega t) with A = x(0), B = x'(0) + \omega x(0)
  
      See
        https://en.wikipedia.org/wiki/Damping#Critical_damping_.28.CE.B6_.3D_1.29
      for details.
  
      Args:
        t: A float representing time.
        omega: The undamped natural frequency.
        displacement: The initial displacement at, x(0) in the above equation.
        velocity: The initial velocity, x'(0) in the above equation
  
      Returns:
         The velocity x'(t).
      """
      a = displacement
      b = velocity + omega * displacement
      return (b - omega * t * (a + t * b)) * np.exp(-omega * t)
  
file_path: lab/python/random_agent.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import argparse
  import random
  import numpy
  import six
  import deepmind_lab
label_desc: Use image node_id 2 for calling the SpringAgent obj's underlying member method code with example usage: obj.critically_damped_derivative(t, omega, displacement, velocity) and returns: unknown