Ver código fonte

Add end-effector behavior picture

tags/0.4.1-experiment
Wouter Horlings 5 anos atrás
pai
commit
d34e25d03e
2 arquivos alterados com 137 adições e 2 exclusões
  1. +10
    -2
      content/case_experiment_end-effector.tex
  2. +127
    -0
      graphics/end-effector.tex

+ 10
- 2
content/case_experiment_end-effector.tex Ver arquivo

@@ -22,7 +22,6 @@ Fortunately, this failure did give valuable insight on the design method.
For each component in the system the dependees, tests and risk/time factor is determined.
These values are combined into \autoref{tab:firstfeatureselection}.

%%%%%Euhm, ja dat staat dus niet in het initial design.
The SCARA is dependent on the end-effector, as was explained in the initial design.
However, for the carriage no dependency was defined even though it has to lift the other two components.
This is mainly because the behavior of the SCARA changes depending on the end-effector, resulting in a possible design change.
@@ -30,7 +29,7 @@ Fortunately, this failure did give valuable insight on the design method.
Upgrading the motor torque is a minor parametric change and the dependency is therefore insignificant.

The testing number is directly the number of tests that can be completed by implementing that single component.
For the risk and time it was a engineering judgement and no specific protocol to determine the values.
For the risk and time it was an engineering judgement and no specific protocol to determine the values.
The estimated risk is high for the end-effector due to the collision dynamics of the operation.
It has to grab something and that is difficult to model. Furthermore, it was not known if that design would work.
The SCARA has the most moving parts, but no difficult dynamics and has therefore an estimated risk of medium.
@@ -45,6 +44,15 @@ Fortunately, this failure did give valuable insight on the design method.
A more refined method for this step could be very useful.
But the risk and time assessment will probably always be a engineering judgement from the developer.
Within a design team a form of planning poker\footnote{\url{https://en.wikipedia.org/wiki/Planning_poker}{Wikipedia entry: Planning Poker}} could be a good option.
\begin{figure}
\centering
\includegraphics[width=0.9\linewidth]{graphics/end-effector.pdf}
\caption{Operation of the end-effector. The marker is clamped in the springloaded end-effector (1).
To release the marker, the upper part of the clamp is placed against the holder (2). This extra arm length is used as a leverage to open clamp while the end-effector moves downwards (3,4).
The arm length also allows to move backwards without disturbing the marker (5,6). To grab the marker, the process is repeated in reverse.}
\label{fig:gripper}
\end{figure}

\subsection{End-effector model}
The end-effector will operate as an interface between the SCARA and the different tools.


+ 127
- 0
graphics/end-effector.tex Ver arquivo

@@ -0,0 +1,127 @@
%&tex
\documentclass{standalone}
\usepackage{tikz}
\usepackage{siltex}
\usetikzlibrary {calc,arrows.meta,positioning,patterns,math}
%\input{graphics/tics.tikz}
\begin{document}
\begin{tikzpicture}[x=0.6cm, y=0.6cm]
\def \markerradius {0.5};
\def \angle {40};
\def \startangle {-90-\angle};
\def \stopangle {-90+\angle};
\def \length{4};
\def \thick{0.3};
\def \clampoffset{2};
\pgfmathsetmacro{\clamppos}{\clampoffset-\markerradius*sin(\angle)};
\pgfmathsetmacro{\side}{\markerradius*(1-cos(\angle))};
\def \clampsection {++(${\side}*(0,1)$) arc[start angle=\startangle,end angle=\stopangle,radius=\markerradius] -- ++(${-1*\side}*(0,1)$)};
\def \blockdistance {2.8}
\def \blockpos {(0,0)};
\def \markerdrop {0.5};
\def \spacing {5.5};
\def \yspacing {3.9};
\tikzset{
block/.pic=
{
\def \height {1.5};
\def \width {1};
\draw[pattern = north west lines] (\clamppos,-1) -- (\clamppos,-\markerdrop) -- \clampsection -- ++(0,-0.2) -- (\blockdistance,-\markerdrop-0.2) -- (\blockdistance,1) -- (\blockdistance+\width,1) -- (\blockdistance+\width,-1);
},
upperclamp/.pic=
{
\def \startangle {90+\angle};
\def \stopangle {90-\angle};
\def \side {-\markerradius*(1-cos(\angle))};
\draw[fill=lightgray] (0,0) -- (${\clamppos}*(1,0)$) coordinate(a) -- \clampsection coordinate(b) -- (\length,0) -- ++(0,\thick) -- (0,\thick);
},
lowerclamp/.pic=
{
\draw[fill=lightgray] (0,0) -- (${\clamppos}*(1,0)$) -- \clampsection -- ++(0,-\thick) -- (0,-\thick);
},
marker/.pic=
{
\draw[fill=gray] (0,0) circle(\markerradius);
}
}
\def \nodepos {(\blockdistance+1,1.9)};
\begin{scope}[shift={(0*\spacing,0)}]
\def \eex {1.3};
\def \eey {-0.5};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {1.};
\draw (2-\eex,{\markerradius+\eey*-1}) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
\draw (0,1) pic[rotate=\clampangle] {upperclamp};
\end{scope}
\end{scope}
\begin{scope}[shift={(1*\spacing,0)}]
\def \eex {0};
\def \eey {0};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {2.};
\draw (2,\markerradius) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
\draw (0,1) pic[rotate=\clampangle] {upperclamp};
\end{scope}
\end{scope}
\begin{scope}[shift={(2*\spacing,0)}]
\def \eex {0};
\def \eey {0.5};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {3.};
\draw (2,\markerradius-\markerdrop) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
\draw (0,1) pic[rotate=\clampangle] {upperclamp};
\end{scope}
\end{scope}
\begin{scope}[shift={(0*\spacing,-\yspacing)}]
\def \eex {0};
\def \eey {0.7};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {4.};
\draw (2,\markerradius-\markerdrop) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
\draw (0,1) pic[rotate=\clampangle] {upperclamp};
\end{scope}
\end{scope}
\begin{scope}[shift={(1*\spacing,-\yspacing)}]
\def \eex {1};
\def \eey {0.7};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {5.};
\draw (2,\markerradius-\markerdrop) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
\draw (0,1) pic[rotate=\clampangle] {upperclamp};
\end{scope}
\end{scope}
\begin{scope}[shift={(2*\spacing,-\yspacing)}]
\def \eex {1};
\def \eey {0};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance-\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {6.};
\draw (2,\markerradius-\markerdrop) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
\draw (0,1) pic[rotate=\clampangle] {upperclamp};
\end{scope}
\end{scope}

\draw (4.2,-1.3*\yspacing) -- ++(0,1.9*\yspacing);
\draw[shift={(\spacing,0)}] (4.2,-1.3*\yspacing) -- ++(0,1.9*\yspacing);
\draw(-1.4,-1.5) -- ++(3*\spacing,0);

\end{tikzpicture}
\end{document}

Carregando…
Cancelar
Salvar