University of Twente EEMCS / Electrical Engineering Control Engineering
Port-based modeling and simulation of planetary rover locomotion on rough terrain
Pantelis Poulakis MSc Report
Supervisors: prof.dr.ir. S. Stramigioli MSc G. van Oort prof.dr.ir. J. van Amerongen January 2007 Report nr. 001CE2007 Control Engineering EE-Math-CS University of Twente P.O.Box 217 7500 AE Enschede The Netherlands
To my parents and my grandparents
Preface Looking back to the time I was starting the MSc course in Mechatronics, two and a half years ago, I remember I had a clear idea of how I desired to conclude it. But I was in a new country, starting a long two-year course and actually starting a new life! This idea seemed so far away to the future… Time passed, courses went by, study hours pilled up, great new experiences came my way. Halfway into the course and a Modern Robotics, a Digital Control and a Snakeboard individual project later, things started falling into place. I had found the person that I thought of not only as a supervisor and a tutor, but as a mentor. It was time to pick up my vision again. In our very first discussion for an MSc thesis project Stefano embraced my desire to carry out my thesis in the industry, honoring me with his faith in my work and sealing this mentorship relationship. ESTEC. The European Space Agency’s Research and Technology center. What an amazing place to be! The seven months I spent there as a trainee in the Automation and Robotics section seemed a much, much longer period. It was so densely packed with new and wonderful experiences that it makes the time seem dilated. Not everything was easy though. The work had many pitfalls and sometimes the frustrations on the project walked side by side with the successes. But in the end the combination of all these made the journey worthwhile! After sharing my above thoughts in this preface, I would like to refer to the people that made this experience possible for me. First of all, my deepest appreciation and gratitude goes to prof. Stefano Stramigioli who was a source of inspiration and motivation throughout the course of the project. From our collaboration I got a lesson on how an inspiring team leader should be. I would also like to express my deepest thanks to the head of the Control Engineering group, prof. Job van Amerongen for supporting me in carrying out my thesis in the industry. Additionally, many thanks to my co-supervisor Gijs van Oort as well as Edwin Dertien, who were both always available and willing to support me from a distance. The main reason that working at ESTEC was such a great experience was the people. The multicultural and multidisciplinary working environment was ground for creative interactions with people, many of which were not directly related to my project. From all these people I would like to specifically thank my supervisor and advisor at ESTEC, Mr. Luc Joudrier and express my appreciation for the motivation he provided, for the faith he showed in my work and for treating me as an equal colleague. I would also like to thank the Head of the Automation and Robotics section of ESTEC Mr. Gianfranco Visentin, whose knowledge was always available when asked for, through inspiring discussions. Finally many thanks go to Mr. Andre Schiele who, even though not directly related to my project, shares the same passion in robotics and through our daily interaction ended up providing valuable input to the work. A special reference along with my gratitude deserves Martijn Visser, whose expertise and help in the field of contact modeling gave a major boost to this project. Additionally I would like to express my deepest thanks to the 20-sim team, Christian Kleijn, Paul Weustink and Frank Groen, for their invaluable support. Especially Frank “suffered” patiently, with amazingly positive attitude my daily inquiries during a specific period of time. Cheers! Concluding this preface I would like to express my thanks and my deepest love to my parents, Andreas and Elizabeth, whom I dedicate this work to. The result of my achievements has been based on the fact that I was raised with the freedom of my choices and that I had these two amazing people to look up to! Pantelis Poulakis, January 2007
Contents
1. Port-based Modeling of Planetary Rover Locomotion on Rough Terrain In the proceedings of the 9th International ESA Workshop on Advanced Space Technologies for Robotics and Automation ’06, Noordwijk, The Netherlands, Nov. 28-30, 2006
3
2. Appendix A – Building the rover chassis models A.1 From Solidworks to 20-sim’s 3D Mechanics Editor . . . . . . . . . . . . . . . . . . . . . . . . A.1.1 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.2 Tips on importing Solidworks files to the 3D Editor. . . . . . . . . . . . . . . . . . .
13 13 13 14
3. Appendix B – About the contact model B.1 Geometry and parametrization of surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1.1 Theoretical background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1.2 Application example for sphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Calculation of initial contact points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.1 The initialization problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3 Placing obstacles in the model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17 17 17 18 20 20 20 21 21 22
4. Appendix C – About the wheel-terrain interaction C.1 Overview of terramechanics theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.1.1 Distribution of Stresses under Vehicular Load . . . . . . . . . . . . . . . . . . . . . . C.1.2 Application of the Theory of Plastic Equilibrium to the Mechanics of Vehicle-Soil Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.1.3 Measurement and Characterization of Terrain Response . . . . . . . . . . . . . . C.1.4 Parametric Analysis of Rigid Wheeled Vehicle Performance . . . . . . . . . . C.2 Implemented algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25 25 25
-1-
26 27 30 33 33
-2-
Port-based Modeling and Simulation of Planetary Rover Locomotion on Rough Terrain P. Poulakis(1), L. Joudrier(1), S. Stramigioli(2) (1)
European Space Agency, ESTEC/TEC-MMA Keplerlaan 1 NL-2201 Noordwijk, The Netherlands Email:
[email protected],
[email protected] (2)
University of Twente EL/CE, P.O. Box 217 7500AE Enschede, The Netherlands Email:
[email protected] ABSTRACT This paper presents the implementation of a planetary rover simulation environment focused on locomotion aspects. A multibody, port-based modeling approach was taken combined with screw theory for the description of the kinematics and dynamics. Bond graphs are used as the modeling language. The contact model considers the interacting surfaces to be smooth and utilizes their differential geometry parameters. For the tracking of the wheel-terrain contact points, we utilize contact kinematic equations previously published in literature. The proposed wheel-terrain interaction model combines a Kelvin-Voigt viscoelastic system with Bekker terramechanics equations. The first simulation results of the developed system are presented, with main focus on a static stability case study for the Type-E candidate concept chassis for the ExoMars mission. 1. INTRODUCTION ESA’s ExoMars mission is the first flagship mission of the Aurora Exploration programme. Its aim is to characterize the biological environment of Mars for future robotic missions and successively human exploration. The scientific work of the mission will be carried out by a Mars rover comprised of several complex subsystems, the main ones being the payload, the locomotion subsystem and the avionics. Part of the work of ESTEC’s Automation & Robotics section is to provide support for the ExoMars mission. In this context rover concept chassis are built, avionics architectures are defined and implemented and various navigation and control algorithms are tested. The work presented here was carried out in collaboration with the Control Engineering group of the University of Twente. It describes the approach on the development of a simulation environment, based on the commercial tool 20-sim [1], for modeling and simulating planetary rover concept chassis on rough terrain. Since rovers are a key element to planetary exploration missions, with NASA’s Mars Exploration Rovers (MER) being very successful and with ESA’s ExoMars and NASA’s Mars Science Laboratory (MSL) planned in the near future, substantial work has been conducted by the scientific community on the development of rover simulation tools. Bauer et.al. [2] have developed a dynamic simulation tool specifically for the Type-E ExoMars concept chassis, called RCAST. In RCAST Matlab’s SimMechanics rigid-body dynamics engine is used together with AESCO’s AS2TM terramechanics module. Jain et.al. [3] and Sohn et.al. [4] describe the recent developments on the ROAMS simulation environment and the implemented wheel-terrain contact model respectively. ROAMS, developed at the Jet Propulsion Laboratory (JPL), is an overall mission simulators used successfully in the MER mission. It is being used as stand-alone simulator, as a closed-loop simulator with onboard software and as an operator-in-the-loop simulator with the main requirement to being to have real-time performance. Gibesch et.al. in [5] present different modeling methods of tyresoil interaction, and use SIMPACK as the simulation tool for their models. Finally, Patel et.al. [6] describe the development of RMPET, a rover chassis evaluation tool, which utilizes Bekker theory to calculate several mobility performance parameters and a 3D simulator for Solidworks designs based on COSMOS/Motion. As this project is an ongoing work, the current status of the rover simulation environment is going to be described. The structure of the paper is the following. Section 2 describes the methodological modeling approach including an overview of the main tool, 20-sim. Section 3 begins with a description of the simulation system architecture and in respective subsections the modeled rover chassis, the contact detection model and the implemented wheel-terrain
-3-
interaction model are explained. The results obtained so far are presented in Section 4 consisting of a static stability case study of the Type-E concept chassis. A discussion of the design choices and the results follows in Section 5 and the paper concludes with the future work planned out for the project in Section 6. 2. METHOD The modeling approach taken for the rover locomotion system and its subsystems is that of port-based modeling. With physical systems, signal modeling is not suitable because there is always a bidirectional interconnection between subsystems, comprised of generalized forces and generalized velocities. When using signals only one of the variables is used in the interconnection, and this has to be taken into account in the derivation of the overall model. Using ports this restriction doesn’t exist and systems interact with each other through bidirectional ports that are simultaneously carrying the effort and flow variables, which define power. This approach offers a systematic way of modeling, giving a unified way to represent and interconnect systems from different physical domains, such as mechanical, electrical, hydraulic, thermal, etc. The most natural way to formalize this approach is through the modeling language of bond graphs introduced by Paynter [7] in 1961. Subsystems are defined using power-ports and interact with each other by exchange of energy through links called bonds. Therefore the model of a complete system is called a bond graph. The analysis of a model in this framework is obtained through causal analysis, which is employed to derive a simulation model, to verify the correctness of it and to get an insight to its dynamic behavior. Briefly, a bond has two collocated power variables, one effort (generalized force) and one flow (generalized velocity). The half arrow at one side indicates the reference direction of positive power flow. A stroke on either side of the bond defines the direction of computation, or, the causality: the effort signal travels in the direction of the stroke and hence the flow signal travels in the opposite direction. Making the bond graph causal is placing the causal stroke in a sensible way, so the explicit dynamic equations of the system can be derived correctly. Of the elements that comprise the bond graph notation we are going to refer here only to junctions. These are power continuous elements where they apply the constraint of one power variable being equal on all connected bonds to the junction. A 1-junction is constrained to have the flows on all bonds equal, and a 0-junction is constrained to have the efforts on all the bonds equal. Actually, the junctions are generalized Kirchoff laws. The above can be seen in Fig.1 (left) followed by a simple example of a springdamper system and its bond graph representation (right). For more information on bond-graph theory see [7], [8]. A second element of our approach is the representation of complex dynamical systems, such as the rover chassis, in the port-Hamiltonian framework [9], where the state variables are positions and momenta. A more commonly used framework for the analysis of mechanical systems is the Lagrangian framework, where the state variables are positions and velocities. Although these frameworks are almost equivalent for mechanical systems, the port-Hamiltonian separates mechanical systems in energy exchanging subsystems, and variables are considered in pairs of collocated power variables. Especially when energy efficiency or passivity is important, which is the case with planetary rovers, the port-Hamiltonian representation can be very useful and can give a good intuition of the energetic structure of the system. It is clear that for the representation of port-Hamiltonian systems and their interconnection with other subsystems bond graphs are very well suited.
Fig.1. Bond graph junctions (left), example of a simple mechanical system and its bond graph (right)
-4-
Screw Theory is the final tool we use in our approach in the modeling and simulation of planetary rover locomotion. Fundamental elements in Screw Theory are Twists, which represent in mechanics the velocity of a rigid body motion geometrically (i.e., coordinate-free). ⎡ω b ,c ⎤ (1) Tab ,c = ⎢ ba,c ⎥ v ⎣ a ⎦ The twist of Eq.(1) represents the motion of the body connected to frame Ψa with respect to Ψc expressed in frame Ψb . Note that v is not the relative velocity of the origins of the coordinate frames, but the velocity of an imaginary point connected to frame a, which at each instant coincides with the origin of frame b. The big advantage of twists over velocities is that every point on a rigid body can be described with the same twist but not the same velocity. Generalized forces acting on a body i and expressed in frame k, are defined through a Wrench as in Eq.(2), where F denotes the linear force and τ the momentum.
⎡ τ ik ⎤ Wi = ⎢ k ⎥ ⎣ Fi ⎦ k
(2)
The dual product of a twist and a wrench (when expressed in the same coordinate frame) is equal to the power flow. Twists and wrenches can be used in bond graphs as flow and effort variables. The only difference is that each power variable on a bond will be a 6x1 vector instead of a scalar. These bond graphs are called Screw Bond Graphs. For an extensive overview of Screw Theory for robotics see [10]. 2.1 Overview of 20-sim The main tool used for the development of the rover simulator is the modeling and simulation package 20-sim, which is a spin-off product of the research work at the Control Engineering group of the University of Twente. It is a port-based modeling tool and thus inherently supports the methods described in the beginning of this section. Systems can be modeled using equations, state space descriptions, bond graphs, block diagrams or iconic diagrams, where these representations can be fully coupled to create mixed models. Additionally 20-sim offers the possibility to build hybrid models from different physical domains, such as mechanical, electrical, thermal, etc. 20-sim’s 3D Mechanics Editor provides the environment to build 3D rigid body dynamic models and to define the means of actuation or interaction with the environment through power ports. The equation models derived from the 3D Editor give a port-Hamiltonian representation of the dynamics combined with the geometric approach of Screw Theory. Model simulation and analysis is performed by the Simulator, offering several tunable numerical integration algorithms and high customization in the representation of the results. 3D animation of the simulated models is available through the Animation toolbox, which is linked to the Simulator and offers various features for arranging the 3D representation scenery. Finally, 20-sim has an open interface to Matlab and offers C-code generation of the developed models. 3. SYSTEM ARCHITECTURE We first describe the overall architecture of the simulator and successively we present in more detail its key elements: the rover chassis models, the contact kinematics and dynamics and the wheel-terrain interaction model.
Fig.2. Architecture of the rover simulator
-5-
3.1 Overview The overall system architecture can be seen in Fig.2. Each rover chassis model was built in the 3D Mechanics toolbox and then exported to 20-sim’s editor as an equation model. There it is connected with the models of subsystems such as the motors and the controllers. The overall main model is complete with the addition of the contact block, comprised of the contact tracking algorithm and the wheel-interaction model. The initial contact conditions are calculated through a call to a developed Matlab routine. As it will be presented in sub-section 3.2, the contact model is based on parametrized smooth surfaces. The parametrization mathematics are implemented in a Maple worksheet and exported as a code block into to 20-sim’s contact submodel. The complete model is executed within the Simulator and, together with the defined plots, a link to the Animation toolbox provides 3D visualization during simulation. The visualization scenery of the rover chassis is imported from the 3D Mechanics Editor and the representations of the terrain surfaces are created using the freeware mathematical visualization software JavaView [11]. The direction of the arrows in Fig.2 represents loosely the flow of information between the blocks of the system. 3.2 Rover Chassis Models Possible ExoMars locomotion subsystems have been proposed by the Russian company RCL in the frame of an ESA contract: the Type-D and Type-E concept rover chassis [12]. They are both based on the principle of using passive suspensions with parallelograms to allow close vertical displacement and normal force distribution between the wheels. Type-D, which has been built as the ExoMaDeR prototype, is using an averaging mechanism between the left and right suspension and has 6 wheels, all of which are driven and 4 are steered (front and back ones). The Type-E chassis is a simpler design with three independent suspension modules and also has 6 wheels, where all are driven and 4 are steered. Models of both chassis were built in the 3D Editor of 20-sim (Fig.3). The geometrical and inertial information of the suspensions were taken from the CAD design drawings. For the visualization, each part was exported as an STL file from Solidworks and then imported in the 3D Editor. The terrain would interact with the wheel through a 6 degrees of freedom (DoF) power-port, placed in the center of each wheel. On the same point a sensor was placed to provide the position and orientation of each wheel to the Contact Tracking submodel during simulation. 1 DoF power-ports were used for the steering and the driving of the respective wheels.
Fig.3. RCL Type-D (left) and Type-E (right) concept chassis in 20-sim’s 3D Mechanics Editor 3.3 Contact Kinematics and Dynamics The uneven terrain in our simulator is represented using smooth surfaces, oriented such that the normal is pointing outwards. We choose an orthogonal parametrization g(u,v) of the terrain surface S1 around a point p ∈ S1 with local coordinates (u,v). On this point p we attach a coordinate frame, called the normalized Gauss frame G1(u,v) with the following properties: the X-axis of this frame is the unit vector in the direction of the coordinate u, the Y-axis is the unit vector in the direction of v and the Z-axis is their unit normal vector (Fig.4 – left). Using the above we can derive differential geometry properties of the surface, namely the metric M1, the curvature K1 and the torsion T1 as defined by
-6-
Fig.4. Gauss frame of a surface (left), shortest distance between wheel and terrain (right) Montana in [12]. Modeling each wheel as a sphere or a spheroid with a parametrization f(θ,φ) for its surface S2 we apply the same procedure, acquiring a Gauss frame G2 for the wheel and the parameters M2, K2 and T2. The relative pose of each wheel and the terrain, before or while they are in contact, is uniquely defined by six contact coordinates: the two local parameters (u,v) and (θ,φ), the relative angle a and the relative distance d, as shown in the right side of Fig.4., while the Z-axis of the Gauss frames of the surfaces is pointing towards each other. In order be able to apply a dynamic model for the wheel-terrain interaction we need to track the contact points while the rover is traversing the terrain. For that we use contact kinematics equations derived by Visser et.al. in [14], as a generalization of Montana’s equations in [13]. Once the initial conditions have been set properly, the model uses the differential geometry parameters of the terrain and the wheels (parametrization, metric, curvature and torsion) to track a set of contact points per wheel: one on the wheel itself and the respective one on the terrain. The advantage of the generalized kinematics equations is that they track the (candidate) contact points even when the wheel has detached from the surface. The only restriction this algorithm poses is that the relative curvature of the objects in contact has to be positive, so that only a single set of contact points exists always per wheel. The initial conditions of the contact model are derived by solving the minimization problem of calculating which contact coordinates give the shortest relative distance between the wheel and the terrain. The problem is visualized in Fig.4 (right) and can be formulated as follows:
min {d } = min { P2 + f (θ , φ ) − g (u , v ) }
θ ,φ , u , v
θ ,φ , u , v
(3)
In order to induce forces between the contact points in our simulations, we implemented the contact dynamics model architecture proposed by Visser et.al. [14], Stramigioli et.al. [15], Duindam [16] and which can be seen in Fig.5. We remind that in a screw bond graph the power conjugate variables are not forces and velocities, but wrenches and twists. The functionality of the model will be presented briefly for one wheel, since the same model runs for every wheel individually during simulation.
Fig.5. Screw bond graph form of contact dynamics model proposed by Visser et.al.
-7-
One power port is assigned to the wheel and one to the terrain (of size 6x1). With the 0-junction the model subtracts the world twists of the objects giving their relative twist, expressed in the World frame. The MTF element performs a reference frame change for the twist which is now expressed in the wheel’s contact (Gauss) frame. The Wheel-Terrain interaction model is connected to the rest of the bond graph only if the objects are in contact and the switch is on. The goal of the structure of the system is that the interaction model is applied directly on the contact point of the wheel. 3.4 Wheel - Terrain Interaction Model The wheel-terrain interaction model is responsible for injecting forces between the interacting objects, in the normal direction and the tangential plane defined by the contact points. The forces acting on a driven wheel while it traverses soft soil can be seen on the left of Fig.6. The wheel carries a load W and is driven by a torque T. The wheel sinks into the soil by z and while it shears the soil, due to the applied torque, the soil applies a shear reaction force Fs, which provides the traction. Finally a normal reaction force Fn is applied in the center of pressure of the contact area, and a compaction resistance appears on the wheel axle because of the soil compression in front of the wheel Many methods have been proposed in literature for the calculation of the normal forces in a simulation environment. The reason for this is that since the vehicle is in contact with the ground on multiple points (six in our case), the problem is statically indeterminate. Actually, it is statically indeterminate if we accept that the system’s structure has infinite stiffness. This is never the case in reality, and nature “solves” the problem of static indeterminacy because physical objects have finite stiffness. The calculation of the normal force in simulation systems is required for two reasons: first to make the rover balance on the virtual terrain and second because it is the essential magnitude for any contact mechanics model. In our implementation we consider the center of pressure to be the wheel-terrain contact point. For the calculation of the normal forces we use a 1 DoF Kelvin-Voigt compliant system between each set of contact points in the direction of their Z-Gauss axes: (4) Fn = k n z G + d n z& G where Fn is the normal force, kn is the spring’s stiffness, dn is the damping constant and zG is the displacement in the direction of the Gauss frames. Using compliance based methods introduces extra states to the system but they allow a unique solution to be found. Additionally since compliance methods rely on the system’s state, they require very short computational times in a multibody dynamic simulator. It is important to note that this is a technique to compute the normal force and not to model the physical effect of wheel sinkage into the soil. Thus we want to avoid large spring deflections that would affect the pose of the rover. In order to minimize this effect we make the virtual spring kn rather stiff, up to a point that it won’t introduce instabilities to the simulation or require large computation times to calculate its deflection. The forces acting on the tangential contact plane, which is the plane perpendicular to the normal direction, are the ones that provide traction to the vehicle. Our tangential contact model is also a compliant model combined with the terramechanics theory by Bekker [17] and Wong [18]. As shown in Fig.6 (right) the model is decomposed to a longitudinal and a lateral model. As a torque is applied on the axle of the wheel, a shearing action is initiated on the soil at its circumference, in the longitudinal direction, making the contact points drift apart. The reaction force from the soil in this direction is computed using a 1 DoF Kelvin-Voigt compliant model shown in Eq.(5). In this equation FS is the shearing reaction force applied on the wheel, kS and dS are the spring-damper coefficients, and y is the longitudinal position of the wheel contact point with respect to the terrain contact point.
Fig.6. Driven wheel on soft soil (left), tangential contact model (right)
-8-
FY = k S y + d S y&
(5)
There is a limit to the shear stress that the soil can bear from the wheel and thus to the reaction force it can apply. This is when the soil has reached its maximum shear capacity and “soil failure” occurs, introducing slippage to the wheel. The magnitude of the shear capacity depends on the properties of the soil and is calculated in terramechanics theory by Eq(6). (6) FS max = cA + Fn tan φ with FSmax the maximum shear force, c and φ being soil properties (cohesion and internal friction angle respectively), A is the contact area of the wheel with the soil and Fn the normal force at the wheel contact point. In order not to go too deep introducing terramechanics equations here, we are going to describe briefly the algorithm of deriving the maximum shearing capacity in each simulation cycle. Initially the wheel sinkage is computed from Bekker’s theory which, apart from soil parameters, it depends on the normal force. Based on the wheel model of Fig.6 (left) we calculate the contact angle θ1 and successively the contact area A considering the wheel to be cylindrical. Finally the computed magnitudes are used in Eq.(6) to derive the shearing capacity of the soil. During each simulation cycle, if the force of the compliant model doesn’t exceed the maximum shearing capacity (computed in the same cycle), then the wheel is rolling without slipping and the longitudinal force between the wheelterrain contact points is given by Eq.(5). If FY>FSmax then there is slippage and the longitudinal force between the contact points is FSmax. The terramechanics effects on the lateral direction of the wheel are much more complex and are subject of the ongoing work on the simulator. The current implementation makes use of the longitudinal FSmax in the lateral direction as well, together with a compliant model similar to the one described by Eq.(4). 4. RESULTS On the left side of Fig.7. the complete 20-sim model for the Type-D chassis and its locomotion subsystems can be seen. The submodels are connected via their power ports, where the double-lined power bonds in the model are carrying twists and wrenches as the power conjugate variables. Each wheel interacts with the terrain model and the obstacle models via the 6 DoF power port in its center. The forces applied on the wheel by the terrain and the obstacles are added via a 1-junction in the bond graph model.
Fig.7. Type-D chassis: Complete 20-sim model (left), simulation snapshot while negotiating obstacle (right)
-9-
Under the rover icon in Fig.7.(left) lie the dynamic equations of the rover chassis, described in the port-Hamiltonian framework. Each Terrain and Obstacles model contains submodels for the contact kinematics, the contact dynamics and the interaction models of each wheel with the terrain and the placed obstacles respectively. The context and the interconnection of the models is identical for each wheel. The Steer and Drive subsystems contain models of the actual motors and gear boxes of the rover. Within the Propulsion block we define the input signals for the driving motors and inside the Navigation block we program the trajectory for the rover to follow by setting the steering signals. As an indication of the size of the model, The Type-D chassis model is comprised of 36 rigid bodies and 44 rotational joints. The complete 20-sim model of Fig.7 consists of 2203 equations, 50 constraints and 211 independent states. On the right side of Fig.8., a snapshot from an obstacle negotiation simulation run using the described model, can be seen. 4.1 Case Study: Static Stability of Type-E Concept Chassis The requirements for the ExoMars mission [19], state that the static stability limit of the rover should not be below 40º in any heading direction (downslope, cross-slope, etc.). Within the RCET Aurora R&D activity, results of which are published in [20], it was reported that the stability limit of the current configuration of the Type-E concept chassis is much lower than the requirements. Using the developed simulation tool at the Automation & Robotics Section of ESTEC, we were able to verify the stated problem through simulation experiments. Naturally for any conclusion to be solid either an analytical or experimental verification has to be provided. Nevertheless, a well-defined modeling approach and correctly set simulation experiments provide valuable insight. The scope of our experiments was to define the lowest terrain slope angle that causes static instability for Type-E. The experiments were conducted for the rover heading downslope, which intuitively seems to be a direction prone to stability problems because of the configuration of the left and right wheel modules. The rover chassis model is in 1:1 scale with the geometrical and inertial data taken from the CAD drawings. For the static stability simulation experiments the Center of Mass (CoM) was placed at 0.55m above the ground plane. In order to define the minimum terrain slope that the chassis tips over, we locked the wheels to prevent them from rolling. The wheel-terrain friction was set high, by stiffening the compliant model and eliminating the soil’s maximum shearing force above which the wheels slide. The compliant system supporting the rover in the normal direction of the plane was tuned to be critically damped. Several simulation runs with the terrain slope angle as the varying magnitude resulted that the static stability limit, for the presented configuration of Type-E chassis, is at approximately 27º slope while heading downslope. On Fig.8. (left) experiment plots are displayed. The top one shows a plot of the terrain slope angle, which naturally is constant, together with the pitch angle of the rover as the tip-over effect evolves. The lower plot displays the normal force on the wheel contact points during the same experiment. The way that the magnitude of the normal force evolves for each set of wheels shows that the rover is tipping over while heading down the slope. First the two back wheels loose contact, and as they do the load on the middle and front wheels increases. Successively the middle wheels detach from the ground uniformly, resulting to a load increase on the front wheels from the weight of the chassis, also evident by the increase of the normal force. On the right side of the figure, a snapshot of the 3D visualization of the same experiment can be seen. The frames that are visible under the wheels in the snapshot are the Gauss frames placed on the contact points 5. DISCUSSION In this paper the current status of a rover simulation environment, developed at the Automation & Robotics section of ESTEC, was presented along with a case study regarding the static stability of Type-E rover chassis. The current implementation of the simulator aims at testing rover locomotion subsystems on uneven terrain. Several rather innovative approaches in the field of dynamic systems modeling were incorporated, like portbased modeling, the Screw theory geometrical approach and the use of bond graph networks. These methods proved to be very efficient and to give a very intuitive representation of the system with emphasis on its energy structure. Additionally the developed simulator provides high customization features limited only by the intuition and modeling capabilities of the engineer. To that aspect the use of 20-sim as the modeling and simulation tool played an important
- 10 -
Fig.8. Case study plots (left), Type-E chassis while tipping over at 27º slope (right) role. Its inherent support of the port-based modeling method and screw theory along with the built-in toolboxes provided the possibility to use it as the main platform for the simulator. The lack of a collision detection within 20-sim required us to implement such an algorithm for the wheel terrain contact. Two possible options were considered. The first was to apply a contact tracking model based on parametrized smooth surfaces and the kinematic equations developed by Montana and generalized by Visser et.al.. This method has been previously used in haptics applications. The second option was to include in the simulator a computational geometry algorithm specialized in the collision detection of polygonal objects moving in space. The former option was chosen for the current development phase of the simulator, as it could be implemented as a 20-sim model and would not require calls to external libraries. Although it proved to be an efficient and compact method, the implemented contact tracking model poses restrictions to the shapes of the terrain surfaces that can be used. Different smooth surface functions can be applied within the same model as contact patches but the relative curvature between the wheel and each surface has to be positive, in order for one set of contact points to exist always between the terrain and the wheel. Additionally if many contact patches are utilized the application becomes heavy since it has to track the global position of each wheel relatively to the contact patch in every iteration. 6. FUTURE WORK As the development of the simulator is ongoing the focus of future work lies mainly on the improvement and the validation of the wheel interaction model. The presented model in this paper incorporates the basic terramechanics effects combined with a Kelvin-Voigt compliant system for the tangent forces on the wheel-terrain contact plane. Our goal is to include more terramechanics effects in the wheel-terrain interaction and use experimental results to validate and tune our model. To this task a Single Wheel Testbed is going to be utilized which is developed by DLR under an ESA contract, and is expected to be delivered to the Automation & Robotics Lab very soon.
- 11 -
In order to make the collision detection and contact tracking model more generic, a computational geometry algorithm is planned to be included in our simulation environment. The main reason lies in the fact that we need to be able to incorporate any arbitrary terrain shape to the simulator. This would allow us to make simulation experiments on exactly the same terrain profile that we perform the experiments with the rover prototypes. The terrain profile will be provided as a Digital Elevation Map (DEM) by special laser measuring equipment already acquired in the lab. In long term the work on the tool is aimed at extending it to be an overall rover systems simulator, and not solely for locomotion subsystems. The scope is to include and simulate several critical -to an exploration mission- subsystems and to simulate actual mission scenarios. 7. ACKNOWLEDGMENTS The authors would like to acknowledge the 20-sim development team and especially Frank Groen for his frequent support, and Martijn Visser for his valuable expertise on the field of contact modeling. Additionally the Head of the Automation & Robotics Section Gianfranco Visentin for the stimulating discussions and knowledge offer. Finally, the authors would like to thank Andre Schiele for the constant interaction and the valuable inputs throughout the work on the project. 8. REFERENCES [1] http://www.20sim.com [2] R. Bauer, W. Leung and T. Barfoot, “Development of a dynamic simulation tool for the ExoMars rover”, in 8th Int. Symposium on Artificial Intelligence, Robotics and Automation in Space (iSAIRAS), Munich, Germany, Sep. 58, 2005 [3] A. Jain et.al. “Recent developments in the ROAMS planetary rover simulation environment”, in IEEE Aerospace Conference 2004, Big Sky, Montana, USA, Mar. 6-13 [4] G. Sohl and A. Jain, “Wheel-terrain contact modeling in the ROAMS planetary rover simulation”, in ASME IDETC ’05 Computers and Information in Engineering Conference, Long Beach, California, USA, Sep. 24-28 [5] A. Gibbesch, B. Schäfer, “Advanced modeling and simulation methods of planetary rover mobility on soft terrain”, in 8th ESA Workshop on Advanced Space Technologies for Robotics and Automation, Noordwijk, The Netherlands, Nov. 2-4, 2004 [6] N. Patel, A. Ellery, E. Allouis, M. Sweeting, L. Richter, “Rover Mobility Performance Evaluation Tool (RMPET): A systematic tool for rover chassis evaluation via application of Bekker theory”, in 8th ESA Workshop on Advanced Space Technologies for Robotics and Automation, Noordwijk, The Netherlands, Nov. 2-4, 2004 [7] H. Paynter, “Analysis and design of engineering systems”, M.I.T. Press, 1961 [8] G. Golo, “Interconnection of structures in port-based modeling: Tools for analysis and simulation”, PhD thesis, University of Twente Press, 2002 [9] A. v. d. Schaft, “L2-Gain and passivity techniques in non-linear control”, ser. Communication and Control Engineering, Springer-Verlag, 2001 [10] S. Stramigioli and H. Bruyninckx, “Geometry and screw theory for robotics”, Tutorial from IEEE/RSJ International Conference on Robotics and Automation (ICRA), Seoul, Korea, 2001 [11] http://www.javaview.de [12] V. Kucherenco, A. Bogatchev, M. van Winnendael, “Chassis concepts for the ExoMars rover”, in 8th ESA Workshop on Advanced Space Technologies for Robotics and Automation, Noordwijk, The Netherlands, Nov. 2-4, 2004 [13] D. Montana, “The kinematics of contact and grasp”, International Journal of Robotics Research, vol.7 no. 3, pp.17-32, Jun. 1998 [14] M. Visser, S. Stramigioli and C. Heemskerk, “Screw bondgraph contact dynamics”, in IEEE Int. Conference on Intelligent Robots and Systems (IROS), Lausanne, Switzerland, pp. 2239-2244, Sep. 30 – Oct. 4, 2002 [15] S. Stramigioli, V. Duindam, “Port based modeling of spatial visco-elastic contacts”, European Journal of Control, 2004 [16] V. Duindam, “Port-based modeling and control for efficient bipedal walking robots”, PhD thesis, University of Twente, 2005 [17] M. Bekker, “Introduction to terrain vehicle systems”, University of Michigan Press, Ann Arbor, USA, 1969 [18] J.Y. Wong, “Theory of ground vehicles”, 3rd ed., John Wiley & Sons, Inc., 2001 [19] ESA, “ExoMars Rover/Pasteur system requirements document”, Aurora/MW/KC/006.03 [20] S. Michaud et.al. “Rover chassis evaluation tools using the RCET”, in 9th ESA Workshop on Advanced Space Technologies for Robotics and Automation, Noordwijk, The Netherlands, Nov. 28-30, 2006
- 12 -
Appendix A Building the rover chassis models This appendix we give presents the procedure of building the rover chassis models in the 3D Mechanics Editor of 20-sim. Section A.1.1 gives and overview of the procedure followed to transfer the geometrical and inertial data from the CAD design drawings to our models. The next section is dedicated to the procedure of porting the 3D representation of each part of the rover chassis from Solidworks to 20-sim. For the rover chassis models the 3D Mechanics Editor v4beta and v3.6 were used. A.1 FROM SOLIDWORKS TO 20-SIM’S 3D MECHANICS EDITOR The project’s specific interest was to use the developed simulation environment for the two candidate rover chassis for the ExoMars mission. Therefore our goal was to build dynamic models in 20-sim and their 3D representation for the Type-D and Type-E rover chassis. A.1.1 Procedure As described in the paper, the Type-D and Type-E rover chassis were designed by the Russian company RCL under an ESA contract. Type-D was built as the ExoMaDer lab prototype and for both rover chassis the Solidworks CAD design drawings were available. In order to build the 3D models of the rovers in 20-sim’s 3D editor the following work was performed. The 3D CAD assembly of each rover was opened in Solidworks and it was “broken down” to the individual parts that comprise the locomotion subsystem. For each part we specified a convenient coordinate reference frame and successively measured manually oneby-one the positions of each part’s joints with respect that reference frame. These two steps ensured that we had all the required geometrical data to reassemble the model in the 3D Mechanics Editor. In order to arrive to a dynamic model the inertial data of each part, such as the center of mass (CoM), the principle axes of inertia and the principle moments of inertia, were essential. To that direction we made initially some research in the design specifications of the rover chassis for the materials used for the mechanism. For most of the parts the information was available and for the rest we chose similar alloys that were used for the rest of the mechanism. The material information was easily entered in the CAD drawings in Solidworks since it has a large material database built in. Once the materials were specified, the Mass Propertied Editor of Solidworks was used which produces all the required inertial information of each part with respect to the specified coordinate reference frame. At this point all the required information to build a kinematic and dynamic model of the rovers in 20-sim was available. In order to achieve the 3D visual representation in the 3D Editor, each part was exported from Solidworks in STL format. 20-sim only supports .stl and .x files for 3D representation. Some tips and tricks on how to correctly export STL files from Solidworks and then import them into the 3D Editor are given in the next section. In Fig.A.1 an attempt was made to visualize the above procedure. While assembling the Type-D and Type-E rover chassis in 20-sim’s 3D Mechanics Editor all the gathered information was entered manually in the respective properties menus. At this point we should note that the Type-D chassis (shown in the left part of Fig.3 in the paper) was modeled in scale 1:2, while the Type-E chassis (in the right side of the same figure) was modeled in scale 1:1. The reason for that is that we followed the scaling given in the design drawings of each rover chassis.
- 13 -
Fig.A.1 Transferring a part and its essential information from Solidworks to 20-sim’s 3D Mechanics Editor
A.1.2 Tips on Importing Solidworks files to the 3D Editor It often happens that in the design process of a robot/mechanism the system is first designed using a CAD software package and then a dynamical simulation is required. In case a 3D dynamical analysis tool is used, the process would speed up a lot if the existing CAD drawings were imported somehow automatically in the tool. In our case the design drawings of the two rover chassis were made in Solidworks, where the parts are in .sldprt format and the assemblies in .sldasm format. Since 20-sim can only import .stl (stereolithography) files for part 3D representation, we had to export the drawings from Solidworks in this format. Every step of the exporting procedure are described here is in order to transfer to 20-sim as much information as possible from Solidworks. Exporting from Solidworks: • Save As → Save as type: STL (*.stl) • Press the Options button • In the Options window: → Output as: ASCII, Unit: Meters → Resolution: affects the simulation time → Check the “Do not translate STL output data to positive space” box. If this box is unchecked the reference frame of the part is transferred to a position such that the whole part is in the positive X-Y-Z quartenion. → Finally, in case a convenient -non default- coordinate system has been declared for the part in Solidworks, choose it here. This way the 3D information stored in the STL file will be w.r.t. the desired/convenient coordinate frame.
- 14 -
Importing to the 3D Mechanics Editor: • Create a new body in the working 3D Mechanics model. • Edit the body Representation. • In the General tab → Representations: STL-File • Press the Size button and set all the scale parameters to 1 in order your representation to be imported with its correct dimensions and not scaled. • In the STL-File tab → Choose the desired STL file to represent the body. → Uncheck the “Normalize Size” so the dimensions of the object are not normalized according the axis model settings and the exact dimensions are imported. → Uncheck the “Center to Origin” box so that the coordinate frame of the body is not in the center but the one described in the STL file is used.
- 15 -
- 16 -
Appendix B About the contact model In this appendix we give a more detailed overview on subjects dealing with the kinematics of the wheel-terrain contact. By reading the paper the reader must know that the terrain and the wheels are described by smooth surfaces. Section B.1 is dedicated to the approach taken for the description of the surfaces in contact, where initially the theory behind this approach is presented and an application example is given. The section concludes with some remarks on the implementation in 20-sim. In section B.2 the contact initialization problem is explained and the theory behind the solution is described. This section also concludes with notes on the implementation. B.1 PARAMETRIZATION AND GEOMETRY OF SURFACES The goal of the method of parametrization is to describe the location of all points of a geometric object, a curve, a surface or a region. This description must be 1-1 and onto: every point must be described once and only once. For this project we are interested in the mathematical description of surfaces for the representation of the terrain, therefore we focus solely on the geometry and the parametrization of surfaces. B.1.1 Theoretical Background Consider that we have a surface S embedded in the Euclidean 3-dimensional space E(3). We consider the surface to be oriented in such a way that the normal is pointing outwards. Such surfaces are characterized by two degrees of freedom when it comes to it parametric representation; we are allowed to vary two independent parameters in order to cover all the points on the surface. As mentioned in the paper, we choose an orthogonal parametrization g(u,v) of the surface S1 around a point p ∈ S1 that has local coordinates the pair of parameters (u,v). On each point p on the surface we can attach a coordinate frame with the following properties (with the notation g k = ∂g ) : ∂k • The X-axis of the frame is the unit vector in the direction of the first local coordinate u
x=
gu gu
(B.1)
• The Y-axis of the frame is the unit vector in the direction of the second local coordinate v
y=
gv gv
(B.2)
• The Z-axis of the frame is the unit normal vector of x and y
z=
gu g × v gu gv
(B.3)
This frame is called the normalized Gauss frame H(g). For convenience to the reader to visualize the above defined concepts we reproduce Fig.4 (left) from the paper in Fig.B.1.
- 17 -
⎡x y z g ⎤ H (g) = ⎢ ⎥ ⎣0 0 0 1 ⎦
(B.4)
In order to completely describe the geometry of any given surface using the method of parametrization we have to calculate three differential geometry magnitudes. In this project we used the Metric, the Curvature and the Torsion of a surface as defined by Montana in [13]: • The metric matrix M gives a measure for the length of a vector tangent to the surface
⎡ gu M =⎢ ⎣ 0
0 ⎤ ⎥ gv ⎦
(B.5)
Fig.B.1 Parametrized surface with assigned normalized Gauss frame • The curvature matrix K, as the name denotes, provides a measure for curvature of the surface along a tangent vector. For the definition of K we use x, y and z as defined in equations (B.1)-(B.3).
⎡ xT ⎤⎡ z K = ⎢ T ⎥⎢ u ⎣ y ⎦ ⎣⎢ g u
zv ⎤ ⎥ g v ⎦⎥
(B.6)
• The torsion magnitude T is a vector that describes how the Gauss frame, defined in eq.(B.4) twists as it moves across the surface
⎡ x T = yT ⎢ u ⎣⎢ g u
xv ⎤ ⎥ g v ⎦⎥
(B.7)
B.1.2 Application Example for Sphere In order for the above presented theory to be well understood we complement it here with an application example. The surface of interest for the example is that of a Sphere, which in the project we use to model the rover wheels. Since we require two degrees of freedom to parametrize the surface, we apply the following parametrization for the sphere using as local coordinates (parameters) the angles φ and θ and the radius r as a constant (see Fig.B.2).
- 18 -
⎡r cos(θ ) cos(φ )⎤ π π f (θ , φ ) = ⎢⎢ r cos(θ ) sin(φ ) ⎥⎥ , − ≤ θ ≤ , 0 ≤ φ ≤ 2π 2 2 ⎢⎣ r sin(θ ) ⎥⎦
(Β.8)
On each point p on the surface we can attach a coordinate frame. According to the equations (B.1) to (B.3) the axes of this frame are described as: • The X-axis of the frame is the unit vector in the direction of the first local coordinate θ
⎡− sin(θ ) cos(φ )⎤ x = ⎢⎢ − sin(θ ) sin(φ ) ⎥⎥ ⎥⎦ ⎢⎣ cos(θ )
(B.9)
• The Y-axis of the frame is the unit vector in the direction of the second local coordinate θ
⎡− sin(φ )⎤ y = ⎢⎢ cos(φ ) ⎥⎥ ⎢⎣ 0 ⎥⎦
(B.10)
• The Z-axis of the frame is the unit normal vector of x and y
⎡− cos(θ ) cos(φ )⎤ z = ⎢⎢ − cos(θ ) sin(φ ) ⎥⎥ ⎢⎣ − sin(θ ) ⎥⎦
(B.11)
Fig.B.2 Surface parametrization of a sphere For the differential geometry properties metric, curvature and torsion of the sphere surface, as they were defined in equations (B.5)-(B.7) we get: • Metric
0 ⎤ ⎡r M =⎢ ⎥ ⎣0 r cos(θ )⎦ - 19 -
(B.12)
• Curvature
⎡− 1 K =⎢ r ⎢⎣ 0 • Torsion
⎡ T = ⎢0 ⎣
0 ⎤ ⎥ −1 ⎥ r⎦
(B.13)
− tan(θ ) ⎤ ⎥⎦ r
(B.14)
Note: This parametrization of the sphere surface has a weakness. It produces two singularity points on the two poles of the surface. Since we use the sphere surface to model the wheels, we overcome this weakness by setting the wheel axle the pass through the two poles, thus making the axis of rotation to go through the singularity points. This way we avoid ever reaching the singularity points of the wheel surface in normal driving conditions of the rover. B.1.3 Implementation In the case where we want to represent a realistic rough terrain with a smooth function the above differential geometry approach can produce very large matrices. Additionally it is almost impossible to apply the method by hand correctly. For this reason we implemented the theoretical procedure described in the previous section in a Maple worksheet. Whenever we want to add a different terrain to our simulation we just change the initial parametrization in the worksheet and by running it we get the final expressions for the local coordinate frames, Gauss frames and the metric, curvature and torsion matrices. Maple doesn’t produce 20-sim code, but it can produce Matlab code. Thus we produce the final expressions in both symbolic and in Matlab code. With a few manual changes we transform the Matlab code to 20-sim code. In every contact block within the 20-sim models we have made a separate section for the differential geometry parameters of the surfaces in contact (wheel-terrain). There we add the manually modified Matlab code produced by the Maple worksheet. B.2 CALCULATION OF INITIAL CONTACT POINTS In order to be able to track the contact points while the rover is moving, we have to have set correctly the initial conditions. Thus we must define the initial candidate contact points before the simulation actually begins. In this section we describe the theory behind the initialization algorithm, by formulating and solving the initialization problem. B.2.1 The Initialization Problem We have the wheel of radius r, modeled as a sphere with parametrization f(θ,φ). The Wheel’s Body Frame (O2) is at position P2 w.r.t. the World Frame (W). We also have a parametrization g(u,v), for the terrain. The initial (candidate) contact points are the ones that give the minimum distance between the wheel and the terrain. We want to find the parameters θ,φ,u,v that give us the this minimum distance. Consequently we will be able to calculate the coordinates of these minimum distance points expressed in the World Frame.
- 20 -
B.2.2 Solution We present the solution to the problem by examining the general case. The parametrization of any smooth terrain is g(u,v) while the parametrization of the wheel, modeled as a sphere, is given by eq.(B.8).
Fig.B.3. General case of initial wheel-terrain relative position with candidate contact points •
The vector from the origin of the World Frame to a point on the sphere is: →
→
→
WG 2 = P 2 − O2 G 2
(B.15)
where actually the elements of O2G2 are given by the mapping f(θ,φ). •
Taking the origin O1 to coincide with the origin of the World Frame, we have that the →
elements of the vector WG1 are given by the mapping g(u,v). •
Therefore the vector between any point on the sphere and any point on the terrain is given by: →
→
→
D = WG 2 − WG 1
(B.16)
Thus to calculate the minimum distance between the wheel and the terrain we have to solve the following minimization problem: d min = min P2 + f (θ , φ ) − g (u, v) (B.17) θ ,φ ,u ,v
{
}
where the coordinates that give the minimum distance are the ones that actually minimize the norm of vector d. B.2.3 Implementation The way we have implemented the initialization procedure is the following. Inside the contact block that handles the individual contact between the wheel and the terrain or an obstacle, an initialization code block is executed before everything else and only once. From this code we
- 21 -
call the Matlab routines where the minimization algorithm is implemented, passing them the parameters of the wheel and the global position of its center. Within these Matlab routines we have formulated the solution of the problem descrbed in section B.2.2. The minimum distance is found iteratively. by using Multidimensional Unconstrained Non-Linear Minimization which is based on the Nelder-Mead Simplex Method. This optimization method is used in Matlab’s fminsearch() function where we have to supply some initial variable values for the algorithm to start the search for a local minimum. For the wheel we know that the minimum distance contact point will be on the lower part of the sphere, therefore we feed the algorithm with initial variable values from this area ( for example θο=-π/4, φο=π/4 ). The two sets of surfaces that will come in contact have been implemented in separate Matlab fuctions (sphere for the wheel -f- and any smooth surface for the terrain -g-). Similarly a separate function has been implemented that calculates the distance between the candidate contact points in each iteration. B.3 PLACING OBSTACLES IN THE MODEL In this section we describe briefly how we can place obstacles of any shape, at any position and in any number inside our model. It works complementary to section 3.3 of the paper In both parts of Fig.B.4 the Interaction block contains the structure shown in Fig.5 and described in section 3.3 of the paper. Within this block the geometry of the interacting objects is defined, together with the contact kinematic equations and the interaction model that injects the forces. To be specific the structures shown in Fig.B.4 are one hierarchical level higher in 20-sim than the model in Fig.5 of the paper. The model where the wheel interacts with the terrain is simple (Fig.B.4-left). It consists of the two power bonds, one for the wheel and one for the terrain. Additionally the global position of the wheel center needs to be provided to the Interaction block. The reason that we don’t need the global position of the terrain is that for simplicity we chose the origin of the terrain to coincide with the World frame. The Terrain block, in Fig.B.4 (left), is very simple inside. Since the terrain is fixed and has flow-out causality it outputs a zero twist to the Interaction block. The rest are taken care of the dynamic model inside the Interaction block, witch has the structure of Fig.5.
Fig.B.4 Wheel-terrain model structure (left), wheel-obstacle model structure (right)
- 22 -
When we want the wheel to track its relevant position to an obstacle and interact with it, things change a bit. The obstacle is fixed, just like the terrain. Therefore it also provides a zero twist vector to the Interaction block. What is different is that its body frame doesn’t coincide with the world frame. In order to compensate for that and use the exact same model as before, we have to input to provide to the interaction block the relative position of the wheel w.r.t. the obstacle and not to w.r.t. the world (H12 in Fig.B.4-right). Additionally we need to change the coordinate frame of the twist and the wrench from the world frame to the body frame of the obstacle. The symbols in Fig.B.4 are (0-World, 1-Obstacle, 2-Wheel):
H 12 → H 21 AdH 01 → AdH 01
(B.18) (B.19)
With this technique, once we define the world position of any obstacle, thus we have the matrix H 10 , using the structure of Fig.B.4 (right) we can easily place as many obstacles we want in the model.
- 23 -
- 24 -
Appendix C About the wheel-terrain interaction This appendix is dedicated to the wheel-terrain interaction model. In the beginning of the project a thorough study was made in literature on the field of terramechanics. Therefore we present an overview of terramechanics theory topics relevant to our application n Section C.1. Although not everything described this section was implemented in our model due to time restrictions, we present the full overview for the sake of completeness. In section C.2 we present in more detail the algorithm implemented in the model for the calculations of the terramechanics quantities. C.1 OVERVIEW OF TERRAMECHANICS THEORY The study of the performance of an off-road vehicle in relation to the terrain as its operational environment has become known as terramechanics. The properties of the terrain quite often impose severe limitations to the mobility of offroad vehicles. An adequate knowledge of the mechanical properties of the terrain and its response on vehicular loading is therefore essential to the proper development and design of off-road vehicles for a given mission and environment. A central issue in terramechanics is to establish a quantitative relationship between the design and performance of an off-road vehicle for a given operating environment. Over the years, a variety of methods, ranging from empirical to theoretical, for predicting the performance of tracked and wheeled vehicles over unprepared terrain have been developed.
C.1.1 Distribution of Stresses under Vehicular Load Certain types of terrain, such as saturated clay and compact sand, may be compared to an ideal elastoplastic material with the stress-strain relationship shown in Fig.1. The modeling of the terrain as an elastic medium has found applications in the prediction of stress distribution in the soil, which may be based on the analysis of the distribution of stresses under a point load.
Fig. C.1. Behavior of an idealized elastoplastic material It should be noted that the material in the immediate vicinity of the point load does not behave elastically. Measurements showed that in real soil there is a tendency for the compressive stress to concentrate around the loading axis. This tendency becomes greater when the soil
- 25 -
becomes more plastic due to increased moisture or when the soil is less cohesive (such as sand). A tire transfers its load not at one point, but through a finite area of contact. For tires or rigid wheels without lugs in hard dry soil, the pressure can be assumed uniform through the entire contact area. In soft soils the pressure over the contact area varies with the depth of the rut. Usually it decreases towards the outside of the contact area and in more concentrated towards the center. Additionally, the stress at the same depth of the center of the contact area increases when the pressure applied on the surface is constant but the contact area increases. This means that the stress distribution in a soil is not only a function of the contact pressure, but also a function of contact area. C.1.2 Application of the Theory of Plastic Equilibrium to the Mechanics of Vehicle-Soil Interaction When the vehicular load applied to the terrain surface exceeds a certain limit, the stress level within a certain boundary of the terrain may reach the point “a” of the curve shown in Fig.1. An infinitely small increase of stress beyond point “a” produces a rapid increase of strain which constitutes plastic flow. The state that precedes plastic flow is referred to as plastic equilibrium. The transition from plastic equilibrium to plastic flow represents the failure of the mass. One of the simplest and widely used criterions for soil failure is the Mohr-Coulomb criterion. It postulates that the material at a point will fail if the shear stress at that point in the medium satisfies: (C.1) τ = c + σ tan φ where τ: is the shear strength of the material c: is the apparent cohesion of the material σ: is the normal stress on the sheared surface φ: is the angle of internal shearing resistance of the material Cohesion of the material is the bond that cements particles together, irrespective of the normal pressure exerted by one particle upon the other. On the other hand particles of frictional masses can be held together only when a normal pressure exists between them. Thus theoretically for saturated clay the shear strength doesn’t depend on the load and eq.(2.10) will have the form:
τ =c
For dry sand the shear strength increases with an increase of the normal load. Therefore the shear strength can be expresses as:
τ = σ tan φ
Granular masses that cover most of the trafficable surfaces, however, usually have both cohesive and frictional properties. Explanation of the Mohr-Coulomb criterion If soil specimens are subject to different states of stress, a Mohr circle can be constructed for each mode of failure (see Fig.C.2). For information on Mohr circles the reader is referred to literature about mechanics and strength of materials. If a straight line envelope is drawn to the set of Mohr circles it will be of the form of Eq.(2.10). The cohesion of the soil is being determined by the intercept of the envelope with the shear axis and the angle of internal shearing resistance (internal friction angle) being represented by its slope. The Mohr-Coulomb criterion states that if a Mohr circle, representing the state of stress at a point in the soil, touches the envelope, failure will take place at that point. The criterion is visualized in Fig.C.2.
- 26 -
Fig.C.2. Mohr-Coulomb failure criterion Finite Element Methods and Conclusions In practice there are severe limitations to the applications of the theory of plastic equilibrium to the valuation and prediction of off-road vehicle performance. In recent years the Finite Elements Method was applied for the analysis of vehicleterrain interaction. In many cases in those studies it is unrealistic to assume that the terrain is a linear elastic material. Under wheel load the terrain usually undergoes large yielding and plastic deformation and does not behave elastically. Furthermore, when the normal and shear stresses on the wheel-soil interface are specified, the performance of the wheel is completely defined, therefore making the FEM unnecessary as far as this performance is concerned. FEM proves to be suitable only for predicting the response of the terrain to vehicular loading.
C.1.3 Measurement and Characterization of Terrain Response As we concluded in the previous subsection, theories of elasticity and plastic equilibrium, as well as the empirical methods have limitations. Due to this reason methods for parametric analysis of off-road vehicle performance have been developed. They are based on the measurement of terrain response under loading conditions, similar to those applied by an offroad vehicle. A ground vehicle, through its running gear, exerts a normal load to the terrain surface. This load results in sinkage which increases the motion resistance. Additionally the torque applied on the wheel initiates a shearing action between the running gear of the wheel and the terrain. This shearing action results in the development of thrust and associated slip. Therefore the measurement of both the normal pressure-sinkage and shear stress–shear displacement relationships is of prime importance to the prediction and evaluation of off-road vehicle performance. Characterization of Pressure-Sinkage relationship of homogeneous terrain When a terrain is considered to be homogeneous within the depth of interest, its pressure sinkage relationship may be characterized by the following equation proposed by Bekker [17]:
⎛k ⎞ p = ⎜ c + kφ ⎟ z n ⎝b ⎠
- 27 -
(C.2)
where p: is pressure b: is the the smaller dimension of the contact patch (the width of a rectangular contact area or radius of a circular area) z: is sinkage n, kc, kφ: are pressure-sinkage parameters, with kc corresponding to soil cohesion contribution to the effect (cohesive modulus of soil deformation) and kφ corresponding to soil internal friction contribution to the effect (frictional modulus of soil deformation) Calculation of the parameters n, kc and kφ is done experimentally and can be found in terramechanics literature (for example in [18]). It should be emphasized that equation (C.2) is empirical in nature and additionally parameters n, kc and kφ have variable dimensions depending on the value of the exponent n. Because of this problem, Reece proposed Eq.(C.3) for the pressure-sinkage relationship, based on experimental evidence.
⎛z⎞ p = (ck ′ + γ s bkφ′ )⎜ ⎟ ⎝b⎠
n
(C.3)
where p: is pressure b: is the the smaller dimension of the contact patch (the width of a rectangular contact area or radius of a circular area) z: is sinkage c: is cohesion γs: is the weight density of the terrain n, k ′c , k ′φ : are pressure-sinkage parameters, with k c′ corresponding to soil cohesion contribution to the effect and k φ′ corresponding to soil internal friction contribution to the effect As Reece pointed out, although Eq.(C.3) differs from Eq.(C.2) only in the effect of the width, it is sufficient for a major improvement. The soil parameters k c′ and k φ′ in Eq.(C.3) are dimensionless whereas kc and kφ in Eq.(C.2) depend upon n. Furthermore Reece’s approach seems to allow itself to fit with the conceivable theoretical approach on the subject (for instance Terzaghi’s bearing capacity equation – see [20]). It should be emphasized though, that Eq.(C.3) applies only to homogeneous terrain as does Eq.(C.2). Characterization of the Response to Repetitive Loading In a straight line motion of an off-road vehicle, when the leading wheel has passed the load on the terrain is reduced. Load is reapplied as the succeeding wheel rolls over the same terrain. The cycle repeats for a vehicle with more than two axles. Hence to predict the normal pressure distribution under a moving off-road vehicle and subsequently its sinkage and motion resistance, the response of the terrain to repetitive normal load must be measured in addition to the pressure-sinkage relationship. Based on observation of experimental results, the pressure-sinkage relationship of both the loading and unloading can be approximated by a linear function representing the average response of the terrain: p = pu − k u ( z u − z ) (C.4) where p, z: are pressure and sinkage, respectively, during unloading or reloading pu, zu: are pressure and sinkage, respectively, when unloading begins ku: represents the average slope of the unlading-reloading line AB
- 28 -
We should note that the slope on unloading-reloading line (parameter ku) represents the degree of elastic rebound if the soil during unloading, If line this line is vertical, the soil has no elastic rebound and the terrain deformation is entirely plastic. Characterization of the Shear Stress – Shear Displacement Relationship When a torque is applied to the wheel, shearing action is initiated on the wheel-terrain interface. To predict the vehicle thrust and associated slip, the shear stress-shear displacement relationship is required. The shear displacement is directly related to the slippage of the wheels. As the name suggests, it is the distance covered by a layer of soil adherent to a wheel with respect to the still soil. This can be visualized with the example of a flat plate moving with a velocity v with respect to the soil, as shown in Fig.C.3.
Fig.C.3. Shear displacement (j) caused by a moving flat plate The shear displacement can be computed at a time t by Eq.(C.5): t
j = ∫ vdt
(C.5)
0
where v is the relative velocity of a point in contact with the soil w.r.t. the still soil. Based on a large amount of data collected, it has been found that there are three types of shear stress-shear displacement relationships commonly observed. The one of interest to us is that appearing for soil types such as loose sand, saturated clay or dry snow. In the characteristics for these types, the shear stress increases rapidly with an increase in shear displacement and then approaches a constant value with further increase in shear displacement, as it can be seen the fitted curve of Fig.C.4. This type of relationship may be described by an exponential function of the following form, which was proposed by Janosi and Hanamoto:
τ = τ max (1 − e − j / K ) = (c + σ tan φ )(1 − e − j / K ) where τ: is the shear stress j: is the shear displacement φ: is the angle of internal friction resistance c: is the soil cohesion K: is the shear deformation modulus
- 29 -
(C.6)
Fig.C.4. Shear stress against shear displacement for a flat plate on a Martian Soil Simulant (normal pressure p=10 kPa) K may be considered as a measure of the magnitude of the shear displacement required to develop the maximum shear stress. The value of K determines the shape of the shear curve. As it can be understood from the last two expressions, the shear displacement is some kind of “charge” of the elastic properties of the terrain, which needs to be stretched a little before it can develop a shear force. As it as discussed earlier, when an all-wheel-drive vehicle is in a straight line motion the specific part of the terrain under the vehicle is subject to the repetitive shearing of consecutive wheels. It has been shown (for a frictional terrain) that the shear stress-shear displacement relationship during a reshearing cycle is similar to that when the terrain is being sheared in its virgin state. The meaning of this observation is that when reshearing takes place after completion of a loading-unloading cycle, the shear stress doesn’t instantaneously reach its maximum value for a given normal pressure. Rather an additional shear displacement must take place before the maximum shear stress can be developed, similar to that when the terrain is being sheared in its virgin state. The tractive effort developed by an all-drive-vehicle is the integral of the shear stress over the entire contact area. When the repetitive shearing characteristics of the terrain are taken into consideration, the predicted total tractive effort at a given slip, can be considerably lower. This phenomenon is particularly enhanced at low slips. C.1.4 Parametric Analysis of Rigid Wheeled Vehicle Performance Motion Resistance of Rigid Wheel One of the earlier methods for prediction of a rigid wheel’s motion resistance was proposed by Bekker. In this method it is assumed that the terrain reaction at all points on the contact patch is purely radial, and is equal to the normal pressure beneath a horizontal plate at the same depth in a pressure-sinkage test. The motion resistance and the vertical load on the wheel can be expressed by: θ1
Rc = br ∫ σ sin θdθ 0
θ1
W = br ∫ σ cos θdθ 0
where Rc: is the motion resistance (referred to as compaction resistance) - 30 -
(C.7) (C.8)
W: is the vertical load σ: the normal stress acting on the wheel rim.
Fig.C.5. Wheel-soil interaction model Since it was assumed that the normal stress σ acting on the wheel rim is equal to the normal pressure p beneath a horizontal plate at the same depth z we can use the pressure-sinkage relationship (C.2) and thus Eq.(C.7) becomes:
⎡ k z n+1 ⎤ Rc = b ⎢( c + kφ ) ⎥ n + 1⎦ ⎣ b
`
(C.9)
In order to calculate the motion resistance, the wheel sinkage has to be determined first. Using the geometry displayed in Fig.C.5 and quite a few manipulations (see [17]) we end up for the sinkage: 2
⎡ ⎤ 2 n +1 3W z=⎢ ⎥ ⎢⎣ b(3 − n)(k c / b + kφ ) D ⎥⎦
(C.10)
And, finally, for the motion resistance:
1 ⎡ 3W ⎤ Rc = ⎥ ( 2 n + 2 ) /( 2 n +1) 1 /( 2 n +1) 1 /( 2 n +1) ⎢ (3 − n) (n + 1)b (k c / b + kφ ) ⎣ D⎦
( 2 n + 2 ) /( 2 n +1)
(C.11)
Constraints: • Eq.(C.11) works well for values of values of the sinkage coefficient up to n=1.3. • The predictions of (C.11) are acceptable for moderate sinkages (z ≤ D/6). • Predictions based on (C.10) in dry, sandy soil are not accurate is there is significant slip sinkage. • In soft soil, where sinkage is significant, the bulldozing resistance acting in front of the wheel should be taken into consideration, in addition to the compaction resistance of given by Eq.(C.11)
- 31 -
Wheel Slippage and Tractive Effort An important effect that influences wheel performance is slippage, expressed by the slippage coefficient i. When the longitudinal distance traveled by a wheel subject to a driving torque is less than that in free rolling, then the wheel slips. The slippage coefficient is defined by Eq.(C.12), where the symbols refer to Fig.C.5.
i = 1−
V rω
(C.12)
To determine the tractive effort-slippage relationship of a rigid wheel we should determine initially the shear displacement along the wheel-soil interface. This can be done based on the analysis of a slip velocity Vj. For a rigid wheel, the slip velocity Vj of a point of the rim relative to the terrain, is the tangential component of the absolute velocity at the same point, as illustrated in Fig.C.6. The absolute velocity is the vectorial sum of the wheel’s translational velocity and the wheel’s velocity on the rim, as is shown on the same figure and the slip velocity can be expressed as:
V j = rω [1 − (1 − i ) cos θ ]
(C.13)
Fig.C.6. Slip velocity of a rigid wheel, responsible for the development of shear displacement The shear displacement along the wheel-soil interface is given by: t
θ1
j = ∫ V j dt = ∫ rω[1 − (1 − i ) cos θ ]
dθ
⇒
ω j = r[(θ1 − θ ) − (1 − i)(sin θ1 − sin θ )] 0
0
(C.14)
Combining Eq.(C.7) with Eq.(C.14) the shear stress distribution can be described by:
τ (θ ) = [c + p(θ ) tan φ ][1 − e − ( r / K )[θ −θ −(1−i )(sin θ −sin θ )] ] 1
- 32 -
1
(C.15)
Vertical load: θ1 θ1 W = rb ⎡ ∫ σ (θ )dθ + ∫ τ (θ ) sin θdθ ⎤ ⎢⎣ 0 ⎥⎦ 0
(C.17)
Drawbar Pull : θ1 θ1 Fd = F − Rc = rb ⎡ ∫ τ (θ ) cos θdθ − ∫ σ (θ ) sin θdθ ⎤ ⎢⎣ 0 ⎥⎦ 0
(C.18)
Wheel Torque: θ1
M ω = r 2 b ∫ τ (θ )dθ 0
(C.19)
C.2 IMPLEMENTED ALGORITHM This section complements section 3.4 of the paper in terms of presenting details on the implemented algorithm, which were not possible to be included in the paper. The top part of Fig.C.6 shows the Bekker wheel-interaction model that the algorithm, in the bottom of the same figure, was based on. The equations shown next to the flow diagram of the algorithm were presented in the previous section of this appendix. The scope of this algorithm is to calculate the maximum sharing capacity of the soil in the wheel’s longitudinal direction. Fig.C.6 actually visualizes the algorithm described in section 3.4 of the paper. Tables with parameters for different kinds of soil can be found in [18]. C.2.1 Discussion As it was mentioned in the beginning of the appendix and in section 3.4 of the paper, a simplified approach was taken to incorporating terramechanics theory in our wheel-soil interaction model. The reason is that making an interaction model including all the terramechanics effects would be an MSc thesis of its own, if not more. The scope of this project has been to try to develop an overall rover locomotion simulator using the port-based modeling approach, by implementing all the necessary components. Therefore due to time restrictions simplification choices had to be made along the way. The second point that should be addressed in this discussion section refers to the hybrid compliant/terramechanics model of Fig.6 (right) in the paper. As it can be seen the slippage between the longitudinal and lateral direction of the wheel is decoupled. This is not completely correct when someone thinks of a car on the asphalt or on compacted soil. Once a wheel starts slipping it looses traction in both directions on the contact plane. Consider now the wheel on soft soil and where sinkage occurs. This sinkage “locks” more or less the wheel in the lateral direction. Additionally there is a terramechanics effect called slip-sinkage where as the wheel starts slipping, it digs itself more into ground depending on the nature of the soil. These effects are rather complex and modeling them went beyond the scope of this project. Thus setting the maximum lateral shearing soil capacity equal to the longitudinal one is a simplification assumption, where the decoupling of the two directions was done considering the above mentioned terramechanics effects.
- 33 -
Fig.C.6 Simplified wheel-soil interaction model (top), calculation algorithm of essential magnitudes (bottom)
- 34 -