1) The document describes the development of an intuitive embedded teaching system for multi-jointed robots. The system includes a smaller scaled teaching robot that replaces robot joints with potentiometers.
2) An embedded electrical control system receives voltage signals from the teaching robot and transforms them into position commands to move each joint of the real robot. All position commands are recorded on the main control board.
3) The operator can intuitively teach trajectories by dragging the teaching robot without requiring expertise in coordinate transformations. The system provides a simpler alternative to traditional teaching methods.
2. Generally, the dealing robot platform uses the same robot force of each joint is large enough to keep the teaching
type as the semiconductor industry, most of which are robot in the desired position. Compared to a real jointed
jointed robots. By rotating its waist, shoulder, elbow and robot, the teaching robot is moved easily by dragging.
wrist, this robot achieves dexterous motion. Because each Analogue teaching commands are transferred via voltage
joint has a high gear ratio design, the teaching motion changes from the potentiometers at each joint and drive
trajectory by dragging a real jointed robot is difficult. the motion of the real robot’s joints.
Using a teaching panel or space coordinate input to plan
the motion trajectory is the most popular teaching 2.2 Electrical control system design
method [12], however, these methods are not sufficiently
intuitive; that is, an operator must have some The design of the electrical control system for the
professional knowledge. Developing an intuitive teaching proposed teaching system consists mainly of a DC servo
system that benefits trajectory planning of jointed robots control card, a control motherboard, a teaching program
is the primary goal of this work. design and a control program for each servo control card.
2. Architecture of the proposed jointed 2.2.1 DC servo control card design
robot teaching system
To preserve extension flexibility, each joint is driven by
2.1 Teaching robot design one servo control card. Each servo control card receives a
pulse‐width command to complete the position loop
Figure 1 shows a schematic diagram of a real jointed control, as does a radio control (RC) servo motor [13]. The
robot. As described, each joint has a high gear ratio and is pulse width is proportional to the rotation angle and the
difficult to move by dragging. Therefore, this work ratio is adjustable depending on each joint’s rotation
designed a smaller teaching robot in scale to the real range. Also, a tuned proportional–integral–derivative
robot, with each joint replaced by a potentiometer. Figure (PID) controller is implemented in the position loop to
2 shows the schematic diagram of the teaching robot. All guarantee that the system has acceptable steady state
components of the teaching robot are made of light‐ error. Figure 3 shows a functional block diagram of the
weight materials, such as acrylic or wood, and the friction joint control card is shown as Fig. 3. The necessary
peripheral interfaces, the control kernel, power MOSFET,
current sensor and encoder counting circuit are
integrated into the servo control card.
D PO ER
C W
M RCN O
IC O O TR LER
PO ERM SFET
W O
2 4 6
1 3
Pulse width O TPU
U T
com and
m CN O R
O TR LLE P M
W
LO KO T
C U
D IV R
R E
DC
C C IT
IR U M TO
O R
8
7 CRET
URN
S 5S R
A/D
E O
N
11 9
10 PH SEA
A
C U TE
ON R D E TIO
IR C N PO
H TO
C C IT
IR U C C IT
IR U PH SEB
A ECDR
NOE
Figure 3. Schematic diagram of the dc servo control card
Figure 1. Schematic diagram of real jointed robot
2.2.2 Mother control board design
When in teaching mode, the control motherboard
receives voltage signals from the teaching robot and then
sends the related trajectory command to the DC servo
control card. The real robot and teaching robot execute
nearly the same motion. The operator moves the teaching
robot and observes the real robot’s motion to decide
whether to continue dragging the teaching robot. All
trajectory commands are recorded in memory and can be
recalled to repeat a teaching action. Figure 4 shows the
functional block diagram of the control motherboard.
Figure 2. Schematic diagram of teaching robot
2 Int J Adv Robotic Sy, 2012, Vol. 9, 34:2012 www.intechopen.com
3. The mode indicator displays the operational mode, which The dsPIC, a microcontroller produced by Microchip
includes a follow mode, demo mode and teaching mode. Company, sends out the pulse‐width command and the
This work focuses on teaching mode. A 7‐segment switch signals control the pulse‐width command, leading
displayer shows the run time, indicating execution time for it to the desired channel.
a teaching cycle. The pulse‐width command block sends
the PWM signals to the DC servo control card in sequence. Pulse width command
Dc servo card 1
The kernel of the control motherboard is dsPIC30F6014A
[14]. Other functions occur, including writing teaching Dc servo card 2
signals to the extension memory 25AA1024 [15], reading
Switch signals Dc servo card 3
the potentiometer signals and transforming them into
positional commands, detecting the push buttons to switch Dc servo card 4
operational modes, receiving feedback signals coming
Dc servo card 5
from the DC servo control card in response to related
actions, such as home position operation and deciding Figure 5. Schematic diagram of the pulse width command
whether the position loop control is finished. The major generation
functional blocks are described as follows:
2.2.4 EEPROM memory expansion
Pulse width
Mode Indicator 7-segment display command to servo
control card To record teaching signals in real time, a serial peripheral
interface (SPI) bus serial EEPROM 25AA1024 is used.
This chip is accessed via a simple serial peripheral
interface‐compatible serial bus with 20 MHz as its
Potentiometer
EEPROM CPU
signals come from
maximum clock speed. Figure 7 shows its interface circuit.
(25AA1024) dsPIC30F6014A
teaching robot Based on the serial input/output timing of the datasheet
and formatted instruction set, the control kernel,
dsPIC30F6014A, can write data in, or read data out of, the
memory chip.
Feedback signals
Push button come from servo
control card
Figure 4. Schematic diagram of the mother control board
2.2.3 Pulse‐width command to the DC servo control card
A novel five‐joint robot teaching system was developed.
Each joint is controlled by a DC servo control card. As
described, the servo card receives the pulse‐width
command. For more axes joint robot systems, generating
synchronous PWM signals [13] generates smoother
motion, but has higher start current from the power Figure 7. Memory expansion circuit
supply. To reduce the normal rated power, the
motherboard sends a sequential pulse‐width command to 2.2.5 Potentiometer signals measurements
the DC servo control cards. Figure 5 shows the sequential
pulse‐width commands and Fig. 6 shows the schematic 5V
dsPIC 3010
diagram of the pulse‐width command generation. A N0
5V
A N1
5V
A N2
5V
A/D
A N3
5V
A N4
Figure 5. Sequential pulse width command Figure 8. Schematic diagram of potentiometer signals measurements
www.intechopen.com Chin-Pao Hung and Wei-Ging Liu: 3
Intuitive Embedded Teaching System Design for Multi-Jointed Robots
4. The control kernel dsPIC3010 has built‐in 10‐bit high‐ Read Start Write Start
speed analogue to digital (A/D) channels and easily reads
the voltage signals from the potentiometers circuit. Figure Initialization Initialization
8 shows the schematic diagram of potentiometer signals
measurements circuit. Set CS pin as HIGH Set CS pin as HIGH
3. Programming of the teaching system
CS pin High to Low CS pin High to Low
The program design includes two parts, the mother control
SCK send out a clock and SCK send out a clock and
board program and the dc servo control card program. SI send out one bit data SI send out one bit data
YES
3.1 Mother control board program 8 bit instruction
NO
8 bit instruction NO
transmit finished? transmit finished?
The control motherboard has three operational modes: YES
follow mode, demo mode and teaching mode. In follow SCK send out a clock and SCK send out a clock and
SI send out 24 bit address SI send out 24 bit address
mode, the real robot mimics the motion of the teaching
robot. Demo mode executes some special motions, such as NO NO
24 bit address transmit 24 bit address transmit
dealing. Figure 9 shows the flowchart of the teaching mode. finished? finished?
YES YES
Teaching signals coming from the potentiometers must be
SCK send out clock and SI
recorded in the non‐volatile memory 25AA1024 in real SO pin read in 8-bit data
send out 8-bit data
time (Fig. 9). To illustrate the read/write timing of the
NO
datasheet [15], Fig. 10 shows the read and write 8 bit data recesive 8 bit data transmit NO
finished? finished?
flowcharts. Notably, 25AA1024 has is only 1 Mbits of
YES
YES
memory. Its recordable teaching time is related to the
CS pin Low to High CS pin Low to High
sampling time. Small sample times will generate high
Teaching mode END END
start
Figure 10. 25AA1024 EEPROM read/write flowchart
A/D initialization Buffer memory clear
trajectory resolution. Each sample requires 10 bytes of
EEPROM Stop A/D conversion
memory for each 5 of joint movement. Each command
initialization
occupies 2 bytes of memory for each joint. If 50ms is
Set EEPROM as read only
taken as sampling time, 25AA1024 it can record roughly
Buffer memory clear
mode 625 seconds of path planning; longer path learning is
easily completed by expanding the memory.
Read the A/D signals Read A/D signals
and transform as pulse
width command 3.2 Program design of the DC servo control card
transform A/D signals
as pulse width
Send pulse width
command The DC servo control card receives a pulse‐width
command to each joint
Send pulse width
command and then executes the closed‐loop servo control
Record the A/D command to each joint (Fig. 3). By using PIC18f8720 [16] as the control kernel of
signals to EEPROM
Display the running
the DC servo control card, PIC18f8720 needs peripheral
Display the recorded time initialization, including interrupt mode, capture mode,
time
yes PWM mode and the necessary input/output (I/O) pins.
yes
Running cycle Figure 11 shows the program flowchart of the DC servo
Memory full finished?
no control card. After initialization, the kernel runs the main
no control loop, the shaded yellow area (Fig. 11). The main
yes
Stop record and return to
no
control loop runs with 1 ms control cycles and the
Run recorded
command
mode selection
controller is PID type. Notably, the position loop control is
yes
no similar to that of RC servo motor control. A special pulse‐
no
width command corresponds to a motor position. Each
Stop record and return to
mode selection
servo control card receives a pulse‐width command and
yes
calculates the pulse width via the capture module, and
then completes the corresponding position loop control.
Table 1 lists the relationship between the pulse‐ width
Return to mode selection
range and joint position (Fig.1) of each joint. In this work,
Figure 9. Flowchart of teaching mode program 0° indicates that the robot remains in the home position.
4 Int J Adv Robotic Sy, 2012, Vol. 9, 34:2012 www.intechopen.com
5. 4. Experimental results and discussion
4.1 Experimental setup
Figure 12 shows the schematic diagram the proposed Real robot
teaching system, integrating the motherboard, DC servo
cards, teaching robot and real robot. Figure 13 shows the
experimental system.
Interrupt Teaching
Start start robot
Servo
Initialization Setup timer
card
Setup interrupt Clear Mother
function interrupt board
flag
Setup Timer/CCP
Figure 13. Photo of developed teaching system
End
NO Pulse width command 4.2 Teaching mode operation
input
YES
NO
Interrupt wait
YES
Read position
feedback signal
Error caculation
Control signal
caculation
Soft saturation
limitation
Output control signal
YES Send OK signal to Figure 14. Schematic of teaching mode for jointed robot
Error is zero? mother control board
and setup interrupt flag
No The operator drags the teaching robot to teach/plan the
Setup interrupt flag motion of the real robot. When the operator drags robot
movements, the real robot follows the teaching robot.
After observing the real robot’s movement, the trajectory
Figure 11. Program flowchart of dc servo control card
teaching/plan can be completed intuitively, almost
without professional knowledge.
To demonstrate the feasibility of the proposed teaching
system, a five‐degree freedom jointed robot is designed
as a dealing robot. The teaching and repeating process
video can be downloaded or viewed at
http://mech.em.ncut.edu.tw/BBS/read.php?tid=1455.
M her
ot Figures 15 (a)~(h) and 16 (a)~(h) show some frames in
boar d
Teaching robot
sequence; Fig. 15 shows the teaching process and Fig. 16
D ser vo
c
shows the repeating process after the teaching mode
cont rol card operation.
( 5 axes)
Real robot All frames in Fig. 15 are captured from the teaching mode
Figure 12. Schematic diagram of the developed teaching system video. The operator dragged the teaching robot to deal.
www.intechopen.com Chin-Pao Hung and Wei-Ging Liu: 5
Intuitive Embedded Teaching System Design for Multi-Jointed Robots
6.
(a) (b) (a) (b)
(c) (d) (c) (d)
(e) (f) (e) (f)
(g) (h) (g) (h)
Figure 15. Teaching mode operation Figure 16. Repeated operation after teaching mode
After dealing two cards, the dealing robot repeated the be accurately recorded and repeated. Sharp‐eyed viewers
teaching action. The cycle times in the captured frames of will identify some jiggling in the dealing video when the
the jointed robot’s actions are nearly identical to those in end‐effector approached a card. Modifying the recorded
teaching mode (Fig. 16). trajectory using a filter scheme will improve smoothing
out of the motion.
4.3 Discussion
Notably, although the developed teaching system is
As described, the proposed teaching system can record applied to jointed robots which belong to the revolute
625s of trajectory planning using a 50ms sampling times. coordinates type of robots, since the revolute coordinates
Therefore, the teaching system can execute complex type of robots is the most complicated system, it can
motion teaching. However, this system is unsuited to easily be applied to other types of robots, such as
application requiring highly precise motion. During the Cartesian coordinates, cylindrical coordinates and
teaching process, shaking or jiggling by an operator will spherical coordinates types of robots.
6 Int J Adv Robotic Sy, 2012, Vol. 9, 34:2012 www.intechopen.com
7. 5. Conclusion [5] Kenji KANEKO, Kensuke HARADA, Fumio
KANEHIRO, Go MIYAMORI, and Kazuhiko
A novel teaching system for jointed robot was developed AKACHI,” Humanoid robot HRP‐3”, IEEE/RSJ Inter.
in this work. The test used PIC microcontroller as the Conf. on Intelligent Robots and Systems, Nice,
control kernel and integrated the peripheral interface, DC France,2008.
servo control cards, control motherboard, teaching robot [6] M. Friedrich, S. Alexander and B. Luc, “Passive
and the real jointed robot. On the teaching mode test, the compliance for a RC servo‐controlled bouncing
experimental results demonstrate the feasibility of the robot”, Advanced Robotics, vol. 20, no. 8, pp. 953‐961,
proposed teaching system. The user can easily achieve 2006.
trajectory planning using intuitive, simple and low‐cost [7] J. Yamaguchi, A. Takanishi, I. Kato, “Development of
technology. Improving precise motion teaching and a biped walking robot compensating for three‐axis
filtering technology to smooth the trajectory is a goal we moment by trunk motion”, Proc. of IEEE International
are currently pursuing. Conference on Intelligent Robots and Systems, pp.561‐
566,1993.
6. Acknowledgments [8] I. Yamagucbi, E. Soga, S. Inoue, A. Takanishi,
“Development of a bipedal humanoid robot control
The authors gratefully acknowledge the support of Chin‐ method of whole body cooperative dynamic biped
Yi University of Technology, Taiwan, R.O.C., under grant walking”, Proc. of IEEE International Conference on
No. NCUT 11‐R‐CE‐001. Robotics and Automation, pp.368‐374, 1999.
[9] M. ISHII, “A robot teaching method using Hyper
7. References Card system”, Robot and Human Communication,
pp.410‐413, 1992.
[1] K. Daeinabi and M. Teshnehlab, “Steam tracking of [10] R. Ikeura, and H. Inooka, ”Manual control approach
intelligent arc welding robot”, Proc. of the 6th WSEAS to the teaching of a robot task”, IEEE Trans. on
International conference on System Theory & Scientific Systems, Man and Cybernetics, vol. 24, no. 9, pp.1339‐
Computation,pp.161‐166,2006. 1346, 1994.
[2] M. C. Popescu, I. Borcosi, O. Olaru, L. Popescu and F. [11] K. S. Fu, R. C. Gonzalez, and C. S. G. Lee, Robotics
Grofu, “Simulation hybrid fuzzy control of SCARA control, sensing, vision, and intelligence, 1987.
robot”, Proc. of the 3th WSEAS International conference [12] Chin‐Pao Hung, Wei‐Ging Liu, Hong‐Jhe Su, Jia‐Wei
on Applied and theoretical mechanics, pp.175‐180, 2007. Chen, Bo‐Ming Chiu, ”PIC‐Based Multi‐Channel
[3] A. S. D. LOS R., M. GARDUÑO G and A. PWM Signal Generation Method and Application to
GONZÁLEZ L, “4Stell‐robot: a climbing mobile Motion Control of Six Feet Robot Toy”, International
robot for gas containers inspection”, Proc. of the 3th Journal of Circuits, Systems and Signal Processing, Issue
WSEAS/IASME International conference on Dynamical 2, vol.3,pp.73‐81,2009.
Systems and Control, pp.200‐205, 2007. [13] Microchip,“dsPIC30F6014A Datasheet Search”, 2008.
[4] J. Lenarcic and M. Stanisic, “A humanoid shoulder [14] Microchip,“25AA1024 Data sheet”, 2008.
complex and the humanoid pointing kinematics,” [15] Microchip,“PIC18F86520/8520/6620/8620/6720/8720
IEEE Trans. Robot. Autom., vol. 19, no.3, pp. 499–506, Data sheet”, 2006.
Jun. 2003.
www.intechopen.com Chin-Pao Hung and Wei-Ging Liu: 7
Intuitive Embedded Teaching System Design for Multi-Jointed Robots