\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={Kinematics, Localization and Control of Differential Drive Mobile Robot},
 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{2014-01-15 (revised: 15 January 2014)}
\def\TheID{\makeatother }
\def\TheDate{2014-01-15}
\title{Kinematics, Localization and Control of Differential Drive Mobile Robot}
\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]{Sandeep Kumar  Malu}

             \author[2]{Jharna  Majumdar}

             \affil[1]{  Nitte Meenakshi Institute of Technology}

\renewcommand\Authands{ and }

\date{\small \em Received: 11 December 2013 Accepted: 2 January 2014 Published: 15 January 2014}

\maketitle


\begin{abstract}
        


The present work focuses on Kinematics, Localization and closed loop motion control of a differential drive mobile robot which is capable of navigating to a desired goal location in an obstacle free static indoor environment. Two trajectory planning approaches are made (i) the robot is rotated to eliminate orientation error and then translate to overcome distance error (ii) Both rotational and translational motion is given to the robot to overcome orientation and distance error simultaneously. Localization is estimated by integrating the robot movement in a fixed sampling frequency. The control law is based on kinematics model which provides updated reference speed to the high frequency PID control of DC motor. Stability of proposed control law is validated by Lyapunov Criterion. Both experimental and simulation results confirm the effectiveness of the achieved control algorithms and their efficient implementation on a two wheeled differential drive mobile robot using an 8-bit microcontroller.

\end{abstract}


\keywords{kinematics, odometric localization, PID speed control, differential drive robot, lyapunov stability theory.}

\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
utonomous mobile robots have various applications in the field of industry, military and security environment. The problem of autonomous motion planning and control of wheeled mobile robots have attracted lot of research interest in the field of robotics. Consequently engineers working on design of mobile robots have proposed various drive mechanisms to drive such robots. However the most common way to build a mobile robot is to use two-wheel drive with differential steering and a free balancing wheel (castor). Controlling the two motors independently make such robots to have good manoeuvring and work well in indoor environment. Mobile robots with such drive systems are a typical example of non-holonomic mechanisms due to the perfect rolling constraints on a wheel motion (no longitudinal or lateral slipping).\par
An asymptotic stable controller using Backstepping method for posture tracking and its stability has been validated \hyperref[b0]{[1]}  \hyperref[b6]{[7]}. An Adaptive Controller \hyperref[b1]{[2]} to compensate errors can further improve its stability. A non-linear control design \hyperref[b5]{[6]} using feedback linearization can provide better performance than conventional linearized controller. Many authors \hyperref[b1]{[2]} [3] have proposed methods to reduce odometry error caused by kinematic imperfection. A different approach of localization using RFID technology \hyperref[b4]{[5]} is efficient, fast and cheap.\par
A neural network \hyperref[b3]{[4]} based reactive navigation algorithm for mobile robot in unstructured environment while avoiding obstacles is found to be optimized in computation.\par
In the present paper, kinematics model and localization using optical encoder coupled with the DC motor of a differential drive robot is presented. This model itself is used as a motion controller in a closed loop control scheme. In the absence of workspace obstacles, the basic motion tasks assigned to wheeled mobile robots may be reduced to moving between two robot postures and following a given trajectory.\par
The paper is organized as follows: In section II, basic equations of Kinematics and Motion Model of the robot are reported. The Localization in indoor environment using optical encoder coupled with the motor is described in brief. In section III, Control law is proposed and its stability analysis is carried out based on Lyapunov theory. In section IV, PID speed control of motor is presented. Section V includes some simulation results. Section VI highlights implementation strategies of control and localization using an 8-bit ATmega 32 microcontroller while Section VI contains conclusion and future work. 
\section[{II. KINEMATICS OF DIFFERENTIAL DRIVE ROBOT a) Motion Model}]{II. KINEMATICS OF DIFFERENTIAL DRIVE ROBOT a) Motion Model}\par
Let Inertial Reference Frame is \{X I , Y I \} and Robot Frame is \{X R , Y R \}. The Robot position P [x y ?] is expressed in cartesian co-ordinate system of inertial frame. The relationship between Inertial and Robot frames is represented using basic transformation matrix as follows:?? ?? ?= ??(??)?? ?? ? = ??(??). [???????? ]??\textbf{(1)}\par
Where, The robot under consideration is a two wheeled differential drive robot, where each wheel is driven independently. Forward motion is achieved when both wheels are driven at the same rate, turning right is achieved by driving the left wheel at a higher rate than the right wheel and vice-versa for turning left. This type of mobile robot can turn on the spot by driving one wheel forward and second wheel in opposite direction at the same rate. Third wheel is a castor wheel needed for the stability of mobile robot.??(??) = ? cos ?? sin ?? 0 ?sin ?? cos ?? 0 0 0 1 ? A Global Journal of Researches in Engineering\par
Each individual wheel contributes to the robot's motion and at the same time, imposes constraints on robot motion. It is assumed that the wheels of the robot do not slide. It is expressed by Non Holonomic Constraint.\par
?? ?sin ?? ? ???cos ?? = 0 (2)\par
Also the measure of the traveled distance travelled by each wheel is not sufficient to calculate the final position of the robot. One needs to know how this movement is executed as a function of time. This can be illustrated in Fig. \hyperref[fig_3]{2}.?? 1?? = ?? 2?? ; ?? 1?? = ?? 2?? ?????? ?? 1 = ?? 2 ?? 1 ? ?? 2 ; ?? 1 ? ?? 2\par
Fig. \hyperref[fig_3]{2} : Dependence of Robot position on its velocities as function of time velocities ?? and ?. First consider the contribution of each wheel's spinning speed to the translation speed at P in the direction of +X R . If one wheel spins (?? 1 = ???? ?? ) while the other wheel contributes nothing and is stationary (?? 2 = 0), Since P is halfway between the two wheels, it will move instantaneously with half the speed i.e. ?? ?? = (1/2)???? ?? . In a differential drive robot, these two contributions can simply be added to calculate the?? ?? . Consider, for example, a differential robot in which each wheel spins with equal speed but in opposite directions.\par
The result is a stationary, spinning robot. As expected, ?? ?? will be zero in this case. The value of ?? ?? is even simpler to calculate. Neither wheel can contribute to sideways motion in the robot's reference frame, hence ?? ?? is always zero. Finally, we must compute the rotational component ?? of the robot. Once again the contributions of each wheel can be computed independently and just added. Consider the right wheel (we will call this wheel 1). Forward spin of this wheel results in counter clockwise rotation at point P. Recall that if wheel 1 spins alone, the robot pivots around wheel 2. The rotation velocity ?? 1 at P can be computed because the wheel is instantaneously moving along the arc of a circle of radius d. ?? 1 = ?? ?? ?? ?? . The same calculation applies to the left wheel, with the exception that forward spin results in clockwise-rotation at point P :?? 2 = ? ?? ?? ?? ?? .\par
Mapping between Robot velocities to wheel velocities is given as follows:?? = ?? ?? = ?? 1 + ?? 2 = ??( ?? ?? +?? ?? 2 ) ;?? ?? = 0 ? = ?? 1 + ?? 2 = ??( ?? ?? ??? ?? ?? )\textbf{(3)}\par
Where, r = radius of wheel and d = axial distance between wheels. 
\section[{b) Kinematic Equations}]{b) Kinematic Equations}\par
Kinematics is the most basic study of how mechanical systems behave. In mobile robotics, we need to understand the mechanical behaviour of the robot both in order to design appropriate mobile robots for desired tasks and to understand how to build control software.\par
Consider a differential drive robot at some    {\ref 5}) is valid when ?? ? 0 and above set of equations will be employed in establishing feedback control law for robot manoeuvring as discussed later in section III. 
\section[{c) Odometric Localization}]{c) Odometric Localization}\par
Localization is one of the most fundamental aspects of a mobile robot. All mobile robot system has to answer the fundamental question, which is "Where has to be obtained, so that the robot can easily move from source to destination. There are number of localization techniques with respect to mobile robot, however in the present work we have used dead reckoning method for localization. Dead reckoning method uses odometry to measure the movement of the robot. In the present work, we obtain the data from an incremental encoder (odometry), which is fitted along with a motor of the mobile robot. Incremental encoders measure the rotation of the wheels, which in turn, calculates robot position and orientation using integration approaches of kinematic model over [t k , t k+1 ].\par
Assuming Robot configuration q k\par
[?? ?? ?? ?? ?? ?? ] and constant velocity inputs V k and w k are known at discrete time t k , then using Euler integration?? ??+1 = ?? ?? + ?? ?? ?? ?? cos ?? ?? ?? ??+1 = ?? ?? + ?? ?? ?? ?? cos ?? ?? ?? ?? = ?? ?? + ?? ?? ?? ??\textbf{(6)}\par
where, ?? ?? ?? ?? = ??? and ?? ?? ?? ?? = ??? ?? ?? = ?? ??+1 ? ?? ??\par
The reconstruction of the current robot configuration is based on the incremental encoder data (odometry). Let ??? ?? and ??? ?? be the no. of wheel rotations measured during the sampling time T s by the encoders. Linear and angular displacements of the robot is given as??? = ?? 2 (?? ?? + ?? ?? ) , ??? = ?? ?? (?? ?? ? ?? ?? )\textbf{(7)}\par
Where, r = radius of wheel and d = axial distance between wheels.\par
For a differential-drive robot the position can be estimated starting from a known position by integrating the movement (summing the increment travel distances). The estimate of robot configuration at time t k is computed as:? ?? ?? ?? ?? ?? ?? ? = ? ?? ?? ?1 ?? ???1 ?? ???1 ? +? cos ?? 0 sin ?? 0 0 1 ? ? ??? ??? ? ,\textbf{(8)}\par
Robot localization using the above odometric prediction (commonly referred to as dead reckoning) is accurate enough in the absence of wheel slippage and backlash.\par
III. 
\section[{CONTROL LAW AND STABILITY}]{CONTROL LAW AND STABILITY}\par
The control algorithm must now be designed to drive the robot from its current configuration; say (?? ??, ?? ?? , ??) to the goal position (?? ð??"ð??", ?? ð??"ð??" , ??) . Here the objective is to find a control ?? = [?? ??] so that the robot's goal position is reached in finite interval of time. The proposed control law is state dependent i.e.\par
[?? ??] = ð??"ð??"(??, ??, ??) which guarantees the state to be asymptotically driven to [0, 0, ?] without attaining ? = 0 in finite time. One of the most commonly used methods to study the asymptotic behaviour is based on the Lyapunov stability theory. Consider a simple positive definite quadratic form of Lyapunov function:?? = ?? 1 + ?? 2 = 1 2 ?? 2 + 1 2 ?? 2\textbf{(9)}\par
Where the parameters V 1 , V 2 represent one half of the squared weighted norms of the "distance error vector" ? and "orientation error vector" ? exhibited by the robot between its current position and goal position defined with respect to the Reference Inertial Frame. Its time derivative is given by: ?? ?= ?? 1 ?+ ?? 2 ?= ???? + ????? Using kinematics equation (  {\ref 5}),?? ?= ??(??? cos ??) + ??(??? + ?? ?? sin ??)\textbf{(10)}\par
From the equation ( \hyperref[formula_9]{10}), the first term can be made non-positive by letting the linear velocity of the form:?? = ?? ?? ?? cos ?? ?? ?? > 0 (11) then , ?? 1 ?= ?????? ?? ???????? 2 ??? = ??? ?? ?? 2 ?????? 2 ?? ? 0\textbf{(12)}\par
This means that ?? 1 ? term is always nonincreasing in time and consequently, since it is asymptotically converges to non-negative finite limit.\par
Similarly the second term ?? 2 ? can be made be non-positive by letting the angular velocity ?? take the form of: The result in (15) is a negative semi-definite form. By applying Barbalat's Lemma, it follows that ?? ? necessary converges to zero for increasing time; thus in turn implying convergence of the state vector [?, ?, ?] to [0, 0, ?]. Hence it can be concluded that control vectors expressed by (  {\ref 11}) and (  {\ref 13} ?? = ?? ?? sin ?? cos ?? + ?? ?? ?? ?? ?? > 0\textbf{(} 
\section[{LOW LEVEL PID SPEED CONTROL}]{LOW LEVEL PID SPEED CONTROL}\par
The speed of DC motor can be adjusted to a great extent so as to provide easy control and high performance. There are several conventional and numeric controller types intended for controlling the DC motor speed. Recently, many modern control methodologies such as nonlinear control \hyperref[b7]{[8]}, optimal control \hyperref[b8]{[9]}, variable structure control \hyperref[b9]{[10]} and adaptive control \hyperref[b10]{[11]} have been extensively proposed for DC motors. However, these approaches are either complex in theory or difficult to implement. PID controller algorithm involves three parameters denoted P, I and D interpreted in terms of time. P depends on present error, I on the accumulation of past errors, and D is a prediction of future errors. PID control with its three term functionality covering both transient and steady-states response, offers the simplest and yet most efficient solution for many real world control problems. In spite of the simple structure and robustness of this method, optimally tuning gains of PID controllers have been quite difficult.\par
The electric equivalent circuit of the armature and the free-body diagram of the rotor are shown in the Fig.  {\ref 5} below The PID control design criteria are (i) less settling time (<1 s) (ii) overshoot less than 5\% (iii) steady state error less than 1\%. The PID speed control design is incorporated into the system. The transfer function for a PID controller given is by:??(??) = ?? ?? + ?? ?? ?? + ?? ?? ??\textbf{(17)}\par
Where, K P , K I and K D are gains. PID is simulated in Matlab and its response is plotted. Further, gain values are tuned manually to obtain desired response.\par
V. 
\section[{SIMULATION RESULTS}]{SIMULATION RESULTS}\par
Simulation results of DC motor characteristics incorporating PID for unit step input at different gains are shown in figure \hyperref[fig_6]{7}:    
\section[{IMPLEMENTATION}]{IMPLEMENTATION}\par
The robot which we used for our experiments is fabricated in-house. It has a differential-drive mechanism consisting of high torque Dynaflux DC motors each of which is equipped with high resolution Jayashree-15S optical quadrature shaft encoder for precise position and speed feedback to controller. The robot uses two 12V DC batteries in series to power motors, while 5V for Microcontroller development board. The power electronics module used to drive the DC motor is Super Hercules 9V-24V, 15A Motor Driver from Nex-robotics. The algorithm of localization and control has been implemented on 8-bit Atmega32 Microcontroller.\par
The output signal from one channel of encoder is fed to the rising edge enabled external interrupt pin. On interrupt, the status of other channel decides the direction and equivalent rotation counts of robot motion. These counts on accumulation at fixed sampling frequency (in our case 33 Hz) resolve robot position estimation using the expression for odometric localization explained in section II. Also these counts acts as feedback to PID speed control executing at 100 Hz frequency.\par
The control algorithm runs at 33 Hz wherein distance error vector and orientation error vector between robot instantaneous position and goal (target) position are calculated and robot control vectors viz. Two approaches to reach the goal position have been implemented. In first one, robot is made to rotate until orientation error is eliminated and then translated to overcome distance error. While in other method, robot exhibits both linear and angular velocities to overcome distance and orientation error simultaneously.\par
Using Kinematics motion models the linear and angular velocities of the robot are transformed to right and left wheel speeds and fed as reference speed to PID speed control. The upper limit of robot motion is set to 40 RPM.  
\section[{CONCLUSION AND FUTURE WORK}]{CONCLUSION AND FUTURE WORK}\par
In this paper, Kinematics feedback path controller for a differential drive mobile robot has been presented. Both the approach of Go-to-Goal motion is implemented using 8-bit Atmega 32 microcontroller. The robot motion behaviour in real time is in line with the behaviour observed in simulation. Also the proposed control law is validated as per Lyapunov stability criterion. The control algorithm proposed in this paper will be extended for human following application, where set points (goal locations) are updated regularly through computer vision algorithm of detecting and tracking human.\par
The present work will be extended to include obstacle avoidance in Go-to-Goal motion and dynamics consideration of robot for control which can enhance better stabilization. Further, Umbmark calibration needs to be performed to avoid localization error due to irregular wheel diameter and wheel axial alignation. Also Attitude compensation has to be incorporated in odometric localization whenever robot travels in irregular surface.\par
VIII.\begin{figure}[htbp]
\noindent\textbf{1}\includegraphics[]{image-2.png}
\caption{\label{fig_0}Fig. 1 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-3.png}
\caption{\label{fig_1}}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{3}\includegraphics[]{image-4.png}
\caption{\label{fig_2}Fig. 3 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{2}\includegraphics[]{image-5.png}
\caption{\label{fig_3}2}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{4}\includegraphics[]{image-6.png}
\caption{\label{fig_4}Fig. 4 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{56}\includegraphics[]{image-7.png}
\caption{\label{fig_5}Fig. 5 :Fig. 6 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{7}\includegraphics[]{image-8.png}
\caption{\label{fig_6}Fig. 7 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{8}\includegraphics[]{image-9.png}
\caption{\label{fig_7}Fig. 8 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-10.png}
\caption{\label{fig_9}Global}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{10}\includegraphics[]{image-11.png}
\caption{\label{fig_10}Fig. 10 :}\end{figure}
 			\footnote{© 2014 Global Journals Inc. (US)} 			\footnote{Kinematics, Localization and Control of Differential Drive Mobile Robot} 			\footnote{© 2014 Global Journals Inc. (US) H} 		 		\backmatter   			 
\subsection[{ACKNOWLEDGEMENT}]{ACKNOWLEDGEMENT}\par
The authors express their sincere gratitude to Prof. N R Shetty, Director and Dr. H C Nagaraj, Principal for their encouragement and support to undertake multidisciplinary research at NMIT. The authors thank the Mechanical Engineering team of NMIT led by Prof. Sunil Kumar H S for designing and fabricating the robot. The and Mr Srikanth A Rao, former Research Associates, Robotics Lab NMIT for their contribution in the work. 			  			 
\subsection[{Global}]{Global}			 			  				\begin{bibitemlist}{1}
\bibitem[Feng et al. ()]{b1}\label{b1} 	 		‘A model-reference adaptive motion controller for a differentialdrive mobile robot’.  		 			L Feng 		,  		 			Y Koren 		,  		 			J Borenstein 		.  	 	 		\textit{Proc. of IEEE International Conference on Robotics and Automation},  				 (of IEEE International Conference on Robotics and Automation)  		1994. p. .  	 
\bibitem[Lee et al. ()]{b0}\label{b0} 	 		‘A Stable Target Tracking Control for Unicycle Robots’.  		 			Sung-On Lee 		,  		 			Young-Jo Cho 		,  		 			Myung Hwang-Bo 		,  		 			Bum-Jae You 		,  		 			San-Rok Oh 		.  	 	 		\textit{proc. of IEEE Int. conf. on intelligent Robots and Systems}  		2000. p. .  	 
\bibitem[Han and Lim ()]{b4}\label{b4} 	 		‘An Efficient Localization Scheme for a Differential-Driving Mobile Robot Based on RFID System’.  		 			Soonshin Han 		,  		 			Hyungsoo Lim 		,  		 			Jangmyung 		.  	 	 		\textit{IEEE Transactions on Industrial Electronics}  		2007. p. .  	 
\bibitem[Reyer and Papalambros ()]{b8}\label{b8} 	 		‘An Investigation into Modeling and Solution Strategies for Optimal Design and Control’.  		 			J A Reyer 		,  		 			P Y Papalambros 		.  	 	 		\textit{ASME Design Engineering Technical Conferences}  		2000. p. .  	 
\bibitem[Aicardi et al. (1995)]{b11}\label{b11} 	 		‘authors also wish to acknowledge Mr R Praveen Jain "Closed Loop Steering of unicycle-like Vehicles via H Lyapunov techniques’.  		 			M Aicardi 		,  		 			G Casalino 		,  		 			A Bicchi 		,  		 			A Balestrino 		.  	 	 		\textit{IEEE Robotics \& Automation Magazine}  		March 1995.  	 
\bibitem[He ()]{b5}\label{b5} 	 		‘Feedback control design of differential-drive wheeled mobile robots’.  		 			Shouling He 		.  	 	 		\textit{Proc. of IEEE International Conference on Advanced Robotics},  				 (of IEEE International Conference on Advanced Robotics)  		2005. p. .  	 
\bibitem[Weerasooriya and El-Sharkawi ()]{b7}\label{b7} 	 		‘Identification and control of a DC motor using back propagation neural networks’.  		 			S Weerasooriya 		,  		 			M A El-Sharkawi 		.  	 	 		\textit{IEEE Trans. on Energy Conversion}  		1991. p. .  	 
\bibitem[Siegwart and Nourbakhsh ()]{b12}\label{b12} 	 		\textit{Introduction to Autonomous Mobile Robots},  		 			R Siegwart 		,  		 			I Nourbakhsh 		.  		2004. MA: Cambridge MIT Press.  	 
\bibitem[Moon et al. ()]{b2}\label{b2} 	 		‘Kinematic correction of a differential drive mobile robot and a design for velocity trajectory with acceleration constraints on motor controllers’.  		 			Jong-Woo Moon 		,  		 			Chong-Kug Park 		,  		 			F Harashima 		.  	 	 		\textit{Proc. of IEEE International Conference on Intelligent Robots and Systems},  				 (of IEEE International Conference on Intelligent Robots and Systems)  		1999. p. .  	 
\bibitem[Al-Sagban and Dhaouadi ()]{b3}\label{b3} 	 		‘Neural-based navigation of a differential-drive mobile robot’.  		 			M Al-Sagban 		,  		 			R Dhaouadi 		.  	 	 		\textit{Proc. of IEEE International Conference on Control Automation Robotics \& Vision p},  				 (of IEEE International Conference on Control Automation Robotics \& Vision p)  		2012. p. .  	 
\bibitem[Rubaai and Kotaru ()]{b10}\label{b10} 	 		‘Online identification and control of a DC motor using learning adaptation of neural networks’.  		 			A Rubaai 		,  		 			R Kotaru 		.  	 	 		\textit{IEEE Trans. On Industry Application}  		2000. p. .  	 
\bibitem[Corke ()]{b13}\label{b13} 	 		\textit{Robotics Vision and Control, Fundamental Algorithms in MATLAB},  		 			Peter Corke 		.  		2011. Springer.  	 
\bibitem[Chwa ()]{b6}\label{b6} 	 		‘Tracking Control of Differential-Drive Wheeled Mobile Robots Using a Backstepping-Like Feedback Linearization’.  		 			Dongkyoung Chwa 		.  	 	 		\textit{IEEE Transactions on Systems, Man and Cybernetics}  		2010. p. .  	 
\bibitem[Lin et al. ()]{b9}\label{b9} 	 		‘Variable structure adaptive control for PM synchronous servo motor drive’.  		 			F J Lin 		,  		 			K K Shyu 		,  		 			Y S Lin 		.  	 	 		\textit{IEEE Proc. on Elect. Power Application},  				1999. p. .  	 
\end{bibitemlist}
 			 		 	 
\end{document}
