Minimize the time taken for a robot arm to travel between two points.
This problem originated in the thesis of Monika Mössner-Beigel
(Heidelberg University). In her formulation the arm of the robot
is a rigid bar of length
that protrudes a distance
from the origin to the gripping end and sticks out a distance
in the opposite direction. If the pivot point of the arm is
the origin of a spherical coordinate system, then the problem can be
phrased in terms of the length
of the arm from the pivot, the
horizontal and vertical angles
from the
horizontal plane, the controls
, and the final time
. Bounds on the length and angles are
where
is the moment of inertia, defined by
In the implementation of Vanderbei [22]
the controls
are eliminated by
substitution, and thus the equality constraints in (8.1)
become the inequalities
| Variables |
|
| Constraints |
|
| Bounds |
|
| Linear equality constraints | 0 |
| Linear inequality constraints | 0 |
| Nonlinear equality constraints |
|
| Nonlinear inequality constraints | 0 |
|
Nonzeros in
|
0 |
|
Nonzeros in |
|
Results for the AMPL implementation appear
in Table 8.2.
All solvers were given the same initial values.
The initial values for
and
were set to the
functions
and
evaluated at the grid points.
Similarly, initial values for
were set to the
discrete version of the parabola
| Solver | |
|
|
|
| LANCELOT | 0.47 s | 0.53 s | 1.2 s | 2.59 s |
|
|
0.00000e+00 |
-2.77555e-17 |
-2.77555e-17 |
-2.77555e-17 |
|
|
4.18880e-02 |
2.09440e-02 |
1.04720e-02 |
5.23600e-03 |
| iterations | 5 | 3 | 3 | 3 |
| LOQO | 1.03 s | 2.77 s | |
|
|
|
9.14687e+00 | 9.14267e+00 | |
|
|
|
2.4e-10 | 4.7e-11 | |
|
| iterations | 24 | 30 | |
|
| MINOS | 2.82 s | 9.89 s | 37.96 s | 161.18 s |
|
|
9.14687e+00 | 9.14267e+00 | 9.14138e+00 | 9.14108e+00 |
|
|
2.0e-13 | 1.0e-10 | 2.7e-12 | 5.7e-13 |
| iterations | 9 | 13 | 22 | 37 |
| SNOPT | 10.22 s | 30.7 s | 317.52 s | 2671.63 s |
|
|
9.14687e+00 | 1.92751e+01 |
9.14142e+00 | 9.14101e+00 |
|
|
1.9e-10 | 3.4e-04 |
1.4e-10 | 2.1e-10 |
| iterations | 24 | 9 | 31 | 29 |
|
|
||||
Figure 8.1 shows the variables
,
,
for the robot arm
as a function of time.
We also show in
Figure 8.2 the controls
,
,
as a function
of time.
Note that the controls for the robot arm
are bang-bang. Also note that the functions
,
,
for the robot arm
are continuously differentiable, but since the second derivatives
are directly proportional to the controls, the second
derivatives are piecewise continuous.