0% found this document useful (0 votes)
74 views16 pages

Author's Accepted Manuscript: Neurocomputing

1. The paper presents advances in developing the AH1N2 humanoid robot at Cinvestav, Mexico. It focuses on defining the robot's geometric model using kinematic chains for the head, arms, waist and legs attached to the robot body. 2. The inverse geometric model is particularly important as it is needed to control the robot's position and orientation in workspace. Derivations of the inverse kinematic models for the arms and legs are presented. 3. Singularities of the arms and legs are studied as they affect control in workspace. Kinematic models are also used to define movement constraints to control motion and specify complex movements. 4. Dynamic models are used to calculate a neuro-proportional

Uploaded by

Agung Kurniawan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views16 pages

Author's Accepted Manuscript: Neurocomputing

1. The paper presents advances in developing the AH1N2 humanoid robot at Cinvestav, Mexico. It focuses on defining the robot's geometric model using kinematic chains for the head, arms, waist and legs attached to the robot body. 2. The inverse geometric model is particularly important as it is needed to control the robot's position and orientation in workspace. Derivations of the inverse kinematic models for the arms and legs are presented. 3. Singularities of the arms and legs are studied as they affect control in workspace. Kinematic models are also used to define movement constraints to control motion and specify complex movements. 4. Dynamic models are used to calculate a neuro-proportional

Uploaded by

Agung Kurniawan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Authors Accepted Manuscript

Inverse Models and Robust Parametric-Step Neuro-


Control of a Humanoid Robot

Alejandro J. Malo Tamayo, Pablo Vera


Bustamante, Jssica Jazmn Maldonado Ramos,
Andrs Enrquez Cobo
www.elsevier.com/locate/neucom

PII: S0925-2312(16)31396-0
DOI: http://dx.doi.org/10.1016/j.neucom.2016.09.107
Reference: NEUCOM17762
To appear in: Neurocomputing
Received date: 15 December 2015
Revised date: 11 September 2016
Accepted date: 13 September 2016
Cite this article as: Alejandro J. Malo Tamayo, Pablo Vera Bustamante, Jssica
Jazmn Maldonado Ramos and Andrs Enrquez Cobo, Inverse Models and
Robust Parametric-Step Neuro-Control of a Humanoid Robot, Neurocomputing,
http://dx.doi.org/10.1016/j.neucom.2016.09.107
This is a PDF file of an unedited manuscript that has been accepted for
publication. As a service to our customers we are providing this early version of
the manuscript. The manuscript will undergo copyediting, typesetting, and
review of the resulting galley proof before it is published in its final citable form.
Please note that during the production process errors may be discovered which
could affect the content, and all legal disclaimers that apply to the journal pertain.
Inverse Models and Robust Parametric-Step
Neuro-Control of a Humanoid Robot
Alejandro J. Malo Tamayo
Pablo Vera Bustamante
Jessica Jazmn Maldonado Ramos
Andres Enrquez Cobo
Laboratorio de Robotica y Vision Artificial del Departamento de Control Automatico
Centro de Investigacion y de Estudios Avanzados del IPN
Av. Instituto Politecnico Nacional No. 2508, Col. San Pedro Zacatenco, 07360 Mexico, DF
e-mail:{alexmalo,jmaldonado,pvera,aenriquez}@ctrl.cinvestav.mx

AbstractIn this paper we present advances on the work and Industry funded the Humanoid Robotics Project in 1997;
done on the development of the AH1N2 humanoid robot at the but the popularity of the humanoid robots exploded in 2000
Automatic Control Department of the Cinvestav. The geometric with the appearance of ASIMO (Advanced Step in Innovative
model of the AH1N2 humanoid robot is defined by kinematic
open chains, head, arms, waist and legs, attached to the robot Mobility) from Honda after twenty years of research [16], [17]
body. We center our work in the inverse geometric model, since designed as a multifunctional mobile assistant. The result is
from all the models used in robotics, is the most difficult to truly spectacular to the eyes of anyone including specialists.
automate. Its knowledge is needed to control the robot position Derived form Hondas P3, an ASIMO predecessor, Hondas
and attitude in the workspace. We present derivations of the work encouraged other projects: Fujitsu Automation HOAP
inverse geometric models for the arm and the legs. We also
study, in this work, the singularities of the arms and legs Humanoid for Open Architecture Platform (2001) [18],
because they affect its control in the workspace. We also present Toyota Partner robots (2005) [19], Hitachi EMIEW Excellent
the use of kinematic model to built movement constraints that Mobility and Interactive Existence as Workmate series (2005,
allow us the control of the motion control and specify complex 2007, 2016), Europes iCub (2005-2010) [20], DARPA-NASA
movements. Finally, we use the dynamic models to calculate Robonaut (1997) [21].
a Neuro proportional-derivative control and to simulate the
robot movement in presence of a destabilising perturbations. The It is within this situation that the Department of Automatic
neural network is trained to compensate the effect of gravity. Control of the Cinvestav has done work on the research and
the technological development of humanoid robots since 2009.
I. I NTRODUCTION Work was initiated modelling the kinematic and dynamic
Since their appearance, half a century ago, robotic arms, behaviour of prototypes and the generation of walking patterns
the seminal seed of modern Robotics, have been used increas- [22] and on visual perception applied to simultaneous localisa-
ingly in the manufacturing industry; but Robotics also has tion and mapping (SLAM) [23]. Many of these projects have
experienced a rapid expansion, beyond the industrial sector, been oriented towards the football competitions organised by
to other fields of our lives. Robots are helping humans in an RoboCup [24], the Federation of International Robot-soccer
increasing number of tasks, as exploring hostile environments, Association (FIRA) [25] and the Federacion Mexicana de
like volcanoes [1], [2], nuclear sites [3], [4], [5], distant planets Robotica (FMR) federations [26] in which we have used
[6], [7], helping farmers [8], [9], assisting elderly or infirm Hitecs Robonova-I and Robotis Bioloid humanoids modified
[10], [11], or aiding in disasters [12], [13], to name only a to have the visual perception capabilities and control required;
few. and more recently, with the Darwin-OP [27] and Aldebarans
A key part of many service robots is that they are anthro- NAO humanoids.
pomorphic, i.e., humanoid robots. The growing importance This work tries to avoid the blind trial and error previously
of these robots is driven, by their ability to function in done with commercial robots, and presents an effort to estab-
environments designed for humans and their tools, and by the lish the scientific bases for the development and understanding
expectation that they will be able to assist humans in their of humanoid robots. Still there will be some trial and error, but
daily tasks. the errors will understood from the models, and not from the
The Wabot-1, the first humanoid robot, appeared in 1973, it not always right intuition. The work includes the development
was developed by the group of Ichiro Kato at the University and programming of the different direct and inverse models
of Waseda, Japan [14]. At the 1985 Expo Science at Tsukuba, of the robot: geometric (position), kinematic (Jacobian) and
appeared a second prototype, the Wabot-2, it was able to dynamic. Special emphasis is done with the inverse geometric
play the piano [15]. Japans Ministry of Economy, Trade models, since their development can not be easily automated.
the thorax width, deep and height are 120 mm, 72 mm, and
163 mm, respectively and weights 1.5 kg.
In its interior are plastic 3D-printed elements designed to
assemble the three Alucobond plates, hold the electronic cards
of the computer system and the sensors of the robot. The
design allows an easy access to the ports of the cards by one
of the faces of the box that forms the thorax and optimises
the internal space. Finally, it is important to note that the
entire thorax is entirely a new design; since the thorax of the
previous model, the AH1N1, did not have these elements at
this location.
2) Waist: Attached to the lower part of the thorax we have a
2 d.o.f. waist. Because of its size and its weight the AH1N2 has
a 2 d.o.f. waist (rotation and flexion-extension) that allow him
to stand up easily after a fall, aid the locomotion, offset shocks
and maintain a dynamic balance. The actuators are two RX-
28 Robotis servos. As shown in the figure 1 the servomotor
associated with the flexion-extension of the waist is fixed to
the lower thorax, while the rotation servo, below it, is attached
to the former by means of a U-bracket, both rotation axis
intersect.
3) Head: The head is a Minoru stereoscopic camera joined
to the thorax by the neck, a 2 dof kinematic chain for rotation
and flexion-extension (azimuth and elevation or pan-and-tilt).
Fig. 1. The AH1N2 The first servo, already mentioned, is placed inside the thorax
between the shoulder servomotors and has its axis of rotation
vertical. The second servo is mounted above the first using a
II. H UMANOID A RCHITECTURE U-bracket.
The architecture of the AH1N2 was conceived for soccer The actuators used are Robotis RX-28, that replace the
competitions, under the RoboCups Kid Size category [28]. RX-10 of the same manufacturer used in the AH1N1. If we
It consists of a chest, a head, a waist, two arms and two legs consider the required torque, the latter are more adequate, but
which are described below and shown in figures 1 and 2, which they need a different voltage than the rest of servos, so in
allow you to appreciate its main parts and relative proportions. order to simplify the power system it was decided to use only
This is an evolution of the ambitious AH1N1 developed under one servo type, the RX-28. The Minoru stereoscopic camera
the supervision of Dr Ibarra Zannatha by Felipe Leyva, Manuel replaces the two Firefly cameras that equipped the AH1N1.
Hunter and Rafael Cisneros. Next we describe of the robot This system is more simple since it only requires one USB
structure. connection between the camera and the control board, while
the previous required two.
4) Arms: To have a minimum capacity of manipulation,
A. Elements Description
the arms of the AH1N2 have 5 d.o.f. (instead of four for the
1) Thorax: The chest is the home of the computational AH1N1) plus a gripper. The arms have: a three d.o.f. shoulder
system, inertial sensors and power system; at the same time (shoulder abduction-adduction, flexion-extension and internal-
provides the support for the kinematic chains of the head, arms external rotation), a one d.o.f. elbow for flexion-extension; and
and waist, so it must be sufficiently large and rigid. The robots a one d.o.f. wrist for pronation-supination.
legs are attached to the chest via the waist. It is a rectangular The servo for the shoulder flexion-extension is inside the
box with Alucobond sides and bottom, a lightweight and yet chest so that its axis is horizontal and lays on the frontal plane;
rigid composite sandwich of two thin sheets of aluminum with the next servo coupled to it, with its rotation axis perpendicular
a thicker central plastic layer. The front and rear covers are to the previous, provides the abduction-adduction movement.
made of clear acrylic, one is easily removable without tools A third servo, with its rotation axis perpendicular to the
to allow an easy access to the batteries. At the top of the previous two, provides the internal-external rotation motion,
thorax three Robotis RX-28 servomotors are at the base of the resulting in an spherical shoulder. To the axis of the internal-
arms and head. The head servomotor provides the azimuthal external rotation servo, by a U-bracket, the elbow flexion-
movement for the neck, while the arm servomotors provide extension is mounted; therefore these axes are perpendicular.
flexion-extension movement for the arms. The dimensions of Finally, attached to the last servo, back to back, two servos one
for the wrist pronation-supination, and another to open/close
the gripper.
5) Legs: In order to allow the implementation of various
walking patterns, the legs should have three joints (hip, knee
and ankle) with a total of at least six d.o.f., in the case of
AH1N2 the structure is as follows: the hip has three move-
ments: abduction-adduction, flexion-extension and internal-
external rotation; the knee has one degree of freedom for
flexion-extension; and the ankle has two movements, plantar
and dorsal flexion and inversion-eversion.
Leg are assembled as follows: the vertical axis servomotor,
at the hip, is coupled to a double width U-bracket where
the abduction-adduction and flexion-extension actuators are
mounted, all axis are perpendicular, therefore the spherical hip.
To the last servo of the hip, the knee actuator is assembled to
it by two parallel plates. Two similar plates connect the knee
actuator with a two servo block at the foot, that produce the
plantar flexion and dorsal inversion-eversion of the ankle.
The resultant architecture is shown in figures 1 and 2, where
the position of each of joint axes for each kinematic chain
can be appreciated, as well as the proportions of the complete
humanoid AH1N2.
III. G EOMETRIC M ODEL
The base geometric model considers the robot as a tree of
kinematic chains, where the root, the 0 frame, is placed at the
lower thorax with its +z axis pointing upward, +x axis pointing
forward and the +y pointing toward the left (port) side; from
it the chains of the head, arms and legs are specified using a
six parameter variation of the Denavit-Hartenberg convention
(j , bj , j , dj , j , rj ) [29]
i
T j = Rz (j )Tz (bj )Rx (j )Tx (dj )Rz (j )Tz (rj )
where j is the joint variable (all the joints are rotational).
In this approach the first two transformations help to define
several frames of references with respect one, as is the case
of the head arms and waist that share the same base link.
Then 0T h , 0T rh , 0T lh , 0T rf , 0T lf define the relative position
(position/orientation) of the head, right hand, left hand, right Fig. 2. Frames of the robot joints, x (red), z (blue) joint axis, (all joint angles
at cero), the numbers correspond to the joint.
foot and left foot with respect the root frame. For instance the
position of the right hand with respect the head can be easily
calculated from reference frame and avoid confusions, and is an evolution of
h
T rh = hT 0 0T rh previous work [30], figure 2 present the latest version, this
no complex calculations are needed since to calculate the does not change the validity of the methods or the results
inverse of an homogeneous transformation, p T0 =0 Tp1 , we presented.
only need to transpose the orientation matrix and multiply it
A. Inverse Geometric Solution for the Arms
by the negative of the position vector
T The arm is a chain of six joints and corresponding links.
sT p

s The direct geometric model calculation is straightforward
nT nT p
 
s n a p
T = T 1 = aT aT p
and does not deserve further analysis. The inverse geometric
0 0 0 1 problem (or inverse position problem) is, in the general case
0T 1 challenging, and is the subject of our analysis. The last joint,
The initial geometric model has been revised several times the sixth joint, is used to open and closed the hand. The second
in order to have a standard definition for each joint and limb to last joint, the fifth joint, is only used to rotate the the hand
around its longitudinal axis. So we use four joints, the first 5 does not appears in the position. From the norm of the
fourth joints, to position the hand; and one, the fifth, to orient position we get
it. Therefore the position problem is over-actuated, while the
orientation problem is under-actuated. L21 + (L2 + x)2 + 2L1 (L2 + x) cos(4 ) =
The inverse geometric problem has been solved por some (Cp Hx + px )2 + (Hh pz )2 + (py Side Wc )2 (2)
specific architectures [31], [32], [33], and there exists several
numeric general solutions [34], like the one found in [35] that allows us to calculate 4 [0, ]. Repeating again the
that involves the solution of a characteristic equation of the method, from
2
kinematic chain; for a six d.o.f. manipulator is a sixteen degree Th = 2 T 0 U0
polynomial. Another approach found in [36] uses evolving two elements of the position vector are used to calculate 3
neural-controllers to solve the inverse geometric model, in a (, ]
latter section we present a solution that uses the same tool, the
Jacobian, but different approach. This is a problem that defies
sin 3 =
(py Side Wc )

automation and requires ingenuity, even if the geometric model (L2 +x) sin(4 ) cos(2 )
equations are available. We found its solution by the symbolic 3 : ((pz Hh ) cos(1 )+(Cp Hx +px ) sin(1 )) (3)

(L2 +x) sin(4 ) sin(2 )
manipulation of the geometric equations at the elementary
cos = (Cp Hx +px ) cos(1 )+(Hh pz ) sin(1 )

transformation level. 3 (L2 +x) sin(4 )
Besides the geometric approach present in many books like from 2 and 1 . The third element of the position vector gives
[37] that make an emphasis on the position at the expense of us a relationship between 1 , 2 and 4
attitude, there exists the algebraic approach proposed by [38]
that makes a systematic analysis of the robot homogeneous L1 (L2 + x) cos(4 ) =
transformations. This approach is further explained in [29] and cos(2 )((pz Hh ) cos(1 ) + (Cp Hx + px ) sin(1 ))
basically used in this work for the solutions presented in this
(py Side W c) sin(2 )
work.
1) General Solution: Since we use four joints to position this equation can be rewritten in two forms, as 1 =
the hand we have a redundant problem and the inverse position f (2 , 4 ) (, ]
problem has, in the general case, an infinite number of
X2 sin 1 + Y2 cos 1 = Z2
solutions. To solve the arm inverse geometric problem it is
necessary to rewrite the arm homogeneous transformation so or as 2 = f (1 , 4 ) (, ]
that three joint variables do not appear in the position vector,
and the orientation matrix can not be involved in the position X1 sin 2 + Y1 cos 2 = Z1
vector. These restrictions eliminate the usual way to solve this that can be solved using
kind of chain using the inverse kinematic chain. 2 2 2
To solve the position problem, we consider a point on x6 , sin i = Xj Zj +Y 2 Xj2+Yj Zj

Xj +Yj
aligned with z5 , so Ri = 0 and Di = x > 0 (so if z5 rotates i : i = 1, 2 j = 2, 1
Yj Zj Xj Xj2 +Yj2 Zj2
it does not change its position). The only difference between cos i =

X 2 +Y 2
j j
the left and right arms in the Denavit-Hartenberg parameters is (4)
the sign of Wc , the distance from the shoulder to the sagittal with = 1; and either (i = 1, j = 2) or (i = 2, j = 1)
plane. So, we have the same homogeneous transformations since both cos i and sin i must be real we have the following
for both arms and only the difference is a translation on y additional restriction on Xj , Yj and Zj
axis of the robot. Therefore we will write h for the arms,
where is a placeholder for r or l, the following homogeneous Xj2 + Yj2 Zj2 0 (5)
transformation which is expressed in terms of cos j and sin j , using Weier-
  1x2j 2xj
0 sd nd ad pd strass t-substitutions cos j = 1+x2j
and sin j = 1+x2j
with
T h = U0 = (1)
0 0 0 1 xj = tan
j
we get a fourth degree polynomial in xj that
2
where d stands for desired. In the following analysis we only has always four real roots (where it changes sign), the valid
consider the desired position. For the hand closed, 6 = 0, we j (, ) are those where the polynomial is positive, that
apply the Pauls [38] method to equation 1 using in our case is, for the roots {r1 , r2 , r3 , r4 } with ri < ri+1 i = 1, 2, 3 the
elementary transformations intervals (, r1 ), (r2 , r3 ), (r4 , ) define the valid values of
j . Since we get intervals for j , we have an infinite number
of solutions.
Tz (Side Wc ) Rx (P i/2) Tx (Cp Hx ) Tz (Hh ) 0 T h =
Summarising, the inverse geometric model calculates first
Tz (Side Wc ) Rx (P i/2) Tx (Cp Hx ) Tz (Hh ) U0 4 from 2, then 2 ( or 1 ) from the intervals that satisfy 5,
expressions 7 gives us 1 (or 2 ) and finally 3 from 3. The {4.71239, 3.14159, 1.5708}, {1.31394}},
valid solutions must satisfy equation 1. {{-2.96692, 2.72998, 2.65222},
The hand points in the direction given by the x-axis vector {2.47755, 2.80957, Pi},
{4.71239, 3.59782, 3.14159}, {1.31394}},
sh {{-2.96692, -2.38063, -2.30287},
{2.47755, 2.80957, Pi},

cos(2 ) cos(4 ) sin(1 ) (cos(1 ) cos(3 )
{4.71239, 5.82696, 6.28319}, {1.31394}}}

+ sin(1 ) sin(2 ) sin(3 )) sin(4 )




given as associated intervals. The results are lists whose
sh = cos( 3 ) sin( 1 ) sin( 4 ) + cos( 1 )(cos( 2 ) cos( )
4
elements have the structure

+ sin( 2 ) sin( 3 ) sin( 4 ))

{{1i , 1m , 1f }, {2i , 2m , 2f }, {3i , 3m , 3f }, {4 }}
cos(4 ) sin(2 ) cos(2 ) sin(3 ) sin(4 )
the method is not adequate for a real-time application.
and 5 is use to orient the hand, i.e, either the direction of 2) Classic Solution: When we have an over-actuated kine-
the y-axis vector nh or the z-axis vector ah can be used, matic chain the usual solution is to reduce the d.o.f. of
to define a plane perpendicular to x-axis vector sh . The the chain by fixing some of the joints. For the arm we
orientation of the arm is given by the matrix have five d.o.f., we can reduce the arm to three d.o.f.
by fixing, e.g., joints five and three; in this case, we can
Rx (/2)Rz (1 /2)Rx (/2)Rz (2 /2)
only specify the position. The problem has typically four
Rx (/2)Rz (3 /2)Rx (/2)Rz (4 ) solutions, figure 3 gives an example of the solutions for
Rx (/2)Rz (5 + /2)Rz (/2)Rz (/2) the point of coordinates {15, 15, 15} in the hand, with
3 = 0, 5 = 5, 6 = 0, the position of the left hand is
where we want to find the closest nh (ah ) to n0 (a0 ). and
{104.178, 219.781, 49.3406} and the position of the right
the attitude matrix 0Ah has the form
hand is {148.996, 144.076, 66.4427}, (both points with
0
 
Ah = s(i:1,...,4 ) n(i:1,...,5 ) a(i:1,...,5 ) . respect of the 0 frame).
The four joint positions for the left arm are
The above procedure is quite general, but computationally {2.86923, 2.41811, 0., 0.392699, 0., 0.},
inefficient. Yet, it gives us hindsight regarding the solutions {-0.945839, 0.584843, 0., 0.392699, 0., 0.},
associated to a point. For all the solutions, the links of the {2.19575, 2.41811, 0., -0.639374, 0., 0.},
upper arm and lower arm lie on the surfaces of two cones, {-0.272367, 0.584843, 0., -0.639374, 0., 0.}
whose axis is common and lie on the line joining the shoulder , while for the right arm are
and the desired position, one of the cones has its apex on the {-2.26569, -2.95895, 0., 0.146024, 0., 0.},
shoulder and the other on the desired position, and their bases {0.584384, -0.314301, 0., 0.146024, 0., 0.},
are on the elbow. However, due to the joints allowed range of {-2.55721, -2.95895, 0., -0.392699, 0., 0.},
motion not all attitudes will be reachable. {0.875907, -0.314301, 0., -0.392699, 0., 0.}
The previous method is applied to the the point This set of solutions have the disadvantage that there is no
{30, 88, 70} to the right arm, and it gives us the following clear control of the arm attitude. Therefore we propose a better
nine results for 4 > 0 solution.
{{{-Pi, -2.72223, -2.30287}, 3) Real Time Solution: For a real-time application we need
{2.49755, 2.51782, 3.14159}, a more simple method, we present one next, it can deal with
{4.42653, 5.11636, 6.28319}, {1.31394}}, the imperfection associated with unattainable attitudes. We
{{-0.489374, 0.174672, 0.838718}, keep equation 2 for 4 and equation 3 for 3 . We use the
{0., -0.664046, 0.},
{6.28319, 4.71239, 3.14159}, {1.31394}},
position of the shoulder {Cp , Wc , Hh }, the desired position
{{2.65222, 2.89691, Pi}, of the hand {px , py , pz }, the length of the upper arm L1 and
{3.14159, 2.61042, 2.49755}, the forearm L2 + x.
{3.14159, 3.99068, 4.42653}, {1.31394}}, The line that joins the shoulder and the end of the hand
{{2.65222, 2.72998, -2.96692}, define the axis of two cones, the angle between the generatrix
{-Pi, -2.80957, -2.47755},
{3.14159, 2.68537, 1.5708}, {1.31394}}, of upper arm cone and the generatrix of the forearm cone is
{{-2.30287, -2.38063, -2.96692}, 4 . The approach vector will be a generatrix of the bottom
{-Pi, -2.80957, -2.47755}, cone, while its point on the directrix defines the position of
{6.28319, 0.456224,1.5708}, {1.31394}}, the upper arm. Since at the shoulder, we have the equivalente
{{0.174672, -0.489374, 0.174672}, of an spherical joint, it will always be possible, if the point is
{-0.664046, 0, 0.664046},
{4.71239, 6.28319, 1.5708}, {1.31394}}, in the range of motion of the limb. In this case we only need
{{0.174672, 0.838718, 0.174672}, to calculate 1 and 2 , using the position of the elbow as input
{-0.664046, 0, 0.664046}, from 0T 3 = U0 .hT 4 . We have for 2 [/2, 0] (for the left
this method can be calculated in real time, however the
problem with it is that it assumes a perfect knowledge of
the desired approach direction a = {ax , ay , az } and of the
end position {px , py , pz }. The latter is not a problem, but
the former is. This can be a problem since they are mutually
dependent, i.e. the attitudes reachable at a point with an under
actuacted arm are point dependent..
So we modify the method. From the desired end point
we will calculate the feasible approach directions, i.e. the
desired direction is projected in the feasible forearm cone.
The approach direction will be aligned with the x5 axis.
The length of the line that joins the shoulder and the desired
point is given by
q
D = (px Cp)2 + (py + W p)2 + (pz Hh )2
using the law of sines we have for the triangle formed by the
arm
sin( 4 ) sin sin 
= =
D L2 + x L1
since  [0, /2) and 4 [0, )
L1
sin  = sin( 4 )
D
used to calculate the radius of the cone
R = (L2 + x) sin 
and its height
H = (L2 + x) cos 
From the desired point and attitude we find the desired
approach inverse vector given by a
vd = (L2 + x){ax , ay , az }T
from the line that joints the shoulder and the desired point we
calculate the inverse of the cone axis vector
va = {Cp , Wc , Hh }T {px , py , pz }T
the angle (0, ) between them can be calculated using the
cross product and the dot product
kvd va k
sin =
kvd kkva k
vd va
cos =
kvd kkva k
Fig. 3. Arm positions for the points considered to find the feasible approach direction first we must find the
point on the line vd va that intersects the approach cone
arm) [0, /2] (for the right arm) pc = {Cp , Wc , Hh } + H(va vd )
L1 sin(2 ) Wc = py a(L2 + x) (6) where
D sin 
and for 1 (, ) H=
D sin  + L2x sin( )
px ax (L2 +x)Cp
(
sin(1 ) = L1 cos(2 ) so the approach vector will be
Hh +az (L2 +x)pz (7)
cos(1 ) = L1 cos(2 ) a = {px , py , pz } pc
we use the unit vector in equations 6 and 7 to find 2 and 1
and solve the inverse position problem.
To find the hand attitude we solve the following maximisa-
tion problem
max sd sf (5 )
5

where sd is the desired direction for the +x axis and sf (5 )


is the feasible direction for +x. Since
sd sf (5 ) = a sin 5 + b cos 5
we can use the derivative to obtain 5 for the closest feasible
direction. The same procedure can be applied, if the desired
axis is y using in this case nd and nf (5 ).
This approach needs as inputs the coordinates of the desired
point and the desired approach direction, i.e., requires p0 and
s0 and n0 .
For instance for an approach to the point {50, 0, 30} the
specification is given by

0 1000 1 50
1 1000 0 25
Llef t =
0 1000 0 30

0 0 0 1

0 1000 1 50
1 1000 0 25
Lright = 0 1000 0 30

0 0 0 1
Fig. 4. Arm inverse geometric solution; the zb5 points forward, +x and the
(since the n component is not used it can have any value). so xb5 points outwards, since the sixth joint is used for the gripper.
the resultant joint position vector {b1 , b2 , b3 , b4 , b5 , b6 }
for the left arm is
vector of the desired orientation. A frontal view of the final
{0.903355, 0.291426, 0.349597, 1.90667, 2.74261, 0.} configuration is shown in figure 4.
and for the right arm is The position of a hand with respect the eye frame

{0.903355, 0.291426, 0.349597, 1.90667, 0.398987, 0.}


eye
T hand = eye T 0 (h1 , h2 ) 0 T hand (b1 , . . . , b5 )
and the corresponding homogeneous transformation matrices
are
this can be generalised, so that the robot can position a
Llef t = particular point of his hand in its line of sight.

0.191565 0.454377 0.869968 50
0.976604
1.11022 1016 0.215046 25
0.0977121 0.89081 0.443746 30 B. Inverse Geometric Solution for the legs
0. 0. 0. 1
The legs have six degrees of freedom. Since, the hip is
Lright = equivalent to an spherical joint, we use the reverse kine-
matic chain to calculate the inverse problem. In this case we
0.191565 0.454377 0.869968 50
0.976604 5.55112 1017 have eight solutions. To illustrate the procedure we present
0.215046 25

0.0977121
the solutions for a point with coordinates {10, 10, 10} in
0.89081 0.443746 30
the reference frame of each foot. The position of the left
0. 0. 0. 1
leg in the home frame will be {74.5894, 55., 418.589}
it can be seen that point is reached and the orientation is close and of the right leg will be {62.5894, 35., 418.589}
to the desired orientation, i.e. the s vector is close to the sd the eight solutions for the joint angles of the left leg are
{3.14159, -1.22465*1016 , -0.0703092,0.785398, joint and projected in the third joint frame, for this case, the
2.4265, 3.14159}, Jacobian is give by
{0., -3.14159, 3.07128, 0.785398, 2.4265, 3.14159},
{0., 0., -0.785398, 0.785398, -9.47155*1017 , 0.}, 0 0 0 L1 0
{3.14159, 3.14159, 2.35619, 0.785398,

0 0 0 0 L1 sin 4

-9.47155*1017 , 0.}, 3
0 0 0 0 0
J52 =
cos 2 sin 3
(8)
{3.14159, -1.22465*10-16, 0.785398, -0.785398, cos 3 0 0 sin 4
cos 2 cos 3 sin 3 0 1 0
-3.14159, 3.14159},
{0., -3.14159, -2.35619, -0.785398, sin 2 0 1 0 cos 4
-3.14159, 3.14159}, this basic Jacobian can be used to calculate the speed in
{0., 0., 0.0703092, -0.785398, 0.715089, 0.}, any other point or projected on any other reference frame.
{3.14159, 3.14159, -3.07128, -0.785398, 0.715089, 0.} Its correctness can be visualised analysing figure 2. From it,
while for the right leg are any other version of the Jacobian can be calculated using the
{3.14159, -1.22465*1016 , -0.785398, 0.785398, expression
3.14159, 3.14159}, s 
j,x i

s Ai 0 I iL
{0., -3.14159, 2.35619, 0.785398, 3.14159, 3.14159}, J x = s Ai i T j,x i Jn,j = J n,j (9)
0 sAi 0 I
{0., 0., -0.0703092, 0.785398, -0.715089, 0.},
{3.14159, 3.14159, 3.07128, 0.785398, -0.715089, 0.}, where the first matrix gives us the orientation of a screw on
{3.14159, -1.22465*1016 , 0.0703092, -0.785398, the s frame from a screw expressed on the i frame, using the
-2.4265, 3.14159}, relative orientation matrix sAi , and the second computes the
{0., -3.14159, -3.07128, -0.785398, -2.4265, 3.14159}, screw on a point x whose distance from the point j is given by
{0., 0., 0.785398, -0.785398, 9.47155*1017 , 0.}, the antisymmetric matrix of the vector iLj,x (used to calculate
{3.14159, 3.14159, -2.35619, -0.785398, the cross product Lj,x ).
9.47155*1017 , 0.} If we are interested in controlling a point ph on a hand;
and are shown in figure 5. its movement we can express it either on the base frame 0J h
or on the hand frame 5J h . Therefore to calculate equation 9
IV. K INEMATIC M ODELS
we need the distance to the point where we want the speed
A. Arm Kinematic Model calculated, in equation 8 is the distance from the second joint,
The kinematic model relates the speeds on the joint space to to the hand end point h, it will be L2,h , projected in the third
the speeds in the workspace. We use the basic Jacobian where joint
3
the speeds on the workspace are written as speed screws, i.e. L2,h = 3ph 3p2
twists. The method do not use the derivative. Here we present
where for a point at a distance d from the origin on the z axis
the arm case, but it easily automated to other parts of the robot
of the fifth joint would be
from the robot geometric data.
1) Arm Direct Kinematic Model: The Jacobian J(q) of the 0 (L2 + d) sin 4
3 3
arm can be written in many ways, all equivalent, i.e. having p2 = 0 ph = 0
the same information. The basic Jacobian express the speed in L1 (L2 + d) cos 4
the workspace as a speed screw v = {vx , vy , vz , x , y , z }T , since the third joint is on the elbow, while the the second on
i.e. a vector whose the elements are the linear and angular the shoulder.
speed of a point, from the speeds in the joint space q = For the movement with respect the 0 frame, i.e., 0J h we
{q1 , q2 , . . . , qn }T need 0A3 in 9

vx
q1 0
A3 =
vy q2 T
cos 1 cos 3 + sin 1 sin 2 sin 3

vz
q3 .
= J(q)
x
cos 3 sin 1 sin 2 cos 1 sin 3
.
..

cos 2 sin 1

y
z qn



T
cos 2 sin 3


Since the arm uses only five joints to position and orient the cos 2 cos 3

end effector, its Jacobian will not be full rank. Its determinant
sin 2
will give us the singularities, to them we must add the restric-

tions on the joints ranges and speeds. A simple expression is T
better for the purposes of the control calculation, and a simple

cos 3 sin 1 cos 1 sin 2 sin 3

expression can be reached if the total speed (produced by the
cos 1 cos 3 sin 2 sin 1 sin 3
combined five links) is calculated on a point on the second cos 1 cos 2
Fig. 5. The eight solutions of the geometric inverse problem for the leg and the points considered, with no waist movement, i.e., 1 = 0, 2 = 0.

while for the movement with respect 5, i.e., 5J h we use sAi = where the plus sign applies to the left arm, and the minus
5
A3 on 9. to the right arm, and occurs when joints 1 and 3 are
collinear therefore the Jacobian matrix loses rank,
when the elbow is completely extended or flexed

cos 4 sin 5 cos 5 sin 4 sin 5
5
A3 = cos 4 cos 5 sin 5 cos 5 sin 4
sin 4 0 cos 4
4 = 0
therefore for a point at the origin of the 5th frame, the Jacobian
in the robot base frame is given by
0
J 5 = 0 A3 3 T 2,5 3 J5,2 for both arms, since the arm can not reach the other
singularity 4 = , in this case the arm is touching the
and on the fifth frame (at the base of the hand) workspace outer limit and joints 3 and 5 are collinear.
5
J 5 = 5 A3 3 T 2,5 3 J5,2
Since only two joints have singularities we can present them
2) Arm Workspace Singularities: From equation 9, it can on a plane, figure 6 presents the singularities on the joint space
see that the determinant of the Jacobian does not change if we and figure 7 on the workspace. The connected components
change the orientation or the point considered. It can be seen of the singularities, singularity branches on the joints space
that the Jacobian is not full rank, so the determinant taken and Jacobian surfaces on the workspace, divide the space in
from the full rank minor, resulting from eliminating the third regions without singularities in the joint space [39] and on
row, is the workspace, where any trajectory can be followed without
L21 cos 2 sin 4 ambiguities.
the zeros of the determinant give the points on the joint space 3) Arm Inverse Kinematic Model: In order to compute the
where the arm loses degrees of freedom in the workspace, inverse kinematic model, i.e. inverse Jacobian, we use the
they define surfaces on the joint space, in this case we have inverse of 9, that is
the following singularities
when the arm is horizontal, pointing outward y collinear
j,n
  s T 
s 1 i 1 i 1 s 1 i 1 I iL Ai 0
with the shoulder joint Jn = J n,j T j,n Ai = J n,j s T
0 I 0 Ai
2 = /2 (10)
1
where the left pseudo-inverse is used for iJ n,j , for 3J 5,2 we
have
T
cos 3 sec 2 /L1
sin sec /L
3 2 1

0



sin sec
3 2

cos sec
3 2


0

T

sin 3 /L 1

cos 3 /L1




0


cos 3

sin 3

0
T Fig. 6. Joint space (in grey) and the singularity branches (in color), even if


cos 3 tan 2 /L 1 the 4 is in the border and therefore has no impact, it has since there joints
(sin tan cot )/L 3 and 5 are collinear. The joint space is divided by the singularities in two
3 2 4 1
0 aspects.
3 +

J 5,2 =
sin 3 tan 2



cos 3 tan 2


1

T
1/L1



0



0



0



0

0


T

0

csc 4 /L1




0






0





0

0

for 2 6= /2 and 4 6= 0. The calculus of other type of inverse


or decomposition for the whole system is not feasible given
its dimensions.

B. Jacobian Arm Controlled Movement


Fig. 7. Coronal cut of the Arm workspace, the red and green lines are the
mapping of the singularity branches into the workspace where they are called
The main advantage of using the Jacobian of the robot is Jacobian Surfaces. The upper red surface and the lower are 1 + 3 = and
that the inverse geometric model is not needed to command 5 = /2
movement in the workspace. There are several ways of using
the Jacobian or its inverse to generate a trajectory for the arm.
Maybe the most popular is to use the inverse Jacobian to drive So a movement can be to a line-on-a-surface, to a surface-on-
the movement, using the difference between the current and a-surface, to a point-on-a-line, to a line+point-on-a-line+point,
desired positions as input. to a point-on-a-point, etc.
Since the arm do not has six degrees of freedom, and we are In the simple example presented, we use four degrees of
only concerned with the position of the arm, we can use the freedom of the arm, since the fifth rotates the hand and the
approach outlined in [40][41], where parts of the Jacobian are sixth is used to open and close the gripper. For the point-
used to define a virtual joints. This is a very flexible approach on-a-point movement where the final point has coordinates
since it can use to drive the simultaneous movement of several {x0 , y0 , z0 }, the movement is specified as the movement of a
points of the hand avoiding the need of specifying the attitude. point (on the hand) 5 pe toward the intersection of three planes
completely extended or flexed (the end of the leg has reached
the workspace limit) and the third expression is zero where
axis of the pronation-supination ankle joint intersects the
origin of the spherical hip, i.e., it becomes redundant. Figure
9 shows how, in the joint space, (top) the second and third
singularities split the joint space and (bottom) presents, in the
workspace, a position where the second singular position is
present.

4
-6 -4 -2 2 4 6

-2

-4

-6

Fig. 8. View of the resultant arm movement, the starting position is on the
right the line shows the end point trajectory and the green sphere the final
desired position, in light grey are the intermediate positions.

x0 y0 , x0 z0 and y0 z0 , that is
drxy = {1, 1, 0, 0, 0, 0} 0A5 [I 5 pe ] 5J 5 dq
drxz = {1, 0, 1, 0, 0, 0} 0A5 [I 5 pe ] 5J 5 dq
dryz = {0, 1, 1, 0, 0, 0} 0A5 [I 5 pe ] 5J 5 dq
this restricted Jacobians allow us to write a set of equations
that replace the full Jacobian and use its inverse to drive the
robot to its desired position; the resultant movement is shown
in figure 8 for both arms reaching the points {50, 25, 50}
C. Leg Kinematic Model
The procedure used to calculate the kinematic model for the
arms was used to calculate the Jacobian for the legs. The main Fig. 9. Top figure, relationship between 4 and 5 for the legs second and
third singularities in the joint space. Bottom figure, an example of the second
result of the analysis of the kinematic model is the singularities singular position in the workspace, in this case the ankle pronation-supination
in its workspace, i.e., where the kinematic model loses rank, joint (6th joint) intersects the spherical joint at the hip (intersection of the first,
given by the zeros of the determinant. In this case is second and third joints).

Lp1 Lp2 cos 2 (Lp2 cos 5 + Lp1 cos(4 + 5 )) sin 4


gives the singularities. There are three V. DYNAMIC M ODEL
As in all previous models the dynamic model has a direct
cos 2 = 0, Lp2 cos 5 + Lp1 cos(4 + 5 ) = 0, sin 4 = 0
and an inverse version. The use of Lagranges method is
in 2 = /2 the leg is horizontal, axis 1 and 3 are aligned popular [37], [33] but Newton-Eulers method has proved to
(no rotation on the leg axis), when 4 = 0, the leg is be more efficient and this is the method we use. The direct or
forward model two hidden layers, each with three neurons, and was trained
q = A1 ( H(q, q) with a set of 61 samples of the whole robot position and the
joint torque pair, the latter calculated from the inverse dynamic
allow us to simulate the robot behaviour, given the model, using only the position (no speed or acceleration was
joint torques . The addition of effects of friction or included). The P.D. was tuned with a couple of critically
actuator inertia is standard. The inverse of the iner- damped poles, this control is equivalent to a passivity-based
tia matrix A does not need to be calculated, and position control proposed by [48]. To test the robustness of
the dynamic equations are linear with respect the in- the control, a perturbation was applied during the the step, in
ertia parameters expressed with respect the joint frame the form of a lateral force of 1 kg applied at the shoulder for
{mi , {mi xi , mi yi , mi zi }, {Ixx , Ixy , Ixz , Iyy , Iyz , Izz }}, that 0.06 s during the step. The resulting control torques and joint
were calculated for all the links. A by product of this equation movements are presented in figure 12.
are the joints wrenchs, i.e. the forces and moments expressed
as screws acting on the joints. This allow us to calculate the VII. C ONCLUSIONS AND F UTURE W ORK
zero momento point, i.e., the point in the floor where we have In this work, we present advances done on the development
a force and no moment. of the AH1N2 robot. The robot is specified by five open
The inverse dynamic model, was calculated also with the kinematic chains, where the legs share the waist joints. The
Newton-Euler method, solution of the inverse geometric o position problem for the
= Aq + H(q, q) arms is studied extensively, since it is the key for manipulation
in the workspace. This problem is hard to automate, and
allow us to calculate the joint torque , for a desired trajectory usually has more than one solution.
(q, q, q). The arm has five degrees of freedom, so is over-actuated
When the AH1N2 is walking, it has only one support foot, in position and under-actuated in attitude. Three solutions are
the model used is of a kinematic tree chain. However, if the presented for the arm, the first one uses joint intervals, but
upper body are considered as external generalised forces the it is computationally expensive, since the solution space is
analysis used for serial robots can be applied. big. The second, uses the approach usually found in over-
Figure 2 show the position of the servos with respect actuated problems, the problem is transformed in one where
the joint axis, this is an important aspect of the dynamic the position depends only on three joints, fixing two, four
model. The robot weights 3.6 kg, of it, 2 kg correspond to the solutions are found in this case. And finally, we use the
servos, each weighting 72 gr, the robot has 28, additionally experience learned in the previous problems to offer a solution
the brackets have an average weight of 40 gr. The electronics where the desired position is reached; while the attitude
weight is around 0.6kg (in it we consider the weight of the reaches an attitude close to the attitude desired, this solution
Minour3D camera, the Roboard RB-100, and the CM-700). can be solved in real time.
The two batteries weight 289.1 gr each. So most of the weight The inverse geometric solution of the legs is not a standard
is above the hip. problem, since the three joints at the hip form an spherical
joint. For this case, the inverse chain is used to solved the
VI. S IMULATION problem. This problem can have up to eight solutions.
We considered a parametric walking pattern, where the Next, the kinematic o Jacobian model for the arm is deter-
parameter that defines the stride length is an angle. Figure mined. It is important for the control in the workspace, since
10 shows the start, the middle and the end of a step when from it the singular positions of the robot can be calculated.
the angle is /4 (for a symmetric leg). Since, for the AH1N2 Another use of the kinematic model is as input to the
the leg is not symmetric leg, i.e. the length of the femur and control. The direct kinematic model is used to built error
of the tibia are different, this must be considered in the step equations that are used in the movement control, without need
calculation. The results of the simulation for the controls and of knowing the inverse geometric solution.
joint positions are shown in figure 12. The development of In order to properly simulate the robot walk under control,
central pattern generators (C.P.G.) [42], [43], [44], [45] is we develop the direct and the inverse model of it considering
an area where artificial neural networks are used to mimic a robot with 20 joints; here the arms have two links, only the
the behaviour of biological neurons [46]. [47] approaches the extension/flexion and the abduction/adduction movements are
biped walking from the cognitive sciences point of view, and retained. For each link, the mass, the centre of gravity and the
uses machine learning to generalise their method to any biped. inertia matrix with respect the actuating joint were calculated,
For the simulation, a fourth order Runge-Kutta algorithm approximating each link by prisms and the servos associated
was used for the integration of the direct dynamic model. We to them.
used a Neuro-proportional-derivative (P.D.) control shown in The robot walking was simulated using a passivity based
figure 11. A set of supervised neural networks, one for each control, a PD with gravity compensation. For the gravity
joint, was used to compensate the gravity; each network has compensation a neural network was used, replacing the inverse
Fig. 12. Control and angular joint positions for legs (support leg 1-6, advance leg 7-12), waist (13-14), arms (left 15-16, right 17-18) and head (19-20) for a
step, a lateral force of 1 kg is applied at the joint 15 for t=4 0.03 s.
q

NN

q

d - Robot
?
  6


Pattern - PD
Generator

 
q, q

Fig. 11. Robot control, the NN input is only the position of the robot, while
the robot is simulated integrating the direct dynamics using a fourth order
Runge-Kutta algorithm.

(1)
dynamic model. A lateral force was applied to the left shoulder
at mid step. As it can be seen in the graphs of the robot joint
controls and position, the control had no problem with it.
Since developing and debugging programs directly on the
robot is not practical, we developed all the programs in Math-
ematica, so that only one geometric and dynamic specification
is used. This allow us to eliminate the source of errors and
simplify the transfer of the programs to the robot. Also the
programs have a modular and hierarchical structure and serve
(2) as an educational tool.
The programs has allowed us to experiment with different
kinds of controls, several have been already been tested.
Although here we only present the behaviour under the Neuro-
PD. The program also allow us to verify if the servos are
capable of delivering the required torque, and/or adequate the
robot movement to satisfy their capabilities. The effect of a
walking gait on the zero moment point or the robot center
of gravity movement has also been studied with the tools
developed from this work. Further work is required on the
dynamic models when the robot has more that two points of
contact with the environment.
The robot needs to be instrumented (to be able to log
its movements) in order to be able to compare the results
presented here, also we need to include a model of the servos,
since they are the elements directly coupled with the joints,
(3) and the robot dynamics act as a perturbation. Further study
Joint limits of neural networks to implement C.P.G .or to mimic the
Joint start end behaviour of a living is also required.
1 0 ang
2 -ang -ang ACKNOWLEDGEMENTS
3 ang 0
4 0 -ang We would like to thank Dr Ibarra, the father of the AH1N2,
5 ang ang for lending it to us, and allow us to participate in its develop-
6 0 0 ment. This is work in continuous progress.

Fig. 10. Lateral (1) and isometric (2) view of a step with ang=/4, (3) joint R EFERENCES
position evolution, the end points are reached with zero speed and acceleration,
(4) joints movement limits [1] J. Bares and D. Wettergreen, Dante II: Technical description, re-
sults, and lessons learned, International Journal of Robotics Research,
vol. 18, no. 7, pp. 621649, 1999.
[2] G. Muscato, F. Bonaccorso, L. Cantelli, and et al, Volcanic environ-
ments robots for exploration and measurements, IEEE Robotics &
Automation Magazine, vol. 19, no. 1, pp. 4049, 2012.
[3] M. Morichi, R. Abou-Khalil, P. Dubart, and et al, Novel nuclear [25] C.-C. Wong, C.-T. Cheng, K.-H. Huang, Y.-T. Yang, Y.-Y. Hu, and H.-
measurements technologies for safety and security, in NATO Advanced M. Chan, Small-size humanoid soccer robot design for fira hurosot,
Research Workshop on Preparedness for Nuclear and Radiological robot soccer, in Robot Soccer (V. Papic, ed.), InTech, 2010.
Threats. Nuclear Threats and Security Challenges, pp. 217228, 2015. [26] J. Baltes, N. M. Mayer, J. Anderson, K.-Y. Tu, and A. Liu, The
[4] S. Naotaka, T. U., and N. Norihito, Control technologies for quadruped humanoid leagues in robot soccer competitions, in International Joint
walking robot to facilitate carrying operations in reactor buildings, Conferences on Artificial Intelligence Workshop on Competitions in
Toshiba Leading Innovation, vol. 69, no. 10, pp. 4851, 2014. Artificial Intelligence and Robotics, (Pasadena, CA), pp. 916, July
[5] J. Abouaf, Trial by fire: Teleoperated robto targets chernobyl, IEEE 2009.
Computer Graphics and Applications, vol. 18, no. 4, pp. 1014, 1998. [27] I. Ha, Y. Tamura, H. Asama, H. Jeakweon, and D. Hong, Development
[6] A. Bogatchev, V. Gromov, V. Gorbunov, N. Gusseva, V. Koutcherenko, of open humaniod platform DARwin-OP, in SICE 2011 - 50th Annual
M. Malenkov, S. Matrossov, V. Petriga, and S. Vladikin, Wheel propul- Conference of the Society of Instrument and Control Engineers of Japan,
sive devices for mobile robots, in 3rd Eurel Workshop and Masterclass. pp. 21782181, 2011.
European Advanced Robotics Systems Development, vol. 2, p. 8, 2000. [28] RoboCup, RoboCup Soccer Humanoid League Rules and Setup For the
[7] J. Gaustad, P. McCullogh, W. Rosing, and D. Van Buren, A robotic 2015 Competition in Hefei, final version june 29th ed., 2015.
wide-angle h alpha survey of the southern sky, Publications of the [29] W. Khalil and E. Dombre, Modeling, Identification and Control of
Astronomical Society of the Pacific, vol. 113, no. 789, pp. 13261348, Robots. Kogan Page Science, 2004.
2001. [30] A. J. Malo-Tamayo, J. M. Ibarra Zannatha, and A. Enrquez Cobo,
Manipulation with the AH1N2 humanoid robot: An underactu-
[8] J. Blasco, N. Aleixos, and E. Molto, Machine vision system for
ated/overactuated problem, in 12th International Conference on Elec-
automatic quality grading of fruit, Biosystems Engineering, vol. 85,
trical Engineering, Computing Science and Automatic Control (CCE),
no. 4, pp. 415423, 2003.
pp. 447458, 2015.
[9] D. Slaughter, D. Giles, and D. Downey, Autonomous robotic weed
[31] D. L. Pieper, The Kinematics of Manipulators Under Computer Control.
control systems: A review, Computers and Electronics in Agriculture,
PhD thesis, Stanford University, 1968.
vol. 61, no. 1, pp. 6378, 2007.
[32] J. J. Craig, Introduction to Robotics: Mechanics and Control. Prentice
[10] L. R. Hochberg, D. Bacher, B. Jarosiewicz, and et al, Reach and grasp Hall, 3rd ed., 2005.
by people with tetraplegia using a neurally controlled robotic arm, [33] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, Robotics: Mod-
Nature, vol. 485, no. 7398, pp. 372U121, 2012. elling, Planning and Control. Advanced Textbooks in Control and Signal
[11] V. Edgerton, R. de Leon, S. Harkema, J. Hodgson, N. London, Processing, Springer-Verlag London Ltd., 2010.
D. Reinkensmeyer, R. Roy, R. Talmadge, N. Tillakaratne, W. Timoszyk, [34] J. Angeles, Fundamentals of Robotic Mechanical Systems: Theory,
and et al, Retraining the injured spinal cord, Journal of Physiology- Methods, and Algorithms. Mechanical Engineering Series, Springer
London, vol. 533, no. 1, pp. 1522, 2001. Science+Business Media, LLC, 3rd ed., 2007.
[12] R. Murphy, Trial by fire - activities of the rescue robots at the world [35] M. Raghavan and B. Roth, Inverse kinematics of the general 6r
trade center from 11-21 september 2001, IEEE Robotics & Automation manipulator and related linkages, Journal of Mechanical Engineering,
Magazine, vol. 11, no. 3, pp. 5061, 2004. Transactions of the ASME, vol. 115, pp. 502508, September 1993.
[13] A. Davids, Urban search and rescue robots: From tragedy to technol- [36] J. A. Martn H., J. de Lope, and M. Santos, A method to learn the
ogy, IEEE Inteligent Systems, vol. 17, no. 2, pp. 8183, 2002. inverse kinematics of multi-link robots by evolving neuro-controllers,
[14] IFR, History of Industrial Robots. International Federation of Robotics, Neurocomputing, vol. 72, pp. 28062814, 2009.
2012. [37] M. W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and
[15] K. Koganezawa, A. Takanisi, and S. Sugano, eds., Development of Control. John Wiley & Sons, Inc., pre3rd ed., 2006.
Waseda robot The study of biomechanisms at Kato Laboratory. Ichiro [38] R. P. Paul, Robot manipulators: mathematics, programming and control:.
Kato Laboratory, 3rd ed., 1991 (in Japanese). The MIT Press, 1981.
[16] Y. Sakagami, R. Watanabe, C. Aoyama, S. Matsunaga, N. Higaki, [39] P. Borrel and A. Liegeois, A study of multiple manipulator inverse kine-
and K. Fujimura, The intelligent ASIMO: System overview and in- matic solutions with applications to trayectory planning and workspace
tegration, in Proceedings of the 2002 IEEE/RSJ Intl. Conference on determination, in Proceedings of the 1996 IEEE International Confer-
Intelligent Robots and Systems, (Lausanne, Switzerland), pp. 24782483, ence on Robotics and Automation, vol. 3, pp. 11801185, 1986.
2002. [40] A. Fournier, Generation de mouvements en robotique; application des
[17] M. Hirose and K. Ogawa, Honda humanoid robots development, Philo- inverses generalisees et de pseudo-inverses. PhD thesis, Universite de
sophical Transactions of the Royal Society A-Mathematical Physical and Montpellier, 1980.
Engineering Sciences, vol. 365, no. 1850, pp. 1119, 2007. [41] E. Dombre, Analyse de performances de robots-manipulateurs flexibles
[18] R. Mittal, A. Konno, and S. Komizunai, Implementation of HOAP-2 hu- et redondants; contribution a leur modelisation et a leur commande.
manoid walking motion in openHRP simulation, in 2015 International PhD thesis, Unversite de Montpellier, 1981.
Conference on Computing, Communication, Control and Automation [42] S. Jo, A neurobiological model of the recovery strategies from perturbed
(ICCUBEA), pp. 2934, 2015. walking, BioSystems, vol. 90, pp. 750768, 2007.
[43] J. Santos and A. Campo, Biped locomotion control with evolved
[19] Y. Ota, Partner robots - from development to business implementation,
adaptive center-crossing continuous time recurrent neural networks,
in Humand-Computer Systems Interaction: Backgrounds and Applica-
Neurocomputing, vol. 86, pp. 8696, 2012.
tions 2, Pt 2, vol. 99 of Advances in Intelligent and Soft Computing,
[44] C. Ferreira and C. P. Santos, Combining central pattern generators and
pp. 3139, Springer Berlin Heidelger, 2012.
reflexes, Neurocomputing, vol. 170, pp. 7991, 2015.
[20] N. Tsagarakis, G. Metta, G. Sandini, D. Vernon, R. Beira, F. Becchi, and [45] Y. Huang and Q. Wang, Disturbance rejection of Central Pattern
et al, iCub: the design and realization of an open humanoid platform Generator based torque-stiffness-controlled dynamic walking, Neuro-
for cognitive and neuroscience research, Advanced Robotics, vol. 21, computing, vol. 170, pp. 141151, 2015.
no. 10, pp. 11511175, 2007. [46] H. Hultborn and J. Nielsen, Spinal control of locomotion from cat
[21] R. Ambrose, H. Aldridge, R. Askew, R. Burridge, and et al, Robonaut: to man, Acta Physiologica, vol. 189, pp. 111121, 2007.
NASAs space humanoid, IEEE Inteligent Systems & Their Applica- [47] K. Madani and C. Sabourin, Multi-level cognitive machine-learning
tions, vol. 15, no. 4, pp. 5762, 2000. based concept for human-like artificial walking: Application to au-
[22] R. Cisneros Limon, Estrategias de modelado cinematico y simulacion tonomous stroll of humanoid robots, Neurocomputing, vol. 72, no. 8,
en robots humanoides, Masters thesis, Cinvestav, 2009. pp. 12131228, 2011.
[23] E. Hernandez Castillo, SLAM visual no-lineal para un robot humanoide. [48] M. Takegaki and S. Arimoto, A new feeback method for dynamic
PhD thesis, Cinvestav, 2013. control of manipulators, Transactions of the ASME Journal of
[24] RoboCup, RoboCup Soccer Humanoid League Rules and Setup: For Dynamic Systems, Measurements, and Control, vol. 102, pp. 119125,
the 2014 Competition in Joao Pessoa. RoboCup Humanoid League, 1981.
http://www.tzi.de/humanoid/, draft of January 10, 2014 ed., 2014.

You might also like