Learning rigid body dynamics for Arbitrary Geometries

This project delves into the integration of control theory and machine learning to enable robot manipulators to understand and adapt to the dynamics of various objects. The primary objective is to push arbitrarily-shaped blocks to a specific goal location. The dynamics of these objects are learned using a neural network, trained on trajectories collected in a simulated environment in PyBullet. The Model Predictive Path Integral (MPPI) algorithm is employed to determine the optimal trajectory for the block pushing task.

Experiment Setup:

The experiment contains a 7-DoF panda robot, an object to push, an obstacle and the table on which these items are located. The goal of the robot is to push the object from its starting position around the lower end of the obstacle, towards the goal.

Action Space:

The robot is capable of pushing the object from any side, altering the push length, angle, and point of contact on the object's surface.

Objects:

Behaviour of cube-like shapes is typically easier to predict than a non-symmetric shapes due to its uniformity and centered mass. Therefore, the dataset includes shapes in the form of the letter A, U and M. The angled sides of the "A" and the gap in the "U" resemble more complex shapes.

Dataset:

For each object, 600 trajectories were collected. For each trajectory the robot pushes an object with random actions 8 times around a planar surface, before the environment resets and the next trajectory is recorded.

Model:

The dynamics model consists of a 3-layer Residual Neural Network with ReLU activation functions. The loss function measures the distance between the object's target and predicted positions.

Control:

Model Predictive Path Integral (MPPI) is a trajectory optimization algorithm that uses a sampling-based approach to generate a set of candidate trajectories. The algorithm evaluates each trajectory's performance using a cost function and selects the trajectory with the lowest cost. The process repeats, generating a new set of candidate trajectories at each iteration, until a suitable one is found.

Results:

The GIFs below show the performance of the model with MPPI pushing objects around the obstacles towards the goal vicinity. Objects resembling cubes, such as "M", are easier to push and require fewer steps due to their uniform shape and regular geometry. A cube's center of mass aligns with its geometric center, simplifying predictions of its movement under an applied force. In contrast, non-symmetric shapes with irregular geometries and uneven mass distribution are more challenging to predict and control. As a result, pushing actions on objects like "U" often lead to more rotational than linear movement, necessitating additional steps to complete the trajectory.