Trajectory Planning for Flexible Robots 9
-13
∗
1 5 10 15 1 5 10 1515
Send This Value
at Time Step 1
Acquire This Value
at Time Step 1
∗
15
10
15 15
10
1515
Send This Value
at Time Step 8
Acquire This Value
at Time Step 8
Store This Value
for Later
FIGURE 9.17 Real-time input shaping.
value in the buffer would be the shaped command at the first time instance. A graphical representation
of such a buffer is shown in the upper right-hand corner of Figure 9.17. The upper left-hand portion of
the figure shows the unshaped baseline command in the digital domain. This baseline command can be
created in real time, for example, by reading a joystick position.
In order to fill the buffer with the input-shaped command, the algorithm determines the baseline
command each time through the control loop. The algorithm multiplies the value of the baseline command
by the amplitude of the first impulse in the input shaper. This value then gets added to the current time
location in the command buffer. The amplitude of the second impulse is then multiplied by the baseline
command value. However, this value is not sent directly out to the feedback control loop. Rather, it is
added to the future buffer slot that corresponds to the impulse’s location in time. For example, assuming
a 10 Hz sampling rate, if the time location of the second impulse were at 0.5 sec, then this second value
would be added to the buffer five slots ahead of the current position. This real-time process will build up
the shaped command as demonstrated in Figure 9.17. The figure indicates what the value of the shaped
command would be at the first time step and at the eighth time step and how the index to the current
command value advances through the buffer. To avoid having the index exceed the size of the buffer, a
circular buffer is used where the index goes back to the beginning when it reaches the end of the buffer.
9.2.7 Applications
The robustness and ease of use of input shaping has enabledits implementation on a largevarietyof systems.
Shaping has been successfully implemented on a number of cranes and crane-like structures [19–22]. The
performance of both long-reach manipulators [23, 24] and coordinate measuring machines [3, 25, 26]
improves considerably withinput shaping.The multiple modes of a silicon-handling robot wereeliminated
with input shaping [27]. Shaping was an important part of a control system developed for a wafer stepper
[28, 29]. The throughput of a disk-drive-head tester was significantly improved with shaping [8]. A series
of input-shaping experiments was even performed on board the space shuttle Endeavor [13, 30].
Although input shaping may not be specifically designed to optimize a desired trajectory, its ability
to reduce vibration allows the system to track a trajectory without continually oscillating around the
trajectory path. In this respect, input shaping relies on a good baseline command for the desired trajectory.
This trajectory needs to be nominally of the correct shape and needs to account for physical limitations of
the hardware such as workspace boundaries and actuator limits. This baseline trajectory would normally
be derived from these physical and kinematic requirements and this topic is addressed elsewhere.
As a demonstration of input shaping trajectories, consider the painting robot shown in Figure 9.18.
The machine has orthogonal decoupled modes arising from a two-stage beam attached vertically to an