class_docstr: Buffer consecutive k observations and stack them on a new last axis.
  The output observation has shape `original_shape + (k, )`.
class_docstr_tok: ["Buffer","consecutive","k","observations","and","stack","them","on","a","new","last","axis",".","The","output","observation","has","shape","`","original_shape","+","(","k",",",")","`","."]
code: def step(self, action):
      ob, reward, done, info = self.env.step(action)
      self.frames.append(ob)
      return self.observation(), reward, done, info
  
imports: import numpy
  from collections import deque
  import gym
label_desc: Use image node_id 3 for calling the FrameStack obj's underlying member method code with example usage: obj.step(action) and returns: self,  reward,  done,  info