0% found this document useful (0 votes)
153 views7 pages

Dynamixel MX Model

This document presents a model for the behavior of the Dynamixel MX-28AT servo, which is commonly used in robotics applications. The authors develop an analytical model based on physical principles and parameters from the servo's datasheet. They then enhance the model to include phenomena like quantization and saturation. Finally, the model is validated by comparing its responses to experimental frequency response and step response data from the actual servo. Developing an accurate dynamical model of the servo allows for better simulation and control design.

Uploaded by

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

Dynamixel MX Model

This document presents a model for the behavior of the Dynamixel MX-28AT servo, which is commonly used in robotics applications. The authors develop an analytical model based on physical principles and parameters from the servo's datasheet. They then enhance the model to include phenomena like quantization and saturation. Finally, the model is validated by comparing its responses to experimental frequency response and step response data from the actual servo. Developing an accurate dynamical model of the servo allows for better simulation and control design.

Uploaded by

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

XIII Simpósio Brasileiro de Automação Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017


MODELING OF A POSITION SERVO USED IN ROBOTICS APPLICATIONS

Marcos R. O. A. Maximo∗, Carlos H. C. Ribeiro∗, Rubens J. M. Afonso†



Autonomous Computational Systems Lab (LAB-SCA), Computer Science Division, Aeronautics
Institute of Technology, Praça Marechal Eduardo Gomes, 50, Vila das Acácias, 12228-900, São José
dos Campos, SP, Brazil

Electronic Engineering Division, Aeronautics Institute of Technology, Praça Marechal Eduardo Gomes,
50, Vila das Acácias, 12228-900, São José dos Campos, SP, Brazil

Emails: [email protected], [email protected], [email protected]

Abstract— Position servos are extensively used as actuators for robots. In particular, Dynamixel servos from
Robotis are employed as the actuator in each of the 20 joints of a humanoid research robot known as Darwin
OP2. The lack of adequate dynamic modeling of the servo behavior renders control applications more difficult, as
the performance of the control system is compromised due to model-plant mismatches. In the present paper we
develop and validate experimentally a model for the behavior of the Dynamixel MX-28AT, including phenomena
such as viscous friction and saturation. Such a model allows the correct simulation of the servo behavior and the
adequate design of controllers.

Keywords— Modeling, Servo, Actuator.

1 Introduction lating a high number of robots as in a team for


robot soccer, since many groups lack the financial
Servomechanisms are widely used as actuators resources to acquire an entire team.
in robotics applications (Gouaillier et al., 2009; One first step in modeling the full body dy-
Wensing et al., 2017; Zhao et al., 2015). Nonethe- namics of the humanoid robot and also of other
less, adequate models of the dynamics are fre- mechanisms employing the MX-28AT servo as ac-
quently not available for many of the low-cost or tuators is to count with an accurate dynamical
hobby servos, compromising the capability of per- model of the servo itself, which is capable of en-
forming high fidelity simulations and readjusting compassing all the effects that are relevant to
the inner control loop of the servo, when possible, the performance, including the order of the dy-
to achieve desired dynamic performance for the namics, the involved time constants and nonlinear
specific application. phenomena, such as quantization and saturation.
In particular, modern servos such as the Dy- Moreover, the controller used to operate as a ro-
namixel MX-28AT present interesting character- tary position servo has a certain degree of free-
istics, such as a high torque per volume ratio, dom, which might be explored to achieve the per-
low dissipation, high communication bandwidth formance required by each application. However,
(ROBOTIS, 2010a), empowering many new high this cannot be done unless the effects of the con-
performance applications. Moreover, Dynamixel troller changes are well known, thus also justifying
servos connections may be daisy-chained, greatly the development of a model.
simplifying the wiring in the robot structure when In the present paper, the dynamical model
many servos are used, such as in a humanoid is built based on physical principles. Then, the
robot. One of the examples is the open project constants are either directly obtained from the
humanoid robot ROBOTIS OP-2, also known as datasheets of the servo and of the DC motor used
Darwin (Ha et al., 2011). to build it, or are determined with data from some
Nevertheless, no analytical model that ade- standard tests. After that, the model is enhanced
quately describes the dynamics of the robot is to include quantization of the measurements, since
available in the Literature, rendering the transi- an encoder is used to assess the angle of the load
tion between conceptual algorithms and control axis and saturation of the input voltage is also
laws to practical experiments somewhat uncertain considered, given that the DC level of the feed-
and trial and error based. It would, therefore, be ing of the servo poses such a constraint. Finally,
an interesting enhancement both for academia as the model is validated against the frequency re-
well as competitors to dispose of a high fidelity sponse and the step response data acquired from
model for simulation. Other advantages of having the actual servo. Thus, the contributions of this
an accurate model are the capability of performing work are twofold: the formalization of a modeling
many tests, such as required for learning-based al- procedure that can be applied to a class of servos
gorithms for control and movement planning, test- and the development and validation of a mathe-
ing more radical changes in the algorithms with matical model for the Dynamixel MX-28AT as one
no risk to the robot, thus enhancing the maturity constructive example.
of experiments with the real platform, and simu- It is emphasized that, once the model is ob-

ISSN 2175 8905 2032


XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
tained from physical principles, a variety of sys- i L
tem identification techniques can be employed to
obtain estimates of the model parameters (Ljung,
2017) from experimental data. For instance, al- +
u R
gorithms that are optimal in a least-squares sense
-
can be used to identify a transfer function from +
frequency response data (Drmac et al., 2014). On e
the other hand, identification of a continuous- -
time transfer function directly from sampled time-
domain data require some care. Some alterna-
Figure 1: Electric circuit of the DC motor.
tives, such as State-Variable Filters (SVF) and the
Generalized Poisson Moment Functions (GPMF),
can be employed to continuous-time parameter es- and mechanical parts are (Sen, 1997):
timation (Garnier et al., 2003; Ljung, 2009). All
of these methods are readily available in computer τm =Kt i, (1)
packages such as the System Identification Tool- di
box from Matlab (Mathworks, 2017). However, in u =Ri + L + e, (2)
dt
the present work the model is obtained from data θ̇m
provided by the manufacturers of the DC motor e= , (3)

and the servo, as these should be more representa- τl
tive of the range of DC motors and servos that are Jm θ̈m =τm − − τf,m , (4)

produced. On the contrary, if data from tests of a
single servo were used, then the identified param- Jl θ̈l =τl − τf,l , (5)
eters might end up being very particular for that Kt =Kω−1 , (6)
servo and not represent as well others. Therefore,
in this work the data from the experiments of fre- where τm is the torque produced by the motor,
quency and step responses of the servo are used τl is the torque transmitted to the load, τf,m and
only for validation of the model. τf,l are the friction torques at the motor and the
The remainder of the paper is divided as fol- the load shafts, respectively, N is the gear ratio of
lows: the analytical model is obtained in Section the gearbox and η is the gearbox efficiency factor.
2, where the constants are also determined from The moment of inertia of the load Jl varies ac-
the datasheet information. The model response cording to the load connected to the servo. With
and the experimental data are compared for val- exception of τf,m , τf,l and η, the other parame-
idation in Section 3. Finally, concluding remarks ters can be directly found in the datasheets.These
are given in Section 4. three unknown parameters are determined in the
following subsections.

2.1 Gearbox efficiency


2 Mathematical model Ideally, conservation of power in the gearbox
would entail that Pm = Pl , where Pm is the power
In this section a model based on physical prin- output of the motor (input to the gearbox) and Pl
ciples is developed for the Dynamixel MX-28AT is the power transmitted to the load:
position servo. For that purpose, the data from
the data sheets of the DC motor used to build the Pm = θ̇m τm = Pl = θ̇l τl . (7)
servo and the one from the servo itself (including
Using the gear ratio N = 193, a relationship
the gearbox) are employed.
can be established between θ̇m and θ̇l :
The servo is built using an armature con-
trolled Maxon DC motor model 214897 (Maxon θ̇m = N θ̇l . (8)
Motors, 2015). The electric circuit equivalent of
the motor is depicted in Fig. 1, where u is the Thus, combining (7) and (8):
input voltage at the terminals, e is the back elec- τl
tromotive force (EMF), i is the current, R is the τm = . (9)
N
resistance and L is the inductance.
The motor is assumed to have a torque con- However, from the datasheets, the stall (when
stant Kt and a speed constant Kω . The angle of θ̇ = 0) torques τm,s of the motor and τl,s of the
rotation of the motor shaft is θm and its moment servo with an input voltage u = 12 V are:
of inertia is Jm . Similarly, the angle of rotation
τm,s = 0.0155 N m, (10)
in the load axis is θl and its moment of inertia
is Jl . Thus the equations involving the electrical τl,s = 2.5 N m (11)

2033
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
These are incompatible with (9). Thus, it 2.3 Open-loop dynamical model
is assumed that some power is dissipated by the
From (4) and (5):
gearbox, resulting in a reduction of the actually
transmitted torque. The proposal is to determine h i
Jl θ̈l = τl = N η τm + τf,m − Jm θ̈m , (21)
a gearbox efficiency factor η such that:
τl and using (1) and (14):
τm = . (12)
Nη h i
Using the stall torques, one can determine: Jl θ̈l = τl = N η Kt i − bm θ̇m − Jm θ̈m . (22)

τl,s 2,5 Finally, using (8), a differential equation relat-


η= = = 0.836. (13)
N τm,s 193 × 0.0155 ing the load output angle θl and the input current
i can be found to be:
It is assumed that this efficiency remains the
h i
same at all operating conditions, which is a stan- Jl θ̈l = τl = N η Kt i − bm N θ̇l − Jm θ̈m . (23)
dard assumption in electrical motor modeling.
To find the transfer function, it just remains
2.2 Determining friction torques to take the Laplace transform of (23) with null
The friction torques τf,m in (4) and τf,l in (5) are initial conditions, yielding:
modeled as viscous friction: Θl (s) N ηKt
= . (24)
τf,m =bm θ̇m , (14) I(s) (Jl + Jm N 2 η)s2 + (bm N 2 η)s
τf,l =bl θ̇l . (15) Considering now the electrical part, from (2)
and (3):
The “no load” (N L) condition of the motor
di θ̇m
means that τl,N L = 0 and the motor is at steady u = Ri + L + . (25)
dt Kω
state, i. e. θ̈m,N L = 0, in (4), therefore:
Again taking the Laplace transform under the
Kt iN L assumption of zero initial conditions:
τm,N L = τf,m,N L = bm θ̇m,N L → bm = .
θ̇m,N L
(16) sΘm (s)
U (s) = (R + Ls)I(s) + , (26)
The values iN L = 0.0092 A, θ̇m,N L = Kω
10600 rpm and Kt = 0.0107 N m/A are found which, considering (8), yields:
in the motor datasheet, entailing:
1 sN
0.0107 × 0.0092 I(s) = U (s) − Θl (s). (27)
bm = 10600×2π = 8.87 × 10−8 N ms. (17) R + Ls Kω (R + Ls)
60
Manipulating (24) and (27), one can deter-
Applying a similar procedure using the “no
mine the transfer function from the input voltage
load” (NLs) condition of the servo:
at the terminals U (s) to the output angle in the
τl,N Ls = τf,l,N Ls = bl θ̇l,N Ls . (18) load shaft Θl (s) as (28).

Combining (3), (2) and (8), and using the 2.4 Closed-loop dynamical model
value of the “no load” speed θ̇l,N Ls = 55 rpm from
the servo datasheet: The controller that the manufacturer proposed
N ×θ̇l,N Ls
for the MX-28AT is a Proportional-Integral-
uN Ls − Kω Derivative (PID), meaning that the input voltage
τm,N Ls =Kt iN Ls = Kt
R is:
−5
=7.69 × 10 N m, (19) 
Ki

U (s) = Kp + + Kd s [Θr (s) − Θl (s)] ,
τf,m,N Ls =bm N θ̇l,N Ls s
=9.87 × 10−5 N m. (20) (29)
where Kp , Ki and Kd are the controller gains and
These values are not compatible, as this would Θr (s) is the reference output angle.
entail more friction torque than what is actually Considering the servo input-output relation
generated by the motor. It is advocated that the (28) and the controller transfer function (29), the
rouding of the data provided in the datasheets of closed-loop transfer function relating the com-
the servo resulted in such an inconsistency. As a manded servo angle Θr (s) and the measured one
consequence, the proposal at this point is to sim- Θl (s) is given in (30).
ply disregard friction at the load shaft and make Simplifying this model is possible assuming
bl = 0, simplifying the right hand side of (5) be- that the electrical dynamics is much faster than
L
cause τf,l = 0. the mechanical one, i. e., the time constant R is

2034
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
Θl (s) N ηKt
= n o. (28)
U (s) s L(Jl + Jm N η)s + [R(Jl + Jm N 2 η) + Lbm N 2 η]s + bm N 2 ηR +
2 2 Kt N 2 η

Θl (s) N ηKt (Kd s2 + Kp s + Ki )


= 
K N2η
 .
Θr (s) L(Jl + Jm N η)s + [R(Jl + Jm N η) + Lbm N 2 η]s3 + bm N 2 ηR + tKω + N ηKt Kd s2 + N ηKt Kp s + N ηKt Ki
2 4 2

(30)

much smaller than the mechanical time constants.


Table 1: Parameters to determine the MX-28AT
Indeed, for the Dynamixel MX-28AT whose data
model.
are shown in Table 1, the poles of the open-loop
transfer function (28) are 0, 161 and 4.01 × 104 , Parameter Value
where the last one is associated to the electrical Resistance R 8.3 Ω
dynamics, which can clearly be disregarded. This Inductance L 2.03 × 10−3 H
entails a lower-order closed-loop model given in Gear ratio N 193
(31). Gear efficiency η 0.836
Before documenting and discussing the re- Speed constant Kω 93.1 rad/V
sults, it is important to make two remarks about Torque constant Kt 0.0107 N m/A
the experimental setup: Inertia Jm 8.68 × 10−8 kgm2
Friction bm 8.87 × 10−8 N ms
Remark 1 The angle θl is measured by an en- Prop. gain Kpc P/8 = 4
coder, thus one needs to convert the measurements Int. gain Kic 1000I/2048 = 0
to radians in order to use the model (either (30) Der. gain Kdc 4D/1000 = 0
or (31)). Moreover, the reference to the servo
must be converted from radians to counts, as the
servo operates with this unit for the reference. The that can be actually set in the servo are P , I and
encoder resolution is 4096
2π counts/rad.
D, so the conversion factors in Table 1 must be
considered.
Remark 2 The output command of the controller
uc is given as a Pulse Width Modulated (PWM) 3 Experimental validation
signal. It was experimentally determined to be
from 0 to 511 (0 meaning duty cycle of 0% of To validate the proposed model, two kinds of ex-
the applied voltage and 511 meaning duty cycle periments were performed with the MX-28AT fed
of 100% of the applied voltage, with a linear cor- from a regulated current source set up to provide
respondence in between). It is assumed that the Vs = 12 V and without any load Jl = 0: frequency
PWM frequency is high enough so that the effect response and step response. The results are shown
perceived by the DC motor is an average voltage in the present section.
Vs
u = 511 uc [V ], where Vs is the voltage of the reg- The control of the servo was performed us-
ulated current source feeding the servo. ing a OpenCM 9.0.4 (ROBOTIS, 2010b) board
Due to remarks 1 and 2, a consequence is that from ROBOTIS using a baud rate of 1M bps and
the controller embedded in the servo operates as the reading of the servo positions and writing of
a reference value was performed at every Ts =
Kc
 
Uc (s) = Kpc + i + Kdc s [Θcr (s) − Θcl (s)] , 0.005 s. The simulation model used for validation
s may be found as open-source software at https:
(32) //bitbucket.org/mmaximo/mx28_modeling.
which is similar to (29), with the appropriate
units: Θcr and Θcl given in counts and uc given
3.1 Frequency response
as a PWM value in the range specified in remark
2, therefore K• = K•c 2048V
511π , where • = p, i, d.
s
For the frequency response, sinusoidal inputs with
Moreover, still considering remarks 1 and 2, varying frequency were used as reference inputs.
two nonlinear phenomena are included in the In particular, knowledge of the theoretical fre-
model, namely: quantization of the angle mea- quency response from (30) is useful to determine
surements and saturation of the input voltage into a meaningful range of frequencies for the sinu-
the interval [−Vs , +Vs ] V . soidal inputs. From the magnitude frequency re-
The values of the parameters for determin- sponse in Fig. 2, it can be seen that the gain
ing the transfer function can be found in Table 1, is less than −14 dB for frequencies higher than
where the gains of the controller are determined 128 rad/s, which is already a considerable at-
from the default values from the manufacturer la- tenuation. Therefore, the frequencies chosen for
beled as P , I and D in the datasheet. The gains the frequency response experiment were no higher

2035
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
Θl (s) N ηKt (Kd s2 + Kp s + Ki )
= 
K N2η
 . (31)
Θr (s) R(Jl + Jm N η)s + bm N ηR + tKω + N ηKt Kd s2 + N ηKt Kp s + N ηKt Ki
2 3 2

than 128 rad/s. In fact, the chosen frequen- 0


cies grew in octaves between ω0 = 1 rad/s and Model
Experimental
ω7 = 128 rad/s, i. e., ωi = 2i rad/s, i ∈
{0, 1, 2, . . . , 7}. As for the amplitudes of the sinu-
soidal inputs, they were 400 counts peak-to-peak −50

G(jω) [deg]
for frequencies between 1 rad/s and 16 rad/s and
200 counts peak-to-peak for frequencies ranging
from 32 rad/s to 128 rad/s, to avoid saturation
of the input voltage. −100

6
The model and experimental frequency re-
sponses can be seen in Figs. 2 and 3. It can
be noticed that up until ω5 = 32 rad/s the gain
and phase both agree very well between the fre- −150 0 1 2 3
quency responses of the model and the servo. 10 10 10 10
ω [rad/s]
The gain actually remains acceptable up until
ω7 = 128 rad/s, but from ω6 = 64 [rad/s] to
ω7 = 128 [rad/s] the phase error is about 25◦ , Figure 3: Phase frequency response.
which is already considerable for control applica-
tions. This could partially be explained by the
the encoder range, the reference in each case was
readings of the data for recording purposes be-
θri = −(θl,i (0)−5) counts, meaning that the servo
ing being performed at every Ts = 0.005 s, which
commanded position was initially 5 counts ≈
starts to represent a considerable delay in these
0.0077 [rad] during 1 s, then it returned to θr = 0.
frequencies.
Even with Ki = 0, the open-loop transfer
Thus, from these results, it can be noticed
function in (28) is of type 1, thus it is expected
that if one operates with input reference signals
that there is no steady state error to a step in-
with a bandwidth of about 32 rad/s, the proposed
put. From Fig. 4(a), the simulation results agree
model can be used to predict the actual response
with this both for the linear and nonlinear mod-
of the MX-28AT with reasonable fidelity. This
els, however a small steady state error can be ob-
is actually not very limiting for the normal uses
served from the experimental data (the error os-
of the servo such as in humanoid robots (Kajita
cillates between 1 and 2 encoder counts, i. e., at
et al., 2003; Maximo and Ribeiro, 2016).
most 0.0031 rad). This could be attributed to dry
friction, which is not present in the models (re-
0
Model call that the nonlinear phenomena considered in
−2 Experimental the model are only saturation of the voltage u and
quantization of the measured angle θl ). Therefore,
−4
one possible improvement of having a reasonable
−6 model of the servo is to choose Ki 6= 0 so as to
|G(jω)| [dB]

compensate this effect, but being able to account


−8
for the changes in the closed-loop pole locations.
−10 As observed, the steady state error was between 1
and 2 encoder counts, therefore one can use (32)
−12
to estimate the value of the dry friction torque.
−14 Since there is only a proportional control gain in
this experiment:
−16 0 1 2 3
10 10 10 10
ω [rad/s] Uc (s) = Kpc [Θcr (s) − Θcl (s)] . (33)

Figure 2: Magnitude frequency response. In steady state with an error of 2 counts and
using Kpc = 4 from Table 1:

ucss = 8. (34)
3.2 Step response
The servo was started at three different an- From Remark 2, it means a duty cycle of
gles θl,1 (0) = 100 counts ≈ 0.1534 rad, 8/511 = 0.0157 of the source voltage, yielding an
Vs
θl,2 (0) = 200 counts ≈ 0.3068 rad and θl,3 (0) = equivalent voltage of uss = 511 ucss = 0.188 [V ].
400 counts ≈ 0.6136 rad. To avoid angles out of Now admitting that the θ̇sss = 0 in (3) (recall that

2036
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
the servo has already stopped in steady state in a) 100
Linear model
Fig. 4(a)), it follows from (2) that iss = uss /R = Nonlinear model
80 Experimental
0.0226 [A]. Using (1) with the steady state current
iss , the motor torque is determined to be:
60
τmss = Kt iss = 2.422 × 10−4 [N m]. (35)
One can therefore argue that this motor 40
torque is not enough to move the motor axis,
therefore the static friction torque must be equal 20
to that amount. This imposes a lower limit on
the static dry friction (using a Coulomb model 0
0 0.5 1 1.5 2
(Stribeck, 1902)). On the other hand, an upper Time [s]
limit can be found by noticing that the error in less b) 200
Linear model
than 3 counts. Repeating the calculations above, Nonlinear model
an error of 3 counts would entail a motor torque Experimental
150
τmss = Kt iss = 3.633 × 10−4 [N m]. (36)
Since this error never occurs in Fig. 4(a), this 100
torque must be greater than the maximal value
of the Coulomb dry friction torque. Thus, static
50
friction referred to the motor axis is known to be
τmst ∈ 2.422 × 10−4 , 3.633 × 10−4 [N m]. Since
the effect of this dry static friction is minor (re- 0
sulting in an error of 1 or 2 counts), disregarding it 0 0.5 1 1.5 2
Time [s]
in the model does not affect the response severely. c) 400
Linear model
During the transient regime, the calculated vis- 350 Nonlinear model
cous friction was assumed to be the only friction Experimental
300
source, therefore all the friction phenomena are
represented in this coefficient bm , which is enough 250
to allow a very precise matching between the re- 200
sponses from the servo and from the models, as
150
seen in Fig. 4(a).
To observe the nonlinear phenomena more ac- 100
curately, the results with larger reference changes 50
can be seen in Figs. 4(b) and 4(c), for references
θr2 = −195 counts and θr3 = −395 counts, re- 0
0 0.5 1 1.5 2
spectively. The hypothesized dry friction being a Time [s]
nonlinear phenomenon, its effect should not be-
have linearly with the change on the reference in- Figure 4: MX-28AT steps responses to inputs of
put. It is indeed what can be observed comparing (a) θr1 = 95 counts, (b) θr2 = −195 counts, and
the steady state errors in Figs. 4(a), 4(b) and 4(c), (c) θr3 = −395 counts.
where it can be noticed that the steady state error
becomes less and less relevant with each increase
poor prediction with the linear model. To per-
in the reference amplitude, until it is barely visible
ceive more clearly the outcomes of the saturation,
in Fig. 4(c).
the voltages resulting from the controller after sat-
On the other hand, the effect of voltage sat-
uration in the nonlinear simulation can be seen in
uration grows with the reference amplitude.With
Fig. 5, where it can be confirmed that the greater
an amplitude of 95 counts in Fig. 4(a), the linear
the reference, the larger the time that the voltage
and nonlinear models responses are very similar
remains saturated.
and both agree well with the experiment.As the
amplitude is increased to 195 counts a very subtle
difference between the responses of the linear and 4 Conclusion
nonlinear models appears as shown in Fig. 4(b).
However, with the amplitude of 395 counts of the A model based mostly on physical principles
reference, it can be observed in Fig. 4(c) that and with usage of the data available from the
there is a great mismatch between the simulation datasheets was developed for the servo MX-28AT,
results of both models. Moreover, the response with exception from the gain to convert from the
of the nonlinear model remains very close to the PWM command to volts, which had to be de-
data from the servo, thus indicating that the sat- termined through experimental observation. This
uration of the voltage is indeed the cause for a analytical model was validated by two experi-

2037
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
15 H. (2003). Biped Walking Pattern Gen-
Amplitude 395
Amplitude 195 eration by using Preview Control of Zero-
10 Amplitude 95 Moment Point, Proc. International Confer-
ence on Robotics and Automation, Taipei,
5
Taiwan, pp. 14 – 19.
u [V]

0 Ljung, L. (2009). Experiments with identification


of continuous-time models, Proc. 15th IFAC
−5
Symposium on System Identification, Vol. 42,
Saint-Malo, France, pp. 1175–1180.
−10
Ljung, L. (2017). Wiley Encyclopedia of Electrical
−15 and Electronics Engineering, John Wiley &
0 0.5 1 1.5 2
Time [s] Sons, chapter System Identification, pp. 1–
19.
Figure 5: Simulated values of the voltages applied
by the controller for the three reference ampli- Mathworks (2017). System identification toolbox.
tudes. Accessed in August 7th 2017.
https://www.mathworks.com/help/ident/
index.html
ments: frequency response and step response,
showing good agreement with the experimental Maximo, M. R. O. A. and Ribeiro, C. H. C.
data. The availability of an adequate model opens (2016). Omnidirectional ZMP-Based Hu-
many possibilities, such as high fidelity simula- manoid Walking Engine, Proc. 2016 Con-
tions of mechanisms that involve the servo as ac- gresso Brasileiro de Automática (CBA),
tuator and also redesign of the PID controller. Vitória, Brazil.
Maxon Motors (2015). Maxon DC brushed mo-
Acknowledgments tors: RE-max datasheet, Maxon Motors.

The authors acknowledge the support of the São ROBOTIS (2010a). Robotis e-manual v1.29.00.
Paulo Research Foundation – FAPESP (grant Accessed April 24th 2017.
2016/03647-3). Carlos Ribeiro thanks CNPq for http://support.robotis.com/en/
the research fellowship 303738/2013-8. product/actuator/dynamixel/mx_series/
mx-28.htm
References ROBOTIS (2010b). Robotis e-manual v1.30.00.
Accessed 24th April 2017.
Drmac, Z., Gugercin, S. and Beattie, C. (2014). http://support.robotis.com/en/
Quadrature-based vector fitting for dis- software/robotis_opencm_main.htm
cretized h2 approximation., SIAM Journal
on Scientific Computing 37(2): A625–A652. Sen, P. C. (1997). Principles of Electric Machines
and Power Electronics, 2nd edn, John Wiley
Garnier, H., Mensler, M. and Richard, A. (2003). & Sons, New Jersey.
Continuous-time model identification from
Stribeck, R. (1902). Die wesentlichen eigen-
sampled data: Implementation issues and
schaften der gleit - und rollenlager - the
performance evaluation, International Jour-
key qualities of sliding and roller bearings,
nal of Control 76(13): 1337–1357.
Zeitschrift des Vereines Seutscher Ingenieure
Gouaillier, D., Hugel, V., Blazevic, P., Kilner, C., 46(38-39): 1342–1348(38), 1432–1437(39).
Monceaux, J., Lafourcade, P., Marnier, B., Wensing, P. M., Wang, A., Seok, S., Otten, D.,
Serre, J. and Maisonnier, B. (2009). Mecha- Lang, J. and Kim, S. (2017). Propriocep-
tronic Design of Nao Humanoid, Proc. IEEE tive Actuator Design in the MIT Cheetah:
International Conference on Robotics and impact mitigation and high-bandwidth phys-
Automation (IROS), Kobe, Japan, pp. 769 ical interaction for dynamic legged robots,
– 774. IEEE TRANSACTIONS ON ROBOTICS
Ha, I., Tamura, Y., Asama, H., Han, J. and Preprint: 1 – 14.
.Hong, D. W. (2011). Development of Open Zhao, Y., Paine, N., Kim, K. S. and Sentis, L.
Humanoid Platform Darwin-OP, Proc. SICE (2015). Stability and Performance Limits
Annual Conference, Tokyo, Japan, pp. 2178– of Latency-prone Distributed Feedback Con-
2181. trollers, IEEE TRANSACTIONS ON IN-
DUSTRIAL ELECTRONICS 62(11): 7151 –
Kajita, S., Kanehiro, F., Kaneko, K., Fujiwara,
7162.
K., Harada, K., Yokoi, K. and Hirukawa,

2038

You might also like