AI and Software, Self-driving cars, Testing and Simulation

Simulation testing of autonomous driving systems

By Sonya,

January 23rd, 2019

Simulation is an important tool when developing autonomous mobile robots. It is being used for testing autonomous driving systems and software stacks as well as training self-driving vehicles.

Having an accurate representation of the vehicle’s dynamic and kinematic behaviour, allows developers to simulate the robot’s response when replaying the sensors’ data, collected from real world testing. This can then be used as a validation tool for the vehicle’s software in terms of its robustness and reliability in challenging conditions.

The video below shows our new Universal Robotic Description Format (URDF) Vehicle Model for future testing.

Here at StreetDrone, we are using Gazebo to build our robot simulation and to rapidly test algorithms, design the vehicle and perform regression testing in realistic scenarios. The model is built according to the actual vehicle’s dynamic and kinematic measurements, from data retrieved at Oxford Brookes University.

We built the StreetDrone Twizy according to the URDF, which is an XML file format used in ROS* to describe all elements of the vehicle. The vehicle is built according to the bicycle model for motion models, integrating Ackermann steering geometry, which is a geometric arrangement of linkages in the steering of a vehicle, designed to solve the problem of wheels on the inside and outside of a turn needing to trace out circles of different radii.

Image courtesy of Wikipedia


The vehicle in our simulations is being controlled and tested using the Xbox 360 wired controller. The joystick outputs twist messages to the robot (topic: /cmd_vel), similar to the ones the actual vehicle receives as input. The integrated controller implements the control of the Ackerman kinematics of the robot and uses a PID (Proportional Integral Derivative) Controller as control loop feedback mechanism.

To ensure the success and robustness of our software, a detailed and accurate vehicle model is essential before real life testing. Safety is our priority, and our goal is to first validate our stack in the virtual world, simulating different scenarios before testing on the road. This allows us, and our customers, to continuously improve and optimise our software.

*ROS (Robot Operating System) is a robotics middleware


Become a Member

Enter our draw for a chance to test drive the StreetDrone ONE and spend a day with the SD team! Additionally, get acces to exclusive technical content, discounted events and conferences