A time-domain vibration observer and controller for physical human-robot interaction