Popis: |
A policy determines the action that an autonomous car needs to take according to its current situation. For example, the car keeps itself on track or overtakes another car, among other policies. Some autonomous cars could need more than one policy to drive appropriately. In those systems, the behavior selector subsystem selects the policy that the car needs to follow. However, in the current literature, there is not a unified way to create these policies. In most cases, the amount and definition of the policies are hand-engineering using the information taken from observations and the knowledge of the engineers. That paradigm requires a lot of human effort. Additionally, there is human subjectivity due to the hand labeling. Furthermore, the experts could not agree about the number of existing situations and the boundaries between policies (the point at which one situation turns into another). To deal with the subjectivity of setting the number and definition of policies, we propose a novel approach that uses the “divide and conquer” paradigm. This method first, sets the number of required policies by clustering previous observations into situations, and second, it configures a regression-based policy for each situation. As a result, (i) the method can detect driving situations from raw data automatically using unsupervised algorithms, helping to avoid the hand-engineering made by an expert, and (ii) the method creates relatively small and efficient policies without human intervention using behavioral cloning. To validate the method, we have collected a custom dataset in simulation and we have conducted several experiments comparing the performance of our proposal versus two state-of-the-art end-to-end methods. Our results show that our method outperforms the end-to-end approaches in terms of a bigger R square metric (0.19 over the tested methods) and a lower mean squared error (0.48 below the tested methods). |