LOCO – software for the MMX rover locomotion system


One of the scientific goals on the Martian moon Phobos is to explore locomotion in milligravity. The task of the MMX rover locomotion system is to bring the Idefix rover with its four legs and four wheels to the desired locations. This includes driving and aligning the rover with the Sun in order to optimally charge the solar panels. The locomotion system is the only system that has knowledge of the rover's kinematics – in other words, the geometry and distribution of the actuators, that is the four legs and four wheels.
LOCO software gives the rover 'legs'
The software of the locomotion system (LOCO) can be used to determine the desired paths and speeds of the rover. The software converts these into commands to the individual actuators. The main task of the locomotion system and the software is to enable the rover's four types of movement: Conventional driving enables energy-efficient forward and backward movement on sufficiently flat terrain. Here, only the wheels are turned to implement the driving command. Since the wheels are not steerable, the left wheels have to be turned faster than the right wheels when turning to the right, for example. The rover's ‘shoulders’ remain stationary in this case.
To overcome difficult terrain, the biologically inspired locomotion method ‘inching’ (caterpillar-like crawling) can be used. Here, the legs of the rover are alternately stretched and tightened and one pair of wheels is moved forward at a time. In addition, two other types of movement are necessary: One enables a stationary orientation of the rover's undercarriage, for example towards the sun. A special function is also needed to fold and unfold the legs. This is used at the beginning of the mission to unfold and straighten the rover after landing.

Simulation of the MMX Rover landing
Your consent to the storage of data ('cookies') is required for the playback of this video on Quickchannel.com. You can view and change your current data storage settings at any time under privacy.
Everything in view and under control
The software is also responsible for monitoring the MMX rover's locomotion system. Sensor data is evaluated and sent as so-called housekeeping data to the rover's central on-board software, which transmits this data to Earth. The locomotion software is part of the software on the on-board computer and communicates with other software components. For example, the central control software receives a message if the currents or temperatures are in ranges where the locomotion system can no longer perform its movements adequately.
Low susceptibility to errors and high autonomy
The software development is based, on the one hand, on the requirements for the rover's movements. This includes, among other things, the specification of the maximum speed at which the rover and the motors are allowed to move in order to avoid any undesired movements given the low gravity on Phobos.
When developing software in large space projects such as the MMX mission, care must be taken to ensure that the software is structured as simply as possible in order to minimise susceptibility to errors. At the same time, the software should act as autonomously as possible, since no direct commands can be sent and the housekeeping data takes some time to reach Earth.
During the development of the software, the researchers were constantly running tests to check the individual functions and their interaction with the rest of the rover. This was important in order to identify errors in the software and the need for additional functionalities in the early development phase. The tests were carried out both in simulation and on a model identical in construction to the original rover. The simulation was used for tests that were intended to examine the overall rover movement under milligravity. This included, for example, the algorithm that is supposed to upright the rover shortly after landing on Phobos. The interaction with the hardware, on the other hand, and its sensor monitoring takes place directly on the hardware.