code: def step(self, action, **kwargs):
      obs, r, done, info = self.env.step(action, **kwargs)
      if info["target_changed"]:
          # reset step_fea when change target
          self.step_fea = MAXTIME_LIMIT
  
      self.step_fea -= FRAME_SKIP
  
      self.raw_obs = copy.deepcopy(obs)
      obs = self.get_observation(obs)
      self.raw_obs["step_count"] = MAXTIME_LIMIT - self.step_fea
      return obs, r, done, info
  
imports: import abc
  import copy
  import gym
  import math
  import numpy
  from collections import OrderedDict
  from osim.env import L2M2019Env
  from parl.utils import logger
label_desc: Use image node_id 5 for calling the ObsTranformerBase obj's underlying member method code with example usage: obj.step(action) and returns: obs,  r,  done,  info