Interpreting contact interactions to overcome failure in robot assembly tasks