Skip to content

In this project, two steering control methods (PID control, reinforcement learning control) are implemented in CARLO simulation environment.

License

Notifications You must be signed in to change notification settings

Vis6/ACC-Control

Repository files navigation

ACC-Control

Description

  • In this project, two steering control methods, PID control and reinforcement learning (Q-learning) control, are implemented.
  • The simulation environment is based on CARLO (circular road). Two cars are placed in the environment.
  • Two main program files are included in the project.
    • "main_pid.py" uses PID steering control.
    • "main_rl.py" uses reinforcement learning for steering control.
  • The implementations of PID control and reinforcement learnning method are in the "steering_control.py" file.

How to run the code

  • You can run the programs either in the command line or in an IDE.
  • PID steering control requires no additional input parameters. The tuned PID parameters have already been given in the program ("steering_control.py").
  • Reinforcement learning steering control requires an additional parameter "rl_mode" whose value is "train" or "test". The parameter needs to be specified in the program.
    • If "rl_mode" is "train", the program will learn a policy for every car and the learned policy will be stored in the current directory with the name of "car#_rl.pkl" (# represents the car number).
    • If "rl_mode" is "test", the program will load pre-learned policies for cars and run the simulation.

Reference

About

In this project, two steering control methods (PID control, reinforcement learning control) are implemented in CARLO simulation environment.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages