Uploaded by Na Nguyen

[paperhub]10.1108 ec-11-2012-0290

advertisement
Engineering Computations
FPGA-based hardware implementation of arctangent and arccosine functions for the
inverse kinematics of robot manipulator
Ying-Shieh Kung Ming-Kuang Wu Hai Linh Bui Thi and Tz-Han Jung Feng-Chi Lee Wen-Chuan Chen
Article information:
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
To cite this document:
Ying-Shieh Kung Ming-Kuang Wu Hai Linh Bui Thi and Tz-Han Jung Feng-Chi Lee Wen-Chuan Chen
, (2014),"FPGA-based hardware implementation of arctangent and arccosine functions for the inverse
kinematics of robot manipulator", Engineering Computations, Vol. 31 Iss 8 pp. 1679 - 1690
Permanent link to this document:
http://dx.doi.org/10.1108/EC-11-2012-0290
Downloaded on: 22 May 2016, At: 19:15 (PT)
References: this document contains references to 12 other documents.
To copy this document: permissions@emeraldinsight.com
The fulltext of this document has been downloaded 73 times since 2014*
Users who downloaded this article also downloaded:
(2014),"A neural observer for sensorless speed control of servomotors", Engineering Computations, Vol. 31
Iss 8 pp. 1668-1678 http://dx.doi.org/10.1108/EC-11-2012-0289
(2014),"Fuzzy visual detection for human-robot interaction", Engineering Computations, Vol. 31 Iss 8 pp.
1709-1719 http://dx.doi.org/10.1108/EC-11-2012-0292
(2014),"Implementation of an automated system for microscope pathological section image with RFID
management", Engineering Computations, Vol. 31 Iss 8 pp. 1691-1708 http://dx.doi.org/10.1108/
EC-11-2012-0291
Access to this document was granted through an Emerald subscription provided by emerald-srm:145608 []
For Authors
If you would like to write for this, or any other Emerald publication, then please use our Emerald for
Authors service information about how to choose which publication to write for and submission guidelines
are available for all. Please visit www.emeraldinsight.com/authors for more information.
About Emerald www.emeraldinsight.com
Emerald is a global publisher linking research and practice to the benefit of society. The company
manages a portfolio of more than 290 journals and over 2,350 books and book series volumes, as well as
providing an extensive range of online products and additional customer resources and services.
Emerald is both COUNTER 4 and TRANSFER compliant. The organization is a partner of the Committee
on Publication Ethics (COPE) and also works with Portico and the LOCKSS initiative for digital archive
preservation.
*Related content and download information correct at time of download.
The current issue and full text archive of this journal is available at
www.emeraldinsight.com/0264-4401.htm
FPGA-based hardware
implementation of arctangent
and arccosine functions for the
inverse kinematics of robot
manipulator
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
Ying-Shieh Kung
Inverse
kinematics
of robot
manipulator
1679
Received 20 November 2012
Revised 26 February 2013
Accepted 10 March 2013
Department of Electrical Engineering,
Southern Taiwan University of Science and Technology, Tainan, Taiwan
Ming-Kuang Wu
Department of Mechanical Engineering,
Southern Taiwan University of Science and Technology, Tainan, Taiwan
Hai Linh Bui Thi and Tz-Han Jung
Department of Electrical Engineering,
Southern Taiwan University of Science and Technology, Tainan, Taiwan, and
Feng-Chi Lee and Wen-Chuan Chen
Mechanical and System Research Laboratories,
Industrial Technology Research Institute, Hsinchu, Taiwan
Abstract
Purpose – The inverse kinematics in robot manipulator have to handle the arctangent and arccosine
function. However, the two functions are complicated and need much computation time so that it is
difficult to be realized in the typical processing system. The purpose of this paper is to solve this
problem by using Field Programmable Gate Array (FPGA) to speed up the computation power.
Design/methodology/approach – The Taylor series expansion method is firstly applied to transfer
arctangent and arccosine function to a polynomial form. And Look-Up Table (LUT) is used to store the
parameters of the polynomial form. Then the behavior of the computation algorithm is described by
Very high-speed IC Hardware Description Language (VHDL) and a co-simulation using ModelSim and
Simulink is applied to evaluate the correctness of the VHDL code.
Findings – The computation time of arctangent and arccosine function using by FPGA need only 320
and 420 ns, respectively, and the accuracy is o0.011.
Practical implications – Fast computation in arctangent and arccosine function can speed up the
motion response of the real robot system when it needs to perform the inverse kinematics function.
Originality/value – This is the first time such to combine the Taylor series method and LUT method
in the computation the arctangent and arccosine function as well as to implement it with FPGA.
Keywords FPGA, Arccosine function, Arctangent function, ModelSim/Simulink simulation, VHDL
Paper type Research paper
1. Introduction
When robot manipulator performs a motion control, it needs to calculate a complicated
algorithm of kinematics/inverse kinematics ( Jon, 2004), especially in the computation
The financial support provided by Industrial Technology Research Institute (ITRI) is gratefully
acknowledged.
Engineering Computations:
International Journal for
Computer-Aided Engineering and
Software
Vol. 31 No. 8, 2014
pp. 1679-1690
r Emerald Group Publishing Limited
0264-4401
DOI 10.1108/EC-11-2012-0290
EC
31,8
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
1680
of the arctangent function (Rajan et al., 2006; Ukil et al., 2011) and the arccosine
function, which consumes much CPU time and certainly slows down the motion speed
of robot manipulator. To solve this problem, two key factors need to be considered
which one is fast computation and the other is the accurate computation. Field
Programmable Gate Array (FPGA) with programmable hard-wired feature, fast
computation ability, shorter design cycle, embedding processor, low power
consumption and higher density, has been widely applied to the industrial controller
(Czeslaw and Jacek, 2010; Kung et al., 2009; Monmasson et al., 2011) and provided a
possible solution in this issue (Kung et al., 2007). Therefore, in this paper, Taylor series
expansions about the arctangent and arccosine functions are first derived, and Very
high-speed IC Hardware Description Language (VHDL) will be adopted to describe the
circuit behavior. The design of VHDL code will apply the parameterized function to
increase the code flexible and the Finite state machine (FSM) is used to reduce the
hardware resource usage.
Recently, a co-simulation work by Electronic Design Automation (EDA) Simulator
Link has been gradually applied to verify the effectiveness of the Verilog and VHDL
code in the motor drive system (Kung et al., 2011; Ĺazaro et al., 2006; Li et al., 2010). The
EDA Simulator Link (Mathwork, 2004) provides a co-simulation interface between
MATLAB or Simulink and HDL simulators-ModelSim (Modeltech, 2004). Using it you
can verify a VHDL, Verilog, or mixed-language implementation against your Simulink
model or MATLAB algorithm. Therefore, EDA Simulator Link lets you use MATLAB
code and Simulink models as a test bench that generates stimulus for an HDL
simulation and analyzes the simulation’s response. In this paper, a co-simulation by
EDA Simulator Link is applied to evaluate the arctangent and arccosine functions. The
input values are generated by Simulink and the arctangent and arccosine functions
described by VHDL code is executed in ModelSim. In addition, the output values
computed from ModelSim will compare the outputs from MATLAB to evaluate its
correctness and effectiveness.
2. Formulation of arctangent and arccosine using Taylor series expansion
Taylor series expansion with a specific value x0 can be represented by the following
formulation:
f 00 ðx0 Þ
f ð3Þ ðx0 Þ
ðx x0 Þ2 þ
ðx x0 Þ3
2!
3!
f ð4Þ ðx0 Þ
f ð5Þ ðx0 Þ
ðx x0 Þ4 þ
ðx x0 Þ5 þ :::::
þ
4!
5!
f ðxÞ ¼ f ðx0 Þ þ f 0 ðx0 Þðx x0 Þ þ
ð1Þ
A. Computation of arctangent function using Taylor series expansion method
The equation of arctangent function is shown as follows:
y ¼ a tan 2ðy=xÞ
ð2Þ
And the inputs are x and y, and the output is y. There are two steps to evaluate the
arctangent function.
First step: it is to compute the y1 ¼ tan1 ðxÞ value which the range of input value is
1pxp0 (or the output value is 451py1p01), as shown in Figure 1(a). Further, Taylor
series expansion is applied to compute the function of y1 ¼ f ðxÞ ¼ tan1 ðxÞ, which the
polynomial equation is expanded to the fourth-order term within the vicinity of x0 and
it is expressed as follows:
f ðxÞ ffi a0 þ a1 ðx x0 Þ þ a2 ðx x0 Þ2 þ a3 ðx x0 Þ3
ð3Þ
1681
with:
1
a0 ¼ f ðx0 Þ ¼ tan ðx0 Þ
a2 ¼ f 00 ðx0 Þ ¼
a3 ¼ f ð3Þ ðx0 Þ ¼
ð4Þ
1
1 þ x20
a1 ¼ f 0 ðx0 Þ ¼
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
Inverse
kinematics
of robot
manipulator
ð5Þ
2x0
ð6Þ
ð1 þ x20 Þ2
2 þ 6x20
ð7Þ
ð1 þ x20 Þ3
Second step: after completing the computation of tan1(x), we can expand it to compute
y ¼ a tan2(y/x) with the output values are ranged from 1801py1p1801, as shown
in Figure 1(b).
In Region I:
y
ð8Þ
xx ¼ ; y1 ¼ tan1 ðxxÞ; y ¼ y1
x
In Region II:
x
xx ¼ ;
y
y1 ¼ tan1 ðxxÞ;
y ¼ 90 y1
ð9Þ
In Region III:
xx ¼
(a)
x
;
y
y1 ¼ tan1 ðxxÞ;
y ¼ 90 þ y1
(b)
y
ð10Þ
y
III
II
I
IV
0° 45°
x
x
VIII
V
VI
VII
Figure 1.
Computing range
regarding as (a) the
tan1(x) and
(b) y ¼ a tan2(y/x)
EC
31,8
In Region IV:
xx ¼
y
;
x
y1 ¼ tan1 ðxxÞ;
y ¼ 180 y1
ð11Þ
In Region V:
1682
xx ¼
y
;
x
y1 ¼ tan1 ðxxÞ;
y ¼ 180 þ y1
ð12Þ
xx ¼
x
;
y
y1 ¼ tan1 ðxxÞ;
y ¼ 90 y1
ð13Þ
xx ¼
x
;
y
y1 ¼ tan1 ðxxÞ;
y ¼ 90 þ y1
ð14Þ
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
In Region VI:
In Region VII:
In Region VIII:
xx ¼
y
;
x
y1 ¼ tan1 ðxxÞ;
y ¼ y1
ð15Þ
In case of x ¼ 0:
if y40 then y ¼ 90
ð16Þ
if yo0 then y ¼ 90
ð17Þ
if y ¼ 0 then y ¼ 0
ð18Þ
B. Computation of arccosine function using Taylor series expansion method
To compute the:
y ¼ cos1 ðxÞ
ð19Þ
with input value of x being between 0 and 1, the output value being 0-1801. Due to the y
near 0, the parameters in Taylor series expansion of cos1(x) will approach to infinite;
therefore, we separate two regions to compute the y which is shown in Figure 2. The
computation is presented as follows:
pffiffiffiffiffiffiffiffiffiffiffiffiffi
In Region I: evaluate y ¼ 1 x2 first, then compute y ¼ sin1( y).
In Region II: directly compute the y ¼ cos1(x).
While applying Taylor series expansion to compute y ¼ f(x) ¼ cos1(x), the polynomial
equation is expanded to the fourth-order term within the vicinity of x0, and it is
expressed as follows:
f ðxÞ ffi b0 þ b1 ðx x0 Þ þ b2 ðx x0 Þ2 þ b3 ðx x0 Þ3
ð20Þ
b0 ¼ f ðx0 Þ ¼ cos1 ðx0 Þ
ð21Þ
1683
with:
1
b1 ¼ f 0 ðx0 Þ ¼ ð1 x20 Þ2
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
Inverse
kinematics
of robot
manipulator
3
b2 ¼ f 00 ðx0 Þ ¼ x0 ð1 x20 Þ2 =2
5
b3 ¼ f ð3Þ ðx0 Þ ¼ ð1 x20 Þ2 ð1 4x20 Þ=6
ð22Þ
ð23Þ
ð24Þ
While applying Taylor series expansion to compute y ¼ f(x) ¼ sin1(x), the polynomial
equation is expanded to the fourth-order term within the vicinity of x0, and it is
expressed as follows:
f ðxÞ ffi c0 þ c1 ðx x0 Þ þ c2 ðx x0 Þ2 þ c3 ðx x0 Þ3
ð25Þ
c0 ¼ f ðx0 Þ ¼ sin1 ðx0 Þ
ð26Þ
with:
1
c1 ¼ f 0 ðx0 Þ ¼ ð1 x20 Þ2
ð27Þ
3
c2 ¼ f 00 ðx0 Þ ¼ x0 ð1 x20 Þ2 =2
5
c3 ¼ f ð3Þ ðx0 Þ ¼ ð1 x20 Þ2 ð1 þ 2x20 Þ=6
y
ð28Þ
ð29Þ
= cos–1 (x )
II
45°90°
= sin–1( 1 – x 2 )
I
0°45°
x
Figure 2.
Computing range
of y ¼ cos1(x)
EC
31,8
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
1684
3. Hardware implementation of arctangent and arccosine function
The diagrams of hardware implementation for arctangent and arccosine functions
are shown in Figures 3 and 5, respectively. In Figure 3, the inputs and output are,
respectively, designed with 32-bit Q15 format and 16-bit Q15 format. It consists of one
main circuit with FSM architecture and two components for computing the function
of divider and tan1(x). The FSM in main circuit generates sequential signals and
step-by-steps computing the overall procedure of arctangent function which is
described in Section 2.A. Additionally, the main circuit also performs the function of
region identification and radius to degree transformation of y. The component
of divider is 32-bit Q15 format and 2s complement operation, and its output is 16-bit
Q15 format. The input and output values in component of tan1(x) belong to 16-bit Q15
format. The FSM is employed to model the computation of tan1(x) and it is shown
in Figure 4 which use two multipliers and one adder in the design. The multiplier and
adder apply Altera Library Parameterized Modules (LPM) standard. In Figure 4, it
manipulates seven steps machine to carry out the overall computations of tan1(x). The
steps s0Bs1 execute to look-up five tables and s2Bs6 perform the computation of
polynomial in (3). Further, in Figure 3, it takes 16 steps to complete the computation of
a tan2(y/x) function. The operation of each step is 20 ns (50 MHz) in FPGA; therefore
total 16 steps only need 320 ns operation times. The FPGA (Altera Cyclone II EP2C70)
S0
X
32
Y
32
S15
S14
A
32
B
32
FSM
Q
S2
x
tan-1x
16
16
(0° 45°)
S3
Figure 3.
Hardware implementation
diagram for a tan2(y/x)
function
16
divider
S1
(radius)
S4
16
Main circuit
(degree)
= tan–1(x) ≅ a0 + a1 (x – x0) + a2 (x – x0)2 + a3 (x – x0)3
addr =
x (14..11)
x
LUT
(x0)
LUT
(a1)
–
+
dx
mult_r1(30..15)
saa1
x0
x
S0
a0
LUT
(a2)
a2
S1
+
a0
LUT
(a0)
LUT
(a3)
saa2
a1
dx
Figure 4.
FSM for computing
the tan1(x) function
+
a2
x
sita
x
mult_r1(30..15)
dx2
dx3
dx
x
x
dx
mult_r1(30..15)
a3
a3
S2
+
S3
S4
S5
S6
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
resource usage in Figure 3 needs 4,161 Logic Elements (Les), 1,280-RAM bits and six
embedded multipliers (nine bits).
With the similar design, the implementation of the arccosine function is shown
in Figure 5 which consists of one main circuit with FSM and three components by
cos1(x), sin1(x), and a square root. The input and output are designed with 16-bit Q15
format. The FSM in main circuit generates sequential signals and step-by-step
computes the overall procedure of arccossine function which is described in Section
2.B. The FSM is employed to model the computation of cos1(x) and shown in Figure 6
which use two multipliers and one adder in the design. In Figure 6, it manipulates
seven steps machine to carry out the overall computations of cos1(x). The steps s0Bs1
execute to look-up five tables and s2Bs6 perform the computation of polynomial in
(20). Further, in Figure 5, it takes 21 steps to complete the computation of arccosine
function. The operation of each step is 20 ns (50 MHz) in FPGA; therefore total 21 steps
only need 420 ns operation times. The FPGA (Altera Cyclone II EP2C70) resource
usage in Figure 5 needs 584 LEs (Logic Elements), 45,056-RAM bits and 14 embedded
multipliers (nine bits).
x
X
S1
(radius)
x
16
16
sin–1x
16
S2
FSM
S19
(45°90°)
S20
1685
16
cos–1x
16
S0
Inverse
kinematics
of robot
manipulator
(0°45°)
(radius)
S3
y
16
16
y
S4
sry
16
Main circuit
Figure 5.
Hardware implementation
diagram for arccosine
function
(degree)
= cos–1(x) ≅ b0 + b1(x – x0) + b2(x – x0)2 + b3(x – x0)3
x
addr =
x (14..8)
LUT
(xc0)
LUT
(b1)
–
+
dx
xc0
mult_r1(30..15)
b0
LUT
(b2)
b2
S1
saa2
+
b0
dx
S0
saa1
b1
LUT
(b0)
LUT
(b3)
+
x
b2
x
dx
sita
mult_r1(30..15)
dx3
dx
x
x
dx
mult_r1(30..15)
b3
b3
S2
+
x
2
S3
Note: The range is from 45° to 90°
S4
S5
S6
Figure 6.
FSM for computing
the cos1(x) function
EC
31,8
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
1686
4. Co-simulation using ModelSim and Simulink and its simulation results
The co-simulation architectures for arctangent function and for arccosine function are
shown in Figures 7 and 8, respectively. In Figure 7, the work in ModelSim executes
the arctangent function which circuit is designed in Figure 3. In addition, the work in
ModelSim in Figure 8 performs the arccosine function which circuit is described in
Figure 5. The input values to ModelSim are provided from Simulink and output
responses are also displayed to Simulink. To confirm the correctness, an embedded
MATLAB function for computing the arctangent function in Figure 7 and arccosine
function in Figure 8 is considered. Under the co-simulation of ModelSim and Simulink
architecture in Figures 7 and 8, the simulation results for specific input are shown as
follows.
Evaluate the arctangent function in Figure 7:
.
the input values are X ¼ 1,234.123 and Y ¼ 21.456;
.
the y computed from ModelSim is 179.00781251;
.
the y computed from MATLAB is 179.003977393031; and
.
the error is about 0.0038351071.
Evaluate the arccosine function in Figure 8:
.
the input values are X ¼ 0.234;
.
the y computed from ModelSim is 103.53906251;
.
the y computed from MATLAB is 103.532683536831; and
.
the error is about 0.0063789631.
Further, more data are tested and the results are listed in Tables I and II. In Table I,
the evaluation results for arctangent function show that the y derived from
ModelSim and MATLAB give the error with o0.011 under designed test data.
Similarity, the evaluation results for arccosine function in Table II shows that the
error of y is o0.0351 while y is approach to 01 or 1801, but others, the error
is only o0.011 (about 0.000174 rad). Therefore, from the simulation results
in Figures 7 and 8 and Tables I and II, it demonstrates that the proposed hardware
implementation for arctangent and arccosine functions is effectiveness and
correctness.
5. Conclusion
This paper successfully demonstrates the hardware implementation of arctangent and
arccosine functions for the inverse kinematics of robot manipulator. The conclusions
are summarized as follows:
(1)
Based on co-simulation of ModelSim and SimuLink, it shows that the
computation time only needs 320 ns for arctangent function and 420 ns for
arccosine function, as well as the accuracy compared with MATLAB are
o0.011 (about 0.000174 rad) for both in arctangent function and most region
of arccosine function. In addition, the FPGA resource usage is 4,161 LEs and
1,280-RAM bits for arctangent function and 584 LEs and 45,056-RAM bits for
arccosine function.
–21.456
Constant2
–1234.123
Constant1
X1
Convert
HDL Cosimulation
sita32
KGain1
fcn
sita
sita_degree
Embedded
MATLAB Function
X
Y
Display5
Theta
Display3
Subtract2
–
+
bin 1010 0110 0111 1111
(SI) bin 1111 1101 1001 0110 1111 0000 0100 0001
Y1
Convert
ModelSim.
Display2
(SI) bin 1111 1111 1111 0101 0100 0101 1010 0001
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
error (degree)
0.0038351069675855
sita1 (radius)
–3.1242087796739
sita1 (degree)
–179.00397739303
sita (degree)
–179.0078125
Inverse
kinematics
of robot
manipulator
1687
Figure 7.
ModelSim/Simulink
co-simulation architecture
of arctangent function
–1 ~ 0.99997
–0.234
Figure 8.
ModelSim/Simulink
co-simulation architecture
of arccosine function
Convert
u
xx
Embedded
MATLAB Function
y1
sita
Gain1
KTheta
Subtract
+
–
Display3
103.53268353683
error (degree)
–0.0063789631707181
sita (degree)
103.5390625
sita1 (degree)
bin 0011 0011 1100 0101
1688
fcn
HDL Cosimulation
ModelSim.
Display2
(SI) bin 1110 0010 0000 1100
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
EC
31,8
(2)
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
(3)
The comparison of the proposed method with the related referred papers is
presented as follows. In the time consumption aspect of computing the
arctangent function, the proposed method spends only 320 ns, but it needs
35 ms in referred paper (Ukil et al., 2011) and 75 ms in another referred paper
(Rajan et al., 2006). In the accuracy aspect of computing the arctangent
function, the proposed method is o0.000174 rad, but those are 0.0000242 rad in
referred paper (Ukil et al., 2011) and 0.0015 rad in another referred paper (Rajan
et al., 2006).
Inverse
kinematics
of robot
manipulator
1689
If the robot manipulator adopts the proposed method to compute the
arctangent and arcosine functions, the computation of inverse kinematics can
be greatly speeded up. For the example of the six-axis articulated robot
manipulator, the computation time to implement the inverse kinematics in
hardware is o10 ms, but the same formulas which are implemented by Nios II
processor in software need about 5-10 ms. Therefore, the computation
efficiency increases 500-1,000 times which make the real time control of robot
manipulator in trajectory tracking motion is possible.
X (mm)
412.34
23.54
123.54
412.34
1,234.67
0.234
880.514
890.234
Y (mm)
y from ModelSim
(degree)
y from MATLAB
(degree)
Error
(degree)
23.54
412.34
412.34
123.54
0.234
1234.67
890.234
880.514
3.2578125
86.7421875
106.671875
163.328125
179.992187
90.007812
45.320313
44.679687
3.267400
86.732598
106.678590
163.32141
179.989141
90.01086
45.314505
44.685494
0.009588
0.009588
0.006715
0.006715
0.003046
0.003046
0.005807
0.005807
X (mm)
y from ModelSim
(degree)
y from MATLAB
(degree)
Error
(degree)
0.9995
0.995
0.912
0.650
0.300
0.010
0.001
0.120
0.420
0.850
0.995
0.9995
1.843750
5.734375
24.218750
49.453125
72.539096
89.421850
90.062500
96.898437
114.843750
148.218750
147.289000
178.210937
1.811927
5.731967
24.216783
49.459398
72.542396
89.427032
90.057295
96.8912010
114.834587
148.211669
147.268000
178.188072
0.031822
0.002407
0.001966
0.005273
0.003343
0.005158
0.005204
0.006334
0.009162
0.007080
0.021030
0.022864
Table I.
The evaluation results
for arctangent function
based on Figure 7
Table II.
The evaluation results
for arccosine function
based on Figure 8
EC
31,8
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
1690
References
Czeslaw, T.K. and Jacek, D.L. (2010), “Speed sensorless DTC control of the induction motor using
FPGA implementation”, COMPEL: The International Journal for Computation and
Mathematics in Electrical and Electronic Engineering, Vol. 29 No. 1, pp. 109-125.
Jon, R. (2004), “On advances in robot kinematics”, Industrial Robot: An International Journal,
Vol. 31 No. 5, pp. 459-460.
Kung, Y.S., Fung, R.F. and Tai, T.Y. (2009), “Realization of a motion control IC for X-Y table based
on novel FPGA technology”, IEEE Transactions on Industrial Electronics., Vol. 56 No. 1,
pp. 43-53.
Kung, Y.S., Wang, M.S. and Chen, C.S. (2007), “FPGA realization of inverse kinematics for
articulated robot arm”, Proceeding of the Ninth International Conference on Automation
Technology, Taipei, 13-15 June.
Kung, Y.S., Nguyen, V.Q., Huang, C.C. and Huang, L.C. (2011), “Simulink/ModelSim co-simulation
of sensorless PMSM speed controller”, Proceeding of the IEEE Symposium on Industrial
Electronics and Applications, pp. 24-29.
Ĺazaro, J., Astarloa, A., Arias, J., Bidarte, U. and Zuloaga, A. (2006), “Simulink/Modelsim
simulable VHDL PID core for industrial SoPC multiaxis controllers”, Proceeding of the
IEEE Industrial Electronics 32nd Annual Conference, pp. 3007-3011.
Li, Y., Huo, J., Li, X., Wen, J., Wang, Y. and Shan, B. (2010), “An open-loop sin microstepping
driver based on FPGA and the Co-simulation of Modelsim and Simulink”, Proceeding of
the International Conference on Computer, Mechatronics, Control and Electronic
Engineering, pp. 223-227.
Mathworks (2004), Matlab/Simulink Users Guide, Application Program Interface Guide (2004),
Mathworks, Natick, Massachussett, MA.
Modeltech (2004), ModelSim Reference Manual, Modeltech, San Jose, CA.
Monmasson, E., Idkhajine, L., Cirstea, M.N., Bahri, I., Tisan, A. and Naouar, M.W. (2011), “FPGAs
in industrial control applications”, IEEE Transactions on Industrial Informatics, Vol. 7
No. 2, pp. 224-243.
Rajan, S., Wang, S., Inkol, R. and Joyal, A. (2006), “Efficient approximations for the arctangent
function”, IEEE Signal Processing Magazine, Vol. 23 No. 3, pp. 108-111.
Ukil, A., Shah, V.H. and Deck, B. (2011), “Fast Computation of arctangent functions for embedded
applications: a comparative analysis”, Proceeding of IEEE International Symposium of the
Industrial Electronics, pp. 1206-1211.
Corresponding author
Professor Ying-Shieh Kung can be contacted at: kung@mail.stust.edu.tw
To purchase reprints of this article please e-mail: reprints@emeraldinsight.com
Or visit our web site for further details: www.emeraldinsight.com/reprints
This article has been cited by:
Downloaded by University of Cincinnati At 19:15 22 May 2016 (PT)
1. Ying-Shieh Kung, Nguyen Phan Thanh, Ming-Shyng Wang. 2015. Design and simulation of a sensorless
permanent magnet synchronous motor drive with microprocessor-based PI controller and dedicated
hardware EKF estimator. Applied Mathematical Modelling 39:19, 5816-5827. [CrossRef]
Download