Lander Environment Interaction - nasa/ow_simulator GitHub Wiki
Table of Contents
- End-effector Interaction
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.