Development of ADAS perception applications in ROS and "Software-In-the-Loop" validation with CARLA simulator - Stević, Stevan; Krunić, Momčilo; Dragojević, Marko; Kaprocki, Nives (Telfor Journal, 2020)
Higher levels of autonomous driving are bringing sophisticated requirements and unpredicted challenges. In order to solve these problems, the set of functionalities in modern vehicles is growing in terms of algorithmic complexity and required hardware. The risk of testing implemented solutions in real world is high, expensive and time consuming. This is the reason for virtual automotive simulation tools for testing are heavily acclaimed. Original Equipment Manufacturers (OEMs) use these tools to create closed sense, compute, act loop to have realistic testing scenarios. Production software is tested against simulated sensing data. Based on these inputs a set of actions is produced and simulated which generates consequences that are evaluated. This creates a possibility for OEMs to minimize design errors and optimize costs of the vehicle production before any physical prototypes are produced. This paper presents the development of simple C++/Python perception applications that can be used in driver assistance functionalities. Using ROS as a prototyping platform these applications are validated and tested with "Software-In-the Loop" (SIL) method. CARLA simulator is used as a generator for input data and output commands of the autonomous platform are executed as simulated actions within simulator. Validation is done by connecting Autoware autonomous platform with CARLA simulator in order to test against various scenes in which applications are applicable. Vision based lane detection, which is one of the prototypes, is also tested in a real world scenario to demonstrate the applicability of algorithms developed with simulators to real-time processing