Software-only testing, in the context of mobile machines, refers to testing that is carried out with nothing else but software. What do you have to take into account in software-only testing, and what kind of tools are available for it?
When testing is carried out by means of virtualization and simulation, software can be multiplied easily and the amount of testing is easily scalable. Another benefit is that testing does not have to take place in a test field, and in fact the software is enough to achieve realistic accuracy.
Simulators as tools
The simulation can be implemented by combining mostly open source software, but also some commercial software. Although suitable simulation software tools are available, they must nevertheless be tailored to be compatible with the software to be tested, combined with the creation of a realistic test environment.
Simulators can be used to create high-quality simulated sensor data, but the data must be modified into a format that the software to be tested can understand it. From the viewpoint of the software to be tested, data must be of the same kind that would be received from a real sensor.
For example, Gazebo is used for the simulation of mobile devices. It can provide various physics engines and sensor simulation, among other things. However, the simulator does not have ready-made models of the physical world for devices and the environment, meaning that the construction and maintenance of testing environments can be expensive and complicated. CARLA, on the other hand, is a simulator designed specifically for the automotive industry that offers pre-designed environments and vehicle models in addition to sensor simulation.
Software-only testing in practice
Software-only testing is useful in, for example, industrial machine control systems that include automatically moving devices and heavy machines. Atostek has, by utilizing Gazebo, set up a software-only testing environment for the existing control system. This enables more extensive testing in future even before the control system is connected to the actual machine and test field.
Atostek has also implemented a Flexbot development framework to facilitate the development of mobile devices. Flexbot has been implemented with Rust programming language that is used in environments where the focus is on security. Flexbot is also compatible with the Robot Operating System 2 (ROS2). By utilizing ROS2 robotics, the machine control system implemented with Flexbot can be connected with CARLA, enabling software-only testing.
Marketing and Communications Specialist