in simulation_ws/src/rl-agent/markov/environments/mars_env.py [0:0]
def call_reward_function(self, action):
self.get_distance_to_object() #<-- Also evaluate for sideswipe and collistion damage
# Get the observation
self.set_next_state()
# reduce power supply range
self.power_supply_range = MAX_STEPS - self.steps
# calculate reward
reward, done = self.reward_function()
# Accumulate reward for the episode
self.reward_in_episode += reward
# Get average Imu reading
if self.max_lin_accel_x > 0 or self.max_lin_accel_y > 0 or self.max_lin_accel_z > 0:
avg_imu = (self.max_lin_accel_x + self.max_lin_accel_y + self.max_lin_accel_y) / 3
else:
avg_imu = 0
print('Step:%.2f' % self.steps,
'Steering:%f' % action[0],
'R:%.2f' % reward, # Reward
'DTCP:%f' % self.current_distance_to_checkpoint, # Distance to Check Point
'DT:%f' % self.distance_travelled, # Distance Travelled
'CT:%.2f' % self.collision_threshold, # Collision Threshold
'CTCP:%f' % self.closer_to_checkpoint, # Is closer to checkpoint
'PSR: %f' % self.power_supply_range, # Steps remaining in Episode
'IMU: %f' % avg_imu)
self.reward = reward
self.done = done
self.last_position_x = self.x
self.last_position_y = self.y