Report (PDF): Reinforcement Learning with AWS DeepRacer 🚗
In the current age of technology, engineers are constantly looking for new ways to automate technology and human processes. Machine learning and artificial intelligence have been leading the charge as of late in reducing our own input and intervention in our daily lives. One area of automation that machine learning is being applied to is in autonomous driving or self-driving vehicles, in which a vehicle by sensing its environment is able to drive on its own without human assistance or control. Autonomous driving provides an alternative solution to preventing vehicle accidents and reducing emission of carbon dioxide. Supervised learning has been used in the past with self-driving cars, but the use of labeled training data inherently requires human bias that autonomous driving is supposed to avoid. Recently, one method has come to the forefront as a new potential solution to cars driving without needing humans behind the wheel: reinforcement learning (RL).
To test the effectiveness and viability of reinforcement learning in autonomous driving, we chose Amazon Web Service’s (AWS) DeepRacer vehicle to be our agent. AWS DeepRacer is an autonomous 1/18th scale race car designed to test RL models by racing on a physical track. The car uses a camera to view the environment of the track and a reinforcement learning model to guide its speed and direction. Through training the miniature race car with a customizable reward function, the car learns to properly drive on a track and stay on course. AWS DeepRacer allows students to construct their own tracks for their cars to drive on and provides an online portal to train their models with. The program also provides students and educators the opportunity to put their DeepRacer cars to the test and race them against other DeepRacers around the world in real-life competitions.
Our goal for this project was to train a reinforcement learning model that would allow the AWS DeepRacer car to successfully perform multiple laps around a track while staying within the driving lane at all times. We also hoped by customizing our reward functions to learn more about what goes into creating effective reward functions in reinforcement learning. Ultimately, we wanted to test the potential of using reinforcement learning for autonomous driving on a small scale, which may have implications for autonomous driving with standard-sized vehicles. The report contains the methodology, results, and takeaways of our research.