Question: How to train a differential robot using reinforcement learning? I need my robot to reach a specific point in a given area. Currently, the algorithm

How to train a differential robot using reinforcement learning?
I need my robot to reach a specific point in a given area. Currently, the algorithm (DDPG) consists of the following parameters:
- State: Robot's x and y position, its orientation, and the reading of an ultrasonic sensor, for a total of 4 parameters.
- Goal: The goal is composed of the positions to be reached.
- Actions: The actions generated are the linear and angular velocity of the robot.
- Reward: It is given by the following function:
def reward_function(self, objective_distance, obstacle_distance, a_velocity, l_velocity, time_on_objective):
# Objective distance penalization
reward_objective_distance =-1*(objective_distance)**2/(4.0)**2
# Obstacle distance penalization
reward_obstacle_distance =(-1*((1/(obstacle_distance+0.06)))/16)+0.07
# High speeds penalizations
reward_velocity =-1*(a_velocity**2+ l_velocity**2)/8.0
# Reward for staying on target
reward_time = time_on_objective
reward = reward_objective_distance + reward_obstacle_distance +\
reward_velocity + reward_time
return reward
- Neural network parameters:
* Actor: Two hidden layers of 256 neurons, learning rate of 0.0001
* Critic: Two hidden layers of 256 neurons, learning rate of 0.001
However, in all simulations I get very bad results.
Could you give me some tips to improve the training of the robot?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!