Contactless Controlled Low-Cost Robotic System: Srđan A. Milojević
Contactless Controlled Low-Cost Robotic System: Srđan A. Milojević
Contactless Controlled Low-Cost Robotic System: Srđan A. Milojević
129
Abstract—This paper presents and depicts a realization of a II. MATERIAL AND METHOD OF WORK
robotic arm with four degrees of freedom based on cheap A block diagram of the control system for converting
components and software for its control with hand gestures. A signals acquired from Leap Motion sensor to angular
position of the arm is determined by processing the acquired
data from the sensor. The application is developed using free
movement of joint actuators of the robotic arm is shown in
software packages. Results of this project could find use in Fig. 1. In subsection A. the author discusses the hardware
industrial robotics, therapeutic biofeedback, telemanipulation configuration and the specific reason for choosing the robot
systems, etc. arm’s design and all the other used parts.
Key words — acquisition, LeapMotion, Python,
rehabilitation, robot, control.
I. INTRODUCTION
Paper received April 24, 2018; revised June 22, 2018; accepted July
29, 2018. Date of publication December 25, 2018. The associate editor
coordinating the review of this manuscript and approving it for
publication was Prof. Nataša Nešković.
the position (x,y,z) and the angles of yaw φ, roll ψ and pitch instructions on how to install the Python package manager
θ of the normal vector which points perpendicularly out of better known as pip (Python Software Foundation,
the hand as shown in Fig. 5. Processing of these data enables Wilmington, Delaware, USA). Therefore, these
the contactless control of the robotic arm, i.e. translation of installations can be conducted in matter of minutes, given
user’s gestures to robot’s movements [14]. that the user has followed the instructions thoroughly.
are position of the end effector. Additionally, x axis motion III. RESULTS
is implemented in such a way that it enables easy and Upon opening the application, the user distinguishes
intuitive control. It is dictated by the velocity of user’s palm three segments: a command part with buttons, indicators of
in x axis direction in Leap Motion’s reference system. The current angular positions of servo motors and real time
default angle state is either incremented or decremented graphical visualization of the position of robotic arm (Fig.
according to the amount of speed. 8). By choosing the button “Start Leap”, the connection
with Arduino Uno controller is initiated, followed by Leap
Motion’s turning on. To pause tracking, user places his or
her other arm in the sensor’s field of view and the control
resumes when only one arm is present. Finally, choosing the
option “Stop Leap” returns the robotic arm to its default
position and the program waits for a new connection.
Pressing the button “Quit” terminates the program.
E. Software development
The robotic arm needs a convenient and easy to use
environment for the operator. Therefore, a combination of
software packages was needed for the development of GUI. Fig. 8. Graphical user interface with its segments: (A)
First of all, the previously explained control algorithm was controls, (B) indicators, (C) visualization, (D) current
written in Python 2.7 because of its versatility and ability to position of the arm.
communicate with other third party software packages. On the very bottom of the command part of GUI there is
Because SolidWorks files tend to describe parametric a checkbox whose checking opens up an additional
geometry, such as NURBs, and most game engines prefer window. The PyGame window (Fig. 9.) is a three
to work with raw polygons, the parts needed conversion. To dimensional real time representation of robot’s current
begin with, using Free CAD (Jürgen Riegel, Werner Mayer, pose.
Yorik van Havre) the author opened each SOLID file and
exported it as Mash format (OBJ). The output files consist
of vectors for vertexes and faces but there are no materials
for normals. Current OBJ files would also work but the
visualization would lack shadows and lightings so the next
step utilizes Blender 2.79 (Blender Foundation,
Amsterdam, Netherlands). After editing color and material,
the files are exported with a custom setting in OBJ file
format. Secondly, the author uses an open source code that
provides a function for loading a model from a wave
frontOBJ file into an OpenGL display list. It additionally
loads any referenced material and texture files. The code
can be found on PyGame (PyGame Community) Wiki page
[15]. With a PyGame engine the author was able to create
3D graphical visualization (see chapter III. Results). Fig. 9. Three dimensional model in real time.
Milojević: Contactless Controlled Low-cost Robotic System 133
In the upper left hand corner, a user sees indicators about important branch in technology and industry.
the angle of robot’s joints and in the bottom corner there is There are numerous ways to improve the created system.
a notification line next to the base of the robot. The user can First of all, simply by replacing these low-cost components
adjust the orientation of the perspective, zoom in and out, with high-end products the performance would be
and pan the robot across the screen. Adding features such significantly enhanced. To be precise, switching from servo
as recording of this 3D visualization will be helpful for to stepper motors with feedback, the control regulation
analyzing robot’s and user’s behavior. Also, this would would be upgraded. Motors with a stronger torque would
allow an implementation of algorithms for robot’s offline increase pay load of the robotic arm. Finally, replacing
programming. These possibilities, along with a few others, Arduino Uno controller with a more sophisticated one
will be discussed in the next chapter. (more processing power and memory) would help with the
control system.
IV. DISCUSSION AND CONCLUSION ACKNOWLEDGEMENTS
The created system has a fast response rate and is The author expresses his gratitude to the laboratory for
efficient in real time operation. The software is written in a Biomedical Instrumentation and Technologies, Laboratory
modular and organized way and other developers can easily for electrical measures and ETF Robotics team at the
modify or continue the project. School of Electrical Engineering, University of Belgrade
Concept of the described system can find its use in for the support during the research. The author owes special
industrial robotics where it could replace traditional credit to dr Milica Janković for great dedication and
methods of path programming. The old and outdated teach mentorship.
pendants [16] are rather difficult to operate and too time
consuming. This contactless control is more intuitive, REFERENCES
minimizes room for error and is more time efficient. With [1] Branislav Borovac, Goran Đorđević, MirkoRaković, i Milan Rašić,
its use, paths and targets would be memorized faster and Industrijska robotika,University of Novi Sad, Faculty of
TechnicalSciences, FTN publishing, Novi Sad, 2017, ch. 1.
cheaper, which is exactly what the industry always strives
[2] Kazuyoshi Wada, Takanori Shibata, Robot Therapy in a Care House
for. Along with the 3D visualization comes an opportunity - Its Sociopsychological and Physiological Effects on the Residents,
to program robot’s paths and tasks offline, without the National Institute of Advanced Industrial Science and Technology 1-
presence of the actual robot. Afterwards, the user could 1-1 Umezono, Tsukuba, Ibaraki, Japan, 2006.
[3] Toshiyo Tamura, Satomi Yonemitsu, Akiko Itoh, Is an
simply upload the code created in offline editor to the Entertainment Robot Useful in the Care of Elderly People With
robot’s controller and watch it operate. Severe Dementia?, Department of Gerontechnology, National
Another interesting possibility for implementation of the Institute for Longevity Sciences, Aichi, Japan, 2004.
[4] M. Iosa, G. Morone, A. Fusco, M. Castagnoli, FR Fusco, L. Pratesi,
created system is in biofeedback systems aimed towards the S. Paolucci, “Leap motion controlled videogame-based therapy for
rehabilitation of children suffering from cerebral palsy. rehabilitation of elderly patients with subacute stroke: a feasibility
Adapting the interface of the application for this purpose pilot study,” Top Stroke Rehabilitation. 2015 Aug;22(4):306-16.
[5] Garcia-Ruiz A, Gagner M, Miller JH, et al: “Manual vs robotically
and implementing interesting tasks, the therapy would get assisted laparoscopic surgery in the performance of basic
less stressful character and the patient would be occupied manipulation and suturing tasks.” Arch Surg 133: 957– 960, 1998.
with the control of the robotic arm while the doctor [6] H. Shennib, A. Bastawisy, MJ. Mack, et al: “Computer-assisted
uninterruptedly observes the rate of improvement. What is telemanipulation: an enabling technology for endoscopic coronary
more, the doctor could choose to record 3D visualization of bypass.” Ann ThoracSurg 66: 1060–1063, 1998.
[7] Tooher R, Pham C. The da Vinci Surgical Robotics System:
each session and hence get a better insight into the patient’s Technology Overview ASERNIP-S Report No. 45. Adelaide, South
problem. Also, the software could keep a track of all the Australia: ASERNIP-S; 2004. ISBN: 0909844658.
therapies and suggest a better approach to the treatment. [8] D. Bassily, C. Georgoulas, J. Güttler, T. Linner, T. Bock, Intuitive
and Adaptive Robotic Arm Manipulation using the Leap Motion
Moreover, an obvious idea that comes to mind with this Controller, TU München, Germany, 2014
contactless control is real time telemanipulation control of [9] ABB IRB 460 Datasheet, ABB, Zurich, Switzerland
robotic systems. This product could save lives of people http://new.abb.com/products/robotics/industrial-robots/irb-460
[10] http://www.electronicoscaldas.com/datasheet/MG996R_Tower-
working in hazardous areas. For example, placing this
Pro.pdf
robotic arm on a movable platform, a soldier could navigate [11] https://github.com/mimeindustries/MeArm
it to a place where a bomb is planted and demount it quickly, [12] Leap Motion SDK (software development kit) for Python -
easily and, most importantly, from a safe distance. https://developer.leapmotion.com/documentation/python/devguide/
Leap_SDK_Overview.html
Upgrading the 3D model viewer with a bomb defusing [13] Mischa Spiegelmock, Leap Motion Development Essentials, Packt
simulation would enable soldiers to practice on this Publishing, Birmingham, 2013.
platform before coming in contact with real bombs and save [14] Chang Chen, Liang Chen, Xuefeng Zhou, Wu Yan, “Controlling a
robot using leap motion,” 2nd International IEEE Conference on
equipment while getting used to operating this system. Robotics and Automation Engineering (ICRAE), 2017
In addition to the mentioned implementations, the [15] https://www.pygame.org/wiki/OBJFileLoader
created hardware along with the Python program makes a [16] ABB Flex Pendant SDK Application manual, ABB Robotics
https://library.e.abb.com/public/b60548090c886120c1257b5f002f8
good platform to study and develop a machine learning 250/3HAC036958-en.pdf
algorithm. This is perfect for students since the whole [17] S. A. Milojević, "Beskontaktno upravljani jeftini robotski sistem,"
robotic system is very affordable and desktop ready. 2017 25th Telecommunication Forum (TELFOR), Belgrade, 2017,
pp. 1-4.
Moreover, its fun usage is a clever way to interest teenagers
to study robotics as it is becoming a more and more