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 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.
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. In the MMX mission, there will be no direct link from Earth via the spacecraft to the rover, which can result in a command loop time of up to three days.
During the development of the software, the researchers are constantly running tests to check the individual functions and their interaction with the rest of the rover. This is important in order to identify errors in the software and the need for additional functionalities in the early development phase. The tests are carried out both in simulation and on a model identical in construction to the original rover. The simulation is used for tests that are intended to examine the overall rover movement under milligravity. This includes, 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.
MMX – Martian Moons eXploration
MMX is a mission of the Japanese space agency JAXA with contributions from NASA, ESA, CNES (the French space agency) and DLR. CNES (Centre National d'Études Spatiales) and the German Aerospace Center (Deutsches Zentrum für Luft- und Raumfahrt; DLR) are jointly contributing a 25-kilogram rover to the Martian Moons eXploration Mission (MMX). The Franco-German MMX rover is being designed and built under the joint leadership of CNES and DLR. In particular, DLR is responsible for the development of the rover's landing gear, including the lightweight body, as well as the entire uprighting and locomotion system. DLR is also contributing the connection adapter to the MMX spacecraft and providing a Raman spectrometer and a radiometer as scientific experiments. These will analyse the surface composition and texture on Phobos. CNES is making significant contributions with camera systems for spatial orientation and exploration on the surface, as well as for the study of mechanical soil properties. CNES is also developing the rover's central service module, including the on-board computer and the power and communications system. After the launch of the MMX mission, the rover will be operated by CNES control centres in Toulouse (France) and DLR in Cologne (Germany).
For DLR, the institutes of System Dynamics and Control, Composite Structures and Adaptive Systems, of Space Systems, of Optical Sensor Systems, of Planetary Research, for Software Technology and the Microgravity User Support Center (MUSC) are also involved under the leadership of the DLR Institute of Robotics and Mechatronics.
The MMX mission is a continuation of an already long-standing successful cooperation between JAXA, CNES and DLR. It builds on the previous mission Hayabusa2, in which JAXA sent a spacecraft to the asteroid Ryugu with the German-French MASCOT lander on board. On 3 October 2018, MASCOT landed on Ryugu and sent spectacular images of a landscape ridden with boulders and rocks, and virtually no dust. Hayabusa2 collected samples from Ryugu and brought them to Earth on 6 December 2020.