class_docstr: A wrapper for reward shaping, note this wrapper must be the first wrapper 
class_docstr_tok: ["A","wrapper","for","reward","shaping",",","note","this","wrapper","must","be","the","first","wrapper"]
code: def __init__(self, env):
      logger.info("[RewardShaping]type:{}".format(type(env)))
  
      self.step_count = 0
      self.pre_state_desc = None
      self.last_target_vel = None
      self.last_target_change_step = 0
      self.target_change_times = 0
      gym.Wrapper.__init__(self, env)
  
imports: import abc
  import copy
  import gym
  import math
  import numpy
  from collections import OrderedDict
  from osim.env import ProstheticsEnv
  from parl.utils import logger
label_desc: Use image node_id 1 to create a new RewardShaping object from inherited base classes: gym with example: obj = RewardShaping(env)