Targeting Algorithm for Bag Dispenses
Project Goals
- Predict how a stock item would fall into a bag given its physical properties and dispense speed.
- Find ways to avoid item collisions with each other or with bag walls.
- Implement an efficient instance of the algorithm to be run in less than 10ms.
Empirical Data Collection
A dozen items were dispensed at different speeds and heights and the landing distance was recorded each time. This was done into a granular media to absorb the impact energy.
Each item was weighed then placed on a custom torsional pendulum to determine its specific moment of inertia.
Developing a Physics Model
Every dispense problem was abstracted to a rectangle rolling off the edge of a spinning disk, with the exception of spherical items.
Composed of both a static and kinetic friction regime, the model accounted for stick-slip interaction between the item and the conveyor.
Dynamic equations were derived through the use of Lagrangian mechanics.
Model Verification with Simulations
The physics model above was verified in 4 different ways:
- SolidWorks Motion Studio
- Python numerical integration using Scipy
- MuJoCo toolbox and URDF descriptions
- Direct comparison against empirical data
Chaotic behavior was detected through the use of bifurcation diagrams and varying theoretical friction coefficient values.
There was strong agreement between the model and data, but liquid containers showed the most deviation from theory.