%
%  2004/Lecture notes/Lecture22/Lecture22.tex
%
\documentclass[pdf,mmoll,slideColor%,colorBG
]{prosper}
\RequirePackage{color}

\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,natbib}
%\usepackage[T1,noTS1]{mathtime}
\SetMathAlphabet{\mathbf}{normal}{\encodingdefault}{ptm}{b}{n}
\usepackage{subfigure}
\usepackage{rotating}
\usepackage{graphicx}
%\usepackage[dvips]{color}
\usepackage{epsfig}
\graphicspath{{../figs/}}

\newcommand{\ee}{\end{equation}} 
\newcommand{\be}{\begin{equation}} 
\newcommand{\ec}{\end{center}} 
\newcommand{\bc}{\begin{center}} 
\newcommand{\eea}{\end{eqnarray}} 
\newcommand{\bea}{\begin{eqnarray}} 
%\newcommand{\sumprime}{\mathop{{\sum}'}} 
\newcommand{\bd}{\begin{description}} 
\newcommand{\ed}{\end{description}} 
\newcommand{\bi}{\begin{itemize}} 
\newcommand{\ei}{\end{itemize}} 
\newcommand{\pa}{\partial} 
\newcommand{\hor}{\left(\frac{h}{R_0}\right)} 

\newcommand{\code}[0]{\ttfamily}
\newcommand{\co}[0]{\hbox{c}}
\newcommand{\si}[0]{\hbox{s}}
\newcommand{\pprime}[0]{\prime\prime}
\newcommand{\ppprime}[0]{\prime\prime\prime}
\newcommand{\conv}{\operatorname{conv}}
\newcommand{\pos}{\operatorname{pos}}
\newcommand{\lin}{\operatorname{lin}}
\newcommand{\vertop}{\operatorname{vert}}
\newcommand{\spanop}{\operatorname{span}}
\newcommand{\supp}{\operatorname{supp}}
\newcommand{\intoper}{\operatorname{int}}
\newcommand{\half}{\operatorname{half}}
\newcommand{\rad}{\operatorname{rad}}
\newcommand{\diam}{\operatorname{diam}}
\newcommand{\push}{\operatorname{push}}
\newcommand{\sqz}{\operatorname{sqz}}
\newcommand{\sgn}{\operatorname{sgn}}
%\renewcommand{\Re}{\Bbb{R}}
\renewcommand{\Re}{\mathbf{R}}
\newcommand{\vv}[1]{\mathbf{#1}}
\newcommand{\uu}[1]{\hat {\vv #1}}
\newcommand{\defterm}[1]{\textbf{#1}}
\newcommand{\rot}{\operatorname{rot}}

\newcommand{\btimes}{\times}
\newcommand{\bomega}{\omega}

 
\newcommand{\bis}{\begin{itemstep}} 
\newcommand{\eis}{\end{itemstep}} 

\makeatletter
\define@key{PDF}{Movie}{\pdf@addtoks{#1}{Movie}}
\define@key{PDF}{Activation}{\pdf@addtoks{#1}{Activation}}
\newcommand{\moviewithpreview}[3]{% args: width, preview, movie
   \pdfmark[{\includegraphics[width=#1]{#2}}]{%
   pdfmark=/ANN,Subtype=/Movie,Movie=<< /F (#3) >>,%
   Activation=<< /ShowControls true /Mode /Repeat >>}}
\newcommand{\movie}[3]{% args:width, height, movie
   \pdfmark[{\hbox to #1 {\vbox to #2 { }}}]{%
   pdfmark=/ANN,Subtype=/Movie,Movie=<< /F (#3) /Poster true >>,%
   Activation=<< /ShowControls true /Mode /Repeat >>}}
\makeatother

\title{22.  Parts Orienting}
\subtitle{ Mechanics of Manipulation}
\author{Matt Mason}
\institution{Carnegie Mellon}
\email{matt.mason@cs.cmu.edu \\
http://www.cs.cmu.edu/\symbol{"7E}mason}
\slideCaption{Lecture 22. \hfill Mechanics of Manipulation }

\begin{document}

\maketitle

%=======================================================================
%
% SLIDE 2
%

\begin{slide}[R]{Lecture 22.  Parts Orienting.}
\vspace{-0.5in}
\includegraphics[height=3.0in]{TOC22}
\end{slide}

%=======================================================================
%
% SLIDE 3
%
%

\begin{slide}[R]{Outline.}

\begin{itemize}
\item Manufacturing
\item Radius function and diameter function
\item Push function
\item Representing uncertainty
\item Planning
\end{itemize}

\end{slide}

%=======================================================================
%
% SLIDE 4
%
%
\begin{slide}[R]{Automation and parts orienting}
\begin{minipage}[t]{.4\linewidth}
\begin{trivlist}
\item Assembly systems need oriented parts
\item Recall SONY Smart cell and APOS
\end{trivlist}
\end{minipage}
\hfill
\begin{minipage}[t]{.6\linewidth}
\begin{figure}[h!]
\begin{center}
\movie{1.0\linewidth}{.67\linewidth}%
{smartOrientWhite.mov}
\end{center}
%\includegraphics[height=3cm]{*file*}
\end{figure}\end{minipage}
\end{slide}

%=======================================================================
%
% SLIDE 5
%
%
\begin{slide}[R]{Most common example:  bowl feeder}
\begin{figure}[h!]
\includegraphics[width=1\linewidth]{bowlfeeder}
%\includegraphics[height=3cm]{*file*}
\end{figure}
\end{slide}
%=======================================================================
%
% SLIDE 6
%
%
\begin{slide}[R]{Orienting by pushing}

Pushing is a good way to orient a part.
\begin{itemize}
\item
Generic and flexible:
with a flat support surface
and a flat pusher, the same hardware can be used for a very broad
variety of parts.  

\item An important problem:  to find a
sequence of motions that will orient a given part.

\end{itemize}
\end{slide}

%=======================================================================
%
% SLIDE 7
%
%
\begin{slide}[R]{Assumptions}
\begin{enumerate}
\item
        Isolated rigid planar polygon, on a planar
        support surface.

\item
        Coulomb's law, uniform coefficient of friction.

\item
        Square pushing:  pusher translates along its normal.

\item The part makes contact only with the face
        of the pusher.  Each push proceeds until the part reaches a
        stable orientation.

\item
        Quasistatic: a balance of contact forces and
        gravity determines the object motion with sufficient accuracy.

\end{enumerate}
\end{slide}

%=======================================================================
%
% SLIDE 8
%
%
\begin{slide}[R]{Radius function}
\begin{figure}[h!]
\includegraphics[width=.8\linewidth]{raddef.eps}
%\includegraphics[height=3cm]{*file*}
\end{figure}
Definition of the radius function.
\end{slide}

%=======================================================================
%
% SLIDE 9
%
%
\begin{slide}[R]{Square pushing and radius function}
For square pushing, radius function behaves like a potential function.
\begin{itemize}
\item For a square push, the contact normal is the line of pushing,
      which splits the votes of the friction cone edges.  
\item So decision can switch when center of friction crosses contact
      normal (peak of radius function) 
\item $\ldots$ or when we switch from one vertex to another (valley of
      radius function). 
\end{itemize}

\end{slide}

%=======================================================================
%
% SLIDE 10
%
%
\begin{slide}[R]{Push function}
\begin{figure}[h!]
\includegraphics[width=5cm]{pushdef.eps}
%\includegraphics[height=3cm]{*file*}
\end{figure}
Define the push function mapping given object orientation $\theta$ to
orientation resulting from square push.
\end{slide}

%=======================================================================
%
% SLIDE 11
%
%
\begin{slide}[R]{Uncertainty}
\begin{itemize}
\item The push function maps area between two maxes to a min.
\item One push can eliminate a little bit of orientation uncertainty.
\item Can a sequence of pushes eliminate a lot?
\end{itemize}
We represent uncertain orientation as a closed interval $\Theta =
[\alpha,\beta]$.\\ 
Define $\bar{p}(\Theta)$ to return the smallest interval containing
$\{\push(\theta)|\theta\in\Theta\}$.

\end{slide}

%=======================================================================
%
% SLIDE 12
%
%
\begin{slide}[R]{Possibilism}
\begin{trivlist}
\item \emph{Possibilistic} approach:  Representing uncertainty by set
      of possibilities.
\item \emph{Conservative} approximation:  approximating the set of the
      possible states by a superset.  (A plan that works for the
      approximation will work for the actual possibilities.)
\item Sometimes probabilistic approach would be better.
\end{trivlist}
\end{slide}

%=======================================================================
%
% SLIDE 13
%
%
\begin{slide}[R]{Planning the last step}
\begin{minipage}[t]{.4\linewidth}
To plan \emph{last} step of $n$-step plan:
\begin{itemize}
\item
$\Theta_n$:  set of orientations before step $n$.

\item
What is the largest set that can be oriented in one push?  I.e.
what is the largest $\Theta$ such that $\bar{p}(\Theta)$ is a
single point?

\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[t]{.55\linewidth}
\begin{figure}[h!]
\includegraphics[width=\linewidth]{orientalg1.eps}
\end{figure}
\end{minipage}
\end{slide}


%=======================================================================
%
% SLIDE 14
%
%
\begin{slide}[R]{Planning the next-to-last step}
\begin{minipage}[t]{.4\linewidth}
\begin{itemize}
\item
Result must be at least as large as $\Theta_n$.

\item
To find $\Theta_{n-1}$:
\begin{itemize}

\item
What is the largest interval $\Theta$ that can be oriented in two pushes?  I.e.
what is the largest $\Theta$ such that $\bar{p}(\Theta)$ is smaller
than $\Theta_n$?

\end{itemize}
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[t]{.55\linewidth}
\begin{figure}[h!]
\includegraphics[width=\linewidth]{orientalg2.eps}
\end{figure}
\end{minipage}
\end{slide}

%=======================================================================
%
% SLIDE last
%

\begin{slide}[R]{Next:  Assembly.}
\vspace{-0.5in}
\includegraphics[height=3.0in]{TOC23}
\end{slide}
\end{document}



\end{document}
