PyCar: The virtual test car in Python

A vehicle model implemented in python for dynamics analysis and control design.

Vehicle modeling

For the modeling, the multi-body approach is applied and nine rigid bodies are considered, namely, 4 wheel-tires, 4 knuckles and 1 chassis (see Fig. 1). The equation of motions are obtained using the Jourdain’s Principle, also called the method of virtual power. Finally, a set of three differential equations describe the dynamics of the vehicle. The first set is the kinematic equation, here, the time derivative of the generalized coordinates is calculated using the kinematic matrix and the vector of generalized velocities. The second set is the dynamic equation, in this step the generalized acceleration are calculated using the vector of generalized forces and moments. The last set of equations is used to calculate the generalized forces of the force elements. In this virtual car, three kind of suspension systems available, e.g., Double Wishbone, McPherson and Multi-link. Lookup tables are employed to describe the force elements.

Multi-body vehicle model and its coordinate systems [1].

Tire modeling

In vehicle dynamics, one of the most important physical phenomena is the tire-road interaction. In a proper vehicle model, the tire needs to be modeled according to the application for which the vehicle model is being built. In this project, the Tire Model easy to use, also called TMeasy [2], is adopted. This model has two main advantages, accurate results and low time comsuming.


[1] Rill, G.: Road Vehicle Dynamics - Fundamentals and Modeling, Taylor & Francis, Boca Raton, 2011.

[2] Rill, G.: TMeasy‚ÄďA Handling Tire Model based on a three-dimensional slip approach. In Proceedings of the XXIII International Symposium on Dynamic of Vehicles on Roads and on Tracks (IAVSD 2013). Quingdao, China, 2013.


More details about this project will be available soon!