NAOControl Robio13
NAOControl Robio13
Abstract— This paper describes two novel cartesian control center of mass behavior could be analized in order to control
algorithms, in order to balance a humanoid robot on a variable robot balance, [7]. As humanoid balancing could be achieved
slope surface. Two approaches have been developed, one takes by differents stages, a multi-level postural behavihour is pro-
into account the body attitude sensors feedback; and the
other one, the body forward kinematics feedback. The first posed, [8]; this approach takes into account from wholebody
method takes the robot’s body attitude sensors measures, that level to joint level. When the robot lost its balance, safe
is the robot body configuration in the 3D space, and this is fall strategies are taken into account in order to avoid robot
the inverse kinematics algorithm’s input, which computes the damage, as an extreme balance case, [9]. By analyzing the
current joints position in order to balance the robot, standing balance in separate motion planes, it is possible to divide
position on a variable slope. The second method, computes the
forward kinematics joint positions to obtain the robot body and acquire the balance problem, and it could be solved
configuration, which is the input of the inverse kinematics at frontal and sagital plane disturbances, [10]. Momentum
algorithm, for balancing the robot. Both methods are tested in control have a simplified dynamics solution for humanoid
NAO humanoid robot platform, and the results are discussed. balancing, but structure elasticity is not taken into account, so
I. INTRODUCTION additional realtime wholebody control must be used to avoid
humanoid fall down, [11]. Geometric control null space-
The humanoid robot balancing is an open area of research, based is an approach which does not take into account the
since forty years ago. And, the problem which is focused robot dynamics, this approach avoids the singuralirities and
on humanoid robot balancing on standing position, when successfull results are achieved at low velocity recovery, [12].
the surface changes its slope has been solved, by some Most of the above methods deal with wholebody dynamics
methods such as, momentum-based balance controller, [1] robot control to achieve its balance, those approaches are
which takes in to account the momentum rate to compensate more accurate than kinematic ones, at fast motions. But, in
variable forces on humanoid robots, when the support surface our case at this stage of research, that the surface slope is
is in motion. Another approach, [2], takes into account changing at low velocity, cartesian control can be used.
human balance capture as a reference to achieve humanoid Thus, in this work, two approches are presented and
balance too. Compliant models have been developed to discussed. The first approach called “Attitude Measuring”
control the humanoid balance, with feedback force, [3]; (AM), uses the attitude sensors located on the robot chest,
since the robot’s elastic structure could be estimated by that which are taken in the humanoid space orientation in re-
model. Sinergies biologically inspired have been developed altime; when the surface slope is changing, that measure
at kinematic level, to achieven robot balance with succesfull is the negative feedback of the robot whole body inverse
results, [4]. As manipulation tasks, on standing position kinematics. The second approach called “Forward Approach”
introduces humanoid robot disturbances, balancing strategies (FA), computes the robot forward kinematics from the joint
should be introduced on humanoid robot to compensate the realtime joint measuring, in order to obtain the robot body
asymetric upper body forces, [5], so dynamical approches orientation; which is the negative feeback of robot body
have been proposed, which achieve the robot balance. Other inverse kinematics. With both approaches the robot balancing
strategies are focused by comparison with human control could be achieved in realtime, and its fall is avoided.
upright position, [6]; thus, it is possible to study, which The contributions are summarized as following:
human body joints are working on balancing control, and 1. Both approaches take into account the robot geometry
how they achieve human equilibrium. Taking into account only, and robot balance is achieved.
multicontact points on humanoids, as a general case, the 2. The proposed kinematic model is validated on actual
*This work was supported by Engineering Faculty of Universidad de La robot platform.
Sabana This paper is divided as following, the second section
M. Arbulu is Associate Professor with the Program of Informat- describes the problem statement;the third section describes
ics Engineering, Universidad de La Sabana, Puente del Comun, s/n,
Chia, Cundinamarca, Colombia, South America mario.arbulu at the approaches which have been developed; in the forth
unisabana.edu.co section, simulation and experimental results are shown and
F. Ramirez is Researcher with the Program of Informatics Engi- discussed; the conclusions are detailed in the fifth section;
neering, Universidad de La Sabana, Puente del Comun, s/n, Chia,
Cundinamarca, Colombia, South America franciscoramro at and finally future works are detailed, in the sixth section.
unisabana.edu.co
A. Padilla is Master student with the Program of Informatics En- II. PROBLEM STATEMENT
gineering, Universidad de La Sabana, Puente del Comun, s/n, Chia,
Cundinamarca, Colombia, South America alejandro.padilla at In the current environments, people try to maintain their
unisabana.edu.co stability while walking, or at standing position on any
2136
978-1-4799-2744-9/13/$31.00 ©2013 IEEE
kinematics. The right robot side kinematics will be described
(that is, the right leg and arm kinematics); the left ones
should be solved in the same way, as following:
gst (0) : Initial manipulator configuration (right leg)
gst (θ) : Goal manipulator configuration (right leg)
gth (0) : Initial manipulator configuration (right hand)
gth (θ) : Goal manipulator configuration (right hand)
Fig. 1. Problem statement, maintain standing on variable slope. θ1 to θ11 : Degrees of freedom
θxrh to θθzrh
: Right hand position and orientation
θxa ,θya ,θza , θθx
a a
, θθy a
, θθz : COG position and orientation
surface, by balancing motion. This work solves the balancing θxr to θθz
r
: Right foot position and orientation
problem for maintaning a humanoid robot stability on a ξ1 to ξ11 : Twists of degrees of freedom
surface with variable slope, while it is at standing position,
ξxrh to ξθzrh
: Twists of non-physical degrees of freedom
(see Fig. 1). The balancing problem is solved by a negative
(right hand)
feedback of humanoid body attitude.
ξxa to ξθza
: Twists of non-physical degrees of freedom
III. DESCRIBING APPROACHES (COG)
As cartesian control will be used, at first, the kinematics ξxr to ξθzr
: Twists of non-physical degrees of freedom
model will be described. After that, the proposed approaches (right foot)
are explained. The Python code methods will be detailed, in ω1 to ω11 : Direction of degrees of freedom
order to achieve the robot balancing control. So, the forward kinematics is given by the next equations:
A. Kinematics Model
r r r r a a
This work deals with cartesian control, so the kinematics gst (θ) = eξx ∧θx .eξy ∧θy ...eξθz ∧θθz .gst (0) (1)
model is described in the following paragraphs with the
”’Screws approach”, (see Fig. 2): a a a a a a rh
∧θzrh
gth (θ) = eξx ∧θx .eξy ∧θy .eξz ∧θz ...eξz .gth (0) (2)
The inverse kinematics could be solved with the proposed
approach, which is detailed in [13].
B. Attitude measuring approach
In this subsection, the attiude sensor approach will be
detailed. In the Fig. 3, the flowchart is shown. The humanoid
robots have attiude sensors, which allow them to measure
their current space orientation. This measure is used to
control the robot stability, to avoid falling down. When the
surface slope changes, the robot must feedback its attitude,
in order to compensate those slope changes. So, the input
data to our approach is the robot attitude, that is robot body
orientation in the 3D space. With this data the whole body
Inverse kinematics is computed in realtime, which allows to
balance the robot, while the surface slope is changing.
The code has been written in Python which will be
described as following (see Fig. 4).
This code has the next methods: main(), grabarDato(),
poseInit(), poseBalance().
1) main() method: This method runs the balancing motion
on “x” and “y” axes.
Step 1:
a. Reading the Inertial and Joint position sensors, by
ALM EM ORY KEY N AM ES.
b. Import libraries.
Fig. 2. NAO DOF rotation axis, right side. Step 2:
An initial configuration is required, which parameters are
Now, let us define the configurations, twists, parameters as following:
and variables that should be used for solving the robot a. efecto: defines the selected end effector, it is the torso.
2137
Fig. 5. Forward approach flowchart.
Fig. 3. Attitude measuring approach flowchart.
2138
current attitude; and poscionInicialSA[0] (rotation around
“x” axis), posicionInicial[1] (rotation around “y” axis), are
the previous attitude robot angles. Both, the current and
previous attitudes have been compared during the cycle, (see
red boxes on Fig. 4).
g. To save the attitude, and each rotation axis on files.
Step 4:
Run the loop, which allows the robot balance, by ten Fig. 7. Balancing frontal view simulation.
seconds. As the robot Attitude will be compensated, the “wx”
and “wy” are computed as difference between the current 6
Rotation around x−axis
FA
attitude and previous one, (see red box in Fig. 4.) AM
deg
3
C. Forward approach
The forward approach takes the current position measure 2
FA
Both approaches results will be shown and discussed in AM
−1
to 14) results will be discussed in this section.
1) Simulation results: Both approaches have been tested, −2
2139
shows higest orientation angles around “x-axis” instead of
AM approach. That is by the measuring precision. On sagital
motion both approaches are closer. At this stance, both
approaches are validated on real humanoid robot platform.
V. CONCLUSIONS
Fig. 11. Balancing frontal view actual results.
1
3. The errors due to the forward kinematics computation
0
are avoided.
−1
4. Increasing the code running time makes a faster bal-
−2
ancing motion, but it is more unestable.
−3
−4
0 2 4 6 8 10 12 14 16 18
time (sec) VI. F UTURE WORKS
APPENDIX
C ODE M ETHODS
−2
B. PoseInit() method
deg
−3
This method turns the robot at initial position. It is ready
−4
to start walking. This robot configuration is defined by
−5 Aldebaran-Robotics. It is a safe robot configuration for a
−6 standing position.
−7
0 2 4 6 8 10 12 14 16 18
time (sec)
C. PoseBalance() method
This method turns the robot at “surf” configuration, where
Fig. 14. Balancing sagital view rotation around y-axis actual results. the support polygon is increased, and the center of mass
lowers. Now, the robot is ready for balancing on a variable
slope.
2) Experimental results: In order to validate the proposed
approaches, some experimental tests have been done, and ACKNOWLEDGMENT
their results will be discussed, in this section (Fig. 11 to 14).
Frontal compensation is shown in Fig. 12, and sagital The authors would like to thank to Engineering Faculty
attitude profile in Fig. 14. Both results, and performance are from Universidad de La Sabana, technical lab people, for
quite similar to simulations. At frontal motion, FA approach their helpfull support on this research.
2140
R EFERENCES
[1] S. Lee, A. Goswami, A momentum-based balance controller for hu-
manoid robots on non-level and non-stationary ground, Autonomous
Robots, Volume 33, Issue 4, pp. 399-414, doi: 10.1007/s10514-012-
9294-z, Print ISSN 0929-5593, Online ISSN 1573-7527, Springer,
2012.
[2] K. Yamane, J. Hodgins, Simultaneous tracking and balancing of
humanoid robots for imitating human motion capture data, In-
telligent Robots and Systems, 2009. IROS 2009. IEEE/RSJ In-
ternational Conference on, pp.2510-2517, 10-15 Oct. 2009 doi:
10.1109/IROS.2009.5354750.
[3] B.J. Stephens; C.G. Atkeson, Dynamic Balance Force Control for
compliant humanoid robots, Intelligent Robots and Systems (IROS),
2010 IEEE/RSJ International Conference on, pp.1248-1255, 18-22
Oct. 2010 doi: 10.1109/IROS.2010.5648837
[4] H. Hauser; G. Neumann; A.J. Ijspeert; W. Maass, Biologically inspired
kinematic synergies enable linear balance control of a humanoid robot,
Biological Cybernetics, pp. 235-249, doi: 10.1007/s00422-011-0430-1
[5] M. Stilman; J. Olson; W. Gloss, Golem krang: Dynamically stable
humanoid robot for mobile manipulation, Robotics and Automation
(ICRA), 2010 IEEE International Conference on, pp.3304-3309, 3-7
May 2010 doi: 10.1109/ROBOT.2010.5509593
[6] R. J. Peterka, Comparison of Human and Humanoid Robot
Control of Upright Stance, Journal of Physiology-Paris, Vol.
103, Issues 35, MaySeptember 2009, Pages 149158 doi:
http://dx.doi.org/10.1016/j.bbr.2011.03.031
[7] L. Sentis; J. Park; O. Khatib, Compliant Control of Multicon-
tact and Center-of-Mass Behaviors in Humanoid Robots, Robotics,
IEEE Transactions on , vol. 26, no.3, pp.483-501, June 2010 doi:
10.1109/TRO.2010.2043757
[8] S.H. Hyon; R. Osu; Y. Otaka, Integration of multi-level postural
balancing on humanoid robots,Robotics and Automation, 2009. ICRA
’09. IEEE International Conference on, pp.1549-1556, 12-17 May
2009 doi: 10.1109/ROBOT.2009.5152434
[9] S. Yun; A. Goswami; Y. Sakagami, Safe fall: Humanoid robot
fall direction change through intelligent stepping and inertia
shaping, Robotics and Automation, 2009. ICRA ’09. IEEE In-
ternational Conference on, pp.781-787, 12-17 May 2009 doi:
10.1109/ROBOT.2009.5152755
[10] Y. Yoshida; K. Takeuchi; D. Sato; D. Nenchev, Postural balance
strategies for humanoid robots in response to disturbances in the
frontal plane, Robotics and Biomimetics (ROBIO), 2011 IEEE Interna-
tional Conference on, pp.1825-1830, 7-11 Dec. 2011 doi: 10.1109/RO-
BIO.2011.6181555
[11] A. Macchietto, V. Zordan, C. R. Shelton, Momentum control for
balance, ACM TRANSACTIONS ON GRAPHICS, Volume 28 Issue
3, August 2009 doi: 10.1145/1531326.1531386
[12] B. Wang; R. Hu; J. Zhang and C. Huai, Balance recovery control for
biped robot based on reaction null space method, Journal of Control
Theory and Applications , Volume 8, Issue 4, p.548 November 2010
doi: 10.1007/s11768-010-0268-4, Print ISSN 1672-6340, Online ISSN
1993-0623, South China University of Technology and Academy of
Mathematics and Systems Science, CAS, Springer
[13] M. Arbulú, J.M. Pardos, L.M. Cabas, P. Staroverov, D. Kaynov, C.
Pérez, M.A. Rodrı́guez, C. Balaguer, Rh-0 humanoid full size robot’s
control strategy based on the Lie logic technique, in IEEE-RAS Proc.
International Conference on Humanoid Robots (Humanoids) (IEEE
Press, Tsukuba, Japan, 2005), pp. 271-76.
2141