# Input shaping

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Input_shaping
> Markdown URL: https://mediated.wiki/source/Input_shaping.md
> Source: https://en.wikipedia.org/wiki/Input_shaping
> Source revision: 1326696659
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Technique for reducing machine vibrations

This article may be confusing or unclear to readers. Please help clarify the article. There might be a discussion about this on the talk page. (December 2013) (Learn how and when to remove this message)

Input shaping is used in modern [3D printers](/source/3D_printer) with [stepper motors](/source/Stepper_motor) configured in [open loop](/source/Open-loop_controller), such as this [Voron 2.4](/source/Voron_2.4) where the shaping is done in [Klipper](/source/Klipper_(firmware))

In [control theory](/source/Control_theory), **input shaping** is an [open-loop control](/source/Open-loop_controller) technique for reducing [vibrations](/source/Vibration) in [computer-controlled](/source/Computer_numerical_control) machines. The method works by creating a [command signal](/source/Control_system) that [cancels](/source/Wave_interference) its own vibration. That is, a vibration excited by previous parts of the command signal is cancelled by vibration excited by latter parts of the command.

Input shaping is implemented by [convolving](/source/Convolution) a sequence of [impulses](/source/Impulse_response), known as an **input shaper**, with any arbitrary command. The shaped command that results from the convolution is then used to drive the system.

If the [impulses in the shaper](/source/Impulse_vector) are chosen correctly, then the shaped command will excite less [residual](/source/Errors_and_residuals) vibration than the unshaped command. The [amplitudes](/source/Amplitude) and time locations of the impulses are obtained from the system's natural frequencies and [damping ratios](/source/Damping_ratio). Shaping can be made very [robust](/source/Robustness_(computer_science)) to errors in the system [parameters](/source/Parameter).[1]

## Example

As an example, consider a [linear](/source/Linear_system) system with a [resonant](/source/Resonance) frequency of 1Hz. If a [step](/source/Step_function) input is applied, the system will oscillate at 1 [hertz](/source/Hertz) for a length of time determined by the [damping](/source/Damping) associated with the resonant [mode](/source/Normal_mode). For some systems, such as [cranes](/source/Crane_(machine)), the oscillation can last for minutes, while a comparable [rigid](/source/Rigid_body_dynamics) system could be maneuvered in seconds.

However, if the original step input is applied at half magnitude, and again at half magnitude 0.5 seconds later (which for 1 Hz is half the period of the resonant frequency), the resulting oscillations in the system are [out of phase](/source/Out_of_phase) and cancel entirely. This applies to both acceleration and deceleration of the system.

## References

1. **[^](#cite_ref-1)** Rush D. Robinett; Rush D. Robinett III; John Feddema; G. Richard Eisler; Clark Dohrmann; Gordon G. Parker; David G. Wilson; Dennis Stokes (2001). *Flexible Robot Dynamics and Controls*. Springer. [ISBN](/source/ISBN_(identifier)) [0-306-46724-0](https://en.wikipedia.org/wiki/Special:BookSources/0-306-46724-0).

## External links

- [Input shaping simulator](https://www.pidlab.com/oldweb/en/zv4is-demo.html) demonstrates the filter principle on a [gantry crane](/source/Gantry_crane) control problem.

---
Adapted from the Wikipedia article [Input shaping](https://en.wikipedia.org/wiki/Input_shaping) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Input_shaping?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
