In this paper, we describe a method of adaptive feedforward control that can achieve zero residual vibration in rest-to-rest motion of a vibratory system. When a finite impulse response filter is used to preshape a command input, zero residual vibration is achieved for any input signal if the impulse response of the filter satisfies a condition of orthogonality with respect to the impulse response of the system under control. An equivalent condition involving sets of measured I/O data is derived that forms the basis of a direct method of adaptively tuning filter coefficients during motion. The approach requires no prior model of the system and can be applied to multimode and multiinput systems under arbitrary and nonrepetitive motions. Versions of the algorithm employing recursive least-squares techniques are developed and analyzed. As a special case of the general adaptation problem, tuning of impulse-based shapers with fixed impulse timings can also be achieved. An experimental implementation on a two-link rigid-flexible manipulator is presented. The method is thereby shown to be realizable and effective for real-world motion control problems.