40 Telfor Journal, Vol. 12, No. 1, 2020. Abstract — 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. Keywords — Autonomous driving, perception, ROS, CARLA, AUTOWARE, SIL, ADAS, C++, Python. I.INTRODUCTION EVELOPMENT of autonomous vehicles is a major trend in automotive industry. Pushing towards Society of Automotive Engineers (SAE) levels [1] four and five and fully automated vehicle as an ultimate product, engineers are facing issues that have never been addressed. As they progress with the development of some functionality new problems arise because of uncertainty of physical world, as there are many unpredicted situations that could cause accidents. Due to this, the development of virtual simulators to test vehicle’s cognitive computing [2] becomes a crucial part of the development. With this approach the perception module [3] receives input from computer-generated scenes and mathematically modelled movement patterns for pedestrians, bicycles, and other entities. An acting module [3] on the other side outputs commands to simulators that implement these as actions. Using this, billions of kilometres that are required [4] to demonstrate the reliability of autonomous vehicles in terms of fatalities and injuries, have been already simulated by OEMs [5]. By using simulator’s abstract visualizations, engineers can focus on the development of core capabilities for autonomous driving, such as: driving models and systems, remote assistance, mapping, localization, perception, etc. This paper emphasizes and explains the importance of using simulators in the modern automotive development and gives a practical example by showing how simple Advanced Driver Assistance Systems (ADAS) applications can be tested within the context. The rest of the material is organized as follows. The first part explains current state of the industry, problems and practices used. Also, it provides some academic and industry related as a background. The third section explains platforms and tools that are used for development and simulations. Section IV describes the purpose of test applications and presents an existing setup for connecting Autoware [6] with CARLA and describes sensor and start up file configuration. Section V presents validation for these use-cases in simulators and real world, and final section concludes the paper with the review of work done and some future steps. II.SIMULATORS Simulators use different models of environments that can be built from high resolution LiDARs, cameras or even virtual maps that provide annotations with tools like OpenDRIVE [7]. Furthermore, some types of simulators can augment existing data like point cloud to create Stevan Stević, Momčilo Krunić, Marko Dragojević, and Nives Kaprocki, Members, IEEE Development of ADAS perception applications in ROS and “Software-In-the-Loop” validation with CARLA simulator D Paper received May 01, 2020; revised July 17; accepted July 18, 2020. Date of publication July 31, 2020. The associate editor coordinating the review of this manuscript and approving it for publication was Prof. Miroslav Lutovac. This paper is revised and expanded version of the paper presented at the 27th Telecommunications Forum TELFOR 2019 [23]. This work was partially supported by the Ministry of Education, Science and Technological Development of Republic of Serbia under Grant III_044009_1. Stevan Stević is with the RT-RK Institute for Computer Based Systems, Novi Sad, Serbia (e-mail: stevan.stevic@rt-rk.com). Momčilo Krunić is with the Faculty of Technical Sciences, University of Novi Sad, Serbia, Novi Sad, Serbia (e-mail: momcilo.krunic@rt-rk.com). Marko Dragojević is with the RT-RK Institute for Computer Based Systems, Novi Sad, Serbia (e-mail: marko.dragojevic@rt-rk.com). Nives Kaprocki is with the RT-RK Institute for Computer Based Systems, Novi Sad and Faculty of Technical Sciences, University of Novi Sad, Serbia (e-mail: @rt-rk.com).