Intelligent Control and Automation, 2010, 1, 20-27
doi:10.4236/ica.201.11003 Published Online August 2010 (http://www.SciRP.org/journal/ica)
Copyright © 2010 SciRes. ICA
Weightlifting Motion Generation for a Stance Robot with
Repeatedly Direct Kinematics
Jining Liu, Yoshitsugu Kamiya, Hiroaki Seki, Masatoshi Hikizu
Division of Innovative Technology and Science, Kanazawa University, Kanazawa, Ishikawa, Japan
E-mail: kamiya@t.kanazawa-u.ac.jp
Received April 1, 2010; revised July 15, 2010; accepted July 20, 2010
Abstract
This research focuses on how to control the robot easily and how to generate the better trajectories of the ro-
bot with multiple joints to implement weightlifting motion. The purpose of this research is to develop a
multi-joint robot can stand up successfully with an object. This research requires the operations with two
items. First, when the object is lifted up slowly, the robot could stand up as easily as possible and does not
tumble down. Second, the load applied on each joint should be as small as possible. In this article, a motion
control method is proposed to evaluate the variations of the load torque and rotated angle of each joint with
the geometrical constraints in the procedure and find the best algorithm to generate the trajectory of a
weightlifting motion by a stance robot with repeatedly direct kinematics.
Keywords: Weightlifting, Trajectory Generation, Load Torque, Repeatedly Direct Kinematics
1. Introduction
In resent years, robots that are able to perform work in
human daily environment have been successfully devel-
oped. Furthermore more and more multi-joint robots
have been used to meet the needs of the people and in-
dustry in daily. For instant, humanoid robots are placed
in dangerous work in some fields such as in medical
treatment, architecture, manufacture, and researched in
science fields, because the configuration is in similitude
of human being.
Today, about 60% of the working population in the
world, based on statistics, suffered from different kinds
of arthritis, 30% suffer from different kinds of arthrosis,
and when it comes to muscle, joint or rheumatic pain,
practically every person is familiar with them. Arthralgia
is an ailment that lots of teenagers suffer from. Adults
also suffer from arthralgia caused by injuries [1]. These
situations make us think about that how to reduce the
load on the joints to keep away from the arthralgia.
Weightlifting is a common action to every person in
daily lives, which is hardly avoidable. In this paper, the
research is developed, which focuses on how to generate
a better trajectory of the robot with multiple joints to
simulate human being to realize the weightlifting motion
[2].
Regarding trajectory generation, there are two aspects
to be considered usually. One is the aim you will achieve.
What a kind of trajectory is generated? Is it collision-free
or time-optimal or energy-optimal? The other one is the
constraint existing in the process of the trajectory gen-
eration [3]. Sometime we want the humanoid robot to
work as workhorse without damage. But the joints are
the parts, which are easy to damage. So how to make the
load on each joint minimum is that we need to consider.
In the following, we try to generate a trajectory that
consists of many link postures, each of which makes the
load torque of all the joints as low as possible without the
dangerousness of tumbling down. Based on the idea
above, the algorithm is proposed, and simulations are
provided. The trajectories of weightlifting motion for a
multi-joint robot with an object are generated, the preci-
sion of which depends on the specified motion increment
of each link in the calculation.
2. Model and Calculations
In this paper, we assume that the system is symmetric
during the procedure. Hence from a complicated human-
oid robot model with many degrees of freedom, we sim-
plify it to a 5-dof model with 6 links [4], which can move
along the horizontal direction. As shown in Figure 1, we
set the coordinate system so that x-axis is on the floor
and z-axis passes through the ankle joint.
Here Ji represents the joint i, θi represents the angle
J. LIU ET AL.
Copyright © 2010 SciRes. ICA
21
Figure 1. Model of the robot and its geometric parameters.
between the link i and the link i-1, a represents the length
from the ankle joint to the heel (point A), b represents
the length from the ankle joint to the tiptoe (point B), Li
represents the length of the link, and Lgi represents the
distance from the CoM (Centre of Mass) of the link to
the beginning point of the link. The mass of a link is
noted as mi, and the object’s mass is given when a simu-
lation is implemented. The position of the CoM of the
elbow link follows the mass of the object. Furthermore, g
denotes the gravity acceleration. The centre of mass of
the object is located at the middle point of the object.
As showed in Table 1 below, the geometric parame-
ters are properly given to estimate the effectiveness of
the algorithm applied on the trajectory generation of the
robot’s weightlifting motion.
We usually research about the robots under dynamic
conditions, but which makes the research complicated.
The joints of robot are mostly drove by reducers in fact,
and the motion of the links is very tiny in this paper, so
the static effect is first considered that the dynamic per-
formances could be neglected, Only considering the
static influences under some limitations here [5]. The
detailed analysis of this matter under a dynamic envi-
ronment is future works.
To implement the weightlifting motion successfully
for a multi-joint robot, the following two requirements or
constraints must be satisfied in this procedure.
First, the robot must maintain its stability or keep its
balance so that it will not tumble down, which is called
the balance constraint here. To satisfy this condition, the
ZMP (Zero Moment Point) or the projection of the CoM
of the robot onto the ground must remain within the pre-
defined stability region, that is, it should move between
the tiptoe and the heel. Because the dynamic perform-
ances are neglected, we do not consider the inertial force
and influence from external forces. As mentioned above,
when the robot is static, the ZMP coincides with the pro-
jection point of the CoM on the ground.
Second, the load torque of all the joints must be as low
as possible, which is called the load constraint here [6].
When the robot carries an object, generally higher joint-
torques is needed, because the object is carried far away
from the floor or the base of the robot. Those may cause
a saturation of joint-torque to the torque limitation. Since
the robot could not avoid withstanding the load of the
object, we should make the robot’s joints keep away
from the torque limits to protect the relatively frailest
joint among all the joints. The torque limitations are
shown in Table 1. The torque limitations of the wrist and
the elbow are quite smaller than that of other parts of the
model, which is similar to human beings. The multi-joint
robots usually have many degrees of freedom. Although
we have simplified the complicated humanoid (a 3D
model) to the robot model in this paper, which has 5 de-
grees of freedom, there are still 35 options to each pos-
ture in the weightlifting motion procedure. So how to
choose an optimal option from these 35 options becomes
a question we have to face. To satisfy the load constraint,
the one is considered among those options, in which the
output of the relatively frailest joint is a minimum, com-
paring with other options’.
According to the model, the load torque of each joint
(T1, T2, T3, T4, T5) and reaction force (RA, RB) are indi-
cated in the equations below.
5 5512345
cos
g
TmLg

 (1)

44454 12345
()cos
g
TmLmLg T

 (2)

333543 1234
[()]cos
g
TmL mmLgT

  (3)
Table 1. Geometric parameters of the model.
Joint 1
ankle
2
knee
3
waist
4
shoulder
5
elbow
m (kg) 9.6 14.4 36 8.5 8.5
L (mm) 463 450 416 300 320
Lg (mm) 180 252 392 162 x
Timax (Nm) 600 500 550 400 400
Timin (Nm) –600 –500 –550 –400 –400
J. LIU ET AL.
Copyright © 2010 SciRes. ICA
22

2225432 123
[( )]cos
g
TmL mmmLgT

  (4)
1 115432112
[( )]cos
g
TmL mmmmLgT

(5)

1 12345
A
T mmmmmgb
Rab

(6)

12345 1
B
mm mm mgaT
Rab
 
(7)
To satisfy the balance constraint, RA and RB must be
both positive. So according to (6) and (7), the load torque
of ankle joint T1 has another limitation, which is called
balance limitation here.
12345 1
12345
()
()
bmmmmmgT
ammmmmg

 (8)
The balance limitation is different with the torque
limitations initialized in Table 1, which avoid the joints
overloading to be damaged. Therefore, (9) is provided.
min
max
100% (0)
100% (0)
i
i
i
i
T
i
i
i
TT
T
HTT
T


(9)
where HTi is the output of the torque, which must be less
than 1, if each joint of the robot does not overload. The
parameter HTi can help us analysis the situations that the
joint is withstanding the load of the object in the weight-
lifting motion procedure. As we known, the knee joint
and the waist joint often suffer a pain to the aged, so this
parameter is available to be used to reduce the load ap-
plied on the joints. Considering the conditions above, the
following algorithm is proposed to simplify and facilitate
the analysis in Section 3.
3. Algorithm for Trajectory Generation
The weightlifting motion can be obtained by an approx-
imated optimal algorithm. In this paper, the algorithm is
developed, based on the RDK (Repeatedly Direct Kine-
matics) method for the robot, which is introduced into
applying on the trajectory generation of the standing up
movements that is a series of motions from an initial
posture to the erect posture [7]. In the task, a small in-
crement is given to each joint of the model. Moreover,
there are three motion options, + rotation, – rotation and
no rotation, to the five joints (J1, J2, J3, J4, J5) and the
model could place the soles backward and forward to
keep the ZMP away from the unstable area when the
model robot will tumble down. So according to the RDK
method, each posture has 35 options in the weightlifting
motion procedure and the option that satisfies the aim
and the constraint mentioned in Section 2 is selected as
the result of this posture at this time. Such procedure is
reiterated until the erect posture is reached.
The algorithm of the trajectory generation is elabo-
rated as following:
1) Initialize the parameters in Table 1 and give an ini-
tial posture to the robot model.
2) After given an initial posture, if each joint does not
overload, give a small increment and then choose the
options that the object is lifted from 35 options of each
posture, else the weightlifting motion could not be real-
ized as a result of a bad initial posture or the object’s
heavy mass.
3) Choose the options that the object is lifted and the
robot will not tumble down. If RA × RB <0 in all the op-
tions, the ZMP will move out of the predefined stability
region. To keep the balance, we should choose the option
that the reaction force Rj (j = A or B) is increased which
is negative. That means the robot model will walk for-
ward or backward. At this time, the object is tried to be
held without motion. Go back to Step 2.
4) Choose the options that RA and RB are positive.
Calculate the output of each joint of the chosen options.
5) Compare the outputs of the five joints of each one
of the chosen options to memory the joint that has maxi-
mum output of each chosen option. This joint is the one
we called the relatively frailest joint.
6) Compare the output of the relatively frailest joint of
each chosen option, the option that has the minimum
output of the relatively frailest joint is the result we need.
Memory this posture and give it a same increment. Go
back to Step 2.
7) If the object could not reach a higher position, end
the program.
The operations are implemented iteratively until the
object could not be held at a higher position. The weight-
lifting motion is finished and the simulations for the tra-
jectory generations are provided in Section 4.
4. Simulations for Algorithm Proposed
To evaluate the effectiveness of the algorithm proposed
above, the following simulations are provided, where the
motion trajectories are showed with every 20 postures.
When lifting an object to the top, the robot always stands
up completely at last as we known. So a criterion that the
increase of the height of the object in the z-direction
must be first satisfied is defined to make sure the robot
can implement the standing up motion to the last. The
wrist point (the middle of the object) is chosen as the
datum of the weightlifting motion.
Figure 2 shows Simulation 1 in the case that the mass
of the 20 kg’s object is held. As shown in the graph (c),
the robot has no motion in the x-direction, because the
ZMP moves within the predefined stability region be-
tween the tiptoe (200 mm) and the heel (–60 mm), in the
graph (d).
J. LIU ET AL.
Copyright © 2010 SciRes. ICA
23
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Figure 2. Simulation 1 of weightlifting.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Figure 3. Simulation 2 of weightlifting.
J. LIU ET AL.
Copyright © 2010 SciRes. ICA
24
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Figure 4. Simulation 3 of weightlifting.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Figure 5. Simulation 4 of weightlifting.
J. LIU ET AL.
Copyright © 2010 SciRes. ICA
25
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Figure 6. Simulation 5 of weightlifting.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Figure 7. Simulation 6 of weightlifting.
J. LIU ET AL.
Copyright © 2010 SciRes. ICA
26
The graph (b) shows the change of the joint angle with
the posture. According to graph (b), we can obtain that
when the object is lifted to the top, the robot has stood up
completely and stretched its arm, where the angle of the
ankle joint approximates to 90°, the ones of other joints
approximate to 0°, just like human being. The reaction
forces are always positive in the graph (e) indicates that
the robot is stable without no displacement in each direc-
tion, just as shown in the graph (c), which is satisfying
the balance constraint. The graph (f) shows the change of
the joint torque with the posture. We can see in the graph
(g) that the outputs of all joints are within the limits,
meaning that it never reaches saturation when lifting the
object. Here, we want to explain that the output of the
ankle joint is calculated for the balance limitation, when
it is bigger than the load limitation. Finally, the weight-
lifting motion is finished successfully.
Simulation 2 has a same initial posture with the simu-
lation 1, but the mass of the object is different, 45 kg.
Because of the initial condition, as shown in the graph (d)
of Figure 3, in the beginning stage, the ZMP is in front
of the tiptoe (200 mm). So the robot moves forward (in
the graph (c)) to avoid tumbling until the position of the
ZMP enters into the stability region. At this time, the
value of the reaction force RA changes from negative to
positive in the graph (e). The graph (f) shows the change
of the joint torque with the posture. In the graph (g), we
can see that the output of the ankle joint is more than 1 at
the beginning, meaning that the robot will tumble down.
After ZMP entering into the stable area, the weightlifting
motion is finished.
Simulation 3 has a different initial posture from the
simulation 1, but the mass of the object is same. Because
of the initial condition, as shown in the graph (d) of Fig-
ure 3, in the beginning stage, the ZMP is behind the heel
(–60mm), meaning that the ZMP moves out of the pre-
defined stability region. So the robot moves backward (in
the graph (c)) to avoiding tumbling backward until the
position of the ZMP enters into the stability region.
Meanwhile, the value of the reaction force RB changes
from negative to positive in the graph (e). The graph (f)
shows the change of the joint torque with the posture. In
the graph (g), we can see that the output of the ankle
joint is more than 1 at the beginning, meaning that the
load torque that the ankle joint withstands has exceeded
the balance torque limitation. After ZMP entering into
the stable area, the weightlifting motion is finished.
With the same algorithm, the Simulation 4~6 are pro-
vided that we choose the shoulder joint as the datum to
evaluate the whole weightlifting motion, where the rise
of the shoulder must be first considered. In these simula-
tions, we still take the load constraint and balance con-
straint into account to implement the weightlifting mo-
tion.
Figure 5 shows Simulation 4 in the case that the mass
of the 20 kg’s object is held. The robot has no motion in
the x-direction, because the ZMP moves within the pre-
defined stability region. Finally, the trajectory of the mo-
tion is generated where the object is held around the
waist joint, like a person lifting up a water bucket. Al-
though Simulation 5 and Simulation 3 are implemented
under a same initial condition, the trajectory generations
are different because of the different datum. And the end
position of the object is not always located on the top.
Simulation 6 and Simulation 2 are implemented under a
same initial condition, even though the trajectory genera-
tions are different, we still realize the weightlifting mo-
tion to hold the object at the highest spot.
It is similar with human being that the robot cannot
always lift up any object, if the object is too heavy for
the robot. For example, in the Simulation 1, the robot can
lift up 20 kg’s object easily. But in the Simulation 2, the
robot has to move forward not to tumble with 45 kg’s
object, and if the mass of the object is more than 50 kg,
the robot cannot implement the weightlifting motion. At
this time, the load torque of the knee joint exceeds the
torque limitation showed in Table 1, so the robot cannot
stand up with the object as usual, unless the torque limi-
tation of the knee joint is enlarged.
All these results show that our proposed algorithm of
weightlifting motion is effective.
5. Conclusions
In this paper, we realized the weightlifting motion suc-
cessfully with the multi-joint robot model under some
predefined conditions. The trajectory of a lift-up motion
for a stance robot is also generated by RDK method. We
proposed the algorithm with considering the output of
the joint to reduce the load on the joint to protect the
relatively frailest joint. According to simulations, we
verified the rationality and the effectiveness of the pro-
posed algorithm. We also hope that this paper can con-
tribute the research about the configuration of humanoid
robot or human being and helping the aged and the
handicapped in daily.
This method based on RDK method is used to obtain a
continuous trajectory generation, which is under the
static environment. In the future, the dynamic influence
will be considered.
6. References
[1] Japan Industrial Safety and Health Association, “Investi-
gation Research on Development of the Evaluation Crite-
ria of the Work Load Considering Advanced Age La-
bourers’ Safety and Health-The Heisei 13 fiscal year re-
port,” Japanese, 2001.
[2] N. Miyata, “Individual Human Motion Performance In-
dex to Generate Lift-up Motion,” Proceedings of the 19th
Annual Conference of the Robotics Society of Japan
J. LIU ET AL.
Copyright © 2010 SciRes. ICA
27
(RSJ2001), Tokyo, 2001, pp. 721-742.
[3] E. Bayo and B. Paden, “On Trajectory Generation for
Flexible Robots,” Journal of Robotic Systems, Vol. 4, No.
2, 1987, pp 229-235.
[4] L. Song, Y. Kamiya, H. Seki, S. M. Hikizu and Q. Zhang,
“Solutions of Inverse Kinematics of Articulated Robot by
Using Repeatedly Direct Kinematics,” Journal of the Ja-
pan Society for Precision Engineering, Vol. 67, No. 6,
2001, pp 971-976.
[5] R. Kamnik: “Standing-Up Robot,” Journal of Medical
Engineering & Technology, Vol. 28, No. 2, 2004, pp. 74-
80.
[6] T. Matsumaru, S. Fukuyama and T. Sato, “Model for
Analysis of Weight Lifting Motion Considering the Ab-
dominal Pressure Increased by Valsalva Maneuver,”
Transactions of the Japan Society of Mechanical Engi-
neers (Series C), Vol. 72, No. 724, 2006, pp 169-176.
[7] Y. Kamiya, T. Kubo, S. Aoyagi and S. Okabe, “Control
of Robotic Manipulators Using the Solutions of Repeated
Direct Kinematics,” Transactions of the Japan Society of
Mechanical Engineers (Series C), Vol. 59, No. 564, 1993,
pp 125-130.