2018-Arduino Based 6DoF Robot Using LabVIEW
2018-Arduino Based 6DoF Robot Using LabVIEW
net/publication/341296693
CITATIONS READS
2 304
1 author:
RATHY G A
National Institute of Technical Teachers Training and Research Chennai
8 PUBLICATIONS 3 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Estimation of SoC using SVM regression technique for an Efficient Electric Vehicle Battery Management System using c-RIO DAQ View project
All content following this page was uploaded by RATHY G A on 11 May 2020.
ISSN: 2454-132X
Impact factor: 4.295
(Volume 4, Issue 1)
Available online at www.ijariit.com
ABSTRACT
This paper presents a development of a 6-axis robotic arm controller (i.e) six degrees or axis of freedom (6DoF) refers to the
freedom of movement of a rigid body in three-dimensional space. Each axis of the robot are been controlled using a servo motor.
The position of each axis can be derived from the Pulse Width modulated wave which is applied to each servo motor, at each
and every axis. The controller is divided into two major parts namely power block and control block. Power block is carried out
by the Arduino controller and the control block is carried out by LabVIEW similarly control are been sent serially thought
Arduino board to control the position of the servo motor
Keywords: LabVIEW, Arduino, Servo Motor, Pulse Width Modulation, 6-axis Robotic Arm Controller.
1. INTRODUCTION
A robotic arm is a type of mechanical arm, usually programmable, with similar functions to a human arm; the arm may be the sum
total of the mechanism or may be part of a more complex robot. The links of such a manipulator are connected by joints allowing
either rotational motion (such as in an articulated robot) or translational (linear) displacement. Serial and parallel manipulator
systems are generally designed to position an end-effector with six degrees of freedom, consisting of three in translation and three
in orientation. This provides a direct relationship between actuator positions and the configuration of the manipulator. Robot arms
are described by their degrees of freedom. This number typically refers to the number of single-axis rotational joints in the arm,
where a higher number indicates an increased flexibility in positioning a tool. This is a practical metric, in contrast to the abstract
definition of degrees of freedom which measures the aggregate positioning capability of a system.
The end effectors, or robotic hand, can be designed to perform any desired task such as welding, gripping, spinning etc., depending
on the application. For example, robot arms in automotive assembly lines perform a variety of tasks such as welding and parts
rotation and placement during assembly. In some circumstances, close emulation of the human hand is desired, as in robots designed
to conduct bomb disarmament and disposal.
The figure 1 given above shows the motion movement in each axis an example of six degrees of freedom movement is the motion
of a ship at sea. It is described as.
Translational envelopes:
Moving forward and backward on the X-axis. (Surge)
Moving left and right on the Y-axis. (Sway)
Moving up and down on the Z-axis. (Heave)
Rotational envelopes:
Tilting side to side on the X-axis. (Roll)
Tilting forward and backward on the Y-axis. (Pitch)
Turning left and right on the Z-axis. (Yaw)
1.1 Arduino
Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs
- light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, by
sending set of instructions to the microcontroller on the board
Arduino can interact with buttons, LEDs, motors, speakers, GPS units, cameras, the internet, and even your smart-phone. Arduino
Uno is a microcontroller board based on the ATmega328P (datasheet). It has 14 digital input/output pins (of which 6 can be used as
PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header and a reset button.
It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with an
AC-to-DC adapter or battery to get started. Figure 2 shows the parts of Arduino uno controller.
Figure 3 shows the Arduino Uno sensor shield, which is very useful as a connection point for the many interfaces that can be plugged
into the Arduino. Using a sensor shield gives you one +5V (Vcc) and one 0V (Gnd) for every Arduino signal pin. Series of servo
motor can be connected easily using such shields and the common power pins are connected to provide the supply power to the
servo motors. Servos come with a 3 way socket that plugs straight onto the Sensor Shield G goes to the Brown or Black wire, V
goes to the (middle) Red wire, S goes to the Orange wire The good news is as the +5V is in the middle, things will not blow up if it
is wired the wrong way round, the servo just will not work until it is plugged in correctly.
1.3 LabVIEW
LabVIEW, short for Laboratory Virtual Instrument Engineering Workbench, is a programming environment in which you create
programs using a graphical notation (connecting functional nodes via wires through which data flows); in this regard, it differs from
traditional programming languages like C, C++, or Java, in which you program with text. However, LabVIEW is much more than
a programming language. It is an interactive program development and execution system designed for people, like scientists and
engineers, who need to program as part of their jobs. The LabVIEW development environment works on computers running
Windows, Mac OS X, or Linux. LabVIEW can create programs that run on those platforms, as well as Microsoft Pocket PC,
Microsoft Windows CE, Palm OS, and a variety of embedded platforms, including Field Programmable Gate Arrays (FPGAs),
Digital Signal Processors (DSPs), and microprocessors.
The figure 5 given below shows the Front panel implementation in which separate control for each servo motor is been provided
using knobs for all the six axes such as Grip, twist, wrist, Forward/Reverse, Top/Bottom, Rotation and independent indicators are
been provided for the exact angular location of each servo motors separate control has been giving to extend the number of servos,
here upto 15 servos can be connected using this tool. The programming has been done in such a way the pick and place operation
is been done by selecting the ring menu in which the process can be selected and the speed of the motor can be controlled by varying
the delay between each sequence.
The figure 6 given below shows the block diagram implementation in which the desired logics to be performed is implemented.
Initially, the communication is been initialized and the desired com is been selected in which the arduino is connected. The Number
of Servos to be used is been selected using a block which is been indicated in the front panel for manual selection with labels for
each servo are given to indicate which servo is been provided with the control signal case structure are been provided perform
sequential and manual control of the servo motor and emergency stop sequence are been provided to shut the process of during
emergency situation.
3. RESULT
The figure 8 give below show the output result of the GUI (Graphical User Interface) in which the pick operation is been select and
a perfected constant value for each servo are loaded into the arduino for each servo motor and the operation of pick is executed
and the number of servos to be controlled are mentioned the desired angle of each servo are indicated in gauge and digital indicators
and the sequence of pick operation in been done serially one by one the operation can be change from pick to place to manually
control by selecting the Ring menu.
4. CONCLUSION
Due to the growing demand for natural Human Machine Interfaces and robot intuitive programming platforms, a robotic system
that allows users to control an industrial robot. Thus in this paper, the implementation of 6DoF (6 degrees of Freedom) based robot
using arduino under the LabVIEW platform has been carried out, which makes the hardware and software more easy and effective.
Apart from pick and place, 3D printing can also be done in future scope by the same technique.
5. REFERENCE
[1] J. H. JU, "A Study on error Analysis and Hybrid Motion Control of LabVIEW® -based 3-axis SCARA Robot", School of
Mechatronics, Changwon National University, 2008.
[2] Ashraf Elfasakhany, Eduardo Yanez, Karen Baylon, Ricardo Salgado, Design and Development of a Competitive Low-Cost
Robot Arm with Four Degrees of Freedom, Modern Mechanical Engineering, 1, November 2011, 47-55
[3] S. Calinon, and A. Billard, “Active teaching in robot programming by demonstration,” in 16th IEEE International Symposium
on Robot and Human interactive Communication, RO-MAN 2007, pp. 702-707,
Jeju Island, Korea, 2008.
[4] J. N. Pires, “Robot-by-voice: Experiments on commanding an industrial robot using the human voice,” in Industrial Robot, An
International Journal, vol. 32, no.6, pp. 505-511, Emerald, 2005.
[5] I. Mihara, Y. Yamauchi, and M. Doi, “A real-time vision-based interface using motion processor and applications to robotics,”
in Systems and Computers in Japan, vol. 34, pp. 10-19, 2003.
[6]SHIN, K. G. – MCKAY, N. D. (1985): Minimum-Time Control of Robotics Manipulators with Geometric Path Constraints,
IEEE of Automatic Control. AC-30, 6, pp.531–541.
[7] SHIN, K. G.: Trajectory Planning for Robot Control: A Control System Perspective, Control and Dynamic System Series,
Advances in Robotics System, 1991, pp. 105–146 (Academic Press Inc.).
[8] National Instruments Corporation. "Motion control Fundamentals course Manual", 2002-2004.
[9] Robotics & Automation Magazine, vol. 12, no. 3, pp. 16-23, 2005.