Vincent Acary

Maurice Brémond

Konstantinos Kapellos

Jan Michalczyk

Roger Pissard-Gibollet

MECHANICAL SIMULATION OF THE EXOMARS ROVER USING SICONOS IN 3DROV

Keywords: Siconos, 3DRov, contact, impact, Coulomb's friction, nonsmooth dynamics, numerical simulation

 simulator.

INTRODUCTION

This paper presents ongoing work at INRIA in collaboration with TRASYS on the mechanical modelling and simulation of planetary rovers. The first aim is to use the modeling and the simulation features of the INRIA SICONOS software dedicated to nonsmooth dynamical systems [START_REF] Acary | Numerical methods for nonsmooth dynamical systems: applications in mechanics and electronics[END_REF] into a specific rover simulator developed by TRASYS, 3DROV. In this particular application, we focus our work on the simulation of multi-body systems that undergo unilateral contact, friction and impact with its environment. We present a open-source software code, able to deal with idealized contact interaction based on unilateral (rigid) contact, 3D Coulomb friction and impacts. Using such a software into an overall simulation tool as 3DROV may help a lot in designing the control law for locomotion and simulating the global behavior of the rover. In addition, software integration aspects are considered defining and implementing generic software interfaces between SICONOS and external 3D tools. The approach is applied to the rover planetary operations enhancing the fidelity and the genericity of the ExoMars existing rover mechanical models used in the TRASYS 3DROV [START_REF] Poulakis | 3drov: A planetary rover system design, simulation and verification tool[END_REF] simulator. The ultimate objective of this work is to integrate SICONOS and 3DROV from the rover mechanical modelling phase to the rover motion simulation and 3D Visualization.

Outline. In Section 2, we briefly review the literature on the modeling and simulation of rovers. In Section 3, we present the main features of Siconos with a brief explanation of the interest of using a nonsmooth approach for contact and friction simulations. Section 3 ends with several stand-alone experiments of obstacle avoidance and traction performance. In Section 4, the TRASYS 3DROV [START_REF] Poulakis | 3drov: A planetary rover system design, simulation and verification tool[END_REF] rover planetary operations simulator is presented. Section 5 concludes the paper.

STATE OF THE ART

The design of the rover chassis and the study of the locomotion have already been the object of a lot of efforts from several teams in the NASA's Mars Exploration Rovers(MER) project and in the ESA's ExoMars project. The main subjects of interests are the static stability of the rover over steep slopes and the kinematic studies for obstacle avoidance which asks for specific requirements on the geometry of the suspension. The traction performance, which demands for minimal friction requirements has also been extensively studied. To achieve these various goals, designers have worked mainly on the suspension systems and the design of the wheels in order to obtain a good trade-off of performances over various terrains from soft soils (sands, fine granular materials) to rigid surfaces (rocks, coarse granular materials). For an overview of these efforts, we refer to [START_REF] Lee | Design and manufacture of a full size breadboard exomars rover chassis[END_REF][START_REF] Michaud | Development of the exomars chassis and locomotion subsystem[END_REF][START_REF] Michaud | Lesson learned from exomars locomotion system test campaign[END_REF][START_REF] Oechslin | Wheel level test data generation and utilization to predict locomotion performances of planetary rovers and validate simulation tools[END_REF] and [START_REF] Patel | The exomars rover locomotion subsystem[END_REF] for a survey.

Physical-based modeling and simulation of planetary rovers is an integral part of planning, testing and design of robotic planetary missions. Therefore, most of these studies have been based on simulation software codes, which are for most of them overall simulation tools containing the simulation of multi-body systems in their environment (mainly with the interaction wheel/terrain), the simulation of the control systems, the hardware in the loop system and the 3D Visualization rendering and animations systems. One of the first piece of software is ROAMS (Rover Analysis, Modeling and Simulation) developed at the Jet Propulsion Laboratory (JPL) for the NASA's MER project. It is based on the DSHELL/DARTS software [START_REF] Yen | Roams: Rover analysis, modeling and simulation[END_REF][START_REF] Jain | Roams: Planetary surface rover simulation environment[END_REF][START_REF] Jain | Recent developments in the roams planetary rover simulation environment[END_REF][START_REF] Cameron | Vehicle-terrain interaction modeling and validation for planetary rovers[END_REF] and offers functionalities for the overall mission simulation with embedded software ans operator-in-the-loop simulator. A particular focus is made on the wheel/terrain interaction by integrating on the Bekker model [START_REF] Bekker | Introduction to terrain vehicle systems[END_REF][START_REF] Bekker | The development of a moon rover[END_REF] and its extensions. On the ESA's side, a lot of efforts has been done to develop robust and efficient simulation tools.

Among others, this work includes RCAST developed by MDA and the Dalhousie University in Canada. It is a simulator including 3D simulation of multibody systems from CAD model (SolidWorks and Pro/E) based on Matlab/Simulink toolbox, SimMechanics. It includes rich wheel-soil interaction models developed in a Simulink S-Function blockset based on the AESCO Soft Soil Tire Model (AS2 TM enhancement of the Bekker model) [START_REF] Aesco | Matlab/Simulink module AESCO soft soil tyre model (AS 2 TM) users guide[END_REF] and a standard control system based on sensors and actuators in Simulink. This software is embedded in the Simulink's Virtual Reality Toolbox. Other simulators dedicated for the simulation of general multibody systems have also been used like SIMPACK at DLR [START_REF] Gibbesch | Multibody system modelling and simulation of planetary rover mobility on soft terrain[END_REF][START_REF] Michaud | Development of the exomars chassis and locomotion subsystem[END_REF][START_REF] Michaud | Lesson learned from exomars locomotion system test campaign[END_REF] with an elasto-plastic models with damping of soils and experimental fitting of parameters or COS-MOS/Motion in [START_REF] Patel | Rover mobility performance evaluation tool (rmpet): A systematic tool for rover chassis evaluation via application of bekker theory[END_REF] in the context of Rover Mobility Performance Evaluation Tool (RMPET). Recently, an effort has also been done in the framework of 20sim to develop a software for the port-based modeling and simulation of the rover on rough terrain [START_REF] Poulakis | Port-based modeling and simulation of planetary rover locomotion on rough terrain[END_REF][START_REF] Wassink | Digital elevation map reconstruction for port-based dynamic simulation of contacts on irregular surfaces[END_REF]. One of the main advantage of the port-based and the bond graph approach is the possibility to integrate in the same model multi-physical systems and the control systems.

Concerning the specific aspect of the simulation of multibody systems with contact and friction, all the previous software codes share a wheel/terrain modeling based on some extensions of the Bekker model. From the computational point of view, this model is very convenient because it is sufficiently regular to simulate it with any kind of numerical time integration solvers. If Bekker's model is well-suited for soft soil/wheel interactions, it may be more debatable for rigid soils like rocks or coarse granular materials. In this latter case, the stiffness constants at contact that models the rigid contact of the wheel and the rocks drastically increase and put the standard simulation tools in troubles. This disadvantage in terms of modeling and simulation efficiency can be overcome with a nonsmooth approach as we propose in Siconos. Dealing with inequality constraints to model extremely stiff contacts rather than using large stiffness constants ensures the stability and the efficiency of the solvers. Furthermore, the choice of complex models at contact with a lot of parameters can be difficult to use on varying and uneven terrain. The problem of identifying parameters and their large variability can be a drawback for designing and testing robust control laws and performing realistic predictive simulations. Most of the time, when stiff contact are involved, the respect of impenetrability between bodies, the ideal modeling of threshold and multi-valued effects of the Coulomb friction and the coverage of the dissipation effects with an impact law are sufficient and even more robust for the simulation and the analysis of mechanical systems.

In the more general framework of the simulation of robotic systems, commercial pieces of software have also been used to simulate systems in the framework of the ExoMars project. One can cite MapleSim1 and Mathworks SimMechanics 2 . Other tools as Modelica (vehicle dynamics or 3D mechanical systems toolboxes) 3or Microsoft Robotics developer Studio4 may also be used, although as far as we know no publication is available. In 3DRov [START_REF] Poulakis | 3drov: A planetary rover system design, simulation and verification tool[END_REF] or more general robotic simulator like Gazebo 5 , physical engines that come from computer games and animation like ODE, Bullet6 or PhysX7 are also used for mainly two reasons. The first one is that ODE and Bullet are open source software codes and the second one is that they deal with an apparent simplicity with idealized contact and friction models. Nevertheless, since these software codes are developed for the simulation of large scenes of objects for videos games, the realistic Physics and Mechanics are sometimes sacrificed for some performance reasons. For instance, part of the dynamical system may be artificially frozen and the modeling of Coulomb's friction is often not realistic.

SICONOS

SICONOS is an Open Source scientific software primarily targeted at modeling and simulating nonsmooth dynamical systems in the most generic sense. In particular, it can deal with the following systems: mechanical systems (Rigid body or solid) with unilateral contact and Coulomb friction as we find in nonsmooth mechanics, contact dynamics or Granular material, switched Electrical Circuit such as electrical circuits with ideal and piecewise linear components Power converter, Rectifier, Phase-locked loop (PLL) or Analog-to-digital converter, sliding mode control systems. Other applications are found in Systems and Control (hybrid systems, differential inclusions, optimal control with state constraints), Optimization (Complementarity systems and Variational inequalities), Biology (Gene regulatory network), Fluid Mechanics and Computer graphics. The software is based on 4 main components : 1. SICONOS/NUMERICS (C API). Collection of lowlevel algorithms for solving basic Algebra and optimization problems arising in the simulation of nonsmooth dynamical systems: Linear complementarity problems (LCP) Mixed linear complementarity problems (MLCP) Nonlinear complementarity problems (NCP) Quadratic programming problems (QP) Friction-contact problems (2D or 3D) (Second-order cone programming (SOCP)) Primal or Dual Relay problems 2. SICONOS/KERNEL. C++ API that allows one to model and simulate nonsmooth dynamical systems. it contains : Dynamical systems classes (first order one, Lagrangian systems, Newton-Euler systems) and nonsmooth laws (complementarity, Relay, FrictionContact, impact) 3. SICONOS/MECHANICS This component is a modeling toolbox for multi-body systems based on external collision and geometry libraries. 4. SICONOS/FRONT-END generated python bindings for Numerics, Kernel and Mechanics, with a special support for Siconos data structures.

Nonsmooth Mechanics at a glance In this section, we recall the main ingredients of the nonsmooth mechanics approach for the modeling and the simulation of mechanical systems with contact and friction. For more details, we refer to [START_REF] Acary | Numerical methods for nonsmooth dynamical systems: applications in mechanics and electronics[END_REF]. Let us start with the following Lagrangian formulation of the equations of motion

               q = v, (1a)
M (q) v + N (q, v) + F (t, q, v, u) = G (q)λ, (1b) u = d(t, q, v, u, λ), (1c)
g k (q) = 0, k ∈ E (1d) g k (q) ≥ 0, λ k ≥ 0, λ k g k (q) = 0 k ∈ I, (1e)
where q(t) ∈ IR n is a set of coordinates that gives in a unique way the configuration of the system. The vector v(t) ∈ IR n describes the velocity. The matrix M ∈ IR n×n is a symmetric, positive and (semi-)definite matrix representing the inertia. The vector of gyroscopic effects is denoted as N ∈ IR n . The vector of forces F ∈ IR n applied to the system includes the internal and external forces and the effect of the vector u ∈ IR nu which might be considered as a control input vector. The dynamics of this control can be described by another first order dynamical system (1c). The sets E ⊂ IN and I ⊂ IN are the index sets of bilateral constraints (E stand for equalities) and of unilateral constraints (I stand for inequalities), respectively. The matrix G(q) = ∇ q g(q) is the Jacobian of the constraints. The condition (1e) is called a complementarity condition, or equivalently the Signorini condition. It can be equivalently written as

0 ≤ g k (q) ⊥ λ k ≥ 0 for all k ∈ I. (2)
This condition models the basic unilateral contact condition. The complementarity comes from the fact that the reaction force at contact represented by λ can only act when the contact is closed, that is when g k (q) = 0.

In order to complete the model at contact, let us introduce the local contact variables. Usual kinematic relations between the local velocity U k ∈ IR 3 at one contact k and the generalized variables, and by duality, the generalized forces r due to contact forces R k ∈ IR 3 give

U k (t) = G k (q) q = G k (q)v, r = G k (q)R k . (3)
Let us drop the subscript k to lighten the notation. By introducing a local frame at contact (N, T, S) where N is a unit normal vector, we can decompose the local variables as

U = U N N + U T , U T ∈ IR 2 , R = R N N + R T , R T ∈ IR 2 .
The Lagrangian dynamics in (1) is usually not so smooth. If the normal relative velocity at contact U N (t ) is positive when the bodies hit at time t , in other words, when an impact occurs, a velocity jump must occur to satisfy the constraints after t and an impact law has to be added. Let us simply choose the Newton impact law

U + N (t ) = -eU - N (t )
, for all t such that g(q(t )) = 0.

(4) By formulating the unilateral contact in terms of local variables at contact we get the impact law at the velocity level

if g N ∆ = g(q) ≤ 0, then 0 ≤ U + N + eU - N ⊥ R N ≥ 0. (5)
Coulomb's friction can be expressed in a disjunctive form as

if g N ≤ 0,    if U T = 0 then R ∈ C if U T = 0 then R ∈ ∂C, and it exists a ≥ 0 such that R T = -aU T (6) where C is the Coulomb friction cone, C = {R, | R T
≤ µR N } with µ the coefficient of friction. Coulomb's friction can also be formulated compactly as a complementarity condition on second-order cones as [START_REF] Acary | Numerical methods for nonsmooth dynamical systems: applications in mechanics and electronics[END_REF][START_REF] Acary | A formulation of the linear discrete Coulomb friction problem via convex optimization[END_REF][START_REF] Acary | Recent Advances in Contact Mechanics[END_REF] -

Û ∆ = - U N + µ U T U T and C * ∈ Û ⊥ R ∈ C (7)
where C * is the dual cone of C [START_REF] Rockafellar | Convex Analysis[END_REF].

Interest of the nonsmooth mechanics approach.

Here are listed the main interests of using an approach based on nonsmooth Mechanics when we want to deal with multi-body systems with unilateral contacts, friction and impacts:

1. The use of complementarity formulation allows us to deal with hard contacts in a very efficient way avoiding the issues related to the time-integration of stiff problems. When we want to simulate contacts on hard surfaces, avoiding deep inter-penetrations obliges to use large stiffness parameters in a standard approach. This is overcame in the presented approach.

2. Nonsmooth contact laws are based on few parameters (coefficient of restitution and friction). Contact parameters are often very difficult to measure and have a great variability. Proposing contact laws with few parameters that represents the main effects at contact (interpenetrability avoidance, friction with real sticking phase and plastic dissipation) provides the user with robust simulation tools in view of Control applications. Furthermore, nonsmooth contact laws can be easily extended to take into account more enhanced effects such as stiffness, damping or cohesion [START_REF] Acary | Numerical methods for nonsmooth dynamical systems: applications in mechanics and electronics[END_REF]. For soft-soil simulation, piecewise continuous Bekker model could be implemented in this context.

3. The associated simulation methods are proven to be efficient on a large number of applications from medium to large scale multi-body systems [START_REF] Radjaï | Discrete-element modeling of granular materials[END_REF]. Granular materials with large number of contacts points (between 10 4 and 10 6 ) can be simulated with such algorithms. 4.

Such an approach has been proved to be robust and efficient on several important industrial applications. Siconos is for instance used for more than 5 years in a strong collaboration between Schneider Electric and INRIA for the virtual prototyping of the mechanisms of circuit breakers [START_REF] Acary | Projected event-capturing time-stepping schemes for nonsmooth mechanical systems with unilateral contact and coulomb's friction[END_REF]. The robustness with respect to contact parameters and the efficiency of the simulation that avoids problems due to stiffness provides Schneider Electric with a robust predictive tool for new designs. This numerical methods are also the object of a closed collaboration with ANSYS for the rigid body dynamics toolbox [START_REF] Haddouni | Comparison of index-3, index-2 and index-1 dae solvers for nonsmooth multibody systems with unilateral or bilateral constraints[END_REF].

Architecture and implementation

The development team focused on the development of the simulation and modeling tools which are as most as possible reusable for different scientific contexts.

Any specific pre/post-processing tools has been developed. Dynamical systems and interactions (unilateral constraints) classes provided by Siconos/Kernel may be configured with the help of plugins or by class derivation.

For high-level applications SICONOS relies on external software and provides with an efficient computational engine. Concerning the mechanical modeling, it is possible to simulate linear or non-linear rigid or deformable bodies.

The numerical simulation strategies available in Siconos/Kernel are quasi-statics, smooth dynamics, nonsmooth dynamics, each one being either linear or non-linear and simulated with event-capturing or event-detecting schemes. Available time integration schemes are Moreau-Jean scheme, Schatzman-Paoli scheme, nonsmooth Newmark scheme [START_REF] Chen | A Newmark-Type Integrator for Flexible Systems Considering Nonsmooth Unilateral Constraints[END_REF][START_REF] Chen | A nonsmooth generalized-α scheme for flexible multibody systems with unilateral constraints[END_REF], Odepack suite and DAE solvers developed by E. Hairer [START_REF] Hairer | Solving Ordinary Differential Equations I[END_REF].

Inside SICONOS/KERNEL, the description of the user model relies internally on a primary graph with dynamical systems as nodes and interactions as edges. During time evolution, the determination of active constraints corresponds to the building of sub-graphs of the primary graph. In the case of problems formulated in local coordinates an adjoin graph transformation is dynamically applied to sub graphs in order to drive the computation of the components of the optimization problem given to Numerics solver.

The primary graph structure may be entirely specified once by the user, or it may also be rebuilt during the simulation, as, for example, the result of a contact detection broad-phase. Links with pre/post processing software for collision detection (Bullet contact detection [START_REF]Bullet Physics Library[END_REF]) and CAD libraries (OpenCascasde [START_REF]CASCADE Technology[END_REF] and PythonOCC [START_REF]PythonOCC. 3D CAD/CAE/PLM development framework for the Python programming language[END_REF]) has been set-up. The latter link enables the contact detection between bodies defined by B-Rep (splines, nurbs, ...) and then to compute gaps and local frame at contact. Such a geometrical representation of the data allows to use realistic modeling of surfaces with large sliding. The possible impact laws for mechanics are complementary condition, impact with or without friction.

SICONOS is written in C++ and has an object oriented architecture, there is no graphical user interface (GUI). A simulation is run through a C++ or Python script in which are gathered the objects creations and the method calls on these object that make up the computation. Furthermore, not only the coarse level of command driving is available, but the time loop can be exploded in every step to allow for an interactive simulation. In the same way the whole database is accessible through copy or reference, allowing for a efficient access and aimed at designing any post-processing functions.

More details can be found at http://siconos. gforge.inria.fr.

Rover simulation using Siconos Standalone

The Rover simulation in the Siconos platform allows us to simulate the robot motion taking into account rigorously dynamics and non-regular models of contact friction. Roughly, coding a Siconos application consists in two main steps : the first is to describe the dynamic Rover model and the contact model interaction between wheels and the environment; the second is to define appropriate numerical parameters for the model.

More precisly, any Siconos code (C++ or Python) is composed of the following sub-steps:

1. define some DynamicalSystem instances 2. define some Interaction instances, and for each 5. define a Simulation: the way the behavior of the NonSmoothDynamicalSystem will be computed define a TimeDiscretisation choose a strategy: TimeStepping or EventDriven define some integrators for the DynamicalSystems (OneStepIntegrator) 6. define a way to formalize and solve the possible non smooth problems (formulation + solver, the OneStepNSProblem)

7. associate the Simulation to the Model 8. launch the Simulation (time loop)

Modeling The Rover dynamical model is a La-grangianDS siconos object (lagrangian formulation). For 3D Rover modeling, the inertia matrix and contact model interaction relations are difficult to set-up by hands. We use a Maple TM code to automatically generate these relations, and to export into C files. In Siconos, we import these relations as a plug-in function that are dynamically loaded. The HuMAns toolbox( [START_REF] Wieber | The humans toolbox, a homogenous framework for motion capture, analysis and simulation[END_REF]) using Maple TM software tool enable us to easily do complex modeling easily with high accuracy.

Originally developed for humanoid robotics research, the HuMAnS toolbox (for Humanoid Motion Analysis and Simulation) proposes a wealth of state -of -the -art algorithms from the field of robotics research for the modeling, the analysis and the simulation. In our case, we used it to generate the multi-body dynamic model for the Rover. For this, the user need to describe the Rover parameters through several Maple TM input files. One file must describe kinematic parameters of the Rover, it indicates the relative location of key-points of the model and the degree of freedom of every connecting point. An other file describes the dynamical parameters, it describes the inertials parameters: the gravity vector, the mass of the segment, the position of the segments centers of mass and the inertia matrix of these segments relative to the centers of their attached frames. Then, the Maple TM generator included in HuMAns produces C code for M (q) the system inertia, G(q) the forces which derived from a potential energy (for example the gravity), N (q, q) a non-linear effects matrix.

For the simulation we used a simplified model inspired from the ExoMars rover chassis with six wheels on three simple passive bogies located forward at each side of the rover and one on the rear (see [START_REF] Michaud | Development of the exomars chassis and locomotion subsystem[END_REF]). The payload is simply modelised with a mass uniform parallelepiped. The visual representation and joints notation are given on the figure 1. The rover has 21 Degree Of Freeedom (DOF) : 6 for the location of the rover, 6 for the rotation of each wheel, 6 for each wheel steering and 3 for each passive joint of the bogies.

To describe the contact of the Rover with the solid ground or granular soil in Siconos, we need two plugin functions: h to compute the distance between contact points and G which is the transformation matrix of velocity of contact points from the global frame to the local frame.

To simplify the model, we only consider point contact. In this contact model, we simplify the axis of the wheel into a point, and create contact model between this point and the sphere, a plane or a mesh.

For the simulation results given below, the ground is modeled by meshes. In order to be able to perform a simulation of the rover roaming on a triangular mesh in Siconos one needs to have the appropriate interaction and relation classes defined. Relation class is an interface providing distances between the surfaces being checked for collision as well as jacobians, which in turn provide mappings from the local to global coordinate frames. While distances are needed for collision detection, jacobians are crucial for resolving impacts and non-smooth friction problems. Distances calculation is a broad topic in itself, briefly speaking these can be delivered by a third-party collision detection library or calculated according to an explicit algorithm built-in in the respective relation class.

In the standalone simulation the latter approach has been chosen. Namely, distance function has been defined explicitly in order to calculate the gap between the center of each wheel of the robot and a triangle arbitrarily oriented in space. Everytime this function returns zero (with certain tolerance) a collision is declared. Jacobian is defined within the relation class as an operator resulting from the multiplication of the local triangle's rotation matrix with an inverse of robot's geometric jacobian. Relation object together with a non-smooth law define the interaction between systems. In the standalone simulation an interaction is instantiated between each wheel and each triangle. Thus, there is six times as many interactions as wheels. This approach can become inefficient as the number of triangles (and complexity of the mesh) grow. To compensate for this problem a space filter should be used in the future which in essence filters out and discards interactions between objects which are far enough.

The C code generated, for the rover model and the contact model interaction, is then imported in Siconos code plugin function. It enables us to easily do complex modeling with high accuracy. This work of modeling is detailed in the report [START_REF] Acary | Simulation of a mars rover on granular soils[END_REF].

Simulation Results After the modeling step, we describe the simulation strategy and its parameters. For the simulations presented below, we instance a NewtonImpactNonSmootLlaw to simulate contact, Moreau's Time Stepping scheme and Newton/AlartCurnier solver to solve the 3D friction problem. Details on the simulation parametrizations can be found on [START_REF] Acary | Numerical methods for nonsmooth dynamical systems: applications in mechanics and electronics[END_REF]. On the Siconos platform, the 3-D visualization is done in a VRML environment. We simulate the rover with differents initial condition and different environment.

In the sequel, several results are presented obtained from the standalone simulation of the rover in Siconos. Two cases are studied which corresponds to the main tests for the design and analysis the chassis:

1. Obstacles overcoming: in our experiment, we test the ability to go over an obstacle in the form of a step of 0.1 meter high 2. traction performance: in this latter experiment, we test the ability of the rover to drive uphill with changing wheels' torques and a given coefficient of friction.

Obstacles overcoming In this test case, a 0.1 meter high step is set in front of the robot (Fig. 2). Several impacts occur when robot climbs the step. First impact is due to the fact that rover falls down onto the plane at the beginning of the simulation. Following impacts affect not only y velocity component but also x and z velocity components and are due to the collision with the step. The restitution coefficient equals to 0.1 and the friction coefficient is equal to 0.35. Abrupt changes are observed in velocity of the robot's centre of mass due to impacts.

Traction perfomance In this second test case the rover is moving up an inclined plane along the x axis of 2.10 -2 rad. The coefficient of friction coefficient is chosen sufficiently low to exhibit sliding under high torques. Six phases of motion have been distinguished in order to depict the various phenomena ans scenarios due to friction: • no torque is applied to any of the wheels -time interval 0s ≤ t < t 1 with t 1 = 50s

• a constant torque counterbalancing the effect of the gravity is applied to all wheels -time interval t 1 ≤ t < t 2 with t 2 = 100s

• a linearly increasing torque is applied to all wheels to stop the rover -time interval t 2 ≤ t < t 3 with t 3 = 138.61s

• a constant torque counterbalancing the effect of the gravity is applied to all wheels -time interval t 3 ≤ t < t 4 with t 4 = 180s

• a linearly increasing torque is applied to all wheels to stop the rover -time interval t 4 ≤ t < t 5 with t 5 = 200s

• a high constant torque is applied to all wheels -time interval t 5 ≤ t in order to produce sliding.

In Figure 3, one can see the evolution of rover's mass centre velocity. In the first phase ([t 0 , t 1 ]), the rover is rolling without sliding under gravity load. In the second phase the velocity is kept constant due to the driving torque that counteracts the gravity. In the third phase ([t 2 , t 3 ]), the velocity is decreasing in quadratic way with respect to time since the torque is linearly increasing. In the fourth ([t 3 , t 4 ]), the rover is stopped at rest in the slope. The fifth phase is similar to the third one. One can notice that in the last phase of motion despite dramatic change in wheels' velocities rover's trunk does not accelerate anymore. This is due to the friction force saturation. Energy supplied to the wheels is dissipated by friction and sliding.

One of the most important feature to note is that the ideal Coulomb's law is perfectly satisfied. In the case of a regularized model, some high frequency dynamics would have been observed and the perfect zero relative velocity at contact is never obtained.

3DROV

3DROV is a rover planetary exploration simulation framework developed by TRASYS. It uses as simulation framework the ESOC EGOS SimSat v4 tool 8 and includes both, models of the environment in which the rover evolves (terrain, atmosphere, orbital and timekeeping) and models of the rover itself (mechanical, power, thermal, communications, payloads and a model of the o/b controller). 3DROV disposes also a 3D Visualization component that allows monitoring in a photo-realistic synthetic environment the evolution of the simulation. Thanks to the use of the SMP (Simulation Model Portability) the system provides the possibility to easily use models of different levels of fidelity depending on the scope of the simulation. 3DROV focuses on operational simulations for the validation of rover plans (composition of rover Activities) spanning over one or several sols (experiment cycles). When planning rover operations including rover travelling, it is very important to be able to simulate this part of the plan as close as possible in order to predict the Rover mechanical behaviour, to estimate the path to be travelled and to evaluate the required energy consumption. 3DROV uses the PhysX 9 physics engine and recently Bullet 10 for mechanical simulation. Internal ESA work performed at ESTEC showed that using PhysX the simulation results are qualitatively consistent with the expected behaviour but still insufficient to support detailed rover motion validation. The use of SICONOS allows to involve better friction-contact model on a granular terrain and aims to improve the existing 3DROV simulation framework providing accurate mechanical rover simulation. In addition, this work contributes to the openness of the system by establishing a generic API for dynamics models/3D tools interaction. formation including the number of contact points, coordinates of contact points, normal vector in the contact point, penetration as well as coefficients of friction and restitution and b) to set the rover's joints and the rover's trunk position and orientation.

CONCLUSION

3DROV is a rover planetary exploration simulation framework which allows different levels of fidelity depending on the scope of the simulation. Plugging SICONOS allows to involve better friction-contact modeling in view of robust and efficient simulations on ground or with rigid obstacles and aims to improve the existing 3DROV simulation framework providing accurate mechanical rover simulation.

We claim that handling this and that in the context of non-smooth dynamical systems provides, in particular in the case of hard contacts, more representative results and simplifies the modelling of the wheel/terrain interaction.

Next steps of this on-going work includes:

• benchmarking of SICONOS simulation results for static stability of the rover over steep slopes, slippage handling and obstacles overcoming.

• comparison with results obtained using the usual physical engines like Bullet, PhysX and ODE.

• simulation of more complex wheel/terrain interaction taking into account granular materials or the Bekker model.

• continue the implementation of the 3DROV/SICONOS API focussing on openness and genericity both at model description level and information exchange during simulation.

  coordinates (q1, q2, q3) Orientation (q4, q5, q6) SteeringAxleBR(q19)

Figure 1 :

 1 Figure 1: Rover Siconos 3D representation and joints notation

Figure 2 :

 2 Figure 2: Rover climbing the step

1

 1 Trunk x-position (m) t (time s)

Figure 3 :

 3 Figure 3: Motion of the rover in a slope under the action of varying driving torques.

Figure 4 :

 4 Figure 4: 3DROV architecture Siconos within 3DROV consists of several shared objects grouped inside the kernel and numerics shared libraries. It is integrated into the Rover Mechanical model component of 3DROV and interacts with a) the on-board controller model to receive the required trajectory and b) with the 3D Visualisation tool to exchange collision information and the rover state.Figure 5 illustrates the Exomars rover model into a test environment and on a planetary terrain. The simulation 'step' is triggered by the simulation framework scheduler.

  Figure 5 illustrates the Exomars rover model into a test environment and on a planetary terrain. The simulation 'step' is triggered by the simulation framework scheduler.

Figure 5 :

 5 Figure 5: ExoMars simulation in 3DROV

http://www.maplesoft.com/products/maplesim

http://www.mathworks.fr/products/ simmechanics/

https://www.modelica.org/libraries_old/ ModelicaMultiBody

http://www.microsoft.com/robotics

http://gazebosim.org

http://bulletphysics.org

https://developer.nvidia.com/technologies/ physx

http://www.egos.esa.int/portal/egos-web/ products/Simulators/SIMSAT/