code: def step(self, model_output_act):
      assert np.all(
          (
              (model_output_act <= 1.0 + 1e-3),
              (model_output_act >= -1.0 - 1e-3),
          )
      ), "the action should be in range [-1, 1] !"
      assert self.high_bound > self.low_bound
      mapped_action = self.low_bound + (model_output_act - (-1.0)) * (
          (self.high_bound - self.low_bound) / 2.0
      )
      mapped_action = np.clip(
          mapped_action, self.low_bound, self.high_bound
      )
      return self.env.step(mapped_action)
  
file_path: PARL/examples/tutorials/parl2_dygraph/lesson5/homework/ddpg_quadrotor/train.py
imports: import gym
  import parl
  import paddle
  import argparse
  import numpy
  from parl.utils import logger, tensorboard, ReplayMemory
  from quadrotor_model import QuadrotorModel
  from quadrotor_agent import QuadrotorAgent
  from parl.algorithms import DDPG
  from rlschool import make_env
  import paddle
label_desc: Use image node_id 3 for calling the ActionMappingWrapper obj's underlying member method code with example usage: obj.step(model_output_act) and returns: self