Professional Documents
Culture Documents
Abstract— The emergence of waiter robotss forces humans to To keep the balanced positioon of tray, system must read tilt
develop it to be more sophisticated. One of paart which should be value of tray properly and it will
w be processed by controller.
developed is balancing system of tray that is i carried by waiter But there is problem in reaading value of accelerometer
robot, because the movement of robot can affeect tilt of tray which because it produces noise.. To solve this problem,
causes spilling of foods or drinks from the tray. This study is
complementary filter is used to reduce noise of reading the
done for make a system that can keep balanccing position of tray
that is carried by waiter robot. Tray balaancing system work accelerometer value. System allso has fast response to return
based on tilt of the tray that is detected usingg accelerometer and tray position to balanced positioon. To support it, system needs
gyroscope sensor which is filtered by comp plementary filter to a controller, and fuzzy logic iss the controller method that is
reduce noise on reading data of sensors. AfterA that, the main used.
control device which uses Arduino Uno R3 which w is programed This paper is organized as foollows: Section 2 describes the
with compiler software of Arduino (Arduin no IDE) will return basic theory that support the system which is used in this
balancing position of tray using two motor seervos that will move study; Section 3 details the design
d of the system, such as
tray on two different axes. Fuzzy logic is used as controller in this general system design, hardw ware design, software design,
system to control the direction and angle of trray movement. This
complementary filter and fuzzzy logic design; Section 4
study success to make a complementary filtter that can reduce
noise of reading sensor accelerometer an nd gyroscope with presents the experimental results,
r followed by some
coefficient filter (K) 0.8 and sampling time 100 ms. This study also concluding remarks in Section 5.5
provides balancing system of tray with baalance tolerance of
17.565o and -15.532o for x-angle (pitch) movvement and 14.613o II. BASIC
C THEORY
and -13.392o for y-angle (roll) movement.
A. Accelerometer[7]
Accelerometer is sensor that is used to measure
Keywords— Balancing tray, Waiter Robot, coomplementary
acceleration force. When thinkking about accelerometer, it is
filter, fuzzy logic, accelerometer, gyroscope
often useful to image a box inn shape of a cube with a ball
I. INTRODUCTION inside it. Figure 1 is represent of a ball on vacuum condition
(no gravitation), so that the ball just drift in the middle of the
Today, many restaurants try to present technologies on their
box.
services because new research showss that restaurant
technology plays part in dining decisions [1]. To support it,
study about various innovation technologies of restaurant
services has been widely reported. For example,
e using of
mobile robot [2], wireless call system [3], menu
m recommender
[4], self-service restaurant ordering system m [5], and waiter
robot [6].
This paper discusses about waiter robot technology
t because
someday most waiters of fast food restaurantr will be
terminated and replaced by waiter robots, which are having
Fig.1 Flying ball into a no-gravitational cube
fast service. It encourages people to developp waiter robot to be
more sophisticated. In performing its task, waiter robot must
keep balancing position of tray that is carried
c in order to Symbol on the wall of thhe cube is representing of 3
deliver food properly. But, problems will happen
h when robot dimensional axes (axes Y+ (waall Y+) is removed to show ball
body experiences changing of tilt whichh caused by many inside the cube). Imagine that each wall very sensitive with
factor like walking; ascending and descendding the ladder; or pressure. If cube is placed in gravitational
g condition, the ball
unbalanced of the position of its arm. Beecause of that, this falls down and wall Z- detects a force and acceleration of Z
paper focuses on balancing system of tray ono waiter robot. axis become to 1g. This conditioon is displayed by figure 2.
If the cube is tilted, there are more wallls that detect force
and acceleration which detected is changedd. This condition is
shown in figure 3. Fig.5 Construction of
o gyroscope sensor
C. Complementary Filter
Actually, accelerometer can already be used to measure tilt
of the object. But, when measuuring a movement object, there
is noise on value of tilt that is measured. Therefore, value of
tilt that measured by accelerom meter must be filtered by low
pass filter to reduce noise.
Fig.3 Position of ball on gravitational tiilted-cube To make smoother signal value of tilt, gyroscope can be
Figure 4 is representation of figure 3 iff it is displayed in added to this measuring becausee gyroscope can measure angle
Cartesian diagram. changes with integrating value of its angle speed and then it
will be combined with value of o accelerometer that has been
filtered. But, gyroscope has drrift effect (not coming back to
zero rate value when rotation iss stopped) when it is used for a
prolonged period. To solve thiss problem, value of gyroscope
must be filtered with high pass filter because it just used to
improve accuracy of tilt value when
w object is moving.
Complementary filter can be used to combine value of both
sensor (accelerometer and gyrosscope). The design principle of
the complementary filter is baseed on multi-sensor information
Fig.4 Cartesian diagram of acceleration that is deteccted based on figure 3 fusion technology, which is coonstituted by the accelerometer
and gyroscope [11]. Figurre 6 is representation of
Based on figure 4, Rx is value of acceleraation of X axes, Rz complementary filter diagram block [12].
is acceleration of Z axes and R is resultaant of gravitational
acceleration. Tilt angle (ao) can be measuredd with formula 1.
ோ௫
ܽ ൌ ି݊ܽݐଵ (1)
ோ௭
B. Gyroscope [9]
If complementary filter is i applied on programming
Gyroscope is one of IMU (Inertial Meassurement Unit) that language, formula 2 [12] can bee used.
is used to measure angle speed of object rotary movement.
Mechanically, a gyroscope is a spinning wheel or disc in S1 = K(S2 + ωt) + g(1-K) (2)
which the axle is free to assume any orientaation. Although this
orientation does not remain fixed, it changees in response to an With:
external torque much less and in a differennt direction than it K = Filter coefficient.
would with the large angular momentum associated
a with the t = Sampling time (basedd on sampling time of sensors).
16
IAICT 2014, Bali 28-30 August 2014
S1 = Result of complementary filter calculation. used to control speed of servos movement in restoring
S2 = Result of complementary filter calculation before. balanced position of unbalanced tray.
ω = Output angle speed of gyroscope. Flowchart on figure 9 shows general work process of
g = Output angle of accelerometer. system.
D. Fuzzy Logic
Fuzzy logic is one of artificial intelligent controller system
that is opponent with crisp logic. Crisp logic only knows two
logics, that is true or false, but in fuzzy logic, between true
and false there are values that is determined by membership
degree which has tendency level of true and false. Fuzzy logic
has 4 part of its operational that is represented on figure 7.
Fig.7 Diagram block of fuzzy logic Fig.9 Diagram block of fuzzy logic
17
IAICT 2014, Bali 28-30 August 2014
18
IAICT 2014, Bali 28-30 August 2014
(c) (d)
Fig.19 Direction of movement to (a) X+, (b) X-, (c) Y+, (d) Y-
Fig.17 Effect of filter coefficient changing with output of complementary
filter from testing of Matlab simulation Actually, testing want be done with observe the difference
of speed and real graph between tilt of arm and tray. But,
The next testing after testing with Matlab simulation is because of limit of device, testing just be done with observe
testing directly to device with using complementary filter the maximum tolerance when device is moved 90o to 4
calculation on arduino program with using filter coefficient direction that shown in figure 19 using speed of between 6 to
which produces best output signal according to matlab 8 deg/s with various mass of load as object of the tray.
simulation. Filter coefficient that is used for this direct testing Maximum tolerance is state of maximum tilt that is still
is 0.8 and sampling time (dt) 10ms. The result is shown in considered has balance state by the system. Graph of tilt of
figure 18. tray when it is moved to 4 directions that is shown in figure 19
19
IAICT 2014, Bali 28-30 August 2014
are shown in figure 20 for X+ movement, figure 21 for X- System has been able to return tray position almost to
movement, figure 22 for Y+ movement and figure 23 for Y- balanced position, but system performance still bad because
movement. tolerance of balanced position too big which caused by
linguistic value of “Balance” in membership function of “Tilt
Value” too wide, so system consider tilt still in balanced
position if tilt of the tray still on the interval linguistic value of
“Balance” in membership function of “Tilt Value”.
Testing of system performance shows that the maximum
tolerance are 17,565o and -15,5325o for X-Axes movement
and 14,613o and -13,932o for Y-Axes movement those are
obtained from table II for X-Axes and table III for Y-Axes.
But, maximum value of testing with 200 grams load isn’t
included in Y-Axes table because at that moment, motor servo
can’t take up the tray and motor servo detects overload
condition, so motor servo shuts down. It is happened because
Fig.20 Tilt of tray on X+ movement
the distance between the mass centre of the load and the
spindle of motor servo that makes movement at Y-Axes is too
long, and torque of motor servo can’t handle it. So, system can
perform same performance with mass of load is under 200
grams
TABLE II
TOLERANCE OF MOVEMENT IN X-AXES
Tolerance (o)
Load
Maximum Minimum
No Load 17,4 -14.63
50 grams 16.61 -14.33
100 grams 15.44 -14.99
TABLE III
TOLERANCE OF MOVEMENT IN Y-AXES
Tolerance (o)
Load
Maximum Minimum
No Load 20,4 -25,85
50 grams 18.03 -15.74
Fig.22 Tilt of tray on Y+ movement 100 grams 13.33 -13.58
150 grams 12.48 -12.40
200 grams - -14.01
Average 14.613 -13.932
20
IAICT 2014, Bali 28-30 August 2014
V. CONCLUSIONS [14] Juang Hau-Shiue, Lum Kai-Yew, “Design and control of a two-wheel
self-balancing robot using the arduino microcontroller board,” in 2013
The result and testing of system have the conclusion as 10th IEEE International Conference on Control and Automation
follow. (ICCA), Hangzhou, China, June 12-14, 2013, pp. 635-639.
1. Complementary filter that has been realized with
coefficient filter (K) of 0.8 and sampling time (dt) of
10ms can reduce noise of reading value of sensor, but
time update is increase.
2. Fuzzy logic that has been realized can return the tray
almost to balanced position, but the performance still
not good because the maximum tolerance still 17,565o
and -15,5325o for X-Axes movement and 14,613o and
-13,932o for Y-Axes movement.
3. System can be used with load that has mass under 200
grams.
REFERENCES
[1] National Restaurant Association (2014, May 14). New research shows
restaurant technology plays part in dining decisions. [Online].
Available: http://www.restaurant.org/News-Research/News/New-
research-shows-restaurant-technology-plays-par
[2] Tzou Jyh-Hwa, Wu-Feng, Su Kuo, L, “The development of the
restaurant service mobile robot with a Laser positioning system,” in
Control Conference, 2008. CCC 2008. 27th Chinese, Kunming, China,
July 16-18, 2008, pp. 662 – 666.
[3] Zhu Bing, Xu-yan Zhou, Tan Bin, Peng Xu-Ge, “Research and design
of restaurant service in wireless call system,” in Artificial Intelligence
and Education (ICAIE), 2010 International Conference, Hangzhou,
China, Oct 29-30, 2010, pp.437-440.
[4] Tan-Hsu Tan, Ching-Su Chang, Yung-Fu Chen, “Developing an
Intelligent e-Restaurant With a Menu Recommender for Customer-
Centric Service,” in Systems, Man, and Cybernetics, Part C:
Applications and Reviews, IEEE Transactions, vol. 42, Sept, 2012,
pp.775-787.
[5] Noor, M.Z.H.; Rahman, A.A.A.; Saaid, M.F.; Ali, M.S.A.M.; Zolkapli,
M., “The development of Self-Service Restaurant Ordering System
(SROS),” in Control and System Graduate Research Colloquium
(ICSGRC), 2012 IEEE, Shah Alam, Selangor, July 16-17, 2012, pp.
348 – 353.
[6] Franklin, D.F.; Kahn, R.E.; Swain, M.J.; Firby, R.J., “Happy patrons
make better tippers: creating a robot waiter using Perseus and the
Animate Agent architecture,” in Automatic Face and Gesture
Recognition, 1996., Proceedings of the Second International
Conference, Killington, VT, Oct 14-16, 1996, pp. 253 – 258.
[7] Baluta, Sergiu (2009, Dec). A Guide to Using IMU (Accelerometer and
Gyroscope Devices) in Embedded Applications. [Online].
Available: http://www.starlino.com/imu_guide.html
[8] Analog Device Inc (2009). 3-Axis, ±2 g/±4 g/±8 g/±16 g Digital
Accelerometer ADXL345 Datasheet. [Online].
Available: http://www.analog.com/static/imported-files/data_sheets/
ADXL345.pdf
[9] Wikipedia (2014, May). Gyroscope. [Online].
Available: http://en.wikipedia.org/wiki/Gyroscope
[10] STMicroelectronics, Inc (2010). L3G4200D MEMS motion sensor:
ultra-stable three-axis digital output gyroscope Datasheet. [Online].
Available: https://www.pololu.com/file/download/L3G4200D.pdf?
file_id=0J491
[11] Li Hui-qin, Li Jian-wei, Han Jian-hai, “Design and application of real-
time attitude estimation system for unstable object,” in Proceedings of
the IEEE International Conference on Automation and Logistics,
Zhengzhou, China, August 2012, pp.596-600.
[12] Colton, Shane (Jun, 2007). The Balance Filter, A Simple Solution for
Integrating Accelerometer and Gyroscope Measurement for a
Balancing Platform. Submitted as Chief Delphi white paper. [Online].
Available: http://www.chiefdelphi.com/media/papers/download/2059
[13] Robotis (2006). Dynamixel AX-12 User’s Manual. [Online].
Available: http://www.crustcrawler.com/products/bioloid/docs/
AX-12.pdf
21