Content uploaded by Andre Gallant
Author content
All content in this area was uploaded by Andre Gallant on May 08, 2023
Content may be subject to copyright.
Throwing capabilities of manipulators
Andr´e Gallant1and Cl´ement Gosselin2
1Universit´e de Moncton, Moncton NB, Canada andre.gallant@umoncton.ca
http://www.dynamium.ca
2Universit´e Laval, Quebec QC, Canada gosselin@gmc.ulaval.ca
https://robot.gmc.ulaval.ca
Abstract. This paper explores the maximal distance throwing task for
manipulators and shows that this characteristic can be incorporated into
the kinematic design process. Indeed, knowing the maximum distance that
a manipulator can throw objects is useful in determining the viability
of certain throwing tasks it might be called upon to execute. This paper
studies three optimization problems: the release state that maximizes the
throwing distance, the kinematic trajectory subject to position, velocity,
acceleration and jerk constraints, and finally the kinematic design of ma-
nipulators to maximize the workspace as well as the throwing distance.
A planar RR, a spatial RRR and a wrist-partitioned 6R manipulator are
used as case studies for these optimizations.
Keywords: Robot throwing ·Trajectory planning ·Kinematic design.
1 Introduction
Robotic manipulators are increasingly being called upon to perform a wide range
of tasks that extend beyond traditional industrial applications. One such type of
task is throwing objects. The distance-throwing task, where an object is thrown
the farthest possible, is studied in this work. Specifically, two aspects of robot
throwing are investigated: 1) What motions achieve the farthest throwing dis-
tance? 2) Can the throwing distance capabilities reasonably be incorporated into
the kinematic design of a general-purpose manipulator?
Throwing objects with robots is not a new idea, many researchers have stud-
ied the problem from several points of view; machine learning [5,4]; 1D machines
that exploit dynamics [7,10]; designing underactuated double pendulums with
nonlinear springs [6,12]. While great performance can be achieved with learning
methods, the learning process necessarily involves trial and error. While specific
machines generally also perform very well, it is desirable to design or use ma-
nipulators that are capable of not only throwing objects but also performing
manipulation tasks.
Many approaches have been attempted to enable general-purpose manip-
ulators to throw objects, such as applying control theory to execute throwing
motions [2]. Others have studied how humans throw objects [9,3]. While the per-
formance of such approaches is interesting, they are generally applied to planar
2 Andr´e Gallant and Cl´ement Gosselin
D
v
x
v
z
(x0,z0)
Fig. 1: Ballistic model.
manipulators and are difficult to generalize to manipulators with more degrees
of freedom.
The kinematic and dynamic design of serial manipulators has been explored
from the point of view of the specific task that the manipulator will be called
upon to accomplish [11]. In [8], the design of a planar manipulator for the max-
imization of the throwing distance has been accomplished. To the best of the
authors’ knowledge, the distance-throwing capabilities of a manipulator as a de-
sign consideration along with other design objectives has not been explored in
the literature. Nor has the design of more general spatial manipulators using the
distance throwing capabilities been conducted. Indeed, most works studying the
throwing task only consider planar manipulators.
This paper is structured as follows, Section 2 studies the throwing task and
defines optimization problems, Section 3 introduces the manipulators used as
case studies. In Section 4, an analysis of two maximal distance optimization
problems is performed and a useful link between the two is found, and Section 5
explores the distance throwing capabilities of a manipulator as a parameter in
its design.
2 Distance Throwing Task
To evaluate the throwing distance capabilities of manipulators, a working model
of the thrown object ballistics is required as shown in Fig. 1. In this work, drag
and wind effects are neglected. It can be seen that this model accounts for an
initial distance and height (could be negative).
The distance thrown can be computed as
D=
x0+vx
gvz+pv2
z+ 2gz0
(1)
where vxand vzare the initial horizontal and vertical velocities, gis the gravi-
tational acceleration, and x0and z0are the coordinates of the initial throwing
position (position of the end-effector when releasing the object). The velocity
terms in both models can also be computed using the manipulator’s Jacobian
matrix, namely
v
ω=Jv
Jω˙
q(2)
Throwing capabilities of manipulators 3
where vis the velocity of the reference point on the end-effector (this is consid-
ered to be the center of mass of the thrown object), ωis its angular velocity of
the object, the Jacobian matrix is divided into a translational part (Jv) and an
angular velocity part (Jω). Finally, ˙
qis the joint velocity array. For the task of
throwing, the angular velocity is not relevant. In the case of planar manipula-
tors, all components of (1) are readily computed. However, in the case of spatial
manipulators, the initial coordinates and the initial velocity are not necessarily
collinear (e.g., side arm throw) and two components of the throwing distance
must first be computed (landing point) as
d=
x0+vx
gvz+pv2
z+ 2gz0
y0+vy
gvz+pv2
z+ 2gz0
,and D=√dTd.(3)
In this paper, two optimization problems are studied. The first simply consists
in optimizing the state (joint position and velocity) of the manipulator at release.
The solution to this problem provides the upper bound of the throwing distance
and can be used to guide other optimizations. The second optimization task
consists in finding the maximum throwing distance while respecting kinematic
constraints such as position, velocity, acceleration, and jerk.
Release State Optimization Problem (RSOP): The first optimization
problem considered in this work is also the simplest. It consists in optimizing
the state of the manipulator at the moment of release. In other words, the tra-
jectory leading up to and following the throwing of the object is not considered
in this part of the study. While simplistic, the information gleaned from its
study can provide some insight for subsequent optimizations. For instance, the
solution provides the upper bound of the throwing distance of a given manipula-
tor. Furthermore, it can provide an initial guess for more complex optimization
problems. Formally, the RSOP can be stated as
max
q,˙
q
D(q,˙
q)
s.t. qmin ⪯q⪯qmax
|˙
q| ⪯ ˙
qmax
(4)
where qmin,qmax ,˙
qmin, and ˙
qmax are the joint position and velocity bounds of
the manipulator. The symbol ⪯represents componentwise inequalities and the
absolute value is also applied componentwise.
Kinematic Trajectory Optimization Problem (KTOP): The state of
the manipulator at the moment of release is not the only consideration when
studying the throwing of objects with manipulators. Joint acceleration and jerk
constraints may render the optimal state impossible to attain. Therefore, the
trajectory leading up to and following the release of the object should be con-
4 Andr´e Gallant and Cl´ement Gosselin
Fig. 2: The three manipulator architectures studied in this work.
sidered. Thus, the KTOP can be stated as
max
q(t),tR
D(q(tR),˙
q(tR))
s.t. qmin ⪯q(t)⪯qmax,∀t∈[0, T ]
|˙
q(t)| ⪯ ˙
qmax,∀t∈[0, T ]
|¨
q(t)| ⪯ ¨
qmax,∀t∈[0, T ]
|...
q(t)| ⪯ ...
qmax,∀t∈[0, T ]
tR⩽T
˙
q(0) = 0
˙
q(T) = 0
(5)
where tRis the release time and Tis the total trajectory time.
In this work, it is assumed that the manipulator begins and ends the throwing
motion at rest, as reflected in the last two constraints of Eq (5). It can be
observed that the state of the manipulator with which the throwing distance
is computed is the state of the manipulator at release time. If the acceleration
and jerk capabilities of the studied manipulator are sufficiently large, it may
be possible to find a trajectory that reaches the upper bound provided by the
RSOP above.
3 Example Manipulators
To assess the effectiveness of the different optimization methods, each was tested
on three manipulators of increasing complexity. These manipulators are shown
in Fig. 2.
The planar RR manipulator, shown in Fig. 2a, is studied first because of
its simplicity. Thus, some insight may be gleaned from its study. The second
manipulator studied is the spatial RRR architecture shown in Fig. 2b. It should
be noted that links two and three of this manipulator are the same as those
of the planar RR manipulator (locking the first joint renders it identical to the
Throwing capabilities of manipulators 5
RR manipulator). The third manipulator studied in this work is a general wrist-
partitioned 6R architecture shown in Fig. 2c. Again, the link lengths are chosen
such that locking the wrist joints of the 6R produces the kinematics of the RRR
manipulator, and further locking the first joint produces the kinematics of the
RR manipulator.
4 Results (RSOP and KTOP)
In this work, all optimization problems are solved numerically using an SQP al-
gorithm, as implemented in the open source library nlopt [1]. They are performed
using an Intel Core i5-4690 Haswell 3.5 GHz Quad-Core CPU.
As explained in Section 2, the RSOP optimizes the state of the manipulator
at the moment the object is released to maximize the throwing distance. It can
be seen from Eq. 1 that the square root pv2
z+ 2gz0can be imaginary. As a
consequence, the objective function is imaginary for a subset of the manipula-
tor’s state space. A natural remedy for this may be to consider the throwing
distance to be zero for the imaginary parts. However, this poses a problem for
the numerical optimization because the computed gradient and Hessian Matrix
used in the SQP algorithm will be zero for portions of the objective function.
Therefore, the optimization will fail because it cannot compute a viable search
direction. To mitigate this, the objective function was modified to
D=
z0+v2
z
2g,if v2
z+ 2gz0<0
x0+vx
gvz+pv2
z+ 2gz0,otherwise (6)
where z0+v2
z
2gcorresponds to the distance between the summit of the ballistic
trajectory and the ground. It is always negative when v2
z+ 2gz0<0 and is a
direct measure of how far the throw is to being valid. It will, therefore, pull the
optimization toward a valid throw. There is also an issue of sensibility to the
initial guess. To explore mitigation for this, three optimization configurations
are explored where the optimization is launched with an initial guess as the best
of N random guesses. Thus, the following four optimization configurations are
considered:
– O1: Eq. (6) with random guess
– O2: Eq. (6) with best of 50 guesses
– O3: Eq. (6) with best of 100 guesses
– O4: Eq. (6) with best of 200 guesses
To evaluate these optimization configurations, each procedure is executed
1,000 times and the following criteria are measured.
– Best (m): Best objective value after optimization
– Average (m): Average objective value after optimization
– Average guess (m): Average objective value of the initial guess
– Success (%): Rate of convergence within 5% of best overall
– Time (ms): Average computation time per optimization
6 Andr´e Gallant and Cl´ement Gosselin
Table 1: Results of the RSOP numerical experiments.
RR Manipulator RRR Manipulator 6R Manipulator
O1 O2 O3 O4 O1 O2 O3 O4 O1 O2 O3 O4
Best 3.22 3.22 3.22 3.22 4.23 4.23 4.23 4.23 5.08 5.08 5.08 5.08
Average 1.74 3.00 3.22 3.22 2.51 3.93 4.23 4.22 2.95 4.56 5.03 5.06
Average guess 0.34 0.17 1.86 2.18 0.43 0.26 2.12 2.49 0.36 0.20 1.77 2.14
Success 52.6 90.7 100 100 57.1 90.2 100 100 54.7 83.5 96.5 97.7
Time 2.30 3.72 2.66 2.79 3.52 5.30 4.31 4.45 9.81 15.0 13.7 15.1
Fig. 3: Farthest throw solution to the RSOP for all three manipulators.
The results of these experiments are shown in Table 1 in which several ob-
servations can be made. The first is that the first joint of the RRR and 6R
manipulators as well as the wrist of the 6R manipulator increase the throwing
distance capabilities considerably. This is despite the fact that the first joint is
vertical and that the links in the wrist are relatively short and that the total
reach of all three manipulators is equal. Figure 3 shows the release state posture
and the throwing distance for the best solution of each manipulator to illustrate
the effect of the vertical joint and of the wrist.
Also, it can be noted that the best optimization seems to be the selection of
an initial guess with a population of 100 (O3). Above that, the time required to
evaluate the entire population increases without providing much improvement
in the chances of obtaining the optimal solution.
The solution to the previous optimization problem (RSOP) provides the up-
per bound of the throwing distance capabilities, but manipulators generally have
other kinematic constraints such as acceleration and jerk. Thus, the RSOP so-
lution may not be attainable in practice. Since the trajectory of a manipulator
is continuous, the dimension of the search space of the KTOP in the form de-
tailed in Eq. (5) is infinite. However, with only kinematic constraints, the search
space can be reduced to the same as that of the RSOP. Indeed, given veloc-
ity, acceleration and jerk constraints, the minimum displacement ∆qito reach
a given velocity ˙qR,i for a given maximum acceleration ¨qmax,i and a maximum
Throwing capabilities of manipulators 7
jerk ...
qmax,i can be explicitly computed with
∆qi=1
2¨qmax,i ˙qR,i −¨q2
max,i
...
qmax,i!2
+¨qmax,i
2...
qmax,i ˙qR,i −¨q2
max,i
2...
qmax,i!(7)
which is obtained by integrating the position considering that the acceleration
follows trapezoidal profiles. Thus, the KTOP can be rewritten as
max
qR,˙
qR
D(qR,˙
qR)
s.t. |˙
qR| ⪯ ˙
qmax
qR−∆q⪰qmin
qR+∆q⪯qmax
(8)
where ∆qis the array containing ∆qifor each joint. This optimization problem
is much easier to solve than the general KTOP. To get a sense of the effect
of the acceleration bounds on the maximal throwing distance capabilities of
manipulators, an analysis of the KTOP solutions is performed with a variety of
acceleration bounds. In a procedure similar to the one used in the RSOP section
above, for each manipulator, 1,000 tests are performed, each with acceleration
bounds ranging from 10 rad/s2to 0.5 rad/s2. As the bounds decrease, one would
expect the maximal throwing distance to also decrease. For this test, the joints
are limited to ±180◦and the maximum joint speed is 180◦/s for each joint.
Finally, the optimization parameters chosen for this analysis are the ones in O3,
i.e., with the best of 100 random guesses chosen as the initial guess.
The results are shown in Table 2. Two key observations should be noted in
these results. The first is that this problem is more difficult than the RSOP, espe-
cially when the acceleration bounds are very restrictive. The second observation
to note (which is not directly presented in Table2), is that when the solution
to the RSOP is used as an initial guess to the KTOP, the global optimum was
always found. This is extremely interesting because it means that the much eas-
ier RSOP can be used to generate an initial guess that is then used to solve
the KTOP. It can also be noted that as the acceleration bounds become more
restrictive, the effectiveness of the optimal throw is reduced accordingly. Addi-
tionally, it can be noted that lower acceleration bounds result in a considerable
decrease in the success rate. This can be explained by the fact that the subspace
of solutions that respect all the constraints is significantly reduced.
5 Kinematic Design With Throwing Capacity
This section explores a simplified design process of an RR manipulator and a
6R manipulator. These are optimized considering the reachable workspace and
throwing capacity simultaneously. Through this relatively simple example, it is
shown that the throwing distance capabilities of a manipulator can indeed be
used in the design process.
8 Andr´e Gallant and Cl´ement Gosselin
Table 2: KTOP analysis results using O3
RR Manipulator RRR Manipulator 6R Manipulator
Acc. 10.0 5.00 2.50 1.00 10.0 5.00 2.50 1.00 10.0 5.00 2.50 1.00
Best 3.22 3.22 3.22 2.71 4.23 4.23 3.72 2.47 5.08 5.08 4.53 2.88
Average 3.22 3.22 3.20 2.26 4.10 4.05 3.47 2.15 4.75 4.68 3.94 1.81
Success 100 100 95.3 20.4 94.1 92.5 87.4 71.8 87.0 86.0 78.4 49.7
Time 28.4 29.5 30.0 33.4 56.7 47.4 52.7 73.3 183 183 193 159
RR design: For the planar RR manipulator, the reachable workspace is sim-
ply an annulus bounded by two concentric circles. To avoid infinite link lengths,
the total reach is prescribed to be constant. Thus, the workspace can be com-
puted as
Ws=πL2−(2L1−L)2(9)
where Wsis the workspace area, Lis the total reach, and L1is the length of
the proximal. In a similar manner, the throwing capacity can be computed as a
function of L1by solving the RSOP or KTOP. From these two design criteria,
a weighted design objective function can be established as
f=AWs+ (1 −A)D(10)
where A∈[0,1] is weighting factor.
Figure 4a shows the objective function as a function of L1for various val-
ues of Awhere the red ×on each curve indicates the optimal value as found
using a simple convex optimization algorithm. As expected, when A= 0, only
the throwing distance is considered. As a result, the optimal value of L1is 0
which essentially creates a single pendulum with a maximum angular velocity
of ˙qmax,1+ ˙qmax,2. When A= 1, only the workspace of the manipulator is con-
sidered and the optimal design has L1=L2. It is interesting to note that the
optimal design never has a value of L1greater than 0.5. This is because the
angular velocity of the second link is the sum of both joint velocities; therefore,
it contributes to a greater degree to the maximum throwing distance. Obviously,
this design process is rather simplistic because only two objectives are consid-
ered. With a larger number of design objectives, the objective function curves
could be significantly different.
6R design: Referring to Fig.2c, it can be seen that the 6R architecture
studied only has three lengths that are relevant to the workspace and throwing
distance. Indeed, the location of joints 4 and 6 does not affect the kinematics
as long as the distances from joint 3 to joint 5 (L34) as well as from joint 5
to the end-effector (L56) remain constant. The workspace of this manipulator
architecture is either a sphere or a spherical shell whose outer radius is the sum
of the link lengths (excluding L1). The inner radius depends on the longest link
and the sum of the lengths of the others. If none of the relevant lengths (L2,L34,
L56) is larger than the sum of the other two, there is no inner boundary and
the workspace is a full sphere. This makes the workspace a constant function
Throwing capabilities of manipulators 9
0 0.2 0.4 0.6 0.8 1
0
1
2
3
4
L1
f
A=0
A=0.25
A=0.5
A=0.75
A=1
(a) RR design results
4
5
6
7
00.1 0.2 0.3 0.4 0.5 0.6 0.7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
L56
L34 L2
≥
+
L56
L34
L2
≥
+
L56 ≥0.1m
L34 ≥0.1m
L2≥0.1m
L56 L34
L2
≥
+
(b) 6R design results
Fig. 4: Results of the design problems
for a large part of the design space if the total length Lis constant. Therefore,
it is uninteresting as an optimization objective. The kinematic design of the
6R manipulator studied in this paper will, therefore, only optimize the throwing
distance, with the following constraints: 1) the total reach is constant at L= 1m,
2) none of the links (L2,L34,L56 ) is longer than the sum of the others, and 3) no
link is shorter than 0.1m to keep the manipulator’s structure reasonably intact.
Figure 4b shows a contour plot of the objective function as a function of L34
and L56. Since the total reach Lis constant, L2=L−L34 −L56. In this figure,
the constraints are shown to illustrate which constraint is active at each of the
bounds of the search space. Again, a red ×indicates the optimum as found by
a single SQP run with an initial guess of L2=L34 =L56 =L/3. Again, this
objective function is convex and easy to solve but this is only a simple example
to show the distance throwing as a function of the kinematic parameters of the
manipulator. The throwing distance could be added to any kinematic synthesis
optimization.
6 Conclusion
This work studied the problem of determining the maximal throwing distance
capabilities of robotic manipulators applied to three example robots. The possi-
bility of integrating the throwing capabilities into the design process of manipu-
lators was also studied. First, it was shown that, when solving the optimization
problem, improving the quality of the initial guess greatly increases the conver-
gence rate. One effective method to achieve this is to test a number of random
guesses and using the best one as the initial guess. Other more global opti-
mization methods could also be studied in the future to further increase the
performance of the optimization. It was then shown that the vertical first joint
of RRR and 6R manipulators contributes to an increase in the throwing distance
10 Andr´e Gallant and Cl´ement Gosselin
capabilities, as does the wrist of the 6R manipulator. This is despite the fact
that the first joint is vertical and that the links of the 6R manipulator’s wrist
are shorter than the others. Moreover, it was discovered that the solution to
an easier, less constrained problem helped identify a suitable initial guess for a
harder problem. Finally, it was shown that the throwing distance capabilities
can be successfully integrated in the kinematic design process of robotic manip-
ulators. Indeed the throwing capacity can potentially have a large impact on the
resulting manipulator design.
References
1. Johnson, S.G.: The NLopt nonlinear-optimization package. https://github.com/
stevengj/nlopt (2022), [Online; accessed 19-July-2022]
2. Kato, N., Matsuda, K., Nakamura, T.: Adaptive control for a throwing motion of
a 2 dof robot. In: Advanced Motion Control, 1996. AMC’96-MIE. Proceedings.,
1996 4th International Workshop on. vol. 1, pp. 203–207. IEEE (1996)
3. Kim, J.H.: Optimization of throwing motion planning for whole-body humanoid
mechanism: Sidearm and maximum distance. Mechanism and Machine Theory
46(4), 438–453 (2011)
4. Kim, S., Doncieux, S.: Learning highly diverse robot throwing movements through
quality diversity search. In: Proceedings of the Genetic and Evolutionary Compu-
tation Conference Companion. pp. 1177–1178. ACM (2017)
5. Kober, J., ¨
Oztop, E., Peters, J.: Reinforcement learning to adjust robot move-
ments to new situations. In: IJCAI Proceedings-International Joint Conference on
Artificial Intelligence. vol. 22, p. 2650 (2011)
6. Mettin, U., Shiriaev, A.S., Freidovich, L.B., Sampei, M.: Optimal ball pitching with
an underactuated model of a human arm. In: Robotics and Automation (ICRA),
2010 IEEE International Conference on. pp. 5009–5014. IEEE (2010)
7. Miyashita, H., Yamawaki, T., Yashima, M.: Control for throwing manipulation by
one joint robot. In: Robotics and Automation, 2009. ICRA’09. IEEE International
Conference on. pp. 1273–1278. IEEE (2009)
8. Miyazaki, T., Sanada, K.: Experimental validation of an optimum design method
for a ball throwing robot considering degrees of freedom, link parameters, and
motion pattern. JSME Mechanical Engineering Journal 4(5), 17–00147 (2017)
9. Mochizuki, Y., Inokuchi, S., Omura, K.: Generating artificially mastered motions
for an upper limb in baseball pitching from several objective functions. IEEE Trans-
actions on Systems, Man, and Cybernetics, Part B (Cybernetics) 30(3), 373–382
(2000)
10. Mori, W., Ueda, J., Ogasawara, T.: A 1-dof dynamic pitching robot that indepen-
dently controls velocity, angular velocity and direction of a ball. Advanced robotics
24(5-6), 921–942 (2010)
11. Patel, S., Sobh, T.: Task based synthesis of serial manipulators. Journal of advanced
research 6(3), 479–492 (2015)
12. Shoji, T., Nakaura, S., Sampei, M.: Throwing motion control of the springed pen-
dubot via unstable zero dynamics. In: Control Applications (CCA), 2010 IEEE
International Conference on. pp. 1602–1607. IEEE (2010)