# System Identification

A real-world dataset is used to learn the geometric and friction properties of a block being tossed onto a flat surface. Gradient-based optimization is employed to regress parameters and real-to-sim validation is performed. The ground truth system is shown in orange and the learned system in blue.

## Geometry

The eight locations of the block's corners relative to its center of mass are learned.

## Friction

A friction coefficient, describing a friction cone, is learned for all of the contact points.

## Real-To-Sim

The system parameters are learned to within a $\pm 5 \%$ error from their ground-truth values. These parameters are then compared to the ground-truth system in simulation.

## Learning

The cost function:

$\mathcal{L}(\mathcal{D}, \theta) = \sum_{Z \in \mathcal{D}} L(Z, \theta) = \sum_{Z \in \mathcal{D}} \frac{1}{2} ||s(z_{-}, z, \theta) - z_{+}||_W^2$,

is used where $\mathcal{D}$ is a dataset of trajectories containing tuples $(z_{-}, z, z_{+})$ of state sequences, with system parameters $\theta \in \mathbf{R}^p$, and where $s : \mathbf{Z} \times \mathbf{Z} \times \mathbf{R}^p \rightarrow \mathbf{Z}$ represents the simulator.

A quasi-Newton method is employed to optimize the cost function and uses gradients:

$\frac{\partial L}{\partial \theta} = {\frac{\partial s}{\partial \theta}}^T W \Big(s(z_{-}, z, \theta) - z_{+} \Big)$,

and the following Gauss-Newton approximation:

$\frac{\partial^2 L}{\partial \theta^2} \approx {\frac{\partial s}{\partial \theta}}^T W \frac{\partial s}{\partial \theta}$,

of the cost function Hessian, which only relies on Jacobians from Dojo.