/Obstacle-dodging-car-using-Q-learning

In this project, the robot car presents a behavioral approach to collision avoidance, where a mobile robot needs to avoid collisions with stationary obstacles and the wall enclosing its environment. The robot uses Reinforcement Learning technique to learn actions corresponding to states in which the robot is. The states are defined based on the data robot acquires from its ultrasonic proximity sensors. From this data robot knows where the obstacle is and starts performing actions on its knowledge of what is right. As the robot performs actions, it lands into a new state which may or may not be new from the previous state. A reward is provided to the robot for transitioning from one state to another. This helps the robot to calculate Q-values which is basically the level of confidence to perform an action in that certain state. The robot in this project has 8 states and can perform 3 actions. It takes time to build the behavior of robot but the algorithm converges vary close to the desired result even though not completely. The robot environment has walls surrounding and 3 obstacles placed on the ground having different shapes. The goal being moving around the room without banging against any wall or obstacle.

Primary LanguagePython

Obstacle-dodging-car-using-Q-learning

In this project, the robot car presents a behavioral approach to collision avoidance, where a mobile robot needs to avoid collisions with stationary obstacles and the wall enclosing its environment. The robot uses Reinforcement Learning technique to learn actions corresponding to states in which the robot is. The states are defined based on the data robot acquires from its ultrasonic proximity sensors. From this data robot knows where the obstacle is and starts performing actions on its knowledge of what is right. As the robot performs actions, it lands into a new state which may or may not be new from the previous state. A reward is provided to the robot for transitioning from one state to another. This helps the robot to calculate Q-values which is basically the level of confidence to perform an action in that certain state. The robot in this project has 8 states and can perform 3 actions. It takes time to build the behavior of robot but the algorithm converges vary close to the desired result even though not completely. The robot environment has walls surrounding and 3 obstacles placed on the ground having different shapes. The goal being moving around the room without banging against any wall or obstacle.