Bucket into Pile of Bulk Material

Consider an excavator bucket moving into a pile of bulk material.

The goal is to obtain a romAI model capable of predicting the forces/torques (Fx, Fz, Ty) acting on the bucket itself, while some mass of granular material is being grabbed.

It follows that the mass of granular material being grabbed by the bucket is used as the state variable of the systems. Instead, the bucket position and velocity, both translational and angular, are used as system inputs.

Hence, the romAI model can be schematized by the following block diagram.

As shown, since it is also interesting to know how much mass is being grabbed, the mass itself is also set as a system output (state variables can be included among system outputs).

To train the romAI model, time histories of inputs, outputs, and state variables are needed.

In this case, the training dataset consists of three separate time histories. Each time history has been built by running an Altair Edem simulation of the bucket.

In each simulation, the bucket follows a different path to move the granular material pile. The forces and torques acting on the bucket and the mass being grabbed in the first simulation are shown here.

Given the dataset, the romAI model can be built easily through the builder tab.

  1. Specify the model path and name.
  2. Specify the Inputs, Outputs, and States.
  3. Define the model Settings:
    • Model Type: non linear
    • (Hidden) Activation Function: relu
    • Hidden Layers: 2
    • Neurons X (Hidden) Layer: [300,300]
    • Epochs: 800
    • Test Split Ratio: 0.2
  4. Set the Advanced Settings:
    • Learning Rate: 1e-3
    • Regularization Coefficient: 0
  5. Start the training procedure.

After the training is completed, the Loss vs Epochs curve is automatically displayed in the Post-Processor tab, together with all the romAI model information.

Further investigations regarding the accuracy of the romAI model can be carried over in the Post-Processor tab. Moreover, the romAI model can be deployed in Twin Activate using the built-in romAI block.

At this stage, the results of the romAI model can be compared with the ones produced by another Altair Edem simulation (not included in the training dataset), which is shown here.

The path of the bucket follows while moving the pile is different compared to the training simulations.

Small numerical errors might cause non-physical values returned by the romAI model. For example, the mass being negative, before the bucket gets to the pile of the granular material.

This can be easily solved using the Advanced Options in the romAI block.

States Condition is defined as:
  • State name: 'm'
  • Reset Condition: 'x < -1.2'
  • Reset Value: 0
  • Lower limit: 0
  • Upper limit: inf

The mass is forced to be null, until the bucket gets to the pile of bulk material.

Output Constraints 'Fx', 'Fz', and 'Ty' are defined as:
  • 'Fx * (m>0)'
  • 'Fz * (m>0)'
  • 'Ty * (m>0)'

The forces and torques acting on the bucket are forced to be null if the mass being grabbed is null.

Applying the Advanced Options produces the following results.