MLJejuCamp2017 / DRL_based_SelfDrivingCarControl

Deep Reinforcement Learning (DQN) based Self Driving Car Control with Vehicle Simulator
293 stars 95 forks source link

Simulating the Training for a Semi Autonomous Car(Level 2 Autonomy) #25

Open guruvishnuvardan opened 4 years ago

guruvishnuvardan commented 4 years ago

@Kyushik

Good Day!

Can you please clarify my questionns?

1) Can you please let me know, If I can train "DRL_based_SelfDrivingCarControl" for a Semi Autonomous Car with a level 2 autonomy?

I am looking for training the following scenario in Indian Road(Please review the screen shots attached) - the scenario is similar to application of ADAS in Cars like Volvo XC90

Scenario 1 - Car A and Car B are in the same side of the road(lane concept is not included), Car B is stopped in front of Car A

Unity_Simulation_1

Scenario 2 - Car A moves to a particular distance(behind Car B), alerted by Radar / LIDAR(Cube's color changed from black to red) - Car A is manually driven by a human driver

Unity_Simulation_2

Scenario 3 - Realizing the Radar alert, Car A switches to autonomous mode, takes control from the driver and steers the Car A sideways to avoid crash

Unity_Simulation_3

Can you please let me know, if I can simulate a training scenario in DRL, I am confused about how to drive the car manually during the DRL training.

Can you please help me.

Thanks Guru

Kyushik commented 4 years ago

Hello! I think this scenario can be trained by DRL. I think DRL algorithm for continuous action space, such as PPO or SAC can be used. Or I think discrete action space algorithms can be used similar to my project. In my project, the behaviors of the vehicle (ex. lane change to left lane, acceleration, ...) is implemented using PID controller and the DRL algorithm only determines the behavior of the vehicle.
However, I think you should consider how to choose the proper reward function.

guruvishnuvardan commented 4 years ago

@Kyushik - Thanks for the response.

Yes, we will also implement DRL in only determining the behaviour of the vehicle such as 1) Do nothing 2) Acceleration 3) Deceleration 4) Change to left 5) Change to right

Can you please explain me what is a PID controller? as I am also interested to steer the vehicle based on PID Controller.

is this the project where you had used the PID controller? - https://github.com/MLJejuCamp2017/Multi-Agent_SelfDriving/blob/master/README.md

Can I take reference from the implementation?

Thanks Guru