Istv An Kecsk Es, Ervin Burkus and P Eter Odry: Model Validation of A Hexapod Walker Robot

Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

Robotica (2017) volume 35, pp. 419–462.

© Cambridge University Press 2015


doi:10.1017/S0263574715000673

Model validation of a hexapod walker robot


István Kecskés†∗, Ervin Burkus† Fülöp Bazsó‡,§
and Péter Odry§,¶
†Doctoral School of Applied Informatics and Applied Mathematics, Obuda University, Budapest,
Hungary. E-mail: kecskes.istvan@gmail.com, ervinbur@appl-dsp.com
‡Wigner RCP, Institute for Particle and Nuclear Physics, Budapest, Hungary.
E-mail: bazso.fulop@wigner.mta.hu
§SU-Tech College of Applied Sciences, Subotica, Serbia
¶College of Dunaujvaros, Dunaujvaros, Hungary. E-mail: odry@appl-dsp.com
(Accepted July 16, 2015. First published online: August 17, 2015)

SUMMARY
Our complete dynamical simulation-model realistically describes the real low-cost hexapod walker
robot Szabad(ka)-II within prescribed tolerances under nominal load conditions. This validated
model is novel, described in detail, for it includes in a single study: (a) digital controllers, (b)
gearheads and DC motors, (c) 3D kinematics and dynamics of 18 Degree of Freedom (DOF)
structure, (d) ground contact for even ground, (e) sensors and battery model. In our model validation:
(a) kinematical-, dynamical- and digital controller variables were simultaneously compared, (b)
differences of measured and simulated curves were quantified and qualified, (c) unknown model
parameters were estimated by comparing real measurements with simulation results and applying
adequate optimization procedures. The model validation helps identifying both model’s and real
robot’s imperfections: (a) gearlash of the joints, (b) imperfection of approximate ground contact
model, (c) lack of gearhead’s internal non-linear friction in the model. Modeling and model validation
resulted in more stable robot which performed better than its predecessors in terms of locomotion.

1. Introduction

1.1. Prequel, choosing the appropriate structure


Nowadays, due to the continuous development of technology, applications in the field of mobile
robotics are becoming increasingly common. Accordingly, researchers show more interest in
development of various mobile devices. The simplest mobile robots have wheels, crawlers or a
combination of these two. For these robots, overcoming even small obstacles is difficult. In contrast
to wheeled devices, walking robots have more complex structures in terms of their mechanical,
electrical and software composition, but when properly built they can easily overcome much higher
and more complex barriers.
Walking robots can be classified into bipeds, quadrupeds, hexapods, octopods and “centipedes”.
With more than two-legged robot structures, it is easier to achieve and maintain balance and the center
of gravity (COG)—compared to the size of the robot—can be closer to the ground than in the case of
bipeds. With the right walking algorithm, three noncollinear legs of the robot are on the ground all
the same time. Quadrupeds have a disadvantage over structures with six or more legs namely that if
they use a static stable gait then only one leg can be in air at a time, which results in slow walking
speed. Using a dynamic stable gait like the trot gait two legs can be lifted at the same time, but in this
case it is harder to respond to unforeseen events like obstacle collision.
In case of hexapods, when the fast “tripod” gait is used, there are always three legs on the ground,
and three in the air. Therefore, the walking speed of a hexapod robot can be two or three times faster
than that of a quadruped robot. In case of octopods, due to the extra two feet, robots can have four

* Corresponding author. E-mail: kecskes.istvan@gmail.com

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
420 Model validation of a hexapod walker robot

feet on the ground and four in the air in the same time, however, there is a disadvantage, because
it is difficult to touch the ground with four feet simultaneously. Eight-legged robots have greater
weight, power consumption and cost more because of the extra legs. In ref. [32], a detailed analysis of
walking devices was carried out. This analysis separately dealt with the maximal speed of the robots
depending on the number of feet. The publication59 deals with the evolution of legged locomotion
systems, and presents different possibilities for the implementation. In ref. [60], several optimization
examples and methods are presented for minimizing the energy consumption by modifying the design
and walking with evolutionary computation. A detailed classification of gaits was given in.15 Based
on the above, six-legged construction is the most practical choice for a walking device.
Simpler wheeled robots are capable of overcoming obstacles with heights smaller than the radius
of their wheels. More advanced wheeled robots using for example the Rocker–Bogie suspension,
like the Curiosity robotic rover are of course able to roll over much higher obstacles. Bipeds can
overcome barriers to the height of their knees. Hexapod structures, depending on their structural
design, are suitable for walking on obstacles up to two to four times higher than the length of their
legs. The main disadvantage of hexapods, compared to the wheeled robots is that they consume more
power, and their walk is relatively uneven. Also, the top speed of a hexapod is lower than the speed of
a wheeled robot of the same size.15 also discusses the walking robot’s ability to overcome obstacles.

1.2. Szabad(ka)-II’s structural and mechatronical properties


Szabad(ka)-II robot is our third hexapod robot. The first robot was made from plastic (vitroplast),
and it used 12 RC servos.2, 48 The second robot Szabad(ka)-I was made mostly from aluminum and
was driven by 18 DC servo motors equipped with planetary gearheads and encoders. It did not have
a dynamic model and its mechanical parameters were concluded using simple static calculations.7
Szabad(ka)-II8 is a complex electro-mechanical system made from aluminum and steel. All of its
legs have three DOF, i.e. three servo motors per leg are used to drive the joints.
The torque transmission between the reductors and the joints was achieved with bevel gears
manufactured by company Maedler. These gears were reworked and adjusted to proper dimensions.
The module number of the bevel gears was determined through experiments. The required loads
used in the experiments were obtained from simulations. Based on the simulations a 1:1 reduction
value was assigned to the bevel gears at the two joints with smaller loads, (Link1,Link3), while a
1:2 reduction at the joints with higher loads (Link2). The joints in the body (Coxa-Thorax) use ball
bearings (manufactured by SKF), and the joints in the legs (Tibia-Femur and Femur-Coxa) use plain
bearings (manufactured by IGUS).
The shafts on which the gears are mounted are held by the reductor with a single plain
bearing in the smaller reductors, and by a single ball bearing in the larger reductors. Based on
preliminary assessments, it was assumed that the shaft play appearing on the reductor shafts will
remain within appropriate limits so the reductors were mounted without using external bearings for
additional support. The reason behind this solution was to reduce size, weight and complexity. It was
subsequently found out that the problem was assessed incorrectly. The imperfect solution resulted in
a 2–3 degree backlash on the reductors’ axes. Because of this drawback, in the construction of the
next robot the single internal bearings will be supplemented with external ones.
The innovations that were performed on Szabad(ka)-II (Fig. 1), the current IT system and the plans
connected to the software are detailed in ref. [8]. The robot’s microcontrollers were selected based
on the integrated peripheral requirements, previous experiences and computational demands of the
algorithms. The methods of the microcontroller selection are explained in ref. [10].
The arrangement of the joints is shown in Fig. 1. The α joint is located in the body and it can rotate
the next segment in a horizontal plane. The other joints θ1 and θ2 are located in the legs. These joints
can rotate the next segment in a vertical plane.
Three kinds of Cartesian coordinate systems should be introduced for the robot kinematics:
(1) World coordinate system – (XW , YW , ZW ), where the X − Y plane represents the horizontal
ground; Z axis is directed upward and the origin is at the initial point of the robot. This coordinate
system is shown in Fig. 1 in blue.
(2) Coordinate system of robot body – (XR , YR , ZR ), where X axis shows the front side of the robot
and the walking direction in case of straight movement; Z axis is directed upwards; the origin is
placed at the geometric center of the robot body. This is presented in Fig. 1 in yellow.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 421
Table I. Selected motors and gearheads for Szabad(ka)-II.

Gearhead Bevel Bevel gear


Motor Motor Gearhead nominal Gearhead gear no. of
Link Segment type torque type torque ratio ratio teeth

1 – Coxa α 2232SR 10 mNm 26A 1 Nm 256 1:1 19:19


2 – Femur θ1 2342CR 16 mNm 26A 1 Nm 256 1:2 15:30
2 – FemurM θ1 2342CR 16 mNm 26/1 3.5 Nm 246 1:2 15:30
3 – Tibia θ2 2232SR 10 mNm 26A 1 Nm 256 1:1 19:19

Fig. 1. The Szabad(ka)-II hexapod robot: picture, structure, and names of parts.

(3) Coordinate system of robot legs – (X, Y, Z), where X axis is the leg’s starting direction from the
body; Z axis is directed to front side; the origin is placed in the center of the first link (Link1).
Coordinate system of robot legs depicted in black and shown in Fig. 1.
For Szabad(ka)-II, specific DC servo motors were selected from company Faulhaber.22 These
motors are more efficient and have lighter weight than the motors used in our previous robot. The
experience gained from the design and exploitation of Szabad(ka)-I (10 ) was used in the design process
of Szabad(ka)-II.
Since the robot’s dynamical model was developed (described in next section), it was possible to
determine the torques required to drive the joints. While running the dynamic model, simulations
were made with three legs simultaneously on the ground, and the motor-gearhead pairs were selected
based on these simulations. The results of the selection are shown in Table I.

1.3. Szabad(ka)-II and existing hexapod robots


Prior to specifying the robot’s electromechanical structure other hexapod robots from the literature
were studied, and a large number of designs built for various purposes were found. Properties of
hexapod robots are summarized, and compared based on their structural features. Table I lists those
hexapod walking devices, which were of interest for further study. Similar tables can be found in
literature, like in ref. [55], but these summaries do not discuss the electromechanical properties
relevant for this paper, in most cases only the name of the project and the developers were mentioned.
In the design process of the electromechanical structure, one of the key issues was protecting the
device while walking or falling, and minimizing the occurring effects.36 An additional goal was to
achieve a functional structure with relatively simple electro-mechanical design. Solutions based on

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
422 Model validation of a hexapod walker robot
Table II. Comparison of hexapod robots.

Robot’s Name: Year: DOF/leg Description:

Tarry I 1992 3 Simulates the walking of the stick insect. Uses RC servos.45
Robot I 1993 2 Early mechanism to imitate cockroaches. Forms the basis of Robot II, III.13
TUM 1991 3 Introduces a model of hexapod walking machine following biological
principles.45
Robot II 1996 3 Improved successor of Robot I. It uses 6 watt DC motors.13
Tarry II 1998 3 Improved version of Tarry I. Also uses RC servos.45
Lauron III 1999 3 DC motors, robust transmission using timing belts.12
LAVA 1999 3 Early differential gear system, driven by DC servo motors.67
Biobot 2000 3 Pneumatic drives, with a cockroach-like foot structure.18
Hamlet 2001 3 Complex mechanical solutions, driven by DC servo motors.23
RHex 2001 0 Intentionally simple structure, driven by 6 DC motors.58
Robot III 2002 2–5 Enhanced version of Robot III. It uses pneumatics.13
Sprawlita 2001 2 Pneumatic structure imitating the cockroach’s gait.4
LEMUR II 2002 4 Successor of LEMUR I. Uses DC servo motors with harmonic drives.40
Whegs I 2003 1 “Wheel with legs” concept. Driven by 6 wheels with rods.1
Whegs II 2003 1 Improved version of Whegs I.1
Lauron IV 2004 3 Enhanced version of Lauron III, with optimized mechanism.53
Genghis II 2004 2 Mechanically simple robot with only two DOF.51
AQUA 2004 1 Swimming robot with paddles and one degree of freedom per leg.24
BILL-Ant-p 2005 3 Ant-like hexapod with RC servos, equipped with a head and scissors.45
Hexapod 2005 2 The authors’ first prototype. Ant-like hexapod using RC servos.48
Gregor I 2006 2/3 Cockroach-like robot, using RC servos.3
ATHLETE 2006 6 Rolling or crawling robot, with six wheels. Has a load capacity of 450 kg.28
SLAIR 2 2007 3 Successor of SLIAR. Has a differential drive with modified RC servos.42
ANTON 2007 3 Successor of SLIAR 2. Without a differential drive, with its own
reductors.42
Szabad(ka)-I 2007 3 Hexapod using servo motors. Has reductors, its own production encoders,
and bevel gears for additional reduction.10
HexCrawler 2008 2 Hexapod with RC servos and two DOF.31
Chiara 2008 3/4 Very elaborate hexapod using RC servos. Has two front arms.14
Lynx. BH3-R 2008 3 Axisymmetric construction using RC servos.17
SILO6 2008 3 Robust robot, with differential drive, driven by servo motors.25
Cassino 2008 3 Low cost, hybrid hexapod robot operated by a PLC with on-off logic.11
COMET-IV 2009 4 Hexapod with hydraulic drive, large dimensions and weight.49
Szabad(ka)-II 2009 3 Successor of Szabad(ka)-I. Among others, the DC servo motors, drives,
encoders, and bevel gears were enhanced.10
Oscar 2009 3 Self-reconfiguring axisymmetric hexapod robot using RC servos.30
SpaceClimber 2011 4 A particularly advanced robot using brushless DC motors and
Harmonic Drive gears.5
Octavio 2012 3 Ultra lightweight multi-legged robot that consists of up to eight
isomorphic leg modules with an easy snap-in system.64

pneumatics were rejected because of their complex and inefficient way of operation as they are still
in the experimental phase.4 Solutions based on RC servos were also rejected because their control
algorithm cannot be altered of modified, for it is fixed.6 In case of most other robots having at least
three DOFs per legs, particular attention was paid to the development of the algorithms, while the
optimization of the electromechanical structure was less important. Most of the constructions were
relatively robust, and resulted in a cumbersome walk.
Detailed comparison of Szabad(ka)-II and other similar hexapod robots can be found in
Appendix A.

1.4. Simulation and validation at other hexapods


The general usage of the simulation modeling in hexapod robot design are summarized in.61

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 423
Table III. Simulation models comparison of hexapod robots.

Real robot’s name Simulator Purpose of dynamic model Verification/validation

RHex58 SimSect ‘Aassess the viability of the design “Verify in simulation that the
through simulation studies” controllers of Section 3 are able to
produce fast, autonomous forward
locomotion of the hexapod platform”
Sprawlita4 ADAMS “Expected observation for the “Simulated experiments are powerful
control trials is based on the tools for verifying expected results of
results of the simulated complicated animal experiments.”
experiments” “In any case, analyzing the behavior
of the simulated robot system in the
case of partial sensor failure will
certainly be interesting.”
AQUA24 Simulink “To develop simple gaits that were “Model was validated with
implemented on the robot” experiments: The match between the
two sets of forces was good and it
provided the model validation that
was sought”
ANTON42 Simulink “Development and test of complex “The results of simulation and the
real-time embedded systems results of real experiments are
consists of many steps from practically identical.”
modeling and simulation of the
plant till the implementation of the
source code in the real hardware.”
Cassino11 Simulink “Dynamics analysis can be carried None
out in order to size the actuators
for a leg module (Carbone, G. &
Ceccarelli, M. 2004)”
SpaceClimber5 “Precise visual comparison of the “A comparison between the real robot
foot behavior on the ground and and the simulated version was
better tuning of the ground contact performed before the simulation was
parameters in the simulation” used for locomotion parameter
optimization.”
Octavio64 YARS “Optimized using evolutionary “Tests on hardware are indispensable
techniques together with a to validate that the identified control
physical simulation of the principles are grounded in the
machine and its environment” physical world.” “it has to be
sufficiently precise to allow
transferability of controllers from
simulation to hardware with at least
qualitatively comparable behaviors”
“Except for a few parameter changes
controllers developed in simulation
were successfully transferred to
hardware.
Szabad(ka)-I10 Simulink Help the design of Szabad(ka)-II None
Szabad(ka)-II9 Simulink Optimize robot structure and control The subject of this paper

The static verification of a proposed CAD model can more or less determine if a prototype is
viable, but is not sufficient to provide the optimal structure. That was the reason why the dynamic
simulation model of Szabad(ka)-II was created and validated. This kind of modeling is also important
in the development of a robot’s software like in the walking algorithm. Using a real robot for testing
is time consuming and creating various test environments is expensive. In contrast to this, simulating
the target scenarios can be much faster, cheaper and easier. Of course, it is vital for the dynamic
model to provide the adequate results.
From the 32 robots listed in Table II, we found seven robots (besides Szabad(ka) robots) having a
dynamic simulation model. Table III summarizes these dynamic models. In our paper models without

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
424 Model validation of a hexapod walker robot

a real hardware device were not addressed; therefore these researches were not included in Table III.
The study of dynamic models is more important than kinematic modeling because Szabad(ka)-II
also has a dynamic model. Purely kinematic models do not include those critical parts which are
studied here, such as the motor currents, forces, ground contact model, gearhead efficiency, gearlash,
etc. At the same time dynamic models in most cases contain all kinematic parts: exact structure of
the robot, joint limits, even or uneven ground, obstacles, etc. It is worth mentioning that kinematic
models are usually used for studying robot motion or walking in various environments like in the
case of the following real robots: LAVA,67 Genghis II,51 BILL-Ant-p,45 ATHLETE,28 COMET-IV,49
Lynx.BH3-R.17
There are a large number of robot simulators available, emphasizing different aspects of
robot simulation.64 The mentioned models are mostly integrated to the Matlab/Simulink simulator
environment (Simulink,4, 17, 24, 33, 42 YARS,64 ADAMS,4 and SimSect58 ). The Szabadka robot models
were also implemented in Simulink, because we already had experience with motor controlling in
this environment.
The elaboration and quantification of the model validation does not exist in these studies, i.e. the
comparison between the simulation results and reality is rather descriptive, for example:

• In:64 “Comparison of performance in hardware and simulation it has to be sufficiently precise


to allow transferability of controllers from simulation to hardware with at least qualitatively
comparable behaviors”
• In:42 “The results of simulation and the results of real experiments are practically identical.”
• In:24 “ . . . model was validated with experiments: The match between the two sets of forces was
good and it provided the model validation that was sought . . . ”
• In:66 “good agreement between the simulation and the experiment results, the errors in the static
process is very small (nearly zero) and some errors exist in the dynamic process (less than 20%)”
• In:56 “The maximum error between the disk positions of experimental results and the dynamic
virtual power response steady-state component is 2.1961 % in disk 8”

The point in our trials was to quantify the simulation errors in order to be able to compare different
situations and parameters, and run the optimization to tune up certain parameters of the model,
similarly to the research in.5 The Genetic Algorithm (GA) method was selected to tune up such
parameters in our model, since the evolutionary algorithms is proven as effective solution in the
robotic field.57
The main aim of these simulation models is to evolve the walking gaits and controllers, like
in.4, 17, 24, 42, 58, 64 Evolutionary robotics, neural controllers and optimization of parameters are usually
developed in simulations. This is due to time and cost constraints, but tests on hardware are
indispensable to validate that the identified control principles are grounded in the physical world.64
The attempt to implement the optimized walking developed with the help of simulation into the
real robot is not an unachievable ambition. The following citation from47 confirms this ambition:
“Although developing an experimental research platform capable of supporting the evolutionary
training of autonomous robots remains a non-trivial task, many of the initial concerns and criticisms
regarding embodiment and transference from simulated to real robots have been addressed. There are
sufficient examples of evolutionary robotics research platforms that have successfully demonstrated
the production of working controllers in real robots [9–12]. Also, there have been numerous examples
of successful evolution of controllers in simulation with transfer to real robots [13–19].” This and the
results of the Octavio robot research64 confirmed our endeavor to use the validated simulation model
for the development of the robot controller.

1.5. Developmental objectives of Szabad(ka) robots


Applications of a hexapod walker potentially include reaching territories dangerous for humans, to
aid exploration, demining, rescuing, in industrial-, military-, terrestrial or other environments.
While developing Szabad(ka) robots our objectives were: (a) low-price (if necessary single-use,
e.g. tasks in radioactive or contaminated environment), (b) optimal structural design (c) optimal
walking algorithm for even and rough terrains. In the case of our current robot (Szabad(ka)-II) the
focus was on the dynamic modeling in order to be able: (a) to optimize the motor controlling and
walking algorithms, (b) to optimize the robot structure. For these objectives walking on even ground

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 425

Fig. 2. Control layers of Szabad(ka) robot series, layers of Szabad(ka)-II are highlighted.

was sufficient. Walking on uneven ground will be a capability of our next robot, whose development
has already started and is based on the experience obtained from Szabad(ka)-II.

2. Szabad(ka)-II Simulation Model


This section describes the electromechanical (physical) modeling and simulation of the Szabad(ka)-II
hexapod walking robot. The model includes the kinematics and dynamics of the robot, and also the
models of the DC motors and the control electronics. Just like in the case of the real robot, the
control part consists of a trajectory generator (with inverse kinematics) and a simple PID controller.
Szabad(ka)-II includes these two lower control layers due to its mission, but the higher level layers
can be included in the next generation. Figure 2 shows the lower and higher control layers organized
in hierarchy used to establish an autonomous robot system:
(1) Engine control layer – consists of 18 PID motor controllers, using the signals of the encoder and
current sensors. Our earlier articles33, 34, 36, 50 dealt with motor control, therefore this subject has
not been described here in detail.
(2) Trajectory control layer – generates leg trajectory for each leg based on trajectory parameters.
(3) Walking control layer – defines trajectory parameters according to the gait.
(4) Navigation control layer – consist of SLAM (Simultaneous Localization and Mapping) and
path-planning.
(5) Artificial intelligence – top decision unit.
Therefore the model validation includes the two lowest control layers, thus the real properties of
mechanical parts come to the focus. In Fig. 2 this limitation is illustrated as a switch turned to
position 2, and the trajectory parameters are determined with manual instructions. In practice, these
manual instructions are sent from a PC which communicates with the robot via wireless interface.
Figure 3 details the simulation model of Szabad(ka)-II control layers from Fig. 2. Besides the
structural elements it includes the names of variables, and the sample rates (F s) used in the model.
The model consists of the following elements:
(1) Trajectory generator – calculates the trajectory curves based on trajectory parameters. The
algorithm is the same as the one that runs in the digital control unit of the robot. The inputs

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
426 Model validation of a hexapod walker robot

Fig. 3. Block diagram of the robot model, including trajectory and engine control layers and the main dynamic
parts.

are seven trajectory parameters (Table B1 in appendix); the outputs are the three-dimensional
curves of a one-step walk cycle. More details can be found in Section 2.1.
(2) Inverse kinematics – transforms the calculated trajectory given in the world coordinate system
(three-dimensional curves) into the desired angles of the links. This is also the exact copy of the
algorithm running in the digital control unit of the robot. Section B.1 in appendix provides more
description.
(3) Controller – a model of the PID controller running in the digital control unit of the robot. The
inputs are the angle errors; the outputs are the control signals of the PWM amplifiers. More details
are listed in Section 2.2.
(4) Amplifier and battery – the inputs are the PWM control signals; the outputs are the control
voltages that appear on the DC motors.
(5) DC motors – DC motor-gearheads model of all three links of all the six legs. The inputs are
the control voltages and load torques; the outputs are the angles of links and motor currents.
The motor-gearhead model was validated by comparing simulation results with measured
characteristics (torque graphs) given by the datasheet.21 Details can be seen in Section 2.5.
(6) Ground contact – inverse dynamical model of ground contact (connection between the feet and
ground) using Carnopp friction model. Calculated the reactive forces (as output) from the ground
to the leg based on the feet’s position defined by joint angles (as input). The holding force in
direction ZW and the friction forces in XW − YW directions. The position of the feet is given
in the world coordinate system according to the ground, therefore first the forward kinematics
transformation needs to be performed. The approximation model of ground contact has been
discussed in ref. [37]. Described here in Section 2.6.
(7) Inverse dynamics – the inverse dynamic model of the robot legs and body. The inputs are
the kinematics of the body and legs (velocities q̇ and accelerations q̈ are calculated from
angles/positions q inside by derivations); the outputs are the forces acting on the leg links
and the forces acting on the body by the legs. More information is provided in Sections 2.3.
(8) Robot body – a forward dynamic model; the inputs are the sum of reactive forces and torques
occurring in the six legs (Eq. (1)); the output is the kinematics of the body (3D translation and
3D rotation). See Section 2.4.
(9) Sensors – encoder and current sensors.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 427

It is assumed that elements which do not belong to the rigid body dynamics (encoder sensor, current
sensor, controller and amplifier-battery) are almost ideal or at least more accurate than the dynamic
part. These elements are relatively simple and their approximation models are not critical. However,
the following sections partially mention them.

2.1. Walking and rrajectory control


The hexapod walking or hexapod gait is not a universally resolved and determined subject,19 however
the existing solutions are comprehensive and acceptable. There are several hexapod walking types,19, 52
such as the Tripod, Ripple and Wave gait, moreover the hexapod climbing is a topic of a separate
exploration. The tripod type straight-line walking on even ground is the simplest and fastest gait. It
has been assumed that in such a case the robot probably goes for a farther target point, without any
maneuvers or other operations. Thus the most important task is to achieve a fast and low-cost (low
energy consumption) locomotion. Therefore during the validation process we focused on this gait.
Detailed description of walking is not essential for the model validation, and is given in Appendix
B.1.

2.2. Engine control


In an earlier study35, 38, 39, 50 the development of the DC motor and controller model and the controller’s
parameter optimization was already dealt with. This topic also included the issue of the adequate
controller’s sampling time (sampling rate), which has already been addressed in.37 Further experience
was gained in the development of fuzzy controllers, and their performance was always compared with
the PID controller.33, 34, 36 The aim of further research is to reach and implement a fuzzy controller
which has more advantages in more aspects:
• Reach better performance compared to other fuzzy or PID controllers in terms of energy
consumption and device protection, as it introduced in.33
• Have sufficiently robust behavior for various loads.
• Safe behavior in case of motor and link overload as much as possible, for example, in case when
the robot gets stuck, collides, falls, etc.
During model validation and measurements only a simple P controller (P = 0.25) was implemented
in the real robot. This paper does not address the details of drive control. The motor controller and the
inverse kinematics algorithms from the simulation model can be moved into and run in the embedded
system of the robot (microcontrollers). These modules are written in C language. This enables and
ensures a quick algorithm transfer between simulation and robot hardware and also contributes to the
fast development.

2.3. Inverse dynamics


The six legs of the Szabad(ka)-II robot have identical structure, but since they are driven by different
types of motors and gearheads (see details in Table I), the models of the legs differ in their parameters.
Dynamic model of one leg includes three DC motors for the three joints, one ground contact, and one
inverse dynamical system.
The robotics toolbox of Peter I. Corke16 is a Matlab toolbox developed for modeling robot
manipulators on fixed stand. It was chosen as the basis of the dynamics in our model, thus the
programming of dynamic formulae was not necessary, and the Simulink implementation of the robot
model was faster. However, in case of walking robots the “manipulator” – i.e. the robot leg in our case
– should be attached to a moving body, and therefore this toolbox had to be modified. In 2009 when
this modeling was started33 the higher level Simulink’s SimMechanics toolbox was not developed yet,
but from 2012 we also started modeling in SimMechanics9 due to the better usability of its toolbox.
Robot body has six DOF, three translations (X, Y, Z) and three rotations (roll, pitch, yaw), while
the leg has three more rotational joints. It is possible to build a nine-link robot manipulator so
that the first six elements are the body’s six DOF without the weight and volume, and the last three
are the actual motor-driven legs.33 Dynamics of robot body is calculated once separately from legs’
inverse dynamics instead of attaching the same model six times to each leg. Practically the first six
DOFs of nine-link legs represent only the body kinematics, and move the stand points of the last
three DOFs according to the motion of the robot body. If the leg of one such manipulator is kept on
3×1
the ground with force FGi , and the inverse dynamics is calculated, then the forces of the leg acting

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
428 Model validation of a hexapod walker robot
3×1 3×1
on the body FAi ,MAi can be obtained. The same is calculated for the other five legs (“i” index
in Eq. (1) refers to the leg numbering) and summarizing all these final forces are attained, which
move the body in the six DOF FB3×1 ,MB3×1 . Knowing the body weight and inertia, the robot’s body
kinematics is calculated using double integration qB3×1 (it is shown in Fig. 3).
 
FB3×1 = 3×1
FAi , MB3×1 = 3×1
MAi . (1)
i=1..6 i=1..6

Furthermore, by using inverse dynamics the torques of the three leg-joints can be attained, which are
3×1
fed back to the motor-gearheads MLi . All motors are driven by a voltage controller Ui3×1 to make
the joints qA move according to the required values defined by the walking controls qD3×6 . Srobot
3×1

parameter structure of the robot manipulator consists of a series of Links (object defined by robotics
toolbox), in the current case j ∈ {1, . . . , 9}.
In Appendix B.2, Table B2 lists the main elements of the Link structure, and Table B3 shows
the parameters of the right front leg (Leg1) required by the robot object in robotics toolbox.16 From
these parameters, one matrix is created and from this matrix one serial-link object of the robot
manipulator can be simply constructed (with one command). This object will be the argument for all
other functions used in this toolbox which are called from Simulink at forward kinematic and inverse
dynamics. The inverse dynamics algorithm (see inverse dynamics block in Fig. 3) results reactive
forces FA3×1 and torques MA3×1 from each leg as well as torques occurring in joints ML3×1 of each leg.
This algorithm uses Recursive Newton-Euler (RNE) function of the Robot Toolbox,16 as described
with Eq. (2). Table B7 in Appendix B.2 contains variables and parameters of the inverse dynamics
model.

τ = fRNE (q, q̇, q̈, FGi , Srobot ) ∼


= I (q)q̈ + C(q, q̇)q̇ + F (q̇) + G(q) (2)
where: q = [qBX , qBY , qBZ , qBφ , qBθ , qBψ , qA1 , qA2 , qA3 ] = [qB6×1 , qA3×1 ]
τ = [FAX , FAY , FAZ , MAφ , MAθ , MAψ , ML1 , ML2 , ML3 ] = [FA3×1 , MA3×1 , ML3×1 ]

2.4. Robot body


Modeling of the robot body is relatively simple compared to modeling of other parts; it is based on
forward dynamics, see Eq. (3) and block diagram on Fig. 3. Inputs are forces and torques acting on
the body FB3×1 , MB3×1 (the overall effect of the legs); outputs are the three-dimensional translation and
the three-dimensional rotation of the body in the world coordinate system qB6×1 . These movements
can be deducted from Newton’s law a = F /m and the double integration of accelerations which
gives the translation and rotation.
  
FBk (t)
qBk [m] = + gk dtdt (3)
mB
  
MBk (t)
qBk [rad] = dtdt
IBk
k ∈ {X, Y, Z} (k ∈ {, , } in case of qBk [rad]).

Table B5 in Appendix B.2 contains the parameters of the robot body.

2.5. DC motor and gearhead


Figure 4 shows the block diagram of the DC motor and gearhead model, and is described by Eqs. (10).
The general model of the DC motor is defined with Eq. (10) and is described in detail in.43 The gearhead
model was added to the DC motor model thus the complete simulation model of the motor-gearhead
pair was obtained. The controller with U voltage in the engine layer presented in Fig. 2 is directly
connected to this model. The kinematic model of the gearhead is a simple multiplication with the

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 429

Fig. 4. Model of DC motor and gearhead.

constant of the gear ratio rG (see Eqs. (5) and (6)). The dynamic modeling of this gearhead, however,
is not so trivial due to the internal losses. These losses are modeled by transforming the gearhead’s
inertia JG and the gearhead’s viscous friction BG into the motor side (see Eq. (7)). By doing so,
these quantities can be added to the internal losses of the motor, which will be the arguments of the
mechanical part of the model.
The original datasheet does not define the BM , BG and JG parameters (only JM is given), therefore
they had to be derived. The viscous friction of the motor was obtained from the no-load operating
point (Eq. (8)). The viscous friction of the gearhead was approximated from the nominal speed ωNG ,
nominal torque MNG and efficiency ηNG given in the datasheet (Eq. (9)). No solution has been found
for the calculation of the gearhead’s inertia based on the parameters given in the datasheet; moreover,
it is impossible to measure. Therefore, it had to be assumed that the gearhead’s inertia equals the
motor’s inertia JG ≈ JM . This way the predicted value was not significantly exceeded, because the
size and weight of the rotor and gear are in the same order of magnitude.

[IM , qA ] = fM+G (U, ML ) (4)


ML
M= (5)
rG

1
qA = ω(t)dt (6)
rG
JG BG
J = JM + 2 , B = BM + 2 (7)
rG rG
KM I0
BM = (8)
ω0
MBG (1 − ηNG )MNG
BG = ≈ (9)
ωNG ωNG

KM U (s)
ω(s) = (10)
s 2 (J L) + s(BL + J R) + (BR + KM
2
)
−(sL + R)M(s)
+
s 2 (J L) + s(BL + J R) + (BR + KM
2
)
U (s) − KM ω(s)
IM (s) =
sL + R

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
430 Model validation of a hexapod walker robot

Fig. 5. Model characteristics of gearhead.

Fig. 6. Schematic model of ground contact.

Table B4 in Appendix B.2 summarizes the variables and parameters of the motor-gearhead model.
The gearhead simulation model had been theoretically validated by comparing the characteristic
curves of our model with the curves given in the original Faulhaber datasheet.21 Figure 5 shows the
characteristic curves based on our simulation, which is corresponding to the plot in datasheet. In the
simulation, the speed was kept constant at 5000 rpm like in the datasheet; a Faulhaber 2232012SR
motor and a PID controller was used (information about the gearhead and controller is not mentioned
in21 ).

2.6. Ground contact


The ground contact is a special and critical topic in the modeling process, because the collision
between rigid bodies is a complex problem. In order to model the realistic (non-rigid) collision
between the 3D-shaped feet and the ground, one should be deeply involved in the materials science
and non-rigid body dynamics. Generally this is not the subject and aim of dynamic and kinematic
modeling in the field of robotics, because there is not an easy solution (i.e. readily applicable formula)
to the problem. Instead, approximate solutions, also known as soft-contact solutions, are applied. In
this project one of these solutions has been chosen, which works on the spring-damper (absorber)
principle.37 Similar absorber-based models can be found in the literature,20, 26, 27, 29, 65 there is no other
widely accepted soft-contact solution. This approximate model of ground contact (Eq. (11), Fig. 6)
is based on the following assumptions:
• Every leg has similar parameters.
• The contact between the leg and the ground is point-contact.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 431

• The ground has homogeneous friction.


• The ground is generally flat.

FGi3×1
= fGC (qA3×1 , qB6×1 ) (11)
 
P 3×1 , RP3×3 = fF K (qA3×1 , qB6×1 ) (12)
FG3×1 = (FGW
3×1
× RP3×3 )T
3×1
FGW = [FX , FY , FZ ], P 3×1 = [x, y, z]

−kz − cż if z < 0
FZ = (13)
0 if z > 0

−FZ if FZ > 0
Fnorm = , (14)
0 if FZ ≤ 0

−sign(ẋ)δFnorm if |ẋ| > vd
FX =
0 if |ẋ| ≤ vd

−sign(ẏ)δFnorm if |ẏ| > vd
FY =
0 if |ẏ| ≤ vd

The leg’s endpoint world coordinates P 3×1 are calculated from the leg’s joint angles qA3×1 using
forward kinematics, which is necessary to model the contact and the friction (Eq. (12)). Along the
Z direction, one spring-damper system approximates the collision between the ground and the feet
(Eq. (13)). In XW and YW horizontal directions, the homogeneous friction was modeled based on the
Karnopp friction model41 (Eq. (14)).
Table B6 in Appendix B.2 contains the variables and parameters of the ground contact model.

3. Model Validation

3.1. Aim of validation


The Szabad(ka)-II model was validated based on the measurements performed on the real robot.
Our aim is to develop a model with adequate parameters that can be used for prospective research
(developing and optimizing the walking algorithm like in refs. [39 and 50]). After implementing such
a walking algorithm on the real robot it would show the same behavior, at least within an acceptable
confidence interval.
As the outcome of the validation process, it is expected that the difference between the results of
the current model and the measurements are within a tolerances. Therefore, these tolerances must be
defined primarily from the aspects of walking and control.

3.2. Validation progress


Figure 7 shows the validation procedure, where the gray blocks are measurement processes performed
on the robot, the light gray blocks illustrate the simulation processes, and the white blocks show the
validation processes. Basically during validation, the measurements on the robot and the simulation
results were compared. First the recorded signals were synchronized, and then statistical methods were
used to quantify the differences. If the difference between these results was more than the specified
tolerances, further studies were conducted to find the reason of the significant deviation. The reasons
of the differences are likely to be the imperfections of the model because it is only an approximated
model. Other reasons might be errors occurred in the analog or digital measurement processes. The
scope of this validation also includes exploring and correcting these errors, illustrated by the feedback
branches in Fig. 7. Before comparing the signals, two prior tasks have to be completed:
• Implementing the measurement modules and communication units on the real robot to provide the
dynamic measurements taken on the robot towards the PC while walking.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
432 Model validation of a hexapod walker robot

Fig. 7. Flow diagram of model validation progress.

• Measuring some specific parameters—that were possible to measure in our laboratory—and were
required for the simulation model: weight, dimensions and inertia of robot body and the leg parts,
battery voltage, battery’s internal resistance, etc.
For determining the tolerance values, the following aspects should be taken into account: (1) purpose
of simulation (Section 3.3); (2) imperfection of the model (Section 3.4); (3) measurement error
(Section 3.5). The following three subsections discuss these in detail.

3.3. Simulation goal


The term “simulation” in this project refers to the calculation procedure performed with the
dynamic robot model, and the determination of the chosen input and environment parameters. In
our simulations, the robot is walking on a flat ground with the same walk parameters as the real robot
during the measurements.
Once the goal of a given simulation is defined, the desired precision (tolerance) of certain physical
quantities can be determined. The simulation goals were defined for the following phases based on
our expectations:
• Validation phase – during the validation process
– Goals:
* point to possible problems of the real robot or measurements
* set guidelines for building an improved robot
* determine model imperfections and improve them if it is worthwhile.
– Expectations:
* estimate non-measurable parameters and their tolerance domain
* reveal weaknesses in robot structure and robot mechanics

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 433

* reveal possible faults of the model.


• Prospective phase – during the research with the simulation model
– Goals:
* optimize the motor controller, which should be suitable for various gait and for
variable terrain conditions; moreover protect the device in any extreme cases like
falling or collision; see previous research about drop tests in ref. [34]
* optimize gait and robot leg trajectories
* precisely implement the motor controller and leg trajectories into the robot’s micro-
controllers.
– Expectations:
* the three-dimensional motions of the legs and the body should be realistic with a
predefined tolerance
* suitable modeling of the driving elements (motors, gearheads, links, frictions, and
ground contact) and the engine control unit
* imitating real events with simulations in different cases – not only in the case of
straight walking, but, for example, in case of a collision.
In conclusion, it is expected from all kinematic and dynamic parts of the current model to achieve an
acceptable analogy to reality.

3.4. Imperfection of model


The question related to the imperfection of this model is what counts or does not count as negligible
value. For example, if the estimation of a certain parameter has 10% tolerance in the model, the
expected deviation from the simulation results should also be at most in this range. The main reasons
for the imperfection of the model could be summarized as follows:

• Mechanical reasons—in reality there is no absolute precision, symmetry and similarity, although
this is assumed in modeling.
– Size differences between legs – causing asymmetric motions and forces in reality.
– Differences in friction parameters between joints.
– Non-homogeneous mass distribution of bodies – inaccuracy of body dynamic measurements
calculated by the SolidWorks simulation.
– Non-ideal flatness of the ground—the walk of the robot on an ideally flat ground is un-
accomplishable with an adequate accuracy (∼ 0.1 mm), since we do not have appropriately
equipped laboratory.
• Electronic reasons—these are similar to the mechanical reasons only they concern electronic
elements
– Differences between motors and gearheads, and deviation from the given datasheet values.
– Lack of modeling of encoder sensors–the real encoder sensor has some inaccuracy, a particular
resolution and some delay, which are not dealt with in the current model.
– Lack of modeling of PWM amplifier—it is not modeled either.
– Deviation of power supply parameters from data given datasheet values.
– Battery recharge level—if a battery is applied.
• Approximated modeling—The simple mathematical model of certain robot parts cannot be
described (for example see Section 2.6), thus stochastic elements or approximate solutions should
be introduced. However, using very complex algorithms with high computational time they could
be more realistically modeled.54 These parts usually have a simpler approximate substitute which
was also used in the current model (see Section 4.5). The parameters of such approximate models
have been more correctly estimated with the help of optimization.
– The collision of legs with the ground was approximated as point-contact, while in reality it is
a non-rigid touch and friction of three-dimensional surfaces. This simplification was used for
there is no viable alternative, see Section 2.6.
– The rubber soles on the feet were approximated with absorbers (spring and damper).
– The gearlash (backlash) in the links has not been implemented in the model, because we
were interested in identifying imperfections of the robot and its dynamical model, rather than
describing in detail the transient imperfect behavior.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
434 Model validation of a hexapod walker robot

• Estimated parameters – There were parameters with no available datasheet value. This kind of error
source is also examined in ref. [54]. In this case, calculations were not done with values determined
by any kind of estimation algorithm, but values based and determined on human estimation and our
experience. In several cases, certain parameters were set using simulation and the adequacy was
checked based on the expected behavior. The deviation of these parameters from the real values can
of course be significantly high; therefore these parameters are often the subject of optimization.
This is described in Section 4.
– Internal inertia of the gearhead.
– Friction coefficients, for example, the frictions of gears in the joints, which can change while
moving.
– Gearlash estimated parameters.
• Calculation imperfection of the simulator are related to
– Calculations of the Simulink’s Fixed-Step solver with 5 kH z sample rate, discussed in paper.37
– Integral calculation and rounding errors—probably negligible when compared with other errors.

3.5. Measurement error


The recordings of particular signals were performed with the robot’s data acquisition system which
in this study is referred to as “measurement”. If the difference between reality and simulation is
smaller than the measurement error, this precision counts as false precision. The measurement error
was estimated with the help of:

• Test–Retest Reliability62 – the difference between subsequent measurements. The measurement


of robot walking has been performed several times successively.
• Parallel-Forms Reliability62 – Comparison of simultaneous measurements taken on robot parts
with identical behavior. In the current study there is a difference between the robot legs, as they
are same only in theory.
• Some parameters of electronic elements – Examples: tolerance of measurement-resistors, bit-depth
of ADC, effect of temperature fluctuations, stability of power supply voltage.
• Validation of measuring electronics – This has not been performed with instruments, but it can
be deducted from the experimental results. For example, the sum of all motor currents must be in
accordance with the fluctuation of power supply. (This is accomplishable since all currents and
voltages are measured).

3.6. Quantification of validation


Table IV describes all physical quantities compared during the validation process. Both robot and
simulation have been measured with F s = 500 Hz sample rate.
Signals from the Table IV can be divided into three groups: digital, analog and supplementary
(supplementary measurement are introduced in Section 4.4). First the digital signals have to be
validated, and if they show significant deviations, then it is not worth analyzing the analog signals.
In order to find the possible digital errors, simulation of the digital part should be analyzed in more
detail (including the calculation of the desired angle calculated by the inverse kinematics and control
voltage set by the motor controller). This part is trivial, unlike the analog part, because here a software
(C-language program) was simulated, thus only a program bug could cause any deviations. The error
might also be in several different parts of the measurement system.
The following subsections describe the implemented multiple comparison methods. We denote the
measurement of the robot with X, the number of samples with N, and the simulation measurement
with X̂, considered as an estimation of the real quantity X.

3.6.1. Timely comparison of one synchronized walking cycle. To express the deviation numerically,
we can calculate the Mean Squared Error (MSE) value (Eq. (15)), or the Mean Absolute Error
(MAE) value (Eq. (16)). MAE was used in order to express the error in a simpler measurement
unit, moreover it is used in other robot model validation.44, 54 If MAE is to be expressed relatively
then the difference must be compared with the Absolute Mean (AM) value that is the Relative
Mean Absolute Error (RMAE), see Eq. (17). It seems these is no generally accepted comparison
function, for example, besides these methods some others are used, like the “tip error”,54 “percentage

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 435
Table IV. Used quantities (measurement points on robot) for validation.

Type Symbol Dim. Name Description

Digital qD [rad] 6 × 3 Desired angles of links Calculated by the inverse


kinematical program which runs
in the MSP430Fxxxx controllers
on the IK board.
Digital UP [V ] 6 × 3 Control signals of PWM Calculated by the control algorithm
amplifier located is the MSP430Fxxxx
controllers.
Analog q[rad] 6 × 3 Angles of links The velocity of the angles can be
measured with the encoders
mounted on the motors, and the
absolute angle can be calculated
based on the integration of this
velocity.
Analog IM [A] 6 × 3 Motor currents The absolute value of motor current
can be measured by the IK boards.
Analog US [V ] 6 × 1 Supply voltages The voltage of the battery is also
measured by the IK board. Every
IK board measures the same
voltage therefore the differences
provide information about
measurement errors.
Supplementary qP OT [rad] (6 × 3) 2 × 3 Real angles of links The potentiometer mounted on two
(real-pot) legs: front right (Leg1) and
middle right (Leg3)
Supplementary qBODY [g] 3 × 1 Robot body acceleration Accelerometer mounted to the
center of the robot body

normalized rms error”.46




1  N
fMSE (X, X̂) = (Xi − X̂i )2 (15)
N i=1

1 
N
fMAE (X, X̂) = |Xi − X̂i | (16)
N i=1

fMAE (X, X̂)


fRMAE (X, X̂) = , (17)
fMA (X)

1 
N
fMA (X) = |Xi |
N i=1

3.6.2. Comparison of mean value of one walking cycle. Obviously, it is possible to calculate the
average value of the absolute signal. An absolute expression can be calculated from two mean values,
namely from the Difference of Absolute Means (DAM), see Eq. (18), and a relative expression with
the Ratio of Absolute Means (RAM), see Eq. (19). In this study, RAM has mostly been used expressed
in percentage.

fDAM (X, X̂) = |fAM (X) − fAM (X̂)| (18)


fDAM (X, X̂)
fRAM (X) = . (19)
fMA (X)

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
436 Model validation of a hexapod walker robot
Table V. Numerical and color designation of tolerance categories.

Tolerance domain Category Expected cause of difference

0–2% (green) Tolerance of digital measurements Inaccurate sample rating; different rounding
errors between platforms; inaccurate
synchronization
2–10% (yellow) Tolerance of analog measurements Model imperfection (Section 3.4);
measurement errors (Section 3.5)
10–30% (orange) Moderate differences, acceptable Model imperfection (Section 3.4);
under certain conditions measurement errors (Section 3.5)
30–50% (red) Unacceptably big differences Some important element(s) missing in the
model
50-% (purple) Extra differences Serious measurement or simulation errors

3.6.3. Spectral comparison. When there is an analog or digital filter, the spectral expression can be the
most suitable comparison method for validating the filter effects. It has been proposed to calculate an
FFT-based spectrum to at least one or more whole walking cycles. We used this method for verifying
the model of motor current measurement, i.e. there are analog low-pass filter in the electronics (for
anti-aliasing).

3.6.4. Confidence interval. More measurements have been performed on the walking robot in order
to observe the tolerances and confidence intervals of the whole system (including the robot walking
and measurement system). The measurements have shown a certain deviation but the normal (Gauss)
distribution cannot be proved due to the small number of samples. For illustrative purposes, one kind
of confidence function was introduced and applied to the mean value of the examined variables. It
determines an interval between the minimum and maximum of all available samples (M) (Eq. (20)).
  
min fAM X1 , . . . , fAM XM 
fCONF (X1 , X2 , . . . , XM ) = (20)
max fAM X1 , . . . , fAM XM

3.7. Tolerance classification scale


As it has been mentioned earlier, the tolerance rating scale can be defined based on the aspects
described in subsections 3.3–3.5. The values of the tolerance domains in Table V refer to the percentage
expression of the fRMAE (X, X̂) comparison function. If the differences are in the red category, i.e.
the relative mean deviation is higher than 30% then the corresponding part of the simulation is not
considered to be validated. In such cases, the model is so unreliable that its simulation results probably
cannot be used for further development.

4. Comparison of Results and Interpretation of Differences


The validation procedure includes several comparison cycles. The feedbacks in Fig. 7 refer to a
cyclically repeating development that is improved with each iteration.

(1) The first technically functional cycle had been named as the “Trial” case, where the estimated
parameters have been set empirically. During this cycle, the serious errors were corrected and the
validation modules refined (see feedbacks in Fig. 7).
(2) The following cycle included the optimizations cases where the optimization procedure estimated
the mentioned parameters to minimize the differences. GA was implemented for multi-parameter
optimization where the fitness value was defined as the reciprocal of the examined differences.
The description of GA can be found in papers39 and.50
(3) In the third cycle, an attempt was made to take into account more walking methods and speeds
simultaneously, in order to search for such parameters that provide equally satisfactory result for

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 437
Table VI. Numerical expression and color categorization of the validation
results in Trial case.

Type Meas. Link RAM% RMAE%

1 0.193 0.446
Digital qD [rad] 2 0.164 0.291
3 0.010 0.021
1 3.696 9.908
Digital UP [V ] 2 20.09 22.77
3 2.834 10.60
1 0.72 4.253
Analog q[rad] 2 4.417 12.58
3 0.168 0.266
1 22.10 55.10
Analog IM [V ] 2 15.04 42.11
3 28.93 41.04
Analog US [V ] 0.592 1.282

Fig. 8. Mean values of simulated motor current (red) compared with the confidence intervals of forward (green)
and backward (blue) motor current measurement.

all situations (combinations of walking methods and speeds). The variation of speed emerges as
the most important of physical effects over which to challenge the validity of the model.46

4.1. The trial case


Table VI summarizes the comparison results of the first trial case. It also evaluates and illustrates
these results with the help of the introduced tolerance domains and corresponding colors.
Except the motor current (see red cells in Table VI), the deviations of all other quantities are within
the acceptable precision domain. Moreover, it can be assumed that the significant deviation of other
quantities result from this deviation of the motor current. Therefore, the subject of the validation
process primarily focused into the motor currents and torques.
The simulated and measured currents differ in shape and in magnitude. Figure 8 shows the average
current of the links compared to the confidence interval defined by measurements. The average
current refers to the average current flow during one walk step cycle. The confidence intervals of
measurements of the forward (F W ) and backward (BW ) walking robot are separately marked. The
three parts of Fig. 8 illustrate the values of three links for six legs. The simulation results at the first
and third links show smaller mean values, but the analysis of time curves suggests that the reasons
are not the same. On the second links, an asymmetry between the front and rear legs can be observed.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
438 Model validation of a hexapod walker robot

4.2. Issues related to motor currents of second links


The deviation on the second links has a different character than on the other two links; the average
currents on the six legs are the same (between simulation and reality) but a deviation can be observed
if the front and rear legs are viewed separately. The average current at the front and rear legs in
simulation are equal (symmetric), while in reality they are not: In Fig. 8, it can be seen that in the
case of forward walking (F W ) the average current on the front legs is smaller (∼ 0.16 mA) and
on the rear legs is higher (∼ 0.23 mA), conversely in case of walking backwards (BW ) it is the
opposite.
In order to find out the reasons for the mentioned phenomenon, the motor currents in the
second link (Link2) on the front right leg (Leg1) were compared with the motor currents on
the rear right leg (Leg5), see Fig. 10. The acceleration of robot body can be seen above in
walking direction XW (measured with an accelerometer). The sign of acceleration concerning
the backward walk was changed in order to make the comparison easier with the forward
walk.
The acceleration curves do not differ in terms of shape which means that the robot produces the
same vibrations for both walking directions, i.e. the walk is the same regardless of the direction. By
comparing the currents, the same trend can be seen as in the case of mean values in Fig. 8, namely
there is a difference between the front and rear legs, and this trend reverses when the robot walks in
the opposite direction. From Fig. 10, it can also be concluded that the deviation places are in such
time cycles when the leg stands on the ground. A greater current always occurs on the rear legs
according to the walking direction, i.e. on Leg5,Leg6 in the case of forward walk, on Leg1,Leg2
in the case of backward walk. This acceleration causes a “rearing” behavior that can be observed in
case of vehicles and in nature. If the robot moves forward, its body may tilt back due to its inertness,
thus putting its weight on the rear legs, while the front end practically rises. The simulated holding
forces between the legs and the ground in direction ZW illustrate this behavior shown in Fig. 9: the
FZ continuously increases at Leg1 and decreases at Leg5 while it is constant at Leg3.
However, the question, why this asymmetric motor current phenomenon does not occur in the
simulation is still not answered. In the studied simulation the robot moved forward, moreover, its
parameters were optimized with a measurement when the robot also moved forward. It can be said
that this model is “prejudiced” to FW. In spite of this, in the simulation the torque (or current) on
the rear legs is not as big as in the real robot. The two bottom graphs (D, E) in Fig. 10 (marked
with yellow) show the simulation curves when the force distribution turns at the end of the walking
cycle; the front legs have greater current, while in the measurements zero current remains and a
stable strong current can be observed in the rear-end. In the meantime, the robot stops accelerating,
i.e. its acceleration reduces to zero, thus the simulation curve is more logical since the “rearing”
phenomenon must also cease.
It was assumed that this phenomenon is caused by the internal stall torque in the gearheads which
for a certain time prevents the reaction forces exerted by the legs to act on the higher speed motor side.
(The motor stall torque is given for Faulhaber serial model 2232 MS = 46.8 mNm, and for the model
2342 MS = 80.0 mNm,22 but the gearhead stall torque is not referred to.) When the forces exerted on
the rear legs cease, the links do not move due to this friction and the gearhead continues to keep the
torque on the motor. On the front legs, the gearhead stands in a mode that does not transfer torque and
when the load acts continuously it keeps the force due to its friction and the torque is not forwarded
to the motor. These holding forces cease the moment gears start to move. This phenomenon has not
been incorporated into our model.

4.3. Issues related to motor currents of third links


The motor current curves at the third links are similar in terms of shape; there are differences only in
their magnitude (see Fig. 23). It could be supposed that the main reason for these differences is due to
the imperfect modeling of friction losses, or any other imperfections in the other links. Therefore, an
attempt was made to determine the parameters not measured but which have significant influence on
the phenomenon in the third links. Practically, these are the parameters of the ground contact model:
the parameters of the friction model in horizontal, and the parameters of the spring damper model in
vertical axis. In fact, these are approximation model parts and their parameters cannot be measured,
since in reality there are no matching values. For this reason, they can be estimated and validated
only with the help of simulation (see in Section 3.3).

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 439

Fig. 9. 3D projection of simulated holding forces on front (Leg1), middle (Leg3) and rear (Leg5) feet, and the
real and simulated robot acceleration in walking direction (aX ).

A GA was applied to optimize the mentioned parameters. The aim was to make the motor currents
IM,l,3 at the third links more similar to the measured current IM,l,3 . This was realized with a fitness
function based on the mean results of the comparative MAE function calculated on all six currents
in Link3 (Eq. (21)). (MAE measurement unit is ampere.)

1
6
FIM = fMAE (IM,l,3 , IM,l,3 ). (21)
6 l=1

The original fitness value of the trial case was 39 mA, and after the optimization it was reduced to
28.8 mA, while the confidence interval of the measurements was 13 mA. The difference between the
mean current of a walking step (DAM) has also improved: it decreased from 28 mA to 9 mA. Figure
11 shows these results separately of each of the six legs compared to the measurement errors. The
green blocks are the confidence intervals of the measurements, the red blocks are the trial simulations
and the blue blocks are the optimized simulation cases.
The relatively expressed fitness values are summarized for all three links in Table VII, which shows
that the optimization procedure does not essentially affect or improve the deviation on the first and
second links. It further supports our assumption that these optimized parameters mostly influence the
third links. This optimization case marked as Link3-Opt and compared to Trial case.
The optimization was performed several times with various parameters and parameter limits, and
the results were similar each time. Table VIII contains the trial and optimized values of current
parameters.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
440 Model validation of a hexapod walker robot
Table VII. RMAE Comparative values for all three links.

Meas. Link RMAE% Trial RMAE% Link3-Opt

1 55.10 50.68
IM [A] 2 42.11 43.27
3 41.04 29.20

Fig. 10. Motor currents (IM ) of front (graphs B, D) and rear (graphs C, E) legs, first (graphs B, C) and second
(Dgraphs , E) links, during forward (real FW) and backward (real BW) walking compared to simulation (sim
FW=BW); in addition the robot body acceleration in the walking direction (graph A).

Table VIII. Optimized (Link3 − Opt) parameter values.

Optimized value
Parameter Unit Trial value Leg1 Leg2 Leg3 Leg4 Leg5 Leg6 Mean

Gearhead efficiency – Link3 % 90 37 42 35 40 43 34 38.5


Spring constant kN/m 10 1.07 3.64 6.9 4.8 4.98 6.8 4.7
Damper constant kNs/m 1 1.0 1.51 1.95 1.49 0.5 1.71 1.21
Velocity threshold of friction m/s 0.005 0.0002
Velocity of linear friction m/s 0.05 0.08
Friction constant N/N 1 1.06

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 441

Fig. 11. DAM, MAE, AM comparative motor current values in trial (red) and optimized (Link3-Opt) (blue)
cases beside the real measurements (green); height of blocks illustrates the confidence interval.

4.4. Issues related to motor currents of first links


The mean values (Figs. 8 and 11) do not show that the motor-current shapes of the first links are
considerably different; however, the time curves (Fig. 12) reveal this difference. Figure 12 shows the
current time curves of the Trial simulation case and the corresponding measurement. There are some
nearly identical short periods where the difference is only in magnitude—the reasons for this may be
similar to the reasons discussed in the case of third links. In spite of this, the currents differ in certain
longer periods which, for example, can be seen between 0.6–1.0 s in Fig. 12. These deviations are
higher than the acceptable tolerance, see red cells in Table VI.
It became evident that robot links have a gearlash (also known as backlash), with a magnitude so
large that it can be observed without measurement. The gearlash exists mostly in the first links but
its cause is still to be determined. It might occur both in the gearhead and between the bevel gears.
It was assumed that the intermittent deviation of the motor currents in Link1 could be traced back to
the gearlash, thus this possibility was further analyzed.
It is important to point out that this gearlash does not participate in the control cycle, since the
encoder, mounted onto the motor, measures the angle before the gearlash-phenomenon. Therefore,
the angle signals measured with the encoder (signals of link position, named “real-enc”) contain only
the reaction of the gearlash from which it is impossible to properly derive what is happening on the
opposite side of the gears. This is the reason why the angle of the first link was also measured with a
potentiometer named as “real-pot” and marked as qP OT . In the robot, only two legs are equipped with
a potentiometer: front right (Leg1) and middle right (Leg3). It was assumed that two potentiometers
are sufficient to analyze the gearlash phenomenon.
When robot legs, due to gearlash, do not make regular motions, they influences the FW. Since there
was no gearlash in the simulated model, it was assumed necessary to also measure the movement
of the robot body. A three-dimensional accelerometer was mounted to the center of the robot body.
Table IV summarizes the two supplementary measurement points.
Besides the angles, Fig. 13 shows the current flow in these links. It can be seen that the angle
deviation (between potentiometer and encoder) is synchronous with the current deviation (between
simulation and measurement). Moreover, the acceleration measured in the direction of the forward
motion of the robot (direction XW ) also shows the influence of the gearlash: first the body starts
accelerating, then it moves slightly back due to the gearlash event, and begins accelerating again once

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
442 Model validation of a hexapod walker robot

Fig. 12. Simulated (T rial) and measured motor current IM of first links, left side, with wS = 20 speed.

the link (leg) moves. These occurrences prove the assumption that it is the gearlash which causes
most of the error in the motor current simulation.
Modeling of the gearlash is not a simple task, since it occurs in all six legs of the robot. The starting
moment and power of the gearlash occurrence depends on the torques, and these are in interaction
with each other causing a complex impact-effect sequence. Since the gearlash should be eliminated
from the robot, we decided not to study, model and validate gearlash itself. However, one should
know how disadvantageous the lack of gearlash modeling is in the validation process. It is also
worth considering whether the mechanical parts of the robot should be replaced with ones that have
negligible gearlash. These questions will be answered in the conclusion section.
One more problem has arisen after comparing the simulated and measured accelerations. In the
simulation, a false and unexpected deceleration occurs causing a short peak in the current every time
when a foot touches the ground. This phenomenon does not appear in the measured acceleration
and current. In the simulation, when the foot touches the ground the friction in XW − YW plane will
abruptly be too active and it strongly holds down the leg in the touching point (Fig. 14). The holding
forces FZ occurring during the simulation of the ground contact can be observed in Fig. 14 (similar
to Fig. 9, but this illustrates FZ of all the legs).
This friction has not been measured but in reality it probably happens smoothly and with transition,
similarly to the difference between body accelerations (graph A in Fig. 14). We assumed that this
deviation is due to the false approximate modeling of the ground contact, or at least is the result
of incorrect parameters. The ground contact models with different parameters are the reason for the
different force-curves between the legs (see graphs B, C, D in Fig. 14), but it appears only in transient
periods. The holding periods show an ascending character at the front legs (graph B), constant at the
middle legs (graph C) and descending at the rear legs (graph D).

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 443

Fig. 13. Comparison of potentiometer-measured angle (real-pot) with simulated (sim) and encoder-measured
angle (real-enc), as well as motor currents and robot body acceleration in walking direction (aX ).

4.5. Optimization phase


Optimization of the walking trajectory of Szabad(ka)-II robot had already been performed with a
GA method,35, 38, 39, 50 which primarily has the following advantages: (1) it is not needed to perform
any mathematical calculation on the target model, only to run the simulation, (2) the time-consuming
calculation can be easily sped up using parallelized computing. In optimization process of the walking
parameters, the main issue was to determine the fitness function, i.e. what counts as optimal walking—
dealt with in the above mentioned previous researches. In the current case however, where the attempt
was to estimate the parameters of the approximate model parts, the emphasis was primarily put on
the evaluation of the results and the measurement of their reliability (using Eq. (21) as the fitness
function). Generally, a multi-parameter optimization is required where M is the number of parameters,
and such a parameter combination (a gene in M dimension space) is to be found where the specified
fitness function gives the best value. Parameter values gained by running the GA optimization cannot
be interpreted as exact optimal values, since it can be seen that the optimization process provides
similar results for several parameter combinations (within a certain interval). This means that the
parameters do not converge towards the optimum value with equal speed, when the fitness value is
increased to the optimum. When the convergence rate is small (or this interval is relatively wide),
the obtained optimum cannot be considered as reliable, or this parameter does not significantly play
a role in the fitness function. Estimation and analysis of this convergence rate (CR) was described
in our previous paper,39 where it was expressed in a simple equation (see Eq. (28) in39 ). Figure 15
illustrates an examples of CR values (the internal resistance of battery parameter Rn battery, [ ]).
An optimization was performed where the included parameters do not belong only to the third links
(like in the case described Section 4.3) but include all other parameters to be estimated. In this case,
the walking speed is wS = 20 and there are 45 parameters altogether. Table IX presents the given
parameters, where besides the optimum value a confidence interval can be seen in parenthesis in form
“(minimum, maximum)” corresponding to tenth of the fitness thresholds (in case of twelve threshold
resolution, see Fig. 15).
The current full optimization results (All-Link-Opt) were compared with the trial case (Trial) and
the optimization described in Section 4.3 (Link3-Opt) using the RMAE comparative function. This

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
444 Model validation of a hexapod walker robot

Fig. 14. (A) the peak-like waves cause the false deceleration in the simulated walking (aX sim) compared with
real measurement (aX real); simulated holding forces at ground contact (FZ ): (B) front legs, (C) middle legs,
(D) rear legs.

Fig. 15. Parameter converging toward an optimum along the fitness increase, three parameter examples in
All-Link-Opt, calculated with twelve threshold resolutions.

is illustrated in Table X similar to Table VII. The RMAE values calculated from MAE values have
been presented in some figures (Figs. 8, 11, 16) based on Eq. 17.
On average, the All-Link-Opt produced better results. However, if only the motor current deviation
of the third links is taken into account, then the aimed optimization process (Link3-Opt) gives a better
approximation model. However, the model from the current optimization (All-Link-Opt) was taken
as the final one, which probably demonstrated the best approximation during this research, at least
with the given walking conditions.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 445
Table IX. The trial and optimized (All-Link-Opt) parameter values (speed wS = 20).

Optimized value
Parameter Unit Trial Leg1 Leg2 Leg3 Leg4 Leg5 Leg6

9.22
Nominal voltage V 11.6
(9.0, 9.35)
of battery
0.208
Nominal 0.24
(0.2, 0.226)
resistance of
battery
4.43
Weight of robot kg 3.15
(4.42, 5.06)
body
35 32 33 32 36 44
Efficiency of % 90
(34, 37) (31, 37) (32, 40) (28, 36) (32, 36) (40, 45)
Link1
34 89 88 95 70 57
Efficiency of % 90
(27, 37) (37, 95) (80, 89) (93, 95) (39, 73) (30, 59)
Link2
32 35 38 43 36 33
Efficiency of % 90
(31, 38) (29, 38) (36, 41) (35, 43) (30, 36) (33, 37)
Link3
kN 4.59 3.4 4.63 2.7 1.23 7.5
Spring constant 10
m (4.48,4.9) (3.12,3.91) (4.63,5.19) (2.58,2.98) (1.11,1.45) (6.3,7.5)
kN 1.5 1.56 0.2 2.27 0.44 2.04
Damper constant 1
sm (1.44,1.7) (1.38,1.83) (0.17,0.2) (2.26,2.67) (0.42,0.49) (1.8,2.23)
8.7 10 5.5 5.4 5.0 8.3
Spring length mm 10
(8.7,9.9) (10,10) (5.0,6.1) (5.0,5.4) (5,5.4) (7.4,8.6)
1.63 2.52 2.82 0.1 0.71 0.31
Friction constant 1/1 1
(1.38,1.63) (1.88,2.66) (2.57,2.9) (0.1,0.13) (0.59,1.07) (0.22,0.31)

Table X. Final results of the comparison of optimization cases and the trial case.

RMAE Trial RMAE Link3-Opt RMAE All-Link-Opt


Meas. Link Fig. 11, Table V Fig. 11 Fig. 16

1 55.10% 50.68% 30.03%


IM [A] 2 42.11% 43.27% 37.35%
3 41.04% 29.20% 37.51%
Average 46.08% 41.05% 34.96%

Figure 16 shows the difference between the trial and optimized cases broken down for each single
link, and compares them with the confidence interval of the measurements. Mean values of the fitness
results of six legs are marked with dashed lines, and it can be seen that the optimized case (blue)
came closer to the measurements (green) in almost all graphs.
Figure 17 shows the comparison between the measurement and simulation for the sum of all
18 motor currents. The significant differences are due to the imperfections of the model discussed
in more detail in the next section. The optimization process performed on the model could not
approximate these dynamic differences even after having found the best parameter combinations.
Dynamic differences support the fact that the deviation is caused by effects not incorporated into
the model: major contribution is from the gearlash (discussed in Section 4.4), followed by the
imperfection of ground contact model (discussed in Section 4.3) and the imperfection of gearhead
model (discussed in Section 4.2).

4.6. Feedback to improve the model


In the current research modeling of complex gearlash is still a problem, but not insurmountable
(like in ref. [63]) and is left for a future research. From the validation and measurement results, we
concluded that the gearlash in the first link disturbs the walking (the other two links do not influence

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
446 Model validation of a hexapod walker robot

Fig. 16. DAM, MAE, AM comparisons between trial and optimized cases, walking speed wS = 20.

Fig. 17. Sum of motor currents during one walk cycle in trial and optimized case, in the top graph the speed is
wS = 20, and in the bottom the speed is wS = 12 oscillation in motor current is caused by the low-resolution
stepped curve in desired angle.

it so significantly, see Table XI). With further measurements and modeling it could be stated that, for
a new generation robot how much emphasis should be placed to solve the following:

• How much effort should be put on the design of the joints and other elements—to what extent
does this influence the quality of walking?
• How precise should the building of particular elements be (the issue of price versus necessity)?
• Is it necessary to build another type of joint or an entirely new leg?

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 447
Table XI. Fitness of robot walking deterioration in case of additional noise in links.

No Noise in Noise in Noise in


Property Description noise Link1 Link2 Link3

Sum gear torque (f1 ) sum of torques occurred in links 1 3.28 1.66 1.41
Body acceleration (f2 ) the squared mean of 3D acceleration 1 1.54 0.94 1.09
of the robot body
Body angular acceleration (f3 ) the squared mean of 3D angle – 1 2.11 2.35 1.24
acceleration of the robot body
Walking energy per meter (f4 ) electric energy of walking for one 1 1.46 1.06 1.05
meter
Average velocity (f5 ) average forward velocity in direction 1 1.05 1.06 0.94
X (taken inversely in the fitness
function)
Fitness value50 f = f1 ff2 f5 3 f4 adequacy factor calculated with the 1 0.07 0.27 0.47
production of the above indicators

The problem of gearlash in the process of modeling could be further clarified, but it is more likely that
the problem will be corrected mechanically i.e. the gearlash will be avoided in the new generation
robot. In this study, the alternatives of the approximate model of ground contact have not been
fully examined; only its parameters were optimized. It can be expected that after correcting other
imperfections, an improved model can be developed repeating a similar optimization procedure,
for example a better model probably would not generate the earlier mentioned false decelerations.
Namely, if a measured variable (referring mostly to the motor current) has more sources of deviation
simultaneously which do not depend only on the selected parameters, and once they are optimized, they
will lead to such a false minimum point which can result in inaccurate estimation of these parameters.
This was concluded partly on the basis of high difference between the calculated optimum values of
several legs; moreover these results seem quite illogical.
The imperfect gearhead model should be further examined to determine whether such a large
deviation in simulation would cause a problem during the planned walking optimization procedure.
In such a case, an improved gearhead model should be implemented into the overall dynamical
model. Based on paper [63] there are some usable modeling solutions for this issue: “Most of these
papers offer solutions for the modeling and identification of the mechanical system together with the
backlash phenomenon [8–13]”

4.7. Feedback for building an improved robot


During this research, besides perfecting the model, improvement of the robot itself was one of the
most highlighted aims. The main issue in the process of Szabad(ka)-II robot improvement is how
much attention should be paid to particular joints.
In order to answer this question in more detail, an experiment was performed, imitating the gearlash
with some noise added between the angle of the gearhead and bevel gears, while the robot was run
straight. This simple stochastic test likely similar to a realistic gearlash effect, but it was not validated.
Four cases were generated: (a) there was no noise; (b) noise was added only into the first links; (c)
noise was added only into the second links; (d) noise was added only into the third links. The fitness
value (i.e. the adequacy) of robot walking was calculated and taken as a result. Fitness evaluation was
taken from50 as a starting-point. Table XI summarizes the results where the numbers were normalized
to the first noiseless case. Besides the numerical expressions the deviation is also presented with
colors, significant deviations are shown with red, orange and yellow, while the negligible values
are shown in green. Based on Table XI we concluded that the gearlash-like problems significantly
deteriorate the quality of walking in the first links, while deterioration is less pronounced in the
second-, and even less in the third links.
Figures 18–22 illustrate a proportional comparison of the motions (kinematics) and forces
(dynamics) in all the 18 links with visual layout: (3 left links + 3 right links) × 3 leg-pairs. In
the central graph, the colors mark the magnitude of the examined quantity from lower (blue) to higher
(red). The left sub-graph shows the average quantity for each leg-pair (front legs: Leg1-2, middle

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
448 Model validation of a hexapod walker robot

Fig. 18. Motion intensity (angle of link) in links during walking.

Fig. 19. Motor current intensity in links.

Fig. 20. Motion difference (MAE) between the real and simulated walk.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 449

Fig. 21. Motor current difference (MAE) of the real and simulated walking.

Fig. 22. Motor current relative difference (RMAE) of the real and simulated walking.

legs: Leg3-4, rear legs: Leg5-6), while the top sub-graph summarize the examined quantity for each
link (1,2,3)
The comparison was performed from two aspects:
4.7.1. Intensity of the measured signal (AM–ST D–P P –V AM). – is a mixture of characteristic
values which intend to indicate the intensity of the signal based on various aspects: the absolute mean
(AM), standard deviation (ST D), peak-to-peak distance (P P ), absolute mean of derivation or speed
(V AM). It compares the product of the four mentioned metrics, see Eq. (22).

fAM−ST D−P P −V AM (X) = fAM (X)fST D (X)(max(X) − min(X))fAM (Ẋ) (22)

Figure 18 illustrates that the motion intensity is the highest in the inside (first links), and is decreasing
moving outwards, while there is no significant difference between the front and rear legs. Figure
19 shows that the motor current is explicitly intensive in the middle links, and the highest in the
middle legs. Consequently, this comparison can answer the questions: to what extent is each link
overloaded, and which links and their corresponding elements should be stronger? This results could
be a guideline during the design of a new generation robot.9
4.7.2. Difference between the real and simulated values (MAE, RMAE). – This analysis can show
which link has a modeling problem and also suggest any physical problems with the robot. Simulation
error (difference between the real and simulated walk) of the motion is smaller in the middle links of

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
450 Model validation of a hexapod walker robot

Fig. 23. Simulated (trial case with blue, optimized case with green) and measured (red) motor current comparison
in all the 18 links, displayed is one walking step with speed wS = 20. The significant differences between
simulation and measurement were discussed in Sections 4.2–4.4.

the front and rear legs (Fig. 20). The imperfection, i.e. the difference, in all other links is roughly the
same.
Figures 21 and 22 show that the imperfect simulation of the motor current in the middle links is
more significant, and it illustrates an asymmetry between the right and left side, and between the front
and rear links. The main reason of the asymmetry lies in the previously disclosed model imperfections
which variously occurred in the links in time.
Figure 23 presents the final motor current comparison in all the links where the mentioned
differences can be observed as time curves. The walking speed wS = 20 is the highest which is the
most critical case in terms of validation.

5. Conclusion
This research presents a third generation hexapod robot, Szabad(ka)-II. The simulation model was
validated by performing adequate measurements on the robot itself, as shown in Fig. 2. The validation
is performed on flat ground, therefore given model parameters are not final. Optimal parameters for
even ground give good starting point for walking optimization in case of different scenarios e.g.
walking on uneven terrains. Our methodology and programs can be reapplied for validating the next
robot, which will walk on uneven terrain. The validated model reached the predefined requirements
in Section 3.3 with the reservation for the disclosed imperfections: Some structure imperfections of
the Szabad(ka)-II robot can be identified on the basis of the validation process and the simulation
results. These are followings:
(1) Significant gearlash of the joint – particularly occurring in the first joints of the robot, which
influences the motor currents and harmfully affects the walking. Gearlash was not implemented
in the simulation model and this causes the majority of the differences between the simulated and
measured motor currents.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 451
(2) Imperfection of ground contact model – causing an unrealistic contact between the feet and
the ground during walking, i.e. it results in short false decelerations and false peaks of the motor
current.
(3) Imperfection of gearhead model – neither was the gearhead’s internal non-linear friction
implemented in this model; therefore the gearhead does not behave in the same way when
affected by reactive forces as the real gearhead does. Thus in the simulation, the motor current
(or torque) difference between the front and rear legs was not as large as in reality.

The above mentioned phenomena pointed out: (a) the reason of differences between the model and
the real robot; (b) the places of imperfections in the model as well as in the robot. It can be concluded
that the gearlash is the most critical mechanical imperfection of the Szabad(ka)-II robot, which
deteriorates the quality of the robot motion. It can cause harmful “jumps” in the robot motion and
in the motor currents and torques. The degree of these jumps is significant in the first joints as it
was shown in Sections 4.4 and 4.7. However, this does not mean that the gearlash is absent or it is
completely negligible in the other joints.
The corrections of revealed imperfections of real device are essential in order to create an improved
hexapod robot. To improve the robot structure, the followings should be considered:

• Design of a new robot body, including the optimal positioning of the leg mountings and a better
leg geometric design—in order to ensure equal loads of the joints, thereby to avoid any overloads
and achieve the most effective gait.
• One of the most important aims of the feet design is to minimize the unwanted acceleration in all
three dimensions during touchdown. If the feet’s spring factor is too soft it reduces the walking
quality, whereas if the spring is too hard it causes harmful acceleration in the vertical direction.
• The 3D accelerometer was used only for validating the robot body kinematics till now. Using the
accelerometer’s signal for walking control is also an interesting challenge, which could improve
the walking quality and could be used for the protection of the robot body. The next robot will be
equipped with ground contact sensors. However, we consider inspecting whether the data received
from the single accelerometer can in certain gait cases or completely replace the six ground contact
sensors while walking on uneven terrain.

The presented validation procedure revealed that Szabad(ka)-II robot with some structural
improvements could be a more applicable device having higher motion quality and smaller
energy consumption. Finally, the developed simulation model will become useful for further robot
improvement because the robot structure and the drive-control can be faster and cheaper explored
with the model than with the real robot. To our knowledge, there were no previous detailed analyses
of hexapod robot’s dynamic model development and validation.
Szabad(ka)-II was compared with other existing hexapod robots in Section B.3 1.3, where the
reasons for choosing the given mechanical solutions used in Szabad(ka)-II were explained. We used
separate gearings for the three joints instead of a differential gear drive system, the robot’s body and
legs are both made from aluminum, the power source is integrated in the robot, to achieve a simpler
structure, there are no body joints or fourth joint in the legs, etc. The final result was a functional
hexapod robot ready to be the subject of the validation.
The goal and usage of the Szabad(ka)-II robot simulation model is not a novelty, since simulations
of other hexapod robots—listed in Table I—were also developed in order to improve the real
robots. These simulations are used to: design the structure, define materials, improve gait algorithms,
trajectories, and motion controllers. In spite of this in the literature, we did not find another complete
dynamic simulation model with such a detailed specification of the model and validation as in our
case. The Simulink model of Szabad(ka)-II includes:

• The model of the digital controller with a simple walking algorithm.


• The realistic model of the DC motors and gearheads.
• The 3D kinematics and dynamics of the 18 DOF robot.
• The model of the ground contact for even ground.

Some novelties were presented in this solution of model validation. These or similar methods which
cannot be found in any other hexapod simulations with a realized robot are:

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
452 Model validation of a hexapod walker robot
• Kinematical and dynamical (time curve) characteristics and variables of digital controllers were
compared at the same time.
• The differences of measured and simulated curves were quantified with various statistical aspects,
and qualification categories were introduced for classification of these comparisons.
• The unknown model parameters were estimated with a GA optimization to improve the dynamical
model. In the most extreme case, 45 parameters were tuned altogether.
• Beside the model imperfections, we were able to point out the imperfections of the real robot as
the conclusion of the measurement and validation procedure.

Acknowledgment
The authors are grateful to the reviewers for their thorough reading and suggestions. We owe special
thanks to the micro-motor factory Faulhaber22 for its support that has supplied the 18 motors and
gearheads for the Szabad(ka)-II robot. Grateful acknowledgments to the company AppL-DSP for
financing all other parts and costs of the robot and Technos Logos Kft for their support.

References
1. T. J. Allen, R. D. Quinn, R. J. Bachmann and R. E. Ritzmann, “Abstracted Biological Principles Applied
with Reduced Actuation Improve Mobility of Legged Vehicles,” . Proceedings IEEE/RSJ International
Conference on Intelligent Robots and Systems, (IROS 2003), vol. 2 (2003) pp. 1370–1375.
2. Appl-DSP.com, “Szabad(ka)-ii robots,” Available from: www.szabadka-robot.com, 2011.
3. P. Arena, L. Fortuna, M. Frasca, L. Patané and M. Pavone, “Implementation and Experimental Validation of
an Autonomous Hexapod Robot,” Proceedings of IEEE International Symposium on Circuits and Systems
(2006) pp. 401–406.
4. S. A. Bailey, Biomimetic Control with a Feedback coupled Nonlinear Oscillator: Insect Experiments,
Design Tools, and Hexapedal Robot Adaptation Results Ph.D. Thesis (Stanford University, 2004).
5. S. Bartsch, T. Birnschein, M. Römmermann, J. Hilljegerdes, D. Kühn and F. Kirchner, “Development of
the six-legged walking and climbing robot spaceclimber,” J. Field Robot. 29(3), 506–532 (2012).
6. T. Bräunl, Embedded Robotics, third edition, Springer-Verlag Berlin Heidelberg, 2008, e-ISBN 978-3-540-
70534-5.
7. E. Burkus and P. Odry, “Autonomous Hexapod Walker Robot “szabad(ka)”,” Proceedings of the IEEE 5th
International Symposium on Intelligent Systems and Informatics (SISY), (2007) pp. 103–106.
8. E. Burkus, D. Radosav and P. Odry, “Autonomous Hexapod Walker Robot “szabad(ka) ii” - Software
Modeling and Tools,” ITRO 2011, Zrenjanin, Serbia (2011).
9. E. Burkus, J. C. Fodor and P. Odry, “Structural and Gait Optimization of a Hexapod Robot with Particle
Swarm Optimization,” IEEE 11th International Symposium on Intelligent Systems and Informatics (SISY),
IEEE (2013) pp. 147–152.
10. E. Burkus and P. Odry, “Autonomous hexapod walker robot “szabad(ka)”,” Acta Polytech. Hung. 5(1),
69–85 (2008).
11. G. Carbone and M. Ceccarelli, “A low-cost easy-operation hexapod walking machine,” Int. J. Adv. Robot.
Syst. 5(2), 161–166 (2008).
12. E. Celaya and J. L. Albarral, “Implementation of a Hierarchical Walk Controller for the Lauron iii Hexapod
Robot,” International Conference on Climbing and Walking Robots (Clawar 2003) (2003) pp. 409–416.
13. Western Reserve University Center, “Biologically Inspired Robotics, Case Western Reserve University,”
2008 Available from: http://biorobots.case.edu/legs/.
14. CMU, “Artificial Intelligence and Applied Problem Solving from cmu, a World Leader in Mobile Robotics,
Chiara- the Next Generation of Research Robots,” Available from: http://chiara-robot.org/chiara-brochure-
july-2008.pdf, 2008.
15. J. J. Collins and I. N. Stewart, “Coupled nonlinear oscillators and the symmetries of animal gaits,” J.
Nonlinear Sci. 3(1), 349–392 (1993).
16. I. P. Corke, Robotics toolbox for matlab (release 6). Manufacturing Science and Technology Pinjarra Hills,
Australia (2001).
17. J. Currie, M. Beckerleg and J. Collins, “Software evolution of a hexapod robot walking gait,” Int. J. Intell.
Syst. Technol. Appl. 8(1), 382–394 (2010).
18. F. Delcomyn and M. E. Nelson, “Architectures for a biomimetic hexapod robot,” Robot. Auton. Syst. 30(1),
5–15 (2000).
19. X. Ding, Z. Wang, A. Rovetta and J. M. Zhu, “Locomotion Analysis of Hexapod Robot,” Climbing and
Walking Robots (2010) pp. 291–310.
20. Vincent Duindam, Port-Based Modeling and Control for Efficient Bipedal Walking Robots
Ph.D. Thesis (University of Twente, Enschede, 2006). Available from: http://eprints.eemcs.utwente.
nl/1622/01/vduindamPhDthesis.pdf
21. F. Faulhaber, “Precise Gearheads Efficiency Measurement,” Available from: www.faulhaber.com (2005).

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 453
22. Faulhaber.com, Faulhaber gmbh. Available from: www.faulhaber.com (2014).
23. M. R. Fielding, R. Dunlop and C. J. Damaren, “Hamlet: Force/Position Controlled Hexapod Walker-Design
and Systems,” Proceedings of the 2001 IEEE International Conference on Control Applications, (CCA’01),
IEEE (2001) pp. 984–989.
24. C. Georgiades, Simulation and Control of an Underwater Hexapod Robot Ph.D. Thesis (Montreal:
Department of Mechanical Engineering McGill University, 2005).
25. P. G. de Santos, J. A. Cobano, E. Garcia, J. Estremera and M. A. Armada, “A six-legged robot-based system
for humanitarian demining missions,” Mechatronics 17(8), 417–430 (2007).
26. J. W. Grizzle, C. Chevallereau, D. A. Ames and W. R. Sinnet, “3d Bipedal Robotic Walking: Models,
Feedback Control, and Open Problems,” NOLCOS, Bologna, Italy (2010).
27. O. Haavisto and H. Hyötyniemi, “Simulation Tool of a Biped Walking Robot Model,” Espoo, March 2004,
Report 138, Helsinki University of Technology (2004).
28. K. Hauser, T. Bretl, J. Latombe and B. Wilcox, “Motion Planning for a Six-Legged Lunar Robot,” The 7th
International Workshop on the Algorithmic Foundations of Robotics, vol. 7 (2006) pp. 16–18.
29. M. Hutter and D. Näf, “Quadruped Walking/Running Simulation,” Spring Term (2011) Semester-Thesis in
ETH Zürich.
30. B. Jakimovski, B. Meyer and E. Maehle, “Self-Reconfiguring Hexapod Robot Oscar Using Organically
Inspired Approaches and Innovative Robot Leg Amputation Mechanism,” International Conference on
Automation, Robotics and Control Systems, ARCS 2009, Orlando, USA (2009).
31. O. Janrathitikarn and L. N. Long, “Gait Control of a Six-Legged Robot on Unlevel Terrain using a Cognitive
Architecture,” Aerospace Conference, 2008 IEEE (2008) pp. 1–9.
32. D. C. Kar, “Design of statically stable walking robot: A review,” J. Robot. Syst. 20(11), 671–686 (2003).
33. I. Kecskés and P. Odry, “Full Kinematic and Dynamic Modeling of “szabad(ka)-duna” hexapod,”
Proceedings of the 7th International Symposium on Intelligent Systems and Informatics, SISY’09, IEEE
(2009) pp. 215–219.
34. I. Kecskés and P. Odry, “Fuzzy Controlling of Hexapod Robot Arm with Coreless dc Micromotor,” XXIII.
MicroCAD, Miskolc, 2009 March (2009) pp. 19–20.
35. I. Kecskés and P. Odry, “Walk Optimization for Hexapod Walking Robot,” Proceedings of 10th International
Symposium of Hungarian Researchers on Computational Intelligence and Informatics (CINTI), Budapest,
Hungary (2009) pp. 12–14.
36. I. Kecskés and P. Odry, “Protective Fuzzy Control of Hexapod Walking Robot Driver in Case of Walking
and Dropping,” In: Computational Intelligence in Engineering (Springer, 2010) pp. 205–217.
37. I. Kecskes and P. Odry, “Simple Definition of Adequate Fixed Time-Step Size of Szabad (ka)-ii robot
model,” IEEE 9th International Conference on Computational Cybernetics (ICCC), IEEE (2013) pp. 315–
320.
38. I. Kecskés and P. Odry, “Optimization of PI and Fuzzy-PI Controllers on Simulation Model of Szabad
(ka)-II walking robot,” Int. J. Adv. Robot. Syst., 2014, 11, 186. doi: 10.5772/59102
39. I. Kecskés, L. Székács, J. C. Fodor and P. Odry, “Pso and ga Optimization Methods Comparison on
Simulation Model of a Real Hexapod Robot,” EEE 9th International Conference on Computational
Cybernetics (ICCC), IEEE (2013) pp. 125–130.
40. B. Kennedy, H. Aghazarian, Y. Cheng, M. Garrett, T. Hutsberger, L. Magnone, A. Okon and M. Robinson,
“Limbed Excursion Mechanical Utility Rover: Lemur ii,” 53rd International Astronautical Congress (2002).
41. R. Kikuuwe, N. Takesue, A. Sano, H. Mochiyama and H. Fujimoto, “Fixed-Step Friction Simulation: From
classical coulomb model to modern continuous models,” IEEE/RSJ International Conference on Intelligent
Robots and Systems, (IROS 2005), IEEE (2005) pp. 1009–1016.
42. M. Konyev, F. Palis, Y. Zavgorodniy, A. Melnikov, A. Rudskiy, A. Telesh, U. Schmucker and V. Rusin,
“Walking Robot Anton: Design, Simulation, Experiments,” Proceedings of 11th International Conference
on Climbing and Walking Robots (CLAWAR) (2008) pp. 922–929.
43. R. Krishnan, Electric Motor Drives Modeling, Analysis and Control (Prentice Hall, 2001).
44. V. Kubelka, L. Oswald, F. Pomerleau, F. Colas, T. Svoboda and M. Reinstein, “Robust Data Fusion of
Multimodal Sensory Information for Mobile Robots,” J. Field Robot. (Early View) (2014).
45. W. A. Lewinger, M. S. Branicky and R. D. Quinn, “Insect-Inspired, Actively Compliant Hexapod Capable of
Object Manipulation,” Proceedings CLAWAR 2005, 8th International Conference on Climbing and Walking
Robots 8, 65–72 (2005).
46. P.-C. Lin, H. Komsuoglu and D. E. Koditschek, “A leg configuration measurement system for full-body
pose estimates in a hexapod robot,” IEEE Trans. Robot. 21(3), 411–422 (2005).
47. A. L. Nelson, G. J. Barlow and L. Doitsidis, “Fitness functions in evolutionary robotics: A survey and
analysis,” Robot. Auton. Syst. 57(4), 345–370 (2009).
48. P. Odry, E. Burkus and N. Sram, “Hexapod Robot as an Algorithm Developing Platform,” Available from:
http://cneuro.rmki.kfki.hu/events/past/robot#odry, 2006.
49. H. Ohroku and K. Nonami, “Omni-Directional Vision and 3d Animation Based Teleoperation of
Hydraulically Actuated Hexapod Robot Comet-iv,” Transaction of the Japan Fluid Power System Society,
Vol. 40 (2009) No. 6, pp. 117–124; http://doi.org/10.5739/jfps.40.117.
50. Z. Pap, I. Kecskés, E. Burkus, F. Bazsó and P. Odry, “Optimization of the Hexapod Robot Walking by
Genetic Algorithm,” IEEE 8th International Symposium on Intelligent Systems and Informatics (SISY),
IEEE (2010) pp. 121–126.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
454 Model validation of a hexapod walker robot
51. J. M. Porta and E. Celaya, “Reactive free-gait generation to follow arbitrary trajectories with a hexapod
robot,” Robot. Auton. Syst. 47(4), 187–201 (2004).
52. G. Ramanathan, B. Morandi, S. West and B. Meyer, “Scoop for Robotics, Implementing Bio-Inspired
Hexapod Locomotion, eth Zurich,” Available from: http://se.inf.ethz.ch/old/projects/ganesh ramanathan/-
report.pdf (2010).
53. K. Regenstein, T. Kerscher, C. Birkenhofer, T. Asfour, J. Zllner and R. Dillmann, “A Modular Approach for
Controlling Mobile Robots,” Proceedings of CLAWAR 2007, 10th International Conference on Climbing
and Walking Robots (2007).
54. F. Renda, M. Giorelli, M. Calisti and M. Cianchetti, “Dynamic model of a multibending soft robot arm
driven by cables,” IEEE Trans. Robot. 30(5), 1109–1122 (2014).
55. D. Ricardo and C. Costa, Hexapod Locomotion: A Nonlinear Dynamical Systems Approach Ph.D. Thesis
(Universidade do Minho, Escola de Engenharia, 2010).
56. W. S. Rone and P. Ben-Tzvi, “Continuum robot dynamics utilizing the principle of virtual power,” Trans.
Robot. 30(1), 275–287 (2014).
57. J. I. Rudas and J. Fodor, “Intelligent systems,” Int. J. Computers, Communications & Control 3, ISSN
1841-9836, Suppl. issue: Proceedings of ICCCC 2008, pp. 132–138 (2008).
58. U. Saranli, M. Buehler and D. E. Koditschek, “Rhex: A simple and highly mobile hexapod robot,” Int. J.
Robot. Res. 20(7), 616–631 (2001).
59. M. Fernando Silva and J. A. Tenreiro Machado, “A historical perspective of legged robots,” J. Vib. Control
13(9-10), 1447–1486 (2007).
60. M. Fernando Silva and J. A. Tenreiro Machado, “A literature review on the optimization of legged robots,”
J. Vib. Control 18(12), 1753–1767 (2012).
61. F. Tedeschi and G. Carbone, “Design issues for hexapod walking robots,” Robotics 3(2), 181–206 (2014).
62. W. M. Trochim, Types of reliability in the research methods knowledge base, 2nd ed. Available from:
http://www.socialresearchmethods.net/kb/reltypes.php (2006).
63. J. Veres, Bio-Inspired Low-Cost Robotic Joint With Reduced Level Of Backlash And A Novel
Approach - The Emulated Elastic Actuator. Ph.D. Thesis (Faculty of Information Technology,
Pázmány Péter Catholic University, Budapest, 2013). Available from: https://itk.ppke.hu/uploads/articles/
162/file/thesis book verjoz eng.pdf
64. A. Von Twickel, M. Hild, T. Siedel, V. Patel and F. Pasemann, “Neural control of a modular multi-legged
walking machine: Simulation and hardware,” Robot. Auton. Syst. 60(2), 227–241 (2012).
65. R. Woering, Simulating the “First Steps” of a Walking Hexapod Robot Ph.D. thesis, Master’s thesis
(Eindhoven: Technische Universiteit Eindhoven, CST 2010 (2011)).
66. T. Zheng, I. S. Godage, D. T. Branson, R. Kang, E. Guglielmino, G. A. Medrano-Cerda and D. G. Caldwell,
“Octopus Inspired Walking Robot: Design, Control and Experimental Validation,” IEEE International
Conference on Robotics and Automation (ICRA), IEEE (2013) pp. 816–821.
67. T. Zielinska and J. Heng, “Development of a walking machine: Mechanical design and control problems,”
Mechatronics 12(5), 737–754 (2002).

Appendix A: Comparison of Szabad(ka)-II with similar robots


From the hexapod robots listed in Table II we selected those which were close to the predefined
requirements, and expectations, we highlighted characteristics relevant for our study. Selection was
based on the structure and purpose of the robot. From Table II, the following robots were selected for
further discussion: Hamlet, LAVA, SILO 6, LEMUR II, Anton and SpaceClimber.

A.1. Hamlet
Mechanically sophisticated six-legged robot Hamlet23 driven by servo motors was developed to test
the effectiveness of combined force and position control to achieve robust, adaptable walking over
rough and unknown environments. The robot weighs 13 kg. The distance between the front and rear
legs, measured at their axis in the body is 400 mm. The robot has a carbon-fiber-coated cardboard
body. Six identical legs are made of aluminum and the joints are driven with identical 10 W DC
motors mounted to reductors with a ratio of 1:246. Flexible couplings were used to transfer the power
from the reductors to the plastic bevel gears.
Hamlet and Szabad(ka)-II are most similar in their construction, but differ in the following main
properties: Szabad(ka)-II with its full equipment weighs only 6.5 kg. The distance between the front
and rear axes of the legs is 320 mm, that is 20% shorter than in Hamlet. The legs and the body of
Szabad(ka)-II are milled out from aluminum and steel elements, and the electronics are located inside
the body, while Hamlet’s chassis is a sandwich of carbon fiber over corrugated cardboard and only
the legs are made of aluminum.
Our previous results36 helped us to select drive elements of Szabad(ka)-II. Based on these
simulations, appropriate servo motor/gearbox pairs could be determined. This was required to ensure

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 455
proper torques (Table I). Szabad(ka)-II uses different servo motors, while Hamlet was built with
identical servo motor/regulator pairs. Among others, the goals were to reduce the overall costs and
simplify the structure. For this reason, smaller steel bevel gears were chosen. The bevel gears and the
motors were connected without flexible couplings.

A.2. LAVA
In the case of LAVA,67 the first two joints of the legs (closer to the body) are driven with an
inverse differential gear drive system. Depending on the rates at which the two gear driving motors
rotate, the legs may be lifted, swung or simultaneously perform both motions. This solution has two
advantages. First, the lifting and swinging has a common geometrical pivot point and owing to this,
the kinematic modeling is simpler. Second, during the leg swing and leg lift motions, both motors
work simultaneously to achieve the desired motion. Thus, when walking, none of the motors is idle.
In case of vertical leg motions, when the largest torque is applied, both motors lift the robot at the
same time. Such a solution results both in weight and power savings.
In brief, the inverse differential gear drive system has some advantages in several areas. For
Szabad(ka)-II, the traditional solution was chosen because in this case the location of the motors
makes the layout of the other elements proportional. While designing Szabad(ka)-II, it was especially
important to place the electronics inside the robot’s body. In addition, an important requirement was
to keep the drive mechanism as simple as possible, because the more complex a structure is, the more
difficult it is to achieve a precise operation.
LAVA’s another interesting mechanical solution is that it uses worm gears instead of bevel gears.
The advantage of the worm gear over the bevel gear is that the former has self-locking properties. This
feature is important because when the robot is standing, it can hold the position of the joints without
consuming energy. In case of planetary gearheads, the reverse transmission of torque from the joint
to the motor can only be achieved with great losses. On the other hand, a DC motor can be used as a
brake by short-circuiting its inputs. Thus, the combined effects of the planetary reductor’s efficiency
in the case of reverse torques and the shorted motor inputs act as the worm gear’s self-locking effect,
so energy can be saved while standing without using worm gears. Another reason for not using worm
gears was that the applied planetary gearheads already provided appropriate reduction. There was no
need for additional electronic components to short the windings of the motors because the integrated
full-bridge drive circuit (Texas Instruments DRV8801) used in the robot was suitable for this task.

A.3. SILO6
Similarly to LAVA, SILO625 also uses an inverse differential gear drive system. However, in SILO6
the gear system drives the two joints located further from the body. This solution made it possible to
place all three motors closer to the center. It is important to protect the motors since the primary use
of SILO6 is mine deactivation.
In the process of developing SILO6, another goal was to minimize energy consumption while
walking on uneven terrain. In the case of the computer model, it was assumed that the robot’s COG
moves along a horizontal straight line with a constant speed. In the equations of motion, the inertia
was also included which arises while the leg is in motion.
In the case of Szabad(ka)-II, various optimization methods on the dynamic simulation model were
being used to minimize power consumption. In the first step, optimization was applied to the servo
controller and the walking algorithm’s path planner.

A.4. LEMUR II
This hexapod robot was developed by NASA.40 It was originally developed for space applications,
but is currently being tested in terrestrial environment. The layout of the system consists of six four
DOF limbs arranged axisymmetrically around a hexagonal body platform. Besides the three typical
DOF, it also has a fourth DOF which enables the legs to serve as arms. These arms are not only used
for walking but also for mounting. Interchangeable tools can be attached to the end of the arms.
LEMUR II has identical MAXON motors with 13 mm diameter, planetary reductors and encoders.
It uses an inverse differential gear drive system. For mechanical torque transfer, besides the planetary
reductor, a harmonic drive was also included. A harmonic drive is capable of transferring higher
torques with less backslash.40

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
456 Model validation of a hexapod walker robot
A.5. ANTON
Hexapod robot ANTON42 is the successor of SLAIR 2. In case of SLAIR, two differential joints
were used but the reduction between the motors and the joints was solved with home-made spur
gearheads, not with planetary ones. Instead of encoders, potentiometers were implemented mounted
on the main shafts of the joints behind the reductors, not on the motors. ANTON 2 uses an upgraded
differential joint where the joint centers in the legs are shifted relative to each other. In this case,
torque transmission was solved with a wire structure. Besides the 6 × 3 DOFs in the legs, the robot’s
body received additional 3 × 2 DOFs. Because of additional DOF, the body and the head are capable
of rotating relative to each other at three points.

A.6. SpaceClimber
Probably the most advanced robot among the devices in this section is SpaceClimber.5 It is a six-
legged, bio-inspired, energy-efficient and adaptable free climbing robot intended for mobility on steep
gradients. Its final mission is to provide a system for extraterrestrial surface exploration missions,
paying special attention to mobility in lunar craters to retrieve or analyze scientific samples from
crater-interiors.
The robot weighs 23 kg. Its dimensions (in normal posture) are 850 × 1000 × 220 mm[L × W ×
H ]. The length of the leg segments as well as the size of the body and the positions of the mounting
points were determined by a simulation-based optimization and design procedure with the help of
evolutionary computation.
All the legs have four DOFs, and use brushless DC motor modules from RoboDrive and Harmonic
Drive gears. The feet have several sensors integrated. These are a linear quadrature encoder to measure
the compression of the inner spring, four pressure sensors to measure ground contact and angle of
attack, three axis accelerometers to detect slippage, and four optional strain gauges in the claws of a
symmetric foot to measure claw bending.

Appendix B: Details of Szabad(ka)-II dynamic model

B.1. Trajectory control


The trajectory parameters currently implemented in Szabad(ka)-II’s gait algorithm are listed in
Table B1. The leg trajectory generated based on these parameters is the same three-dimensional
curve for each robot legs in the case of straight-line tripod walking. Quadratic spline curve is used to
generate the trajectory between the two characteristic (start and end) points with the help of a control
point.
In this research, we study walking with the speed values (wS ∈ {7.5, 10, 12, 15, 20}), especially
the fastest speed (wS = 20) that has the most loaded dynamical changes.
The generation of the three-dimensional trajectory of the six legs (pD ) for the “Walk” command
is described with Eq. (24), where i represents the actual, and i − 1 the previous key points. A

Table B1. Trajectory parameters.

Parameter Symbol Description

Command (define the walking state) wCmd Step, walk, stop, ready, close, get
zero
X coord. of leg endpoint wX Defined in coordinate
Y coord. of leg endpoint wY system of robot legs,
Z coord. of leg endpoint, define the length of stride wZ as in Fig. 1; unit in mm
Control point for the height of swing phase wC in Y direction
Turn factor of walking wD Define the slip between legs of left
and right side in mm
Speed of walking (fictive speed value) wS used values
wS ∈ {7.5, 10, 12, 15, 20}

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 457

Fig. B1. Joint positions and coordinates of Szabad(ka)-I and Szabad(ka)-II.

walking step consists of the swing and the support phase having two key points, and 40 interpolated
points (20 for the swing and 20 for the support phase). The 3D points of the quadratic spline curves
(s ∈ {1, 2, . . . , 20}) are calculated as presented by Eq. (25).
A specific inverse kinematic algorithm was implemented which calculates the desired angles of
the three links qD from the points of the three-dimensional trajectory curve (x, y, z represent the
3D coordinates) and the dimensions of robot legs (L1, L2 see in Fig. 24), as seen in Eq. (26). This
algorithm was described in detail in ref. [10].

25.2 TStep
TStep = , TT R = (23)
wS 42
i−1 i
⎡ ⎤
fspl (wX , wY , wZ − wD , wC ) fspl (wX , wY , −wZ + wD , 0)
⎢ fspl (wX , wY , −wZ − wD , 0) fspl (wX , wY , wZ + wD , wC ) ⎥
⎢ ⎥
60×40×3
pD = ⎢ fspl (wX , wY , −wZ + wD , 0) fspl (wX , wY , wZ − wD , wC ) ⎥ (24)
⎢ f (w , w , w + w , w ) fspl (wX , wY , −wZ − wD , 0) ⎥
⎢ spl X Y Z D C ⎥
⎣ f (w , w , w − w , w ) fspl (wX , wY , −wZ + wD , 0) ⎦
spl X Y Z D C
fspl (wX , wY , −wZ − wD , 0) fspl (wX , wY , wZ + wD , wC )

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
458 Model validation of a hexapod walker robot

⎨ a 2 · xi−1 + (1 − a 2 ) · xi + 2 · a · (1 − a) · ci
leg,20×3
pD = fspl (xi , zi , yi , ci ) = a 2 · yi−1 + (1 − a 2 ) · yi + 2 · a · (1 − a) · ci (25)
⎩ 2
a · zi−1 + (1 − a 2 ) · zi + 2 · a · (1 − a) · ci
⎧  
⎡ ⎤ ⎪
⎪ √
⎪ sign(z) · arccos
⎪ x
α ⎨  √  x +y 
2 2

qD = ⎣ θ1 ⎦ = f (pD ) = arctan L2 1−c2 − arctan y (26)



⎪  √L1 +L2 
·c d
θ2 ⎪

⎩ arctan 1−c2
c

 L1 d 2 + y 2 − L21 − L22
d= x2 + y2 − , c=
cos α 2L1 L2

B.2. Parameters of simulation model


Table B2. Essential fields of Link structure object.

Variables or parameters Type Symbol, value or formulae

Denavit and Hartenberg Calculated parameter DH 5×1 = [αj [rad], Aj [m], θj [rad], Dj [m], σj ]
parameters
Inertia matrix of links Calculated parameter IL6×1 = [IXX , IY Y , IZZ , IXY , IY Z , IXZ ][kgm2 ]
Link mass Calculated parameter mL [kg]
Center of gravity of Calculated parameter COG3×1 = [rX , rY , rZ ][m]
links

Fig. B2. Measured and simulated (trial and optimized) joint angles q[rad] of a walking step, walking speed
wS = 20.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
Model validation of a hexapod walker robot 459

Fig. B3. Tripod walking step presentation of the real (left) and simulated (right) robot, walking speed wS = 15,
video: https://www.youtube.com/watch?v=mcyIeoi1-dw.

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
https://doi.org/10.1017/S0263574715000673
Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.

460
Table B3. Robot manipulator parameters of right front Leg (Leg1): Denavit and Hartenberg (α, A, θ, D, σ ) and dynamic parameters.

lnk α A θ D σ m rX rY rZ IXX IY Y IZZ IXY IY Z IXZ

1 1.57 0.00 1.57 0.15 1 0 0 0 0 0 0 0 0 0 0


2 1.57 0.00 1.57 0 1 0 0 0 0 0 0 0 0 0 0
3 1.57 0.00 1.57 0 1 0 0 0 0 0 0 0 0 0 0
4 −1.57 0.00 0.00 0 0 0 0 0 0 0 0 0 0 0 0
5 −1.57 0.00 −1.57 0 0 0 0 0 0 0 0 0 0 0 0
6 −1.57 0.07 1.57 0.16 0 0 0 0 0 0 0 0 0 0 0

Model validation of a hexapod walker robot


7 −1.57 0.06 0.00 0 0 0.141 0.0336 1.84e−3 −1.26e−3 5.76e−5 1.28e−4 8.00e−5 6.79e−6 3.28e−7 5.98e−6
8 0.00 0.08 0.00 0 0 0.236 0.0676 1.36e−3 1.34e−2 4.93e−5 2.95e−4 2.69e−4 1.04e−5 −4.97e−6 2.11e−5
9 0.00 0.12 1.57 0 0 0.208 0.0587 5.22e−6 1.31e−2 3.73e−5 2.38e−4 2.13e−4 −3.11e−8 −2.36e−8 6.36e−6
Model validation of a hexapod walker robot 461

B.3. Presentation of walking


Figure B3 shows a demonstration of straight line walking step, visually comparing the reality and
simulation. Kinematic differences between simulation and reality were insignificant as documented
in Table VI, see also Fig. B2.
Table B4. Variables and parameters of motor-gearhead model.

Variables or parameters Type Symbol, value or formulae

Voltage of motor Input variable U [V]


Load torque of link Input variable ML [Nm]
Motor current Output variable IM [A] 
Speed, angle, gear angle Output variable ω[rad/s], φ[rad] = ω(t)dt, qA [rad] = 1
rG
φ
Torque constant Datasheet parameter KM = 0.016[Nm/A]
Rotor resistance Datasheet parameter R = 4.09[ ]
Rotor inductance Datasheet parameter L = 1.8e−4 [H]
Viscous friction of motor Calculated parameter BM = 3.7659e−7 [Nms/rad]
(mechanical damping)
Viscous friction of gearhead Calculated parameter BG = 0.19566[Nms/rad]
Rotor inertia Datasheet parameter JM = 3.8e−7 [kgm2 ]
Gearhead inertia Estimated parameter JG = JM = 3.8e−7 [kgm2 ]
Gearhead reduction ratio Datasheet parameter rG = 256 : 1
Gearhead efficiency Datasheet parameter ηN G = 60[%]
Nominal torque of gearhead Datasheet parameter MN G = 1[Nm]
Nominal speed of gearhead Datasheet parameter ωN G = 523.6[rad/s]
No-load speed of motor Datasheet parameter ω0 = 743.5[rad/s]
No-load current of motor Datasheet parameter IM0 = 0.0175[A]

Table B5. Variables and parameters of robot body model (The body mass and body inertia of Szabad(ka)-II
robot was calculated in the SolidWorks model.).

Variables or parameters Type Symbol, value or formulae

Force acting on the robot Input variable FB3×1 [N]


body (from legs)
Moment acting on the Input variable MB3×1 [Nm]
robot body (from legs)
Position and rotation of Output variable qB6×1 [m,rad]
the robot body
Body mass Measured parameter mB = 3.25[kg]
Gravity constant External parameter g 3×1 = [gX , gY , gZ ] = [0, 0, 9.81]
Body inertia Calculated parameter IB3×1 [kgm2 ] = [IBX , IBY , IBZ ] = [0.00763, 0.032, 0.0386]

Table B6. Variables and parameters of ground contact model.

Variables or parameters Type Symbol, value or formulae

Position and tilt angles of robot body Input variable qB6×1 [m,rad]
Angles of links Input variable qA3×1 [rad]
World coordinate of endpoint of leg Local variable P 3×1 [m]
Rotation matrix between local and world Local variable RP3×3
External force acting on the end of the manipulator Output variable FG3×1 [N]
Parameter structure of robot manipulator Measured parameter Srobot details in Table B2, B3
Spring constant Estimated parameter k = 10, 000[N/m]
Damper constant Estimated parameter c = 150[Ns/m]
Frictional coefficient Estimated parameter δ = 1.0
Velocity threshold of the Karnopp friction model Estimated parameter vd = 0.005[m/s]

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673
462 Model validation of a hexapod walker robot
Table B7. Variables and parameters of inverse dynamical model.

Variables or parameters Type Symbol, value or formulae

All link coordinates (body and arm) Input variable q 9×1


Position and rotation of the robot body Input variable qB9×1 [m,rad]
Angles of links Input variable qA3×1 [rad]
External force acting on the end of the manipulator Input variable FG3×1 [N]
All link force (body and arm) Output variable τ 9×1
Force acting on the robot body (from leg) Output variable FA3×1 [N]
Moment acting on the robot body (from leg) Output variable MA3×1 [Nm]
Load torque of links Output variable ML3×1 [Nm]
Parameter structure of robot manipulator Calculated parameter Srobot details in Tables B2, B3

Downloaded from https:/www.cambridge.org/core. University of Florida, on 24 Apr 2017 at 07:01:49, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
https://doi.org/10.1017/S0263574715000673

You might also like