The SMT-based automatic road network generation in vehicle simulation environment

Vehicle simulators are widely used to test the correctness of vehicle control algorithms. It is important to create a virtual road environment in a way that the vehicle algorithm can be tested under various circumstances that may happen in the real world. However, building such a road environment is typically time consuming and performed in a manual and ad-hoc fashion without having a good notion of coverage criteria. We propose the automatic road network generation for vehicle simulation that is based on Satisfiability Modulo Theories (SMT). We first introduce the curve coverage criteria to characterize the property of horizontal/vertical curves that are required to test advanced safety features such as adaptive cruise control or lane keeping assistance. This criteria includes the number of curves, the distance of adjacent curves and horizontal/vertical curvatures. We propose the road network generation algorithms that utilize the SMT solver to determine a set of 3 dimensional coordinates. This algorithm takes an input of the parametrized constraints formalized from the curve coverage criteria and automatically determines a set of 3D coordinates to generate the road structure. Vehicle simulation engines can then use these coordinates to visualize the road networks, and such road networks are guaranteed to conform to the curve coverage criteria. We developed a plug-in for the Unity3D simulation engine that automates this process and demonstrate the applicability of the generated the road network for the adaptive cruise control testing.

[1]  Bernd Fischer,et al.  SMT-Based Bounded Model Checking for Embedded ANSI-C Software , 2012, IEEE Transactions on Software Engineering.

[2]  Sarfraz Khurshid,et al.  Symbolic execution for software testing in practice: preliminary assessment , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[3]  Phil McMinn,et al.  Search-based software test data generation: a survey: Research Articles , 2004 .

[4]  Susan T Chrysler,et al.  AUTOMATED GENERATION OF VIRTUAL SCENARIOS IN DRIVING SIMULATOR FROM HIGHWAY DESIGN DATA , 2010 .

[5]  Patrice Godefroid,et al.  SAGE: Whitebox Fuzzing for Security Testing , 2012, ACM Queue.

[6]  Eric Galin,et al.  Procedural Generation of Roads , 2010, Comput. Graph. Forum.

[7]  Song Jian,et al.  Generation of virtual road surfaces and simulation of nonlinear vibration of vehicles , 1999, Proceedings of the IEEE International Vehicle Electronics Conference (IVEC'99) (Cat. No.99EX257).

[8]  Nikolaj Bjørner,et al.  Efficient E-Matching for SMT Solvers , 2007, CADE.

[9]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[10]  Jan Peleska,et al.  Automated Test Case Generation with SMT-Solving and Abstract Interpretation , 2011, NASA Formal Methods.

[11]  R. Ramanathan,et al.  Computer simulation of road surface profiles for a four-wheeled vehicle , 1982, WSC.

[12]  Corina S. Pasareanu,et al.  A survey of new trends in symbolic execution for software testing and analysis , 2009, International Journal on Software Tools for Technology Transfer.

[13]  Francisco Aparicio,et al.  Measurement uncertainty determination and curve-fitting algorithms for development of accurate digital maps for advanced driver assistance systems , 2009 .

[14]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[15]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[16]  Jay A. Farrell,et al.  Optimization-based road curve fitting , 2011, IEEE Conference on Decision and Control and European Control Conference.

[17]  Guodong Li,et al.  Scalable SMT-based verification of GPU kernel functions , 2010, FSE '10.