Lander Environment Interaction - nasa/ow_simulator GitHub Wiki

Table of Contents

In OceanWATERS, lander-environment interactions limited to the arm's end-effectors interacting with the terrain. At present the lander legs are anchored to the ground and there is no force feedback between them and the terrain. This page will therefore focus exclusively on interactions between the arm's end-effectors and the terrain.

End-Effector Interaction

Possible interactions between the arm's end-effectors and the terrain include: deformation of terrain; collection of regolith from terrain; and force feedback from poking, digging, or grinding terrain.

Deformation of Terrain

Both the scoop and grinder are capable of deforming the terrain in their own ways. The grinder deforms the terrain's invisible collision model; whereas the scoop deforms the terrain's visual model.

Grinder Deformation of Terrain Collision Model

When the grinder end-effector is submerged beneath the terrain, the ow_dynamic_terrain package will track its pose, and modify the terrain's collision model as it moves. The modification is approximated by a circular terrain brush that affects the area around the grinder.

Scoop Deformation of Terrain Visual Model

When scoop end-effector moves into the terrain, the ow_dynamic_terrain package will track its pose, and modify the terrain's visual model as it moves. The modification is approximated by an ellipsoidal terrain brush that affects the area around the scoop.

ow_dynamic_terrain

More about how the ow_dynamic_terrain package works can be find in Dynamic Terrain.

Collection of Regolith from Terrain

Regolith is what we will call the granular material produced by grinding of the solid ice surface. Following a grind operation, regolith should fill the scoop as it digs through the region of terrain that was ground.

Regolith Node

The regolith node works by listening to the /ow_dynamic_terrain/modification_differential/visual topic, which publishes a differential image showing how terrain has been modified by the ow_dynamic_terrain package each time a modification takes place. This image is used to estimate the volume of material subtracted from the terrain as a result of the modification. Each time a volume threshold is reached, a regolith model is spawned just above the tip of the scoop, and is pushed into the rear of the scoop by a minimal force which is removed upon completion of a dig action. The regolith spawned by a dig operation will remain in the simulation world until it either collides with the terrain model or is ingested by the sample dock by calling Sample Ingest ROS Action.

Regolith spawning can be disabled. To do so, set the sim_regolith argument to false when launching any of the supported launch files provided with the project. For example, the following command will launch the atacama_y1a world with the regolith node disabled.

roslaunch ow atacama_y1a.launch sim_regolith:=false

See the README.md located in the ow_regolith package for more information, including caveats and how to change the volume threshold and regolith model. Or for an in-depth explanation the node's architecture, refer to the Appendix C.

Force/Torque Feedback

Force/torque (F/T) feedback is any kind of force or torque exerted by the terrain on the lander that results from lander-terrain interactions. An example of F/T feedback is the normal force exerted by the terrain on an end-effector the comes into contact with it (assuming the portion of terrain it has contacted is unprocessed by the grinder).

Since F/T feedback can result from different interactions that may or may not share common physics, it is necessary to distinguish the variety of F/T feedback than can occur in the simulation. The following table is a non-comprehensive list of terrain interactions that are most relevant to arm operation in the OceanWATERS simulator.

Terrain Interaction Description Relevant Physics Implementation
Poking F/T exerted by the terrain when an end-effector contacts it. Dynamics Gazebo's own implementation of ODE
Grinding F/T exerted on the grinder when it processes terrain material. Comminution N/A
Scooping F/T exerted on the scoop as it moves through processed terrain material. Coulomb Friction, Cohesion BalovnevModelPlugin

The only scenario not yet implemented in OceanWATERS is grinding. This is a potential future improvement to the simulation.

Force/Torque of Poking

Poking is handled well enough by Gazebo's own physics engine, so F/T feedback for this scenario is available right out of the box. However, there is work to be done to improve it's accuracy, stability, and enable representation of multiple different material types--each one with its own hardness--in a single terrain model.

Force/Torque of Scooping

Scooping F/T feedback required integration of a model into the simulation. There were several models explored for this, including: the Balovnev bucket force model (implemented as BalovnevModelPlugin) and a discrete element method simulation performed either on-the-fly during simulation time or prior to simulation time and stored in a lookup table mapped to the scoop trajectory (partially implemented as LinkForcePlugin).

BalovnevModelPlugin

This is a Gazebo plugin that attaches to a model in a URDF, SDF, or XACRO file. The plugin is responsible for calculating forces using the Balovnev bucket force formulae [Balovnev1983] and applying those forces to the scoop during a dig. It does this by listening to the /ow_dynamic_terrain/modification_differential/visual topic, which publishes the difference between the original and new heightmaps. This difference image is averaged to compute an average depth of the scoop, which acts as input to the Balovnev bucket force model to produce two orthogonal forces: the horizontal force which is oriented in the direction of scoop's motion, and the vertical force which is oriented up-and-down in the scoop reference frame. These two forces are applied to the scoop model using Gazebo's Link API.

The Balovnev bucket force model takes into account material properties of what is being scooped, geometry of scoop, and gravity. Presently these parameters are hard-coded, but the project plans to expose these parameters for modification by either the user or other systems in within OceanWATERS.

LinkForcePlugin (not ready for use)

NOTE: The LinkForcePlugin and associated lookup tables described in the following paragraphs are implemented in the code but are not integrated or available for use in the current release of OceanWATERS.

Digging feedback forces are dynamic feedback on the scoop end-effector during a dig operation. Dynamic feedback is implemented by the LinkForcePlugin, which is a Gazebo plugin that provides force and torque resulting from the scooping operation as the scoop moves through granular material produced by the grinding operation. The torque vector is calculated with respect to the center of mass. The force and torque vectors are applied to the center of mass of the scoop. The LinkForcePlugin subscribes to a ROS topic published by the autonomy node to receive information about: material type, the scoop targeted bite depth, and pass number. The exact meaning of these parameters will be explained in the following section.

The LinkForcePlugin reads a lookup table which contains numerical data on force and torque applied to the scoop during a trenching motion through granular material simulated using a Discrete Element Method (DEM) model. DEM modeling has been chosen to provide terrain feedback because it takes into account the specific end effector geometry, granular material properties, and environmental conditions; providing a more realistic and customizable force feedback characterization. DEM software is based on the modeling of physical interactions at a particle level, taking into account elastic forces, normal and rolling friction, plastic deformation of the particles and cohesion. The lookup table currently implemented in OceanWATERS was generated through extensive simulations performed using the commercial DEM software EDEM.

Future releases of OceanWATERS may allow the user to implement customized terrain interaction feedback for any end-effector configuration, particle shape, bulk material properties, sample collection procedure. For example, this may be achieved by incorporating the open source DEM software Yade in the OceanWATERS simulation. See below for further details.

Precomputed Robotic Arm Force/Torque Tables

The lookup table contains force and torque data acting on the scoop during its interaction with the terrain, resulting from DEM simulations. For these simulations, a simplified version of the scoop design from the Phoenix Mars Lander has been adopted (see picture below).

A sample collection strategy, suitable for Europa-like surface terrains, has been developed and used in the DEM simulations. The sample collection strategy consists of a sequence of five passes of the scoop through the same terrain region, digging deeper with each pass. Each pass is also called a bite. When one pass is over, the scoop deposits its collected material in a safe dumping zone away from the trench, and the next pass starts. Between two consecutive bites, the excavated depth increases a fixed quantity, referred to as bite depth. During a single pass, the scoop follows a circular motion with a rotational velocity of 30 deg/s. See Appendix B and [Catanoso2020] for additional details.

On-the-fly Discrete Element Method (DEM) Model (potential future feature)

Computation of high-fidelity F/T feedback may be supported in OceanWATERS at a later software release. This planned feature would allow users to specify:

  • Material properties of the scooped terrain, such as: density, internal friction, cohesion, elastic properties, and particle shape.

  • End effector properties, such as: shape, mass, trajectory, and the friction coefficient with the terrain.

  • Simulation parameters typical of DEM, such as: particle size and time step interval.

This may be accomplished by integrating the open-source DEM software Yade into OceanWATERS.

Users interested in this potential feature should be aware that computations of this nature are much slower than real-time. Depending on the material, end-effector properties, and the simulation parameters selected, a custom terrain interaction scenario can take up to 24 hours or more to process on a modern laptop or workstation. Users interested in eventually incorporating this potential feature into their studies should carefully consider how long each simulation run will take and plan accordingly.

The Yade integration would use a custom Cosimulation Gazebo plugin for ROS. The plugin allows the user to initially either select from preset terrain profiles, such as: snow, sand, and ice, which have been used and tested in development, or to provide characterization parameters for a custom terrain. As previously mentioned, the user-specified parameters may include material properties, end-effector properties, and/or Yade simulation parameters. Additionally, the user may specify where raw force and torque feedback output files are generated. This provides the user with a high level of flexibility in catering the simulation to their specific use case. The parameters would be utilized to create a wrapper for the use case that interacts with the Yade API to generate simulation results.


[Catanoso2020] Catanoso, D., Stucky, T., Case, J., and Rogg, A., “Analysis of Sample Acquisition Dynamics Using Discrete Element Method”. IEEE Aerospace Conference, Yellowstone Conference Center, Big Sky, Montana, USA, March 7-14, 2020.

[Balovnev1983] Balovnev VI (Vladilen I. New Methods for Calculating Resistance to Cutting of Soil / V.I. Balovnev. Amerind Pub. Co.; 1983.