0% found this document useful (0 votes)
31 views6 pages

Anh 2019

Uploaded by

Gerry Here
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)
31 views6 pages

Anh 2019

Uploaded by

Gerry Here
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/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/337503620

Design and Development of an Obstacle Avoidance Mobile-controlled Robot

Conference Paper · October 2019


DOI: 10.1109/SCORED.2019.8896296

CITATIONS READS

6 2,500

4 authors, including:

Tran Duc Chung Ahamed Khan


FPT University UCSI University
68 PUBLICATIONS 793 CITATIONS 128 PUBLICATIONS 904 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Tran Duc Chung on 24 January 2020.

The user has requested enhancement of the downloaded file.


2019 IEEE Student Conference on Research and Development (SCOReD)
October 15-17, 2019, Seri Iskandar, Perak, Malaysia

Design and Development of an Obstacle Avoidance


Mobile-controlled Robot
Phung Quang Anh#1, Tran Duc Chung #2*, Tran Tuan#3, M.k.a. Ahamed Khan ##4
#
Computing Fundamental Department, FPT University, 155300, Hanoi, Vietnam
##
Faculty of Engineering Technology & Built Environment, UCSI University, Kuala Lumpur, Malaysia
1
[email protected]
2*
[email protected]
3
[email protected]
3
[email protected]

Abstract—Mobile robot development has been receiving [11] while LOTRACK can provide more commands and being
attentions from researchers worldwide in recent years, especially much more complicated [6]. LOTRACK had been designed by
in developing autonomous mobile robots. However, there are still applying taint analysis, the program needs to track and then
needs for developing semi-auto robots, mainly for allowing upload diachronic information regularly.
human-assisted control mechanism while operating the robots.
Typically, there are two main purposes of a sensor and
This is greatly helpful in performing site surveying tasks and
where environment setup is variable or unknown. In this research, control system: (i) to measure and collect data from
an obstacle avoidance mobile-controlled robot is developed using surrounding environment, or (ii) to perform a control
an Arduino Uno R3 microprocessor operated by controlling of a mechanism for performing some specific actions [12]–[14]. For
mobile Android-based device via Bluetooth. Apart from data collection, biosensors [10] were used for measuring
performing well basic functions like moving forward and biomolecules on patient; ultrasonic range sensor [15] like HC-
backward, turning left and right, the robot is able to detect SR04 [5] was used for calculating distance; temperature sensor
preceding obstacle, stop movement, and then identify suitable was used for measuring building ambient temperatures [16];
clear way for avoiding the obstacle. and pressure sensor [8] was used for collecting pressure
statistics. For obstacle detection application, typically obstacle
Keywords—mobile, remote, control, robot, Arduino, Bluetooth, detectable sensors like camera or ultrasonic sensor will be used.
Android The information calculated from the sensors are fedback to
I. INTRODUCTION MCU for data collection and further processing if needed. In a
different system, a combination of a circuit on PCB board, an
Recently, the development of autonomous robot has been organic LED (OLED) or LCD, and a tablet [11] was used to
receiving much attention from researchers worldwide [1], [2]. collect the data from the sensor and then to display the data
However, not all applications require the robot to be fully trend to the monitor. However, the LCD attached to the robot
automated. Some specific robotic applications require human is not really useful for remote controller or user since he cannot
intervention for example mine site surveying [3]. With this type see what is displayed on the screen.
of application, usually the robot is controlled by user to have For controlling purpose, Bluetooth or Wi-Fi module [7] can
the desired output like moving to a specific location, be used to enable communication between controller and the
performing measurement of temperature, humidity and other robot-under-control. Before action can be performed, the robot
similar tasks [4]. In some conditions such as facing obstacle will collect environment data through sensors like camera
while moving, the robot should be able to avoid the obstacle (observing surrounding movements) [9]. However, object
itself before receiving subsequent control actions from user. detection using camera will be a very heavy task for a low-
Therefore, it is important to develop semi-automated processing controller like Arduino Uno MCU. For security
mobile-controlled robot with obstacle avoidance capability. reason, to prevent leakage of information over the
This paper presents a design and development framework for communication link, D2D (device-to-device) framework [7]
building such robot. was used. Hence, system hacking and file stealing can be
II. RELATED WORKS restricted or prevented. Even though, for system that operate
locally like mine-finding robot, this security feature causes
In recent developed mobile-controlled robots, usually overhead computation to the main robot controller.
Android mobile platform is used as an interface to control the From the control algorithm perspective, using neural-
microcontroller (MCU) and to trigger its actuators via network-based controller in [17] results in too much
Bluetooth [5]–[11]. Depending on the user’s purpose, the computational power required by the MCU. Thus, this is not
software program and the controller of the robots can be suitable for Arduino-based MCU. Based on the literature, many
designed differently. For example, MODEBOTS had been of the recently developed robots [1], [3], [4], [9] are often fully
designed for children so they must be easy to use and clean up automated at their functions while semi-auto control for
after use, only 8 or 10 simple commands lines were deployed obstacle avoidance robot is not yet discussed. Thus, this

978-1-7281-2613-5/19/$31.00 ©2019 IEEE 90


research aims to presents a developed framework for mobile- signal means there is no power applied to the motor,
controlled robot with capability of self-obstacle avoidance. hence, the robot is stationary.
iii. Battery: the two AAA-typed rechargeable batteries are
III. METHODOLOGY used to power up the entire robot circuit.
In this work, the research was carried out following the iv. Bluetooth Module: this is used to make the connection
procedures shown in Fig. 1. First, the requirements of the robot between the mobile and the robot.
were collected based on the expectations from the project itself. v. Distance Sensor: it is based on ultrasonic wave emitted
Second, they were analysed and suitable devices and from the sensor, it helps to identify if an obstacle
components were selected. Third, the overall robot design with appearing in front of the mobile robot.
detail hardware interface was drawn. Fourth, the robot control vi. Mobile Phone: this is the human-controlled interface
algorithm was developed. which allows user to manipulate the robot’s movements.

Motor
Motor
Driver

Battery

MCU

Fig. 1. Overall research methodology.

Here, the mobile robot was developed based on the


following requirements: Bluetooth
i. Robot should be light for reducing power consumption Module
from the given two rechargeable batteries.
ii. The robot should be controlled by human via mobile Fig. 2. Circuit schematic of the robot drawn using Fritzing [18].
phone.
iii. The application interface should allow the mobile robot Table I summarizes the component list and their key features.
to be controlled for moving forward, backward, turning TABLE I
left, turning right, rotating 90 degrees on the left or right. MAIN ROBOT COMPONENTS AND KEY FEATURES
iv. The robot should be able to avoid a preceding obstacle No. Component Key Features
(with the dimension not less than 2.5 cm x 2.5 cm x 13 1 MCU • ATmega328-based 8-bit
cm) while moving. MCU
Based on the above requirements, an Arduino Uno R3 • Input 5 VDC
microcontroller (MCU) was selected since it enables full • 16 MHz
control of the robot while allowing the robot to be manipulated • 14 Digital IOs
remotely using a Bluetooth module. The mobile application to • 6 Analog IOs
control the robot was developed using Google Android • Current Consumption: 30 mA
application design platform which is open source, thus reducing 2 Motor Driver - • Input Voltage: 5 VDC
development cost. The circuit schematic of the robot is L298 • H Bridge
presented in Fig. 2. • Control Voltage: 5 VDC
In Fig. 2, there are six main components of the robot from • Loss Power: 20 W @ 75 oC
electrical and electronic point of view: 3 Battery • 2 x AAA Rechargeable
i. Main Control Unit: this is an Arduino Uno R3 8-bit MCU. 4 Bluetooth Module - • Input Voltage: 5 VDC
ii. Motor Driver Circuit: the driver circuit helps to control HC06 • Current Consumption: 30 mA
the mobile robot using two back wheels. The control • Communication: Serial Rx,
mechanism from the MCU is based on pulse width Tx
modulation (PWM) signal. The PWM signal with high • Speed: Synchronous 1 Mbps,
Asynchronous 2.1 Mbps
percentage of availability means that full power is
applied to the motor. While 0 percentage of the PWM

91
• Supported Baud: 200, 2400, robot will stop for a short period (e.g., 300 ms). It then moves
9600, 19200, 38400, and its sensor to the left and detect if there is any obstacle at that
57600 side. If an obstacle is found, it measures the distance to the
5 Distance Sensor - • Input Voltage: 5 VDC obstacle and save the value as leftObstacleDist. The robot
HC-SR04 • Working Current: 15 mA performs the similar action for the right side and saves the value
• Effective Angle: <15o to rightObstacleDist. If distance to the left obstacle is less than
• Measuring Angle: 30o the distance to the right obstacle, the robot will move to the
• Ranging Distance: 3-400 cm right, else it moves to the left. Thus, the obstacle can be avoided
• Sensible Material: Wood,
automatically. Here, it should be noted that if either side of the
Metal, and those without soft
surface absorbing ultrasonic
robot does not have any obstacle, this means the measured
wave. distance to the obstacle will be very large compared to the
6 Mobile Phone • Android-based Mobile Phone maxObstacleDist value, and hence, the robot will understand
that this it can move toward this direction freely.
The overall control algorithm of the robot is presented in Fig. In order to detect the distance to an obstacle (in cm), the
3. following algorithm is used.

calObstacleDist (angle)
1 srf05.write (angle)
2 Put Trigger pin Low
3 Delay 2ms
4 Put Trigger pin High
5 Delay 5ms
6 Put Trigger pin Low
7 Measure echo pulses by Echo pin
echoDuration = pulseIn(Echo, HIGH)
8 Calculate Obstacle Distance
obstacleDist = int (echoDuration / 2 / 29)
Fig. 4. Distance to obstacle calculation pseudo-code.

From the algorithm, at first, the servo motor is controlled to


turn the sensor to a specific angle. If angle = 0, this means
turning sensor to the left 90o. If angle = 90, this means keeping
sensor straight and if angle = 180, this means turning angle to
the right 90o.
For ease of controlling and interfacing the sensor with the
MCU, to measure distance using ultrasonic wave, two-pin
(Trigger & Echo pins) mode is used. Here, a pulse with duration
of 5ms is generated by the Trigger pin. To generate this pulse,
the Trigger pin is put Low, then delayed for 2ms for
stabilization before turning High for 5ms, then set back to Low.
The Echo pin used for calculating the duration of the echo pulse
reflected from the obstacle surface.
Since echoDuration is the travel time of the ultrasonic wave
from the robot to the obstacle, and then from the obstacle to the
robot, it represents two times the distance from the robot to the
obstacle. Thus, in Fig. 4, echoDuration firstly has to be divided
Fig. 3. Overall control algorithm of the robot. by 2. Secondly, to calculate the distance based on cm unit, it
has to be divided by 29 which is a constant value representing
As seen from the above figure, at first, the robot is powered
characteristics of ultrasonic wave traveling in the air, at the
up. The maximum distance to the obstacle (maxObstacleDist)
typical laboratory with ambient temperature of 25oC [19].
is then set to 25 cm. Next, user launches the Android controller
Finally, the value is rounded off to an integer number
interface on his mobile. After launching the application, the
representing the distance to the obstacle.
connection to the robot via Bluetooth is automatically setup.
In order to check the obstacle avoidance algorithm, the
User starts to press “Forward” button to move the robot toward
selected obstacle should have the minimum size of width x
the obstacle. If the current detected distance from the robot to
length x height = 2.5 cm x 2.5 cm x 13 cm. For simplicity, a
the obstacle (if any) is more than maxObstacleDist, user is able
right angle wall surface was selected in this case. It should be
to keep moving the robot toward the obstacle. When the
noted that for demonstration purpose, the sensor was placed on
detected distance to the obstacle is less than or equal to the
top and controlled by a servo motor at makes the sensor being
maxObstacleDist, the robot will maneuver itself to find a
placed at 13 cm height compared to ground floor. In future, the
suitable way and avoid the obstacle. When this happens, the
sensor will be lowered or be placed right in front of the wheel

92
castor. In addition, the obstacle should have minimum of 2.5 toward an obstacle which is a flat wall surface, (ii) turning left
cm in width because it is the minimum sensible width of the and right, (iii) rotating 90o to the left and right, and finally auto
sensor device. obstacle avoidance mechanism. The Table II summarizes the
testing results in this research.
IV. RESULTS & ANALYSIS From Table III, it is seen that although the maxObstacleDist
In this work, the developed mobile robot is shown in Fig. 5. was set to 25 cm, the robot manages to stop at ~15 cm far from
From the figure, the robot has two wheels at the back (driven the obstacle. This is due to the movement inertia of the robot
by the corresponding two motors) and one castor roller in front. when moving toward the obstacle and that it takes time for the
The castor roller helps robot to move freely not only on normal back wheels to fully stop given the stop command from the
surface but also on uneven surface. On the robot, the MCU. Other functions of the robot such as turning left, right,
rechargeable battery is placed under the acrylic body frame, it turning right angle to both sides are running well. For obstacle
provides well balance for the robot while moving. The avoidance, when the robot moves toward the obstacle which is
microcontroller board and motor driver circuit are placed on top a flat wall surface, it is able to firstly stop, then turning the
of the acrylic body for ease of interfacing. In front of the robot distance sensor left and right, then select the direction that is
there is a servo motor and on top of it is the ultrasonic sensor unblocked and continue to move toward the selected direction.
pair which allows the robot to survey front obstacle while Thus, all the requirements for the designed robot are achieved.
moving. The main function of the sensors are to help the robot TABLE II
avoiding obstacles and choosing the unblocked direction when MOBILE ROBOT FUNCTION TEST RESULTS
facing the obstacles.
No. Function Result
1 Moving Forward Yes
2 Effective Stoping Distance Approximately 15 cm
Obstacle 3 Turning Left Yes
Sensors
4 Turning Right Yes
5 Rotating 90o to the Left Yes
Motor 6 Rotating 90o to the Right Yes
Driver 7 Moving Backward Yes
8 Wall surface (obstacle) avoidance Yes
MCU Servo
Motor
V. CONCLUSIONS
This research has presented the design and development
Wheel
Motor Battery framework of a mobile-controlled robot using Bluetooth as
communication protocol between the robot and the mobile. The
robot can run well with four main functions: moving forward
Fig. 5. The developed mobile robot.
and backward, turning left and right and at the right angle to
A screenshot of the Android application interface for both sides. It is also able to detect preceding flat wall obstacle,
controlling the robot is presented in Fig. 6. As seen from the able to stop the movement and search for a possible direction
control panel, there are four main buttons in the interface. The to avoid the obstacle. The obstacle avoidance is done
“Forward” button is highlighted and made bold as it is the most automatically without interference from the controller or user.
commonly used button for controlling the robot. Next are the Overall, the robot is able to move under control of mobile user
“Left” and “Right” buttons to control the robot turning left and and avoid obstacle automatically if detected.
right correspondingly. Finally, the “Backward” button is used
to allow the robot to make a backward movement in case of ACKNOWLEDGMENT
facing obstacles that make the robot not able to move forward. The authors express their appreciation to FPT University,
Hanoi, Vietnam for their supports to carry out this research.

REFERENCES
[1] V. Balaji, M. Balaji, M. Chandrasekaran, M. K. A. A. Khan, and I.
Elamvazuthi, “Optimization of PID Control for High Speed Line
Tracking Robots,” in Procedia Computer Science, 2015.
[2] A. E. Ibrahim, M. N. Karsiti, and I. Elamvazuthi, “Fuzzy logic system
to control a spherical underwater robot vehicle (URV),” Int. J. Simul.
Syst. Sci. Technol., 2017.
[3] M. Zubair and M. A. Choudhry, “Land mine detecting robot capable
of path planning,” WSEAS Trans. Syst. Control, 2011.
[4] J. Wade, T. Bhattacharjee, R. D. Williams, and C. C. Kemp, “A force
Fig. 6. Mobile robot control interface.
and thermal sensing skin for robots in human environments,” Rob.
After the development, the robot was tested with several Auton. Syst., 2017.
[5] J. Lim, G. Tewolde, J. Kwon, and S. Choi, “Design and
functions such as (i) effective stopping distance when moving Implementation of a Network Robotic Framework Using a

93
Smartphone-Based Platform,” IEEE Access, vol. 7, pp. 1–1, 2019. “Development of low-cost real-time data acquisition system for
[6] M. Lillack, C. Kastner, and E. Bodden, “Tracking load-time process automation and control,” in 2016 2nd IEEE International
configuration options,” IEEE Trans. Softw. Eng., vol. 44, no. 12, pp. Symposium on Robotics and Manufacturing Automation (ROMA),
1269–1291, 2018. 2016, pp. 1–5.
[7] K. Liu et al., “Security Analysis of Mobile Device-to-Device [14] S. M. Hassan, R. Ibrahim, N. Saad, V. S. Asirvadam, and T. D. Chung,
Network Applications,” IEEE Internet Things J., vol. PP, no. c, p. 1, “A filtered predictive PI controller for wirelessHART networked
2018. control system,” Control Eng. Appl. Informatics, 2017.
[8] S. Hauser, M. Robertson, A. Ijspeert, and J. Paik, “JammJoint: A [15] D. L. Almanza Ojeda, Y. Gomar Vera, and M. A. Ibarra Manzano,
Variable Stiffness Device Based on Granular Jamming for Wearable “Obstacle Detecction and Avoidance by a Mobile Robot Using
Joint Support,” IEEE Robot. Autom. Lett., vol. 2, no. 2, pp. 849–855, Probabilistic Models,” IEEE Lat. Am. Trans., 2015.
2017. [16] C. D. Tran; and R. Ibrahim, “Building Ambient Temperature
[9] W. Qiao and R. Sipahi, “Consensus Control under Communication Measurement Using Industrial Wireless Mesh Technology,” in 2019
Delay in a Three-Robot System: Design and Experiments,” IEEE IEEE Student Conference on Research and Development (SCOReD),
Trans. Control Syst. Technol., vol. 24, no. 2, pp. 687–694, 2016. 2019, p. 6.
[10] F. Stradolini et al., “Wireless Monitoring of Endogenous and [17] X. Wang, Z. G. Hou, F. Lv, M. Tan, and Y. Wang, “Mobile robots’
Exogenous Biomolecules on an Android Interface,” IEEE Sens. J., modular navigation controller using spiking neural networks,”
vol. 16, no. 9, pp. 3163–3170, 2016. Neurocomputing, 2014.
[11] K. Ramirez-Benavides and L. A. Guerrero, “MODEBOTS: [18] Fritzing, “Fritzing,” 2019. [Online]. Available:
Environment for Programming Robots for Children between the http://fritzing.org/home/. [Accessed: 30-May-2019].
Ages of 4 and 6,” Rev. Iberoam. Tecnol. del Aprendiz., vol. 10, no. 3, [19] Arduino, “Distance Measurement with an Ultrasonic Sensor HY-
pp. 152–159, 2015. SRF05,” 2019. [Online]. Available:
[12] C. D. Tran, R. Ibrahim, V. S. Asirvadam, N. Saad, and H. Sabo Miya, https://create.arduino.cc/projecthub/Nicholas_N/distance-
“Internal model control for industrial wireless plant using measurement-with-an-ultrasonic-sensor-hy-srf05-64554e.
WirelessHART hardware-in-the-loop simulator,” ISA Trans., vol. 75, [Accessed: 30-May-2019].
2018.
[13] M. Haizad, R. Ibrahim, A. Adnan, T. D. Chung, and S. M. Hassan,

94

View publication stats

You might also like