Mechanism and Machine Theory 46 (2011) 438–453
Contents lists available at ScienceDirect
Mechanism and Machine Theory j o u r n a l h o m e p a g e : w w w. e l s ev i e r. c o m / l o c a t e / m e c h m t
Optimization of throwing motion planning for whole-body humanoid mechanism: Sidearm and maximum distance Joo H. Kim Department of Mechanical and Aerospace Engineering, Polytechnic Institute of New York University (NYU-Poly), Brooklyn, NY, USA
a r t i c l e
i n f o
Article history: Received 21 June 2010 Received in revised form 24 November 2010 Accepted 30 November 2010 Available online 8 January 2011 Keywords: Dynamic model Humanoid mechanism Maximum distance throw Motion planning Optimization Sidearm throw Zero-Moment Point
a b s t r a c t Throwing is a rapid coordinated movement with high configuration and actuation redundancies. Based on a previous work, this paper advances a numerical framework that optimizes the throwing motions and generates the associated dynamic features for a whole-body humanoid mechanism. To generate physically feasible throwing motions in a fully predictive manner, rigorous dynamic models, such as actuation, biped balance based on Zero-Moment Point (ZMP), and ground reaction loads, are associated with the constraints. The algorithm outputs include the motion, required actuator torques, release parameters, and object projectile. Realistic human-like motions of sidearm and maximum distance throwing are generated as optimized solutions, which demonstrate valid kinematic and dynamic cause–effect relations. The sidearm throw shows better optimality than the overarm throw in terms of actuator torques under the proposed mechanical model; it is characterized by the unique hand trajectory and effective utilization of torso axial rotation. The maximum distance throw is associated with active movement of the arm and torso with larger ranges of motion; it is the release height and speed that increase accordingly. © 2010 Elsevier Ltd. All rights reserved.
1. Introduction Robotic control that mimics human motions is a very active research area. The motions of humans or humanoids that are widely investigated in the literature range from locomotion [1–5] to simple manipulations [6–15]. Unlike ordinary tasks such as walking and simple manipulations, throwing is a complicated whole-body movement that requires skilled coordination and accuracy. Studies on robotic throwing motion include motion planning and/or control of simple 1-, 2-, or 3-degree-of-freedom (DOF) robotic arms [16–22], which provide some insights on the principles of throwing. On the other hand, simple low-DOF arm models have been associated with real human properties or motion data. For example, Herring and Chapman [23] analyzed the human throwing motion through the simulation of a 3-DOF planar arm model. Chowdhary and Challis [24] developed a dynamic model of forearm and hand in the sagittal plane to analyze the optimal coordination strategies for maximum distance throws. The motion of the two-segment model is simulated using optimization in which the dynamics is solved by numerical integration from the muscle activation input torques. As more empirical approaches, the motions of real human subjects are experimentally measured and then mapped into 2- or 3-DOF planar arm models with inverse dynamics for various force and energy analyses [25,26]. Due to the complexity of the nature of throwing, all these studies are based on oversimplified arm models confined within the vertical plane. As for the realistic human throwing motion, the kinematics and dynamics have been analyzed and simulated in the majority of the studies based on experimental measurements and observation [27–31]. Lin et al. [32] developed a computer simulation model that analyzes the anatomical kinematics and forces at the shoulder for given body movements obtained from motion capture experiments. Some other researchers [33,34] experimented and analyzed maximum distance throw. These studies provide quantitative and qualitative characteristics of various aspects (kinematics and kinetics) of throwing motion performed by actual human subjects.
E-mail address:
[email protected]. 0094-114X/$ – see front matter © 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.mechmachtheory.2010.11.019
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
439
The difficulty of the physics-based motion generation of throwing task for human/humanoid mechanisms is due to the following distinctive, unique characteristics of the throwing motions [35]. First, the task is highly redundant in the sense that there are numerous modes (e.g., overarm, sidearm, or underarm) and infinite configurations of throwing to hit a given target. Second, the problem is highly nonlinear due to the coupling of velocities and positions. Especially at the release point, the hand velocity, position, and the object's flight time must satisfy the parabolic projectile equation to reach the target coordinates. Finally, throwing is a typical example of hyper dynamic manipulations [36] that involves high velocities and momentum of multiple body segments. Thus the effect of the inertia is significant, and the motion is highly dependent on the dynamic parameters and post-execution stability. To address these challenges of the throwing task, a few optimization methods are proposed in the literature. In the work by Mochizuki et al. [37], a 7-DOF right arm motion is simulated using optimization where the system dynamics is implemented to evaluate appropriate performance measures. The movement of the rest of the body (left arm, torso, right and left legs) is not included in the calculation, and is directly adopted from the experimental motion data. A fully predictive approach was introduced by Kim et al. [35], in which the multibody dynamic models were used to generate target distance overarm throws of a highly articulated whole-body mechanism. Dynamically feasible motions were generated while the biped balance is maintained based on the Zero-Moment Point (ZMP; [38]). The present study advances the previous numerical framework [35] to optimize the throwing motions of a biped humanoid mechanism for sidearm and maximum distance. The dynamic balance will be maintained during the whole-body motion and several numerical results of the dynamic features will be calculated as outputs that demonstrate the unique characteristics of sidearm and maximum distance throws. The results will be compared with the standard overarm throw. In this article, first, the dynamic models of humanoid mechanism actuation, ZMP-based balance, and the ground reaction forces for biped throwing motion are described. Then the optimization problem is formulated for sidearm and maximum distance throws, respectively. Numerical results will be demonstrated and analyzed, followed by discussions on the limitations of the current model and issues for future improvements. For terminological simplicity in this paper, the ground reaction forces (GRFs) indicate the ground reaction forces and moments, the joint (actuator) torques indicate the joint (actuator) forces and torques, the global-DOF generalized torques indicate the forces and torques exerted at the global-DOF joints, and the external loads indicate the external forces and moments applied to the mechanism. 2. Dynamic modeling The kinematic model of the humanoid mechanism and the actuation dynamics are briefly described and then are used to formulate the ZMP and GRFs for the biped throwing motion. Further details of the formulations and implementation are described in the previous studies [9,39]. These dynamic models will be employed for the solutions of the current problems of sidearm and maximum distance throwing. 2.1. Humanoid mechanism The whole-body humanoid mechanism has 55 joints including the six global DOFs from a global origin and the body joints (Fig. 1). The base link for the global DOFs is located at the pelvis. The configuration of the mechanism in three-dimensional (3-D) space is described by the joint variables as follows: h iT ðpÞ ðpÞ ðpÞ ðr Þ ðrÞ ðrÞ q = q1 q2 q3 q4 q5 q6 q1 :::q49 The global translational and rotational motions of the body reference point located at the base link can be described using the mass-free link-joint structure representing the global DOFs. The displacements of the first three prismatic joints describe the global translations, while the last three revolute joint variables represent the Euler angles of the base link in the 3-D Cartesian coordinates. The global-DOF generalized coordinates are expressed as follows: h i ðpÞ ðpÞ ðpÞ ðr Þ ðr Þ ðr Þ T T q1 q2 q3 q4 q5 q6 = ½z0 x0 y0 α β γ ; where the superscripts (p) and (r) indicate the prismatic and the revolute joint, respectively, and α, β, and γ are the Euler angles of Z-X-Y type. 2.2. Actuation and resultant reaction loads The multibody dynamic equations of motion for the humanoid mechanism are given as follows: Þ + vðq; q Þ + gðqÞ + hðqÞ τ = mðq;q
ð1Þ
Þ is the acceleration inertia, vðq; q Þ is the Coriolis and centrifugal force, where τ = [τ1, τ2,..., τn]T is the actuator torque vector, mðq; q g(q) is the gravity torque, and h(q) is the external forces and moments. The dynamic model, which is derived for the whole
440
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
Fig. 1. Three-dimensional whole-body humanoid mechanism and global DOFs.
mechanism including the global DOFs, yield the global-DOF generalized torques as well as the mechanism's joint actuator torques without the GRFs application (Fig. 2). Then the resultant reaction loads [Fb Mb]T = [fx fy fz mx my mz]T applied at the body reference point can be derived from the global-DOF generalized torques using the virtual work principle. The global-DOF generalized torques can be expressed using the 6 × 6 Jacobian matrix J of the base link with respect to the global-DOF generalized coordinates and the resultant reaction loads as follows: h
ðpÞ
ðpÞ
τ1
ðpÞ
τ2
ðr Þ
τ3
ðr Þ
τ4
τ5
i
ðr Þ T
τ6
T
=J
Fb Mb
ð2Þ
Because of the block diagonal form of the Jacobian matrix, the effects of the resultant reaction forces and moments are decoupled. Considering a sequence of coordinate frames (Fig. 2) where α, β, and γ are the Euler angles described previously, the resultant global forces and moments can be obtained uniquely as follows (when l3m2 − l2m3 ≠ 0): ðpÞ
b
b
ðpÞ
ðpÞ
b
fx = τ2 ; fy = τ3 ; fz = τ1 : b
ðr Þ
Mx =
ðr Þ
ðr Þ
ð3Þ ðr Þ
ðr Þ
ðr Þ
τ6 m2 −τ5 m3 −τ4 m2 n3 τ l −τ6 l2 + τ4 l2 n3 b b ðr Þ ; My = 5 3 ; Mz = τ4 : l3 m2 −l2 m3 l3 m2 −l2 m3
ð4Þ
where lk + 1, mk + 1, and nk + 1 (k = 0, 1, 2), all functions of the Euler angles, represent the direction cosines of the corresponding z local axis with respect to the global frame. 2.3. ZMP and GRFs for throwing The biped throwing motion includes both single and double support contacts. Maintaining the balance with the wide base of foot support during throwing is critical, especially due to the large momentum involved. The resultant reaction loads at the body reference point with respect to the global Cartesian coordinate can be used to determine the ZMP location and GRFs distribution. First, the resultant reaction loads at the body reference point Pb should be transported to an equivalent force-couple system at the ZMP PZMP(xZMP, yZMP, zZMP) on the level ground (yZMP = 0). The equivalent loads at the ZMP are the summation of the resultant reaction loads obtained for the body reference point and the couples of the reaction forces induced by the position change. F
zmp
b
=F ; M
zmp
b b = M + Pb Pzmp × F
ð5Þ
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
441
Fig. 2. Euler angles global orientations and resultant reaction loads without GRFs.
The horizontal components (x0 and z0) of the moment vector at the ZMP are set to be zero. Then the ZMP coordinates PZMP are the solutions of the following equations: T
x0 M
zmp
T b b T zmp T b b = x0 M + Pb Pzmp × F = 0; z0 M = z0 M + Pb Pzmp × F = 0:
ð6Þ
A dynamic balance constraint will be imposed such that the ZMP is located within the foot support region. To distribute the ZMP loads to both feet, an approximate method is used where the point of GRFs application at each foot is fixed and the GRFs are linearly distributed according to the distance from the ZMP to each foot point. The right and left foot points PR and PL are assigned as the middle point of each foot sole. Then for double support phase, using the distances dR and dL from the ZMP to the right and the left foot point, respectively, the GRFs applied at each foot are formulated as follows: R
F =
R
dL dR zmp L zmp ; F = F F dR + dL dR + dL
M =
dL dR zmp R L zmp L + Pzmp PR × F ; M = + Pzmp PL × F ; M M dR + dL dR + dL
ð7Þ
ð8Þ
where R and L indicate right and left, respectively. For single support phase, the entire loads at ZMP transfer to the fixed point PR of the right contact foot. Then the GRFs applied at each foot are as follows: R
F =F R
zmp
M =M
L
; F =0
zmp
R L + Pzmp PR × F ; M = 0
ð9Þ ð10Þ
In addition to the gravity forces, inertia, and the external loads applied to the mechanism, the GRFs applied to the corresponding foot points are required for calculation of the joint actuator torques (Fig. 3).
442
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
Fig. 3. Algorithm flow chart for ZMP and GRFs for throwing.
3. Optimization problem The common inputs for the problems are the humanoid mechanism parameters and the object mass. For target-distance throws, the target location global coordinates are given as well. To resolve the redundancy of throwing task, the problem is formulated as an optimization problem, where the outputs are the joint variable profiles, required actuator torques, release position, release velocity, object's flight time, GRFs, ZMP trajectories, and the projectile of the object. Here, it is assumed that the object is small enough to be held and thrown with one hand. For simplicity, it is also assumed that the hand is modeled as a single rigid body, and the object's grasping and rolling due to finger DOFs are not considered. The feet positions and orientations are given according to the three support phases (Fig. 4) of the foot stride motion. The initial posture is in a double support phase (DS1) where both feet are in full contact with the ground with the left foot located closer to the target. Then the left foot is lifted for stride and only the right foot is in contact with the ground, i.e., single support (SS). Once the left foot strikes the ground, the mechanism is in another double support phase (DS2) with left foot leading. At this DS2 phase, the full left foot and the right toe are enforced to be in contact with the ground, while the right foot is free to rotate about a vertical axis; thus the orientation of the right foot is determined as an optimum solution. The execution of throwing will be generated such that the released object hits the assigned or maximum distance target point, while the follow-through motion after release will be generated naturally as a consequence of momentum without any goal-oriented requirement. The 3 rd degree recursive B-spline curve is used for each joint variable as follows: nc−1
qj ðt Þ = ∑ Ni;3 ðt ÞPi;j i=0
initial final t ≤t≤t ; j = 1; :::; n ;
ð11Þ
where n is the total DOF of the mechanism, nc is the number of control points, Ni, 3(u) is the ith basis function of degree-3, and {Pi, j} represents the ith control point of the jth joint variable, which are calculated as a result of the iterative numerical optimization algorithm. A total of 330 joint control points are used, which are composed of 6 control points with 10 knots for each joint. In addition, the object flight time (Tflight) is also formulated as a control variable for the problem. The projectile equation constraint function (described below) that explicitly involves Tflight shows better convergence of the algorithm, due to the low-order form of the sensitivity. Thus the total of 331 control variables as follows will be determined as the solution of the optimization problems: {Pi, j, Tflight|1 ≤ i ≤ nc; 1 ≤ j ≤ n}. 3.1. Constraints modeling The throwing motion is generated subject to several constraints that are imposed on the humanoid mechanism. Some constraints model the dynamic feasibility of the simulation, and others represent the task-specific requirements. Below are the constraints that are common for the overarm, sidearm, and maximum distance throws. (a) Joint variable limits: L
U
q ≤qðt Þ≤q ;
ð12Þ
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453 t =t release
initial
SS (right foot)
t =t final
Follow-through
Throwing Execution
DS1 (left foot leading) Left foot l i f t
443
DS2 (left foot leading) Left foot strike
Fig. 4. Phase segmentation of throwing task.
where qL and qU are the lower and upper limit vectors for joint variables, respectively. As a simplification to avoid self penetration, the left arm (non-dominant) is fixed throughout the motion. This simplification allows much less computational effort compared with imposing the penetration avoidance conditions as additional constraints. (b) Actuator torque capacities: L
U
τ ≤τðt Þ≤τ ; L
ð13Þ
U
where τ and τ are the lower and upper limit vectors for actuator torques, respectively. (c) Foot–ground contact: To avoid the foot–ground penetration, the global y0 coordinates (vertical positions) of the foot points are constrained to be greater than, or equal to, zero according to the foot support phase (single or double). foot
y0i ðqðt ÞÞ≥0 ði = 1;:::; 6Þ;
ð14Þ
where i = 1,..., 6 indicates the six points on foot sole. (d) Feet positions and orientations: The global coordinates and the angles about the global z0 axis for both feet are assigned for each phase. Then the foot point coordinates Pfoot (q(t)) are constrained accordingly. i Pi
foot
ðqðt ÞÞ = ui
foot
where ui
foot
ðt Þði = 1;:::; 6Þ;
ð15Þ
(t) represents the assigned coordinates of the ith foot point at time t.
(e) Dynamic balance: The ZMP should exist within the foot support region (FSR), which is a convex hull (excluding the boundaries) generated by the surfaces of the contacting foot. For the SS phase, the FSR is simply the single foot contact area. For the DS phases, the FSR is formed by the contact areas of both feet. Here, it is assumed that the ground is a level plane. The ZMP constraint represents the unilateral constraint imposed between the feet and the ground and ensures physically feasible simulation. The ZMP constraint also keeps the foot or feet from tipping over. In addition, the ground projection of the center of mass (COM) at the final time step should also exist within the FSR of the left foot (since the whole body is located forward at the final time step) to keep the mechanism from falling down after the throw. In this way, the large momentum of the whole body at the release time step will be reduced afterwards, and the stability of the entire mechanism can be under control even after the release. In this respect, for the current problem, the COM constraint provides a strong criterion for dynamic balance.
Fig. 5. Generated 35 m overarm throw.
444
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
Table 1 Release parameters for 35 m overarm and sidearm throws.
Flight time (s) Release hand velocity (m/s) Release speed (m/s) Release velocity angle (deg) Release hand position (m)
Overarm
Sidearm
2.231 (0.170 10.595 15.526) 18.797 34.308 (− 0.379 1.772 0.354)
2.459 (0.224 11.954 13.948) 18.371 40.593 (− 0.550 1.252 0.702)
Pzmp ðqðt ÞÞ∈FSR;
ð16Þ
final ∈FSRleft Pcom q t
ð17Þ
(f) Time boundary conditions: The initial configuration (at tinitial =0.0 (s)) of the humanoid mechanism is given. For simplicity, it is assumed that the motion starts with zero initial joint velocities (static conditions). There is no final condition imposed besides the torso orientation, which complements the modeling of the avoidance of self contact/collision and the associated compressive internal loads. initial initial initial =q =0 q t ; q t
ð18Þ
Since the only goal of the motion is to release the object to hit the target point, there is no task-specific requirement after the release point. Thus, for the target distance throw where the actuator torques are minimized, the mechanism will collapse after accomplishing the mission (release point). To further stabilize the mechanism after the release in the presence of large momentum, zero global forward and vertical translational velocities at release time are enforced. In addition, the global vertical acceleration at the final time should be non-negative to prevent the mechanism from collapsing after the release point. d ðpÞ release d ðpÞ release dd ðpÞ final q1 t = q3 t = 0; q 3 t ≥0
ð19Þ
(g) Hand release orientation: As mentioned earlier, the current model excludes the roles of fingers, such as object grasping and rolling, during release. Under this simplification, to ensure that the object is released at the release point, the direction normal to the hand palm should be same as the direction of the release velocity. The associated hand orientation can be constrained using the outer product of unit vectors. In this example, the hand orientation is constrained as follows: hand release release hand ×y q ;q =0 P
ð20Þ
where yhand is the unit normal vector (unit vector along the local frame y axis) of the right hand palm expressed with respect to the global frame. (h) Monotonic hand path for human perception and control: This is imposed by giving a constant (positive, in this case) sign for right hand horizontal (z0) velocity in the global Cartesian coordinates between the initial and the release time steps. 80
Actuator Torques (Nm)
Shoulder flexion/extension
60 40 20
Elbow flexion/extension Wrist flexion/extension
0 0
0.1
0.2
0.3
0.4
0.5
0.6
-20 -40
Shoulder abduction/adduction Shoulder axial rotation
Time (s) Fig. 6. Selected actuator torques for 35 m overarm throw.
0.7
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
0.25
Left foot
Foot support region
t = 0.513
0.2 0.15
x0 (lateral)
445
t = 0.607 (Release)
0.1 0.05 0 Right foot
-0.05 -0.1
t = 0.42
-0.15 -0.2 -0.25
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
z0 (fore-aft) Fig. 7. ZMP trajectory during DS2 phase until release for 35 m overarm throw.
h i dz hand ðqðt ÞÞ≥0 t∈ t initial ; t release 0
ð21Þ
(i) Visual perception: Some simplified approximations will be modeled for the visual field. The unit vision vector vvision is normal to the face, where the base is located at the middle of both eyes. The following constraint indicates that the target point exists within the visual field: L
−1
θ ≤θ = Cos
h i vision v wtarget = ‖wtarget ‖ ≤θU ;
ð22Þ
where wtarget is a vector from the vision base to the target point, and θL and θU are the lower and upper limits, respectively, of the vision angle. 3.2. Throwing modes and objectives In addition to the common constraints as above, specialized constraints and cost function are incorporated into the algorithm depending on the modes and the objectives of the throwing. (a) Overarm throw: In addition to the constraints listed above, the overarm throw requirement is imposed by giving a positive sign for right hand vertical (y0) velocity in the global Cartesian coordinates between the initial and the release time steps, as follows: h i hand initial release yd 0 ðqðt ÞÞ≥0 t∈ t ;t
ð23Þ
(b) Sidearm throw: There is no additional constraint imposed for the sidearm throw. Thus the feasible configuration space for the sidearm throw is larger than that of the overarm throw. Generally, this should result in better optimality.
Left foot contact 1000
SS
Normal GRFs (N)
900
Release
DS2
800 Left foot
700 600 500 400 300 200
Right foot
100 0 0.07
0.17
0.27
0.37
0.47
0.57
Time (s) Fig. 8. Normal component GRFs during SS and DS2 phases until release for 35 m overarm throw.
446
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
Fig. 9. Generated 35 m sidearm throw.
(c) Target distance throw: When the thrown object is required to hit a given target point, the release position, release velocity, and flight time must satisfy the projectile equation. Then the squared norm of the actuator torque vector function, as an approximate form of the energy consumption from time tinitial to tfinal, is minimized. t
2
minimize : ‖τðt Þ‖ = ∫
final
n
2
∑ ðτi ðt ÞÞ dt;
ð24Þ
t initial i = 1
subjectto : P
target
hand
=P
1 hand release release release 2 q q ;q +P Tflight + gTflight ; 2
ð25Þ
where Ptarget is the target point coordinate vector and Phand(qrelease) is the hand position coordinate at the release point. The actuator torque vector τðt Þ is obtained from the actuation model. Note that this is the only function that is sensitive to the object flight time for this case. (d) Maximum distance throw: Since the feet locations are assigned with respect to the global frame, maximum distance throw is equivalent to maximizing the fore-aft horizontal (z0) component of the projectile equation. The x0 and y0 components of the target should still satisfy the projectile equation. target
maximize : Pz0
hand
= Pz0
d hand release d release release + P z0 Tflight q q ;q
ð26Þ
subject to: hand
= Px0
d hand release d release release + P x0 Tflight q q ;q
ð27Þ
80
Actuator Torques (Nm)
target
Px0
Shoulder flexion/extension
60 40
Shoulder abduction/adduction
20
Wrist flexion/extension
0 0
0.1
0.2
0.3
0.4
0.5
0.6
-20 Shoulder axial rotation
Elbow flexion/extension
-40
Time (s) Fig. 10. Selected actuator torques for 35 m sidearm throw.
0.7
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
0.25
447
t = 0.607 (Release)
Foot support region
0.2
t = 0.513
x0 (lateral)
0.15 Left foot
0.1 0.05 0
Right foot
-0.05 -0.1
t = 0.42
-0.15 -0.2 -0.25
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
z0 (fore-aft) Fig. 11. ZMP trajectory during DS2 phase until release for 35 m sidearm throw.
target
Py0
hand
= Py0
1 2 d hand release d release release + P y0 Tflight + gTflight q q ;q 2
ð28Þ
In this case, both the objective and the projectile constraint functions are sensitive to the object flight time. The sequential quadratic programming (SQP) method is used as the numerical optimization algorithm. Since SQP is a gradientbased method, the sensitivities of the objective and the constraint functions with respect to the joint variable control points and the object flight time are implemented into the algorithm. Using the current variables at each iteration, the resultant reaction loads, GRFs, joint actuator torques, ZMP, and kinematic data at each time step are calculated. The convergence of feasibility and optimality is evaluated using the constraint and objective functions. Then the SQP method is used to determine the search direction and the step size to calculate the new configuration point until the solution is converged to satisfy the feasibility and optimality criteria. 4. Numerical results and discussion Optimized throwing motions are generated for two different modes—overarm and sidearm. For each mode of throwing, a given target distance and a maximum distance will be demonstrated, while other conditions remain identical in order to compare the causes and effects. The total mass of the mechanism is approximately 78 kg and the object mass is 0.45 kg. The static friction coefficient between the feet and the ground is given as 0.8 to exclude the sliding. The contacts between the feet and the ground are inelastic. The total time duration is given as 0.7 s. The release time is given at 87% (0.607 s) of the total time. The target point is located forward. For each example, the joint profiles (motion), required actuator torques, ZMP trajectory, GRFs, and the object's
Left foot contact SS
1000
Release DS2
Normal GRF s(N)
900 800
Left foot
700 600 500 400 300 200
Right foot
100 0 0.07
0.17
0.27
0.37
0.47
0.57
Time (s) Fig. 12. Normal component GRFs during SS and DS2 phases until release for 35 m sidearm throw.
448
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
Fig. 13. Generated maximum distance overarm throw.
projectile data are obtained as the outputs of the proposed algorithm. Selected result data and some qualitative interpretations are discussed.
4.1. Target distance 35 m The target distance is assigned as 35 m. Both overarm and sidearm throwing motions are generated using the proposed algorithm.
4.1.1. Overarm throw The results of this case are given in the previous study [35], and are shown here again as a standard throwing motion for comparison with the optimization results of the current problems. The snapshots (Fig. 5) of the results show a near-realistic human-like motion of overarm throw. The resulting energy consumption value is 0.0205. Active arm and torso movement starts right after the foot strike, which resembles the human motion. During the motion, the ZMPs are located within the stability boundary (support region). At the release point, the hand/object velocity has magnitude 18.797 m/s with the direction 34.308 (deg) from the level ground (Table 1). It can be easily shown that the release position, release velocity, and flight time (2.231 s) satisfy the parabolic projectile equation of reaching the target point (Fig. 19). The required joint actuator torques of the right arm (Fig. 6) are also consistent with the generated motion. The actuator torques reach their maximum values right before the release, and then decrease after the release point. The ZMP trajectory is calculated as output results (Fig. 7 shows the ZMPs during the DS2 phase until release). At each time step, the ZMP stays in the foot support region, which indicates dynamically balanced throwing. The ZMP trajectory also shows the transition of the major supporting foot from right to left. The algorithm also outputs the GRFs as simulation results (normal components during the SS and DS2 phases until release are shown in Fig. 8). The summation of the right and left normal GRFs is approximately equal to the weight of the mechanism, which shows the physical feasibility of the proposed dynamic model. The transition of the dominant normal GRFs from the left foot to the right foot is consistent with the calculated ZMP trajectories.
Actuator Torques (Nm)
80
Shoulder flexion/extension
60 40 Wrist flexion/extension
20
Shoulder axial rotation
0 -20 -40
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Shoulder abduction/adduction
-60
Time (s)
Elbow flexion/extension
Fig. 14. Selected actuator torques for maximum distance overarm throw.
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
449
Table 2 Release parameters for maximum overarm and sidearm throws.
Flight time (s) Release hand velocity (m/s) Release speed (m/s) Release velocity angle (deg) Release hand position (m) Maximum distance (m)
Overarm
Sidearm
2.784 (0.119 13.347 19.099) 23.301 34.947 (− 0.330 1.840 0.231) 53.399
3.711 (0.171 18.087 18.501) 25.874 44.350 (− 0.635 1.394 0.411) 69.064
4.1.2. Sidearm throw In this problem, the motion is generated without the overarm throw constraint, thus relaxing the feasible configuration space to achieve better optimality. The resulting motion shows sidearm throw (Fig. 9). The results can be analyzed and compared with those of the previous overarm throw in several aspects. Since the current problem is less constrained, it has a larger space of feasibility and thus the energy consumption is smaller (better optimality) than that of the overarm throw. This is verified from the numerical outputs of the energy consumption (0.0172 for sidearm versus 0.0205 for overarm). Also, the required actuator torques (Fig. 10) for the sidearm throw are smaller than those of the overarm throw. The peak torque value of the shoulder flexion/ extension is 59.8 Nm, while it was 65.2 Nm for the overarm throw. The trajectory of the right hand shows the optimized features. During the foot stride phase, the hand is lifted higher. Then the hand moves down-forward and then up-forward to form a pendulum-like swing curve. In this way, the gravitational potential energy of the arm and object can be stored and then released to gain the necessary release velocity. Also, by positioning sidearm laterally, the right hand can gain necessary release velocity more effectively from the angular momentum due to the axial rotation of the torso. The release parameters are also calculated as optimal solutions (Table 1 and Fig. 19), where the flight time is longer than that of the overarm throw. The projectile reaches the target location with smaller release velocity, which is another indication of better optimality of the sidearm throw than the overarm throw. The release velocity angle from horizon for sidearm throw is 41 degrees, while that for the overarm throw is 35 degrees. Therefore, the release angle for sidearm throw is closer to the theoretical value, i.e., 45 degrees, for maximum distance obtained from projectile equations. This also shows that less energy consumption or actuator torques are required for the sidearm throw compared with the overarm throw. Again, the ZMPs are located within the foot support region at all times to ensure dynamically balanced throwing (Fig. 11). The ZMP trajectory also shows the transition of the major supporting foot from right to left. This is also consistent with the GRFs output (Fig. 12), which demonstrates the transition of the dominant normal GRFs from the right foot to the left foot. Although the exactly identical throwing task has not been found in the literature, the pattern of the GRFs for throwing is similar to the experimentally measured GRFs data by MacWilliams et al. [29]. Although the sidearm throw shows better optimality than the overarm throw under the current dynamic model, overarm throw is preferred in practice, partially because of higher accuracy. By making the hand trajectory before release resemble the initial projectile trajectory, the human can control the coordination of body segments with better perception that results in a higher accuracy; a similar real-world example can be observed in dart throws.
4.2. Maximum distance The throwing distance is maximized instead of being assigned. The motions are generated for two different throwing modes— overarm and sidearm.
Left foot contact 1000
SS
Release DS2
Normal GRFs (N)
900 800 700
Right foot
600 500 400 300
Left foot
200 100 0 0.07
0.17
0.27
0.37
0.47
0.57
0.67
Time (s) Fig. 15. Normal component GRFs during SS and DS2 phases until release for maximum overarm throw.
450
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
Fig. 16. Generated maximum distance sidearm throw.
4.2.1. Overarm throw The calculated maximum distance is 53.4 m. It can be seen from the generated motion (Fig. 13) that the notable difference from the 35 m throw is the larger range of arm motion and noticeable involvement of torso movement. Overall, more active utilization of the body segments can be observed. This is to maximize the use of the relevant body segments to achieve the largest release speed possible under the given actuator torque capacities. This is also evident from the large energy consumption value of 0.0818. Unlike the target distance throw, active arm and torso movements start even before the foot strike. Note that the right arm motion of the follow-through phase after the release is generated according to the dynamics principle without any task-based objective, where the momentum of the links at the release point is the main cause of the follow-through motion. The required actuator torques of the right arm (Fig. 14) are also consistent with the generated motion and are much larger than those of 35 m throwing. For example, the peak torque value of the shoulder flexion/extension is 70 Nm, the maximum actuator capacity, while it was 65.2 Nm for 35 m overarm throw. The actuator torques reach their maximum value right before the release, and then decrease after the release point. The release velocity has magnitude 23.301 m/s with direction 34.947 (deg) from the level ground (Table 2 and Fig. 19). It can be shown that the release parameters satisfy the resulting maximum distance. The release height (1.840 m) is higher than that of the 35 m overarm throw (1.772 m), which is in line with the larger range of arm motion. This pattern is consistent with the experimentally measured data in the literature [33], which serves as partial validation of the simulated results. Compared with the 35 m overarm throw, the release speed is larger (23.301 versus 18.797 m/s) and the flight time is longer (2.784 versus 2.231 s). On the other hand, it is observed that the difference of the release angles is minor (34.947 versus 34.308 degrees). It can be shown from the projectile equation that the range is roughly proportional to the square of the release speed. This indicates that among the three parameters of release – speed, angle, and position – it is more efficient to adjust the release speed rather than trying to throw at an optimum release angle. In other words, the release speed is the most important of the release parameters in determining the range [33,40]. This feature is demonstrated in current simulated results, where, for a maximum distance throw, it is the release speed that increases accordingly. The GRFs profiles (Fig. 15) exhibit more energetic movement of body segments than those of the 35 m throw. Although the COM of the whole body moves from rear foot to the front foot, this transition of the normal GRFs occurs in the late DS2 phase right after release. Furthermore, the summation of the right and left normal GRFs decreases near the release point and then increases
Shoulder flexion/extension
Actuator Torques (Nm)
80 60
Wrist flexion/extension
40 20 0 -20 -40
0
0.1
0.2
Shoulder abduction/adduction
0.3
0.4
Elbow flexion/extension
0.5
0.6
Shoulder axial rotation
-60
Time (s) Fig. 17. Selected actuator torques for maximum sidearm throw.
0.7
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
Left foot contact 1000
SS
451
Release DS2
Normal GRFs (N)
900 Right foot
800 700 600 500 400 300 200
Left foot
100 0 0.07
0.17
0.27
0.37
0.47
0.57
0.67
Time (s) Fig. 18. Normal component GRFs during SS and DS2 phases until release for maximum sidearm throw.
after the release. The decrease of the total normal GRFs indicates that the whole body generates a falling-like motion [9] before release within the level manageable under the given actuator capacities. Then the mechanism maintains the balance by catching up the falling motion using the transition of the dominant GRFs to the left foot in the late DS2 phase after release. In this way, unlike the target distance throw, the maximum distance can be achieved by utilizing relatively larger portions of the actuator capacities until release, while maintaining marginal dynamic balance. 4.2.2. Sidearm throw The throwing distance is maximized while the overarm requirement is relaxed. The calculated maximum distance is 69.1 m, which is a significant improvement from the maximum overarm throw distance. Like the maximum distance overarm throw, the resulting motion (Fig. 16) shows significant ranges of arm and torso movement. Also, active arm and torso movements start before the foot strike. Again, this is to maximize the use of the relevant body segments to achieve the largest release speed possible under the given actuator torque capacities. As for the trajectory of the right hand, the results show similar features as in the target distance sidearm throw. In other words, to gain the necessary release velocity more efficiently, the hand trajectory forms a pendulum-like swing curve with the right arm positioned laterally to utilize the arm/object gravitational potential energy and the torso axial rotation. Unlike the target distance throw, the energy consumption value (0.0918) is much larger than that of the maximum distance overarm throw due to the longer distance achieved. The required actuator torques of the right arm (Fig. 17) are also consistent with the generated motion and the their patterns are similar to those of 35 m target distance sidearm throw with increased values. For instance, the peak torque value of the shoulder flexion/extension reaches its maximum capacity, 70.0 Nm, while it was 59.8 Nm for target distance sidearm throw. For both overarm and sidearm maximum distance throws, it is observed that not all the actuator torques are utilized at their full capacities. This is because the actuator torques are used not only to achieve maximum throwing distance, but also for other requirements such as maintaining the foot contact with the ground, maintaining the dynamic balance while standing, and satisfying the joint variable limits and vision constraints. The calculated release parameters (Table 2 and Fig. 19) satisfy the resulting maximum distance. As is the case for the overarm throw, the release height (1.394 m) is higher than that of the 35 m sidearm throw (1.252 m), which provides another quantitative evidence of the larger range of arm motion. Compared with the 35 m sidearm throw, the release speed is larger (25.874 versus 18.371 m/s) and the flight time is longer (3.711 versus 2.459 s). The release velocity angle from horizon is 44.350 degrees, while that for the overarm throw is 34.947 degrees. Like the 35 m sidearm throw, this is close to 45 degrees, a theoretical value for maximum distance derived from the projectile equation. Thus, it can be seen that the optimum values for both the speed and the angle can be achieved concurrently by maximum distance sidearm throwing motion.
Fig. 19. Projectile trajectories of calculated results.
452
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
As is the case for the maximum distance overarm throw, the profiles of the GRFs (Fig. 18) exhibit more energetic movement of the body segments compared with those of the 35 m sidearm throw. Despite the fluctuations in the normal GRFs curves, the total COM trajectory demonstrates smooth transition of the whole-body in the fore-aft direction. The total normal GRFs decreases gradually during DS2 phase. This indicates that, within the increased feasible configuration space, less actuator torques are employed for biped stance to maintain marginal balance, while larger portions of the actuator torques are used to achieve the maximum throwing distance. Although valid features of causes and effects are obtained by using comprehensive dynamic models that address the significant issues in motion planning, other non-mechanical characteristics, such as the physiological and cognitive functions, are not incorporated into the current framework. For example, the large maximum distance (69 m) achieved by the sidearm throw is due to the large actuator torque capacities that are estimated for use in the current model. Also, the larger maximum distance obtained through the sidearm throw compared with the overarm throw indicates that the sidearm throw is more efficient and effective under the assumptions of the proposed mechanical model. This may not be an accurate indication for real human subjects, due to the current implementation of simplified physical properties and perception controls. In fact, the calculated release angles for overarm throws (34.308 and 34.947 degrees for target and maximum distance, respectively) are consistent with the preferred release angle ranges (31–36 degrees) for well trained humans [33]. 5. Conclusions An extended numerical framework based on a previous research is proposed in which throwing motions are optimized for a whole-body humanoid mechanism. Multibody dynamic models of actuation, biped balance, and ground reaction loads are implemented into the algorithm. The overarm constraint is relaxed to increase the configuration space resulting in the sidearm throw. For a given target point, the sidearm throwing motion is solved with better energy efficiency than the overarm throw under the assumption of the proposed mechanical model. The maximum distance throw is associated with active movement of the right arm and torso with larger ranges of motion. Large actuator torques are utilized to achieve the maximum distance, but not in full capacities. This is because a certain portion of the actuator torques is employed to satisfy the balance and foot contact constraints. Overall, the results show realistic motions of the sidearm and maximum distance throwing and outputs valid dynamic characteristics. The limitations of the current model and issues for future improvements are discussed. References [1] J.M. Font-Llagunes, J. Kövecses, Dynamics and energetics of a class of bipedal walking systems, Mechanism and Machine Theory 44 (11) (November 2009) 1999–2019. [2] M. Hirose, K. Ogawa, Honda humanoid robots development, Philosophical Transactions of The Royal Society A 365 (1850) (Jan. 2007). [3] K. Nagasaka, Y. Kuroki, S. Suzuki, Y. Itoh, J. Yamaguchi, Integrated Motion Control for Walking, Jumping and Running on a Small Bipedal Entertainment Robot, Proceedings of IEEE International Conference on Robotics and Automation, Vol. 4, 2004, pp. 3189–3194. [4] M. Srinivasan, A. Ruina, Computer optimization of a minimal biped model discovers walking and running, Nature 439 (January 2006) 72–75. [5] Y. Xiang, H.J. Chung, J.H. Kim, R. Bhatt, S. Rahmatalla, J. Yang, T. Marler, J.S. Arora, K. Abdel-Malek, Predictive dynamics: an optimization-based novel approach for human motion simulation, Structural and Multidisciplinary Optimization 41 (3) (April 2010) 465–479. [6] K. Harada, S. Kajita, K. Kaneko, H. Hirukawa, Dynamics and balance of a humanoid robot during manipulation tasks, IEEE Transactions on Robotics 22 (3) (June 2006) 568–575. [7] K. Inoue, Y. Nishihama, T. Arai, Y. Mae, Mobile manipulation of humanoid robots — body and leg control for dual arm manipulation, Proceedings of IEEE International Conference on Robotics and Automation 3 (2002) 2259–2264. [8] J.H. Kim, K. Abdel-Malek, J. Yang, T. Marler, Prediction and analysis of human motion dynamics performing various tasks, The International Journal of Human Factors Modeling and Simulation 1 (1) (2006) 69–94. [9] J.H. Kim, Y. Xiang, R. Bhatt, J. Yang, H.J. Chung, J.S. Arora, K. Abdel-Malek, Generating effective whole-body motions of a human-like mechanism with efficient ZMP formulation, International Journal of Robotics and Automation 24 (2) (2009) 125–136. [10] J.J. Kuffner, S. Kagami, K. Nishiwaki, M. Inaba, H. Inoue, Dynamically-stable motion planning for humanoid robots, Autonomous Robots 12 (1) (Jan. 2002). [11] Y. Nishihama, K. Inoue, T. Arai, Y. Mae, Mobile Manipulation of Humanoid Robots — Control Method for Accurate Manipulation, Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, Vol. 2, Oct. 2003, pp. 1914–1919. [12] J. Park, J. Haan, F.C. Park, Convex optimization algorithms for active balancing of humanoid robots, IEEE Transactions on Robotics 23 (4) (Aug. 2007) 817–822. [13] T. Takubo, K. Inoue, T. Arai, Pushing an Object Considering the Hand Reflect Forces by Humanoid Robot in Dynamic Walking, Proceedings of IEEE International Conference on Robotics and Automation, Vol. 3, Apr. 2005, pp. 1706–1711. [14] M. Vukobratović, V. Potkonjak, BabkovićK. , B. Borovac, Simulation model of general human and humanoid motion, Multibody System Dynamics 17 (1) (Feb. 2007). [15] K. Yamane, Y. Nakamura, Dynamics Filter — concept and implementation of online motion generator for human figures, IEEE Transactions on Robotics and Automation 19 (3) (June 2003) 421–432. [16] J. John, J.P. Cusumano, Inter-trial Dynamics in Repeated Skilled Movements, Proceedings of the ASME IDETC/CIE 2007, September 4–7, 2007, Las Vegas, NV, USA, 2007. [17] N. Kato, K. Matsuda, T. Nakamura, Adaptive Control for a Throwing Motion of a 2 DOF Robot, Proceedings of 4th International Workshop on Advanced Motion Control (AMC 96), Vol. 1, March 18–21, 1996, pp. 203–2078, Mie, Japan. [18] K.M. Lynch, M.T. Mason, Dynamic nonprehensile manipulation: controllability, planning and experiments, International Journal of Robotics Research 18 (1) (Jan. 1999) 64–92. [19] W. Mori, J. Ueda, T. Ogasawara, A 1-d.o.f. dynamic pitching robot that independently controls velocity, angular velocity and direction of a ball, Advanced Robotics 24 (5–6) (2010) 921–942. [20] T. Nakamura, Search Guided by Skill in Motion Planning Using Dynamic Programming, Proceedings of 4th International Workshop on Advanced Motion Control (AMC 96), Vol. 2, March 18–21, 1996, pp. 711–7168, Mie, Japan. [21] A. Sato, O. Sato, N. Takahashi, M. Kono, Trajectory for saving energy of a direct-drive manipulator in throwing motion, Artificial Life and Robotics 11 (1) (January 2007) 61–66. [22] T. Senoo, A. Namiki, M. Ishikawa, High-speed Throwing Motion Based on Kinetic Chain Approach, Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep. 2008, pp. 3206–3211.
J.H. Kim / Mechanism and Machine Theory 46 (2011) 438–453
453
[23] R.M. Herring, A.E. Chapman, Effects of changes in segmental values and timing of both torque and torque reversal in simulated throws, Journal of Biomechanics 25 (10) (October 1992) 1173–1184. [24] A. Chowdhary, J. Challis, The biomechanics of an overarm throwing task: a simulation model examination of optimal timing of muscle activations, Journal of Theoretical Biology 211 (1) (July 2001) 39–53. [25] R. Cross, Physics of overarm throwing, American Journal of Physics 72 (3) (March 2004) 305–312. [26] M. Hirashima, K. Kudo, T. Ohtsuki, Utilization and compensation of interaction torques during ball-throwing movements, Journal of Neurophysiology 89 (2003) 1784–1796. [27] A.L. Aguinaldo, J. Buttermore, H. Chambers, Effects of upper trunk rotation on shoulder joint torque among baseball pitchers of various levels, Journal of Applied Biomechanics 23 (2007) 42–51. [28] G.S. Fleisig, R.F. Escamilla, J.R. Andrews, T. Matsuo, Y. Satterwhite, S.W. Barrentine, Kinematic and kinetic comparison between baseball pitching and football passing, Journal of Applied Biomechanics 12 (2) (May 1996) 207–224. [29] B.A. MacWilliams, T. Choi, M.K. Perezous, E.Y.S. Chao, E.G. McFarland, Characteristic ground-reaction forces in baseball pitching, The American Journal of Sports Medicine 26 (1) (1998) 66–71. [30] C.A. Putnam, Sequential motions of body segments in striking and throwing skills: descriptions and explanations, Journal of Biomechanics 26 (1993) 125–135. [31] R. Whiteley, Baseball throwing mechanics as they relate to pathology and performance — a review, Journal of Sports Science and Medicine 6 (2007) 1–20. [32] H.-T. Lin, Y. Nakamura, F.-C. Su, J. Hashimoto, K. Nobuhara, E.Y.S. Chao, Use of virtual, interactive, musculoskeletal system (VIMS) in modeling and analysis of shoulder throwing activity, Journal of Biomechanical Engineering 127 (3) (June 2005) 525–530. [33] N.P. Linthorne, Optimum release angle in the shot put, Journal of Sports Sciences 19 (5) (May 2001) 359–3728 (14). [34] C.-K. Yuan, C.-L. Kuo, Influence of hand grenade weight, shape and diameter on performance and subjective handling properties in relations to ergonomic design considerations, Applied Ergonomics 37 (2) (March 2006) 113–118. [35] J.H. Kim, Y. Xiang, J. Yang, J.S. Arora, K. Abdel-Malek, Dynamic motion planning of overarm throw for a biped human multibody system, Multibody System Dynamics 24 (1) (June 2010) 1–24. [36] C. Xu, A. Ming, T. Maruyama, M. Shimojo, Motion generation for hyper dynamic manipulation, Mechatronics 17 (8) (October 2007) 405–416. [37] Y. Mochizuki, S. Inokuchi, K. Omura, Generating artificially mastered motions for an upper limb in baseball pitching from several objective functions, IEEE Transactions on Systems, Man, and Cybernetics, Part B 30 (3) (June 2000) 373–382. [38] M. Vukobratović, B. Borovac, Zero-Moment Point — thirty five years of its life, International Journal of Humanoid Robotics 1 (1) (2004) 157–173. [39] J.H. Kim, J. Yang, K. Abdel-Malek, Planning load-effective dynamic motions of highly articulated human model for generic tasks, Robotica 27 (5) (September 2009) 739–747. [40] R. Bartlett, Principles of Throwing, in: V. Zatsiorsky (Ed.), (Chapter 18) in Biomechanics in Sport: Performance Enhancement and Injury Prevention, Encyclopaedia of Sports Medicine, vol. 9, Blackwell Science, USA, Nov., 2000.