\documentclass[11pt,twoside]{article}\makeatletter

\IfFileExists{xcolor.sty}%
  {\RequirePackage{xcolor}}%
  {\RequirePackage{color}}
\usepackage{colortbl}
\usepackage{wrapfig}
\usepackage{ifxetex}
\ifxetex
  \usepackage{fontspec}
  \usepackage{xunicode}
  \catcode`⃥=\active \def⃥{\textbackslash}
  \catcode`❴=\active \def❴{\{}
  \catcode`❵=\active \def❵{\}}
  \def\textJapanese{\fontspec{Noto Sans CJK JP}}
  \def\textChinese{\fontspec{Noto Sans CJK SC}}
  \def\textKorean{\fontspec{Noto Sans CJK KR}}
  \setmonofont{DejaVu Sans Mono}
  
\else
  \IfFileExists{utf8x.def}%
   {\usepackage[utf8x]{inputenc}
      \PrerenderUnicode{–}
    }%
   {\usepackage[utf8]{inputenc}}
  \usepackage[english]{babel}
  \usepackage[T1]{fontenc}
  \usepackage{float}
  \usepackage[]{ucs}
  \uc@dclc{8421}{default}{\textbackslash }
  \uc@dclc{10100}{default}{\{}
  \uc@dclc{10101}{default}{\}}
  \uc@dclc{8491}{default}{\AA{}}
  \uc@dclc{8239}{default}{\,}
  \uc@dclc{20154}{default}{ }
  \uc@dclc{10148}{default}{>}
  \def\textschwa{\rotatebox{-90}{e}}
  \def\textJapanese{}
  \def\textChinese{}
  \IfFileExists{tipa.sty}{\usepackage{tipa}}{}
\fi
\def\exampleFont{\ttfamily\small}
\DeclareTextSymbol{\textpi}{OML}{25}
\usepackage{relsize}
\RequirePackage{array}
\def\@testpach{\@chclass
 \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
  \ifnum \@lastchclass=7 5 \else
   \ifnum \@lastchclass=8 \tw@ \else
    \ifnum \@lastchclass=9 \thr@@
   \else \z@
   \ifnum \@lastchclass = 10 \else
   \edef\@nextchar{\expandafter\string\@nextchar}%
   \@chnum
   \if \@nextchar c\z@ \else
    \if \@nextchar l\@ne \else
     \if \@nextchar r\tw@ \else
   \z@ \@chclass
   \if\@nextchar |\@ne \else
    \if \@nextchar !6 \else
     \if \@nextchar @7 \else
      \if \@nextchar (8 \else
       \if \@nextchar )9 \else
  10
  \@chnum
  \if \@nextchar m\thr@@\else
   \if \@nextchar p4 \else
    \if \@nextchar b5 \else
   \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
   \fi \fi  \fi  \fi  \fi  \fi  \fi \fi \fi \fi \fi \fi}
\gdef\arraybackslash{\let\\=\@arraycr}
\def\@textsubscript#1{{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
\def\Panel#1#2#3#4{\multicolumn{#3}{){\columncolor{#2}}#4}{#1}}
\def\abbr{}
\def\corr{}
\def\expan{}
\def\gap{}
\def\orig{}
\def\reg{}
\def\ref{}
\def\sic{}
\def\persName{}\def\name{}
\def\placeName{}
\def\orgName{}
\def\textcal#1{{\fontspec{Lucida Calligraphy}#1}}
\def\textgothic#1{{\fontspec{Lucida Blackletter}#1}}
\def\textlarge#1{{\large #1}}
\def\textoverbar#1{\ensuremath{\overline{#1}}}
\def\textquoted#1{‘#1’}
\def\textsmall#1{{\small #1}}
\def\textsubscript#1{\@textsubscript{\selectfont#1}}
\def\textxi{\ensuremath{\xi}}
\def\titlem{\itshape}
\newenvironment{biblfree}{}{\ifvmode\par\fi }
\newenvironment{bibl}{}{}
\newenvironment{byline}{\vskip6pt\itshape\fontsize{16pt}{18pt}\selectfont}{\par }
\newenvironment{citbibl}{}{\ifvmode\par\fi }
\newenvironment{docAuthor}{\ifvmode\vskip4pt\fontsize{16pt}{18pt}\selectfont\fi\itshape}{\ifvmode\par\fi }
\newenvironment{docDate}{}{\ifvmode\par\fi }
\newenvironment{docImprint}{\vskip 6pt}{\ifvmode\par\fi }
\newenvironment{docTitle}{\vskip6pt\bfseries\fontsize{22pt}{25pt}\selectfont}{\par }
\newenvironment{msHead}{\vskip 6pt}{\par}
\newenvironment{msItem}{\vskip 6pt}{\par}
\newenvironment{rubric}{}{}
\newenvironment{titlePart}{}{\par }

\newcolumntype{L}[1]{){\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{){\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{){\raggedleft\arraybackslash}p{#1}}
\newcolumntype{P}[1]{){\arraybackslash}p{#1}}
\newcolumntype{B}[1]{){\arraybackslash}b{#1}}
\newcolumntype{M}[1]{){\arraybackslash}m{#1}}
\definecolor{label}{gray}{0.75}
\def\unusedattribute#1{\sout{\textcolor{label}{#1}}}
\DeclareRobustCommand*{\xref}{\hyper@normalise\xref@}
\def\xref@#1#2{\hyper@linkurl{#2}{#1}}
\begingroup
\catcode`\_=\active
\gdef_#1{\ensuremath{\sb{\mathrm{#1}}}}
\endgroup
\mathcode`\_=\string"8000
\catcode`\_=12\relax

\usepackage[a4paper,twoside,lmargin=1in,rmargin=1in,tmargin=1in,bmargin=1in,marginparwidth=0.75in]{geometry}
\usepackage{framed}

\definecolor{shadecolor}{gray}{0.95}
\usepackage{longtable}
\usepackage[normalem]{ulem}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{marginnote}

\renewcommand{\@cite}[1]{#1}


\renewcommand*{\marginfont}{\itshape\footnotesize}

\def\Gin@extensions{.pdf,.png,.jpg,.mps,.tif}

  \pagestyle{fancy}

\usepackage[pdftitle={PLC based Robot Manipulator Control using Position based and Image based Algorithm},
 pdfauthor={}]{hyperref}
\hyperbaseurl{}

	 \paperwidth210mm
	 \paperheight297mm
              
\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{3}
\clubpenalty=8000
\emergencystretch 3em
\hbadness=4000
\hyphenpenalty=400
\pretolerance=750
\tolerance=2000
\vbadness=4000
\widowpenalty=10000

\renewcommand\section{\@startsection {section}{1}{\z@}%
     {-1.75ex \@plus -0.5ex \@minus -.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\Large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
     {-1.75ex\@plus -0.5ex \@minus- .2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\Large}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
     {-1.5ex\@plus -0.35ex \@minus -.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\large}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
     {-1ex \@plus-0.35ex \@minus -0.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\normalsize}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
     {1.5ex \@plus1ex \@minus .2ex}%
     {-1em}%
     {\reset@font\normalsize\bfseries}}


\def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt}
 \@tempdima 1.5em \begingroup
 \parindent \z@ \rightskip \@pnumwidth 
 \parfillskip -\@pnumwidth 
 \bfseries \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}\par
 \endgroup}
\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
\@ifundefined{c@section}{\newcounter{section}}{}
\@ifundefined{c@chapter}{\newcounter{chapter}}{}
\newif\if@mainmatter 
\@mainmattertrue
\def\chaptername{Chapter}
\def\frontmatter{%
  \pagenumbering{roman}
  \def\thechapter{\@roman\c@chapter}
  \def\theHchapter{\roman{chapter}}
  \def\thesection{\@roman\c@section}
  \def\theHsection{\roman{section}}
  \def\@chapapp{}%
}
\def\mainmatter{%
  \cleardoublepage
  \def\thechapter{\@arabic\c@chapter}
  \setcounter{chapter}{0}
  \setcounter{section}{0}
  \pagenumbering{arabic}
  \setcounter{secnumdepth}{6}
  \def\@chapapp{\chaptername}%
  \def\theHchapter{\arabic{chapter}}
  \def\thesection{\@arabic\c@section}
  \def\theHsection{\arabic{section}}
}
\def\backmatter{%
  \cleardoublepage
  \setcounter{chapter}{0}
  \setcounter{section}{0}
  \setcounter{secnumdepth}{2}
  \def\@chapapp{\appendixname}%
  \def\thechapter{\@Alph\c@chapter}
  \def\theHchapter{\Alph{chapter}}
  \appendix
}
\newenvironment{bibitemlist}[1]{%
   \list{\@biblabel{\@arabic\c@enumiv}}%
       {\settowidth\labelwidth{\@biblabel{#1}}%
        \leftmargin\labelwidth
        \advance\leftmargin\labelsep
        \@openbib@code
        \usecounter{enumiv}%
        \let\p@enumiv\@empty
        \renewcommand\theenumiv{\@arabic\c@enumiv}%
	}%
  \sloppy
  \clubpenalty4000
  \@clubpenalty \clubpenalty
  \widowpenalty4000%
  \sfcode`\.\@m}%
  {\def\@noitemerr
    {\@latex@warning{Empty `bibitemlist' environment}}%
    \endlist}

\def\tableofcontents{\section*{\contentsname}\@starttoc{toc}}
\parskip0pt
\parindent1em
\def\Panel#1#2#3#4{\multicolumn{#3}{){\columncolor{#2}}#4}{#1}}
\newenvironment{reflist}{%
  \begin{raggedright}\begin{list}{}
  {%
   \setlength{\topsep}{0pt}%
   \setlength{\rightmargin}{0.25in}%
   \setlength{\itemsep}{0pt}%
   \setlength{\itemindent}{0pt}%
   \setlength{\parskip}{0pt}%
   \setlength{\parsep}{2pt}%
   \def\makelabel##1{\itshape ##1}}%
  }
  {\end{list}\end{raggedright}}
\newenvironment{sansreflist}{%
  \begin{raggedright}\begin{list}{}
  {%
   \setlength{\topsep}{0pt}%
   \setlength{\rightmargin}{0.25in}%
   \setlength{\itemindent}{0pt}%
   \setlength{\parskip}{0pt}%
   \setlength{\itemsep}{0pt}%
   \setlength{\parsep}{2pt}%
   \def\makelabel##1{\upshape ##1}}%
  }
  {\end{list}\end{raggedright}}
\newenvironment{specHead}[2]%
 {\vspace{20pt}\hrule\vspace{10pt}%
  \phantomsection\label{#1}\markright{#2}%

  \pdfbookmark[2]{#2}{#1}%
  \hspace{-0.75in}{\bfseries\fontsize{16pt}{18pt}\selectfont#2}%
  }{}
      \def\TheFullDate{2017-01-15 (revised: 15 January 2017)}
\def\TheID{\makeatother }
\def\TheDate{2017-01-15}
\title{PLC based Robot Manipulator Control using Position based and Image based Algorithm}
\author{}\makeatletter 
\makeatletter
\newcommand*{\cleartoleftpage}{%
  \clearpage
    \if@twoside
    \ifodd\c@page
      \hbox{}\newpage
      \if@twocolumn
        \hbox{}\newpage
      \fi
    \fi
  \fi
}
\makeatother
\makeatletter
\thispagestyle{empty}
\markright{\@title}\markboth{\@title}{\@author}
\renewcommand\small{\@setfontsize\small{9pt}{11pt}\abovedisplayskip 8.5\p@ plus3\p@ minus4\p@
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus2\p@
\belowdisplayshortskip 4\p@ plus2\p@ minus2\p@
\def\@listi{\leftmargin\leftmargini
               \topsep 2\p@ plus1\p@ minus1\p@
               \parsep 2\p@ plus\p@ minus\p@
               \itemsep 1pt}
}
\makeatother
\fvset{frame=single,numberblanklines=false,xleftmargin=5mm,xrightmargin=5mm}
\fancyhf{} 
\setlength{\headheight}{14pt}
\fancyhead[LE]{\bfseries\leftmark} 
\fancyhead[RO]{\bfseries\rightmark} 
\fancyfoot[RO]{}
\fancyfoot[CO]{\thepage}
\fancyfoot[LO]{\TheID}
\fancyfoot[LE]{}
\fancyfoot[CE]{\thepage}
\fancyfoot[RE]{\TheID}
\hypersetup{citebordercolor=0.75 0.75 0.75,linkbordercolor=0.75 0.75 0.75,urlbordercolor=0.75 0.75 0.75,bookmarksnumbered=true}
\fancypagestyle{plain}{\fancyhead{}\renewcommand{\headrulewidth}{0pt}}

\date{}
\usepackage{authblk}

\providecommand{\keywords}[1]
{
\footnotesize
  \textbf{\textit{Index terms---}} #1
}

\usepackage{graphicx,xcolor}
\definecolor{GJBlue}{HTML}{273B81}
\definecolor{GJLightBlue}{HTML}{0A9DD9}
\definecolor{GJMediumGrey}{HTML}{6D6E70}
\definecolor{GJLightGrey}{HTML}{929497} 

\renewenvironment{abstract}{%
   \setlength{\parindent}{0pt}\raggedright
   \textcolor{GJMediumGrey}{\rule{\textwidth}{2pt}}
   \vskip16pt
   \textcolor{GJBlue}{\large\bfseries\abstractname\space}
}{%   
   \vskip8pt
   \textcolor{GJMediumGrey}{\rule{\textwidth}{2pt}}
   \vskip16pt
}

\usepackage[absolute,overlay]{textpos}

\makeatother 
      \usepackage{lineno}
      \linenumbers
      
\begin{document}

             \author[1]{Patil,  Madhav}

             \affil[1]{  University Of Bridgeport}

\renewcommand\Authands{ and }

\date{\small \em Received: 6 December 2016 Accepted: 5 January 2017 Published: 15 January 2017}

\maketitle


\begin{abstract}
        


Programmable Logic Controller (PLC) is making big role in the field of automation and robotics. This paper described the design and implementation of Programmable Logic Controller (PLC) based robot manipulator control using two different artificial intelligence algorithms - Position Based and Imaged Based algorithm. The controlled robot is 5 degrees of freedom (DOF) manipulator with a closed kinematic chain, designed for high-performance pick and place applications. The control software is fully developed on a commercial PLC system, using its standard programming tools and the multi-tasking features of its operating system. In particular, this paper analyze in detail the drawbacks and the advantages related to the choice of standard PLCs in this kind of applications, compared to the much common choice of specialized hardware or industrial personal computers, with particular emphasis on the computational performances obtained with the proposed control architecture.

\end{abstract}


\keywords{artificial intelligence, vision system, programmable logic controller, robot manipulator, industrial automation, design, hardware.}

\begin{textblock*}{18cm}(1cm,1cm) % {block width} (coords) 
\textcolor{GJBlue}{\LARGE Global Journals \LaTeX\ JournalKaleidoscope\texttrademark}
\end{textblock*}

\begin{textblock*}{18cm}(1.4cm,1.5cm) % {block width} (coords) 
\textcolor{GJBlue}{\footnotesize \\ Artificial Intelligence formulated this projection for compatibility purposes from the original article published at Global Journals. However, this technology is currently in beta. \emph{Therefore, kindly ignore odd layouts, missed formulae, text, tables, or figures.}}
\end{textblock*}


\let\tabcellsep& 	 	 		 
\section[{INTRODUCTION}]{INTRODUCTION}\par
obot manipulators are largely used in packaging industry, especially for pick and place operations and box filling. In particular, packaging of small food products, like cookies or candies, requires high performance robots with short cycle times and precise motion control, even if their workspace is relatively small \hyperref[b0]{[1]}. Such performances can be obtained by means of lightweight parallel-driven or delta-like kinematics, whose advantages in terms of reduced moving masses and inertias are well-known. These robots include a vision system to identify and localize large and unordered products on the conveyors. Typically robot controller is proprietary and limits its access for customers to extend its usage without support from the manufacturer. Since the integration of a robotic system with additional application-specific tools and features often requires the development of software or hardware that closely matches with the basic robot motion control system. In general, customers search for openness of robot controllers for addition or modification of its functionalities. In literature, several open architectures for robot controls has been developed by academic research that limits its application to a smaller scale \hyperref[b1]{[2]}, \hyperref[b2]{[3]}, \hyperref[b3]{[4]}. In most cases, these architectures take Computers (PC). On one hand, the use of PCs for robot control reduces software development costs that use high level languages and well-designed Integrated Development Environments (IDE). On the other hand, standard PCs doesn't meet the reliability required by complex industrial environments. In summary, the use of more protective enclosures and usage of robust electronic components increase the cost of PC based robot controllers.\par
Programmable Logic Controllers (PLCs) is a typically a control device playing a dominant role in industrial automation. PLCs provides higher degree of robustness, cheaper than alternative options and ease of use \hyperref[b0]{[1]}. Electronic components in PLCs are benchmarked for their reliability and robustness ultimately guaranteeing high performance. For this reasons, PLCs are commonly considered as low-level systems, whose main purpose is to control using simple Boolean signals (i.e. discrete control and sequencing) and to supervise the safety and integrity of plants and operators. However, modern PLCs have sufficient computational power to perform complex mathematical calculations using various programming languages (i.e. IEC 61131-3 \hyperref[b4]{[5]}). This allows developers to implement various algorithms for robot control on PLCs.\par
Typically, most PLCs support only their proprietary IDE. The respective IDE provides an option for users to custom build/modify their applications which is a limiting factor in PC-based approaches \hyperref[b2]{[3]}. Therefore, PLC programs can be updated and extended by end-users even without the original source code, which makes PLCs as "open" systems. Despite of these features, PLC-based control systems for robot manipulators are quite rare and, in general, limited to simple Cartesian or gantry-like structures \hyperref[b6]{[7]}.\par
A robot arm is the combination of links and joints in the form of a chain with one end is fixed while the other end can be moved with certain degree of freedom in native axis of the arm and is termed as end effector. The joints are either prismatic or revolute, driven by actuators. In order to move the end effector along a certain path, the respective joints should be moved appropriately \hyperref[b7]{[8]}. In this process, it is necessary to perform inverse kinematics equation. In case of redundant manipulator, inverse kinematics is more challenging when compared to a non-redundant manipulator whose kinematics is not so complicated \hyperref[b6]{[7]}.\par
There are traditional methods such as algebraic solutions, geometric solutions and iterative solutions in order to solve the inverse kinematics problem \hyperref[b4]{[5]}. However, these methods are computationally complex and exhibits higher execution times. Recently, the particle swarm optimization (PSO) has been successfully applied to various optimization problems. This new optimization algorithm combines social psychology principles in socio-cognition human agents and evolutionary computations \hyperref[b8]{[9]}.\par
In this paper, authors discusses about the capabilities of a commercial PLCs and its multi-tasking operating system to implement a robot control system including inverse kinematics for on-line trajectory planning. Our design is an integration of vision systems with Robot manipulator and PLC used for implementing Imaged Based Intelligence algorithm. This system design provides location information of object using Position Based algorithm. The particle swarm optimization is used for Position based algorithm as it is characterized as a simple concept. This methodology is easy to implement and computationally efficient \hyperref[b8]{[9,}\hyperref[b9]{10]}. The robotic platform described in the paper is designed and developed in Programmable Logic Controller laboratory at University of Bridgeport, CT, USA \hyperref[b0]{[1]}. The rest of the paper is organized as follows: Sec. II describes the problem definition; Sec. III provides details about the solution, add Sec. IV describes the hardware setup. Sec. V describes about the result and Sec VI describes the conclusion and the future works. 
\section[{II.}]{II.} 
\section[{PROBLEM DEFINITION}]{PROBLEM DEFINITION}\par
Increase in automation needs with revolutionary advancement in technology motivates the researchers to develop next generation automation applications \hyperref[b10]{[11]}. Typically industrial processes uses manipulator arms for picking and placing the objects in close proximity. This involves robot arms to repeatedly perform movements with high accuracy and with precise joint angles \hyperref[b11]{[12]}. The common industrial manipulator is often referred as robot arm with joints and angles as shown in Figure \hyperref[fig_1]{1}. The robot arm used in our application is an articulated arm consists of all revolute joints. The articulated robot arm has maximum flexibility and can reach over and under the objects. As all joints are revolute these robots can cover large workspace and are easy to seal. The robot manipulators are assigned to accomplish the specific task in unstructured environment with minimal joint movements and with best shortest path. 
\section[{a) State Space}]{a) State Space}\par
As the manipulator is designed for pick and place application, the manipulator picks up the object and places it in relative positions such and are termed as good position or bad position or rejection area according to the sensory data. So finding the states for the robot manipulator is finite. The arm has its work space and can reach to those positions by various paths. 
\section[{b) Initial State}]{b) Initial State}\par
The initial state for the robot manipulator could be any state depends on the signal send by the sensors to the arm. But at the start of the operations the manipulator always go to the home or nesting position. 
\section[{c) Action}]{c) Action}\par
The manipulator action depend on the perceived signal from the sensors (camera, part detect sensor, etc.). The manipulator takes action based on the sensor data to the controller and controller performs the movement of arm. So manipulator moves toward the destination area by avoiding the obstacles in the path in a given time limit with respective speed. To reach the object, the manipulator has to find out the best possible path with minimal joint angle movement within its work space. The end effector will try to reach the object as soon as position coordinates are calculated. There are also other actions performed such as for open and close the gripper, take snap shot of parts, start/stop the conveyor, start/stop the motor etc.  The robot motion path planning has been studied more than two decades \hyperref[b12]{[13]}. Deriving the best possible inverse kinematic solution for end effector is challenging and difficult. Some of the challenging aspects in designing reverse kinematic solution are: Year 2017 
\section[{H d) Transition Model}]{H d) Transition Model}\par
The transition model for the manipulator depends on the action taken. In the start, the manipulator returns to the homing position. So we consider the initial state as the homing position, but not all the time. The camera mounted on the end effector will continuously feed the current position coordinates of the robot manipulator to the controller and the algorithm controls the motion of robot arm. The complete transition model is shown in Figure \hyperref[fig_2]{2}. 
\section[{e) Goal test}]{e) Goal test}\par
The goal test of this model is to pick and place the objects/parts with respective area for further processing by detecting metal and nonmetallic parts and avoiding the obstacle or collision of the robot arm with any other part of the system. 
\section[{f) Path Cost}]{f) Path Cost}\par
The path cost of this application varies according to the product cost, i.e. parts used for the system assembling, and other factors.\par
The complete flow chart of the application designed and implemented as given in Figure \hyperref[fig_3]{3}.   
\section[{H}]{H}\par
To achieve the goal in this study, the position trajectory calculation of the robot manipulator is the most challenging task, as it has to avoid the obstacle and reach the product for picking \hyperref[b13]{[14]}. As stated in above problem transition state for the robot manipulator has various possible paths to reach object. Among those paths, the best path will have the minimal joint movements and shortest distance within its workspace. Many techniques have been developed for finding the inverse kinematics of the manipulator. The complexity of finding the kinematics solution increases with number of joints or Degree Of Freedom (DOF). The robot manipulator position, path planning and motion control in 3 dimensional workspace become a key factor for control system design engineers and robot manufacturers. To achieve this functionality, the robot arm should be self-proficient, flexible, low power consumptions, fully efficient. One of the challenging task for robot arm in industry is to move its end effector from initial position to desired position in working environment with least residual vibration, minimal torque, obstacle avoidance and collision free kinematics, shortest time interval and/or distance in a desired path \hyperref[b14]{[15]}.\par
Dealing with complex, higher level control system with continuous interactive subsystem in dynamic environment is difficult and requires sophisticated and intellectual controllers with continuous process optimization. In this study, we proposed the solution for path planning as stated in the previous section. The proposed solution has been applied and tested on robot manipulator with 5 DOF. The experimental set up is explained in Section IV. In this experiment we are using position based algorithm in combination with Image based algorithm to finding the best possible solution for path planning. In this study, we are implementing Artificial Intelligence in the robot arm control system using PLC as shown in Figure \hyperref[fig_4]{4}. The system is completely knowledge based as it uses information from the sensors and performs the action using robot arm and actuators. The position based search algorithm uses the visual data provided by the imaged based algorithm and calculates the joint velocity and angles to form the inverse kinematic solution in 3 dimensional workspace \hyperref[b15]{[16]}. By adding vision or imaged based algorithm, the robotic control system is more flexible, adaptable and increases the accuracy in the joints movement.\par
The principal advantage of using positionbased control is the chance of defining tasks in a standard Cartesian frame. On the contrary, the imagebased control is less sensitive to calibration errors; however, it requires online calculation of the image Jacobean that is a quantity depending on the distance between the target and the camera which is difficult to evaluate. A control of a manipulator in the image plane when mapped with the joint space is strongly nonlinear and may cause problems when crossing those points which are singular for the kinematics of the manipulator. The main purpose or goal of this study is to use the visual feedback from images captured by the camera and the Cartesian space co-ordinates of the target object which ultimately controls the motion of the robot to perform a task. The starting position and coordinate frame boundary is taught to the robot arm. From the calculated co-ordinates of the target object, the surface model in 3 dimensional co-ordinate systems will be constructed for robot manipulator. The sensor data will be used for knowledge base and will be used to avoid collision as well as can be used to find optimal shortest possible path or trajectory by checking each point in its workspace. The sensors can give a signal when contact is made with obstacles, detect metal or nonmetal objects, or measure a force being applied. Due to this knowledge provided by sensory units to the system, robot path can be planned before its execution to the target position.\par
Firstly, a camera is mounted on a manipulator end effector and it catches a 2-D image, a true potential can be exactly calculated. We assign the two dimensional coordinate system with the x-axis and yaxis forming a basis for the image plane and the z-axis perpendicular to the image plane. The origin located at distance ? behind the image plane as shown in Figure \hyperref[fig_6]{5}. In order to determine the position of the target object in the image plane, camera will capture the images and through which only the central point (only a single pixel) have to be identified, without knowing this point's co-ordinates in the attached Cartesian reference system. This coordinates will be feed to the Position Based Algorithm for calculating the joints angle and trajectory. The position finding algorithm outputs the xcoordinate and y-coordinate in the image frame along with a scaling factor (?). The scaling factor is related to the dimensions of the gripper and is used to get an idea of the elevation of the gripper. This helps in making the gripper co-planar with the target object.\par
We implemented our proposed algorithms and optimal path planning schemes on a PLC based Robot arm control system for sorting, pick and place application as shown in Figure \hyperref[fig_7]{6}. The Mitsubishi RV-M1 robot is driven with robot drive unit Movemaster EX from which it interfaces with Mitsubishi PLC with help of 50 pin connector and to an another interface for robot teach pendant. This drive unit stores the code in the robot. The nomenclature of the robot arm is shown in Figure \hyperref[fig_8]{7}.  The application we used for testing these two algorithm with PLC is Pick and Place application with Quality Inspection. As an initial step we localize the object using a traditional Haar classifier. We trained multiple models for recognition various objects in the scene. At time of training process each Haar object detection model will be fed with respective positive samples or in class samples and out of class samples. We then evaluate the performance of the trained model using test data. The processing is performed on a windows machine using Matlab Software. We chose this method (Haar classifier) as it is one of the successful and simple object detection method used widely in machine vision technologies. Some of the sample training images are shown in below Figure \hyperref[fig_10]{9}, Figure \hyperref[fig_11]{10}, Figure \hyperref[fig_12]{11}, and Figure \hyperref[fig_13]{12}.\par
The pseudo code for Experimental Setup is as given bellow. products with unique features to distinguish whether it is good or bad product. 
\section[{JOB 1}]{JOB 1}\par
We used relay for job 1, it will check whether screw in the socket is present or not. If cognex checker detects screw on the right position then it will consider it as good part and send it to accept position else it will send it to reject position. We used holder for job 2, checker will check whether holding pins are assembled in holder during manufacturing process or not. If all holding pins are present in holder then checker will consider it as good product else it will consider it as bad product and send the good product to accept position and bad product to reject position. Purell hand sanitizer is used in job 3. In this job we check the label of Purell brand name in the hand sanitizer container. Container with Purell brand name is considered as a good product and without Purell brand name is considered as a bad product. We used nut for job 4. Nut with two marks is considered as good product and nut without marks will be considered as a bad part. \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-2.png}
\caption{\label{fig_0}}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{1}\includegraphics[]{image-3.png}
\caption{\label{fig_1}Figure 1 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{2}\includegraphics[]{image-4.png}
\caption{\label{fig_2}Figure 2 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{3}\includegraphics[]{image-5.png}
\caption{\label{fig_3}Figure 3 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{4}\includegraphics[]{image-6.png}
\caption{\label{fig_4}Figure 4 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{5}\includegraphics[]{image-7.png}
\caption{\label{fig_6}Figure 5 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{6}\includegraphics[]{image-8.png}
\caption{\label{fig_7}Figure 6 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{7}\includegraphics[]{image-9.png}
\caption{\label{fig_8}Figure 7 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{8}\includegraphics[]{image-10.png}
\caption{\label{fig_9}Figure 8 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{9}\includegraphics[]{image-11.png}
\caption{\label{fig_10}Figure 9 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{10}\includegraphics[]{image-12.png}
\caption{\label{fig_11}Figure 10 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{11}\includegraphics[]{image-13.png}
\caption{\label{fig_12}Figure 11 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{12}\includegraphics[]{image-14.png}
\caption{\label{fig_13}Figure 12 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{} \par 
\begin{longtable}{P{0.19794520547945205\textwidth}P{0.6520547945205479\textwidth}}
\tabcellsep 2. begin (At start node Get the unvisited adjacent )\\
\tabcellsep while (there are bNODEs proceed with PBA and IBA\\
\tabcellsep algorithm and generate Step code for the branch till you\\
\tabcellsep reach a tNODE or xNODE)\\
\tabcellsep if ( xNODE proceed to 3)\\
\tabcellsep else if ( tNODE go to 7)\\
V. RESULTS\tabcellsep else go to 10 3. Global Journal 31 Year 2017 of Researches in Engineering ( ) Volume XVII Issue I Version I H\\
1. Initialize:\tabcellsep \\
Start node Stack = empty\tabcellsep \\
End node Stack = empty\tabcellsep \\
All other variables initialized.\tabcellsep \end{longtable} \par
 
\caption{\label{tab_0}}\end{figure}
 			\footnote{© 2017 Global Journals Inc. (US)} 			\footnote{PLC based Robot Manipulator Control using Position Based and Image Based Algorithm © 2017 Global Journals Inc. (US)} 		 		\backmatter  			 
\subsection[{Global}]{Global} 
\subsection[{CONCLUSION}]{CONCLUSION}\par
In this paper we proposed an algorithms and implementation method for calculating the inverse kinematic solution and trajectory planning for industrial robot manipulator using the Position based algorithm in combination with Image based algorithm. The implementation is carried out on Movemaster Robot Arm with PLC for sorting metal and nonmetal objects, pick and place application. The proposed combination algorithm reduces the computation time and positioning error for finding the target in real time.			 			  				\begin{bibitemlist}{1}
\bibitem[Palmieri et al. ()]{b14}\label{b14} 	 		‘A Comparison between Position-Based and Image-Based Dynamic Visual Servoings in the Control of a Translating Parallel Manipulator’.  		 			G Palmieri 		,  		 			M Palpacelli 		,  		 			M Battistelli 		,  		 			M Callegari 		.  	 	 		\textit{Journal of Robotics}  		2012. 2012 p. 11.  	 
\bibitem[Abukhalil et al. ()]{b8}\label{b8} 	 		‘A Comprehensive Survey on Decentralized Modular Swarm Robotic systems and Deployment Environments’.  		 			T Abukhalil 		,  		 			M Patil 		,  		 			T Sobh 		.  	 	 		\textit{International Journal of Engineering (IJE)}  		2013. 7 p. .  	 
\bibitem[Macchelli and Melchiorri (2002)]{b11}\label{b11} 	 		‘A real-time control system for industrial robots and control applications based on real-time Linux’.  		 			A Macchelli 		,  		 			C Melchiorri 		.  	 	 		\textit{15th IFAC World Congress},  				 (Barcelona, Spain)  		July 2002.  	 
\bibitem[Arvin et al. ()]{b6}\label{b6} 	 		‘A short-range infrared communication for swarm mobile robots’.  		 			F Arvin 		,  		 			S Khairulmizam 		,  		 			R Abdul Rahman 		.  	 	 		\textit{2009 International Conference on Signal Processing Systems},  				2009.  	 
\bibitem[Asada and Youcef-Toumi (1983)]{b12}\label{b12} 	 		‘Analysis and design of semidirect drive robot arms’.  		 			H Asada 		,  		 			K Youcef-Toumi 		.  	 	 		\textit{Proc. American Control Conference},  				 (American Control ConferenceSan Francisco, CA)  		June 1983.  	 
\bibitem[Abukhalil et al. ()]{b3}\label{b3} 	 		‘Coordinating a heterogeneous robot swarm using Robot Utility-based Task Assignment (RUTA)’.  		 			T Abukhalil 		,  		 			M Patil 		,  		 			S Patel 		,  		 			T Sobh 		.  	 	 		\textit{2016 IEEE 14th International Workshop on Advanced Motion Control (AMC)},  				 (Auckland, New Zealand)  		2016.  	 
\bibitem[Christensen et al. ()]{b7}\label{b7} 	 		‘From fireflies to fault-tolerant swarms of robots’.  		 			A L Christensen 		,  		 			R Ogrady 		,  		 			M Dorigo 		.  	 	 		\textit{IEEE Transactions on Evolutionary Computation}  		2009. 13  (4)  p. .  	 
\bibitem[Patil et al. ()]{b9}\label{b9} 	 		‘Hardware Architecture Review of Swarm Robotics System: Self-Reconfigurability, Self-Reassembly, and Self-Replication’.  		 			M Patil 		,  		 			T Abukhalil 		,  		 			T Sobh 		.  	 	 		\textit{ISRN Robotics}  		2013. 2013 p. 11.  	 
\bibitem[Whitney and Lozinski ()]{b13}\label{b13} 	 		‘Industrial robot forward calibration method and results’.  		 			D Whitney 		,  		 			A Lozinski 		.  	 	 		\textit{ASME Journal of Dynamic Systems, Measurement and Control}  		1986. 108 p. .  	 
\bibitem[Patil and Toporovsky ()]{b0}\label{b0} 	 		‘Integration of Vision System, Intelligent ROBO Actuator, HMI and PLC to Design a Universal Quality Inspection or Control Machine," i-manager's’.  		 			M Patil 		,  		 			J Toporovsky 		.  	 	 		\textit{Journal on Mechanical Engineering}  		2012. 2  (3)  p. .  	 
\bibitem[Hashimoto et al. ()]{b10}\label{b10} 	 		‘Manipulator control with image-based visual servo’.  		 			K Hashimoto 		,  		 			T Kimoto 		,  		 			T Ebine 		,  		 			H Kimura 		.  	 	 		\textit{IEEE International Conference on Robotics and Automation},  				 (Sacramento, CA, USA)  		1991.  	 
\bibitem[Borenstein et al. ()]{b15}\label{b15} 	 		‘Mobile Robot Positioning -Sensors and Techniques’.  		 			J Borenstein 		,  		 			H Everett 		,  		 			L Feng 		,  		 			D Wehe 		.  	 	 		\textit{Journal of Robotic Systems}  		1996. 14  (4)  p. .  	 
\bibitem[Bonfe et al. ()]{b4}\label{b4} 	 		‘PLC-based control of a robot manipulator with closed kinematic chain’.  		 			M Bonfe 		,  		 			M Vignali 		,  		 			M Fiorini 		.  	 	 		\textit{IEEE International Conference in Robotics and Automation},  				2009.  	 
\bibitem[Kao and Gong ()]{b2}\label{b2} 	 		‘Robot-based computerintegrated manufacturing as applied in manufacturing automation’.  		 			I Kao 		,  		 			C Gong 		.  	 	 		\textit{Robotics and Computer-Integrated Manufacturing}  		1997. 13  (2)  p. .  	 
\bibitem[Patil et al. ()]{b5}\label{b5} 	 		‘UB robot swarm -Design, implementation, and power management’.  		 			M Patil 		,  		 			T Abukhalil 		,  		 			S Patel 		,  		 			T Sobh 		.  	 	 		\textit{12th IEEE International Conference on Control and Automation (ICCA)},  				 (Kathmandu)  		2016.  	 
\bibitem[Patil et al. (2016)]{b1}\label{b1} 	 		‘UB Swarm: Hardware Implementation of Heterogeneous swarm robot with fault detection and power management’.  		 			M Patil 		,  		 			T Abukhalil 		,  		 			S Patel 		,  		 			T Sobh 		.  	 	 		\textit{International Journal of Computing}  		September 2016. 15  (3)  p. .  	 
\end{bibitemlist}
 			 		 	 
\end{document}
