9
-4 Robotics and Automation Handbook
Physical
Plant
Feedback
Controller
Σ
Command
Generator
Feedforward
Controller
Σ
FIGURE 9.5 Block diagram of generic system.
control loop. The actual actuator effort is then generated by the feedback controller and applied to the
plant. On the other hand, a feedforward controller injects control effort directly into the plant, thereby
aiding, or overruling, the action of the feedback control.
There is a wide range of command generators and feedforward controllers, so globally characterizing
their strengths and weaknesses is difficult. However, in general, command generators are less aggressive,
rely less on an accurate system model, and are consequently more robust to uncertainty and plant variation.
Feedforward control action can produce better trajectory tracking than command generation, but it is
usually less robust. There are also control techniques that can be implemented as command generation or
as feedforward control, so it is not always obvious at first how a control action should be characterized.
The desired motion of a robotic system is often a rapid change in position or velocity without residual
oscillation at the new setpoint. However, tracking trajectories that are complex functions of time and
space is also of prime importance for many robotic systems. For rigid multi-link serial and parallel robots,
the process of determining appropriate commands to achieve a desired endpoint trajectory can be quite
challenging and is addressed elsewhere. This chapter assumes that some baseline commands, possibly
generated from kinematic requirements, already exist. The challenge discussed here is how to modify the
commands to accommodate the flexible nature of the robotic system.
9.2 Command Generation
Creating specially shaped reference commands that move flexible systems in a desired fashion is an old
idea [4, 5, 51]. Commands can be created such that the system’s motion will cancel its own vibration.
Some of these techniques require that the commands be pre-computed using boundary conditions before
the move is initiated. Others can be implemented in real time. Another significant difference between the
various control methods is robustness to modeling errors. Some techniques require a very good system
model to work effectively, while others need only rough estimates of the system parameters.
9.2.1 Bridge Crane Example
A simple, but difficult to accurately control, flexible robotic system is an automated overhead bridge crane
like the one shown schematically in Figure 9.6. The payload is hoisted up by an overhead suspension cable.
The upper end of the cable is attached to a trolley that travels along a bridge to position the payload.
Furthermore, the bridge on which the trolley travels can also move perpendicular to the trolley motion,
thereby providing three-dimensional positioning. These cranes are usually controlled by a human operator
who presses buttons to cause the trolley to move, but there are also automated versions where a control
computer drives the motors. If the control button is depressed for a finite time period, then the trolley will
move a finite distance and come to rest. The payload on the other hand, will usually oscillate about the new
trolley position. The planar motion of the payload for a typical trolley movement is shown in Figure 9.7.
The residual payload motion is usually undesirable because the crane needs to place the payload at a
desired location. Furthermore, the payload may need to be transported through a cluttered work environ-
ment containing obstacles and human workers. Oscillations in the payload make collision-free transport
through complex trajectories much more difficult. Figure 9.8 shows an overhead view of the position of