Ver código fonte

Review end-effector section

tags/0.6.0-conclusion
Wouter Horlings 4 anos atrás
pai
commit
f41100e0fa
3 arquivos alterados com 76 adições e 66 exclusões
  1. +63
    -53
      content/case_experiment_end-effector.tex
  2. +12
    -12
      graphics/end-effector.tex
  3. +1
    -1
      include

+ 63
- 53
content/case_experiment_end-effector.tex Ver arquivo

@@ -1,64 +1,62 @@
With the preparation phase completed, the development cycle is next.
This consists of three steps: Feature selection, Rapid Development and Variable Approach.
The current section explains the first development cycle during the design.
For this first cycle of the design process, I will develop the end-effector.
The implementation of the end-effector was not successful, as the design was too complex.
Fortunately, this failure did give valuable insight on the design method.
For this first cycle of the design process, I design the end-effector.
However, not long after the start of the development process, the implementation proved to be too complex.
This led to the decision to abort the implemention of the end-effector.
Eventhough no progress was made, this attempted implementation did provide valuable insight in the desing process.

\subsection{Feature Selection}
\label{sec:case_feature_selection_1}
\begin{table}[]
\caption{Overview of the different features and their dependencies, number of tests that can be completed and the risk/time factor.
\caption{Overview of the different features and their dependencies, number of tests that are covered and the risk/time factor.
The risk/time factor is calculate as risk divided by time.}
\label{tab:firstfeatureselection}
\begin{tabular}{|l|l|l|l|l|l|}
\hline
Feature & Dependees & Tests & Risk & Time & Risk/Time \\ \hline
SCARA & - & 3 & 40\% & 10 days & 4 \\ \hline
End-effector & SCARA & 2 & 60\% & 8 days & 7.5 \\ \hline
Carriage & - & 2 & 30\% & 10 days & 3 \\ \hline
\ac{scara} & - & 3 & 40\% & 10 days & 4 \\ \hline
End-effector & \ac{scara} & 2 & 60\% & 8 days & 7.5 \\ \hline
\ac{cdc} & - & 2 & 30\% & 10 days & 3 \\ \hline
\end{tabular}
\end{table}
The feature is selected according to the feature selection step, explained in \autoref{sec:feature_selection}.
For each component in the system the dependees, tests and risk/time factor is determined.
For each feature in the system the dependees, tests and risk/time factor is determined, as explained in \autoref{sec:feature_selection}.
These values are combined into \autoref{tab:firstfeatureselection}.

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.
For the carriage it only changes the mass that has to be lifted.
The \ac{scara} depends on the end-effector, as explained in the initial design.
However, for the \ac{cdc} no dependency was defined even though it has to lift the other two components.
This is mainly because the torque and range requirements of the \ac{scara} depending on the implementation of the end-effector.
Especially the required range depends on the method of grabbing and releasing tools.
For the \ac{cdc} it only changes the mass that has to be lifted.
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.
The testing number is directly the number of tests that apply to that feature.
The risk and time values are not determined with a specific protocol, but with simple engineering judgement.
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.
For the carriage there was no real risks and got therefore a low risk indication.
The \ac{scara} has the most moving parts, but no difficult dynamics and has therefore an estimated risk of medium.
For the \ac{cdc} there was no real risks and got therefore a low risk indication.
The SCARA would be implemented first based on number of tests, but is dependent on the end-effector.
Beginning with the end-effector is an obvious choices.
It unlocks the SCARA and has the highest risk/time factor.
Based on \autoref{tab:firstfeatureselection}, the end-effector is implemented first.
The end-effector has the most dependees, and is therefore chosen above the other two.

\subsubsection{Evaluation}
This first step of the detail design phase did go well.
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.
Although risk and time assessment is always depend on some engineering judgment, this human factor introduces uncertainty in the assessment.
However, an improved approach for the risk assesment can drastically reduce this human factor.
Within a design team a form of planning poker \autocite{grenning_planning_2002} 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{Rapid Development of the End-Effector}
The end-effector will operate as an interface between the SCARA and the different tools.
For that it has to be able to grab and release the tools.
The end-effector is mounted at the end of the SCARA.
This section explains the process of the development of the end-effector.
The first step is to create an initial design of the model.
In subsequent steps, detail is added to this model.

The previous section explained the relative high risk assessment for the end-effector.
Which was not exaggerated as the implementation proved to be troublesome.
Eventually, the implementation was unfeasible and was therefore cut short.
Nonetheless did it result in useful evaluation points on the design method.
The process of this step is explained in the following sections.


The development starts with an initial design of the system.
The next step is to develop that further into a model and prototype.
@@ -66,28 +64,41 @@ Fortunately, this failure did give valuable insight on the design method.
However, the evaluation gave new useful insight on the design plan.

\subsubsection{Initial design}
There are multiple options to connect a tool with a moving arm.
However, there is a trade-off to be made with the SCARA feature, the heavier the end-effector is, the more force the SCARA must deliver.
And because the goal is to make the SCARA light and quick, this end-effector should be light-weight.
The best options in this case is to go with a simple spring-loaded clamp.
It is light-weight, and provides sufficient clamping force and precision for this application.
To release the tool, the clamp must be forced open.
Instead of using a servo, the movement of the SCARA can force the clamp open, resulting in a significant simplification of the design.
The initial design of the clamp and the operation is shown in \autoref{fig:gripper}.
The end-effector is mounted on the \ac{scara} and acts as an interface.
With the end-effector, the \ac{scara} is able to grab and release tools.
There are multiple approaches to handle these tools.
However, there is a trade-off to be made with the \ac{scara} feature, the heavier the end-effector is, the more force the \ac{scara} must deliver.
And because the goal is to make the \ac{scara} light and quick, this end-effector must be light-weight as well.
The best options in this case is a simple spring-loaded clamp.
To release the tool, the clamp is forced open, pushing it against the holder.
As the end-effector is connected to the \ac{scara}, the \ac{scara} is responsible for the pushing force.
Because the actuation force of the \ac{scara} is used, it removes the need for an additional servo in the end-effector.
Resulting in a simpler and lighter design.
The initial design of the clamp and the operation is shown in \autoref{fig:gripper}.
Although this design requires the \ac{scara} to deliver more force.
The relative low mass of the end-effector also keeps the moment of inertia small.
Therefore, the current design reduces the impact on the acceleration of the \ac{scara} to a minimum.
\begin{figure*}
\centering
\includegraphics[width=151mm]{graphics/end-effector.pdf}
\caption{Operation of the end-effector. The clamp is forced open against the holder to release the marker.
Instead of releasing, the marker is grabbed by reversing the order of executing for these steps.}
\label{fig:gripper}
\end{figure*}

\subsubsection{Behavior Modelling}
The next step is to implement this design with the corresponding behavior in a dynamic model.
The challenge in this case is the modelling of the contact dynamics.
Based on some experience in modelling with collisions, I decided to use the 20-sim 3D mechanics editor.
There is little tooling available and there are no debugging options if the model does not behave as expected.
The marker kept falling trough the gripper or flew away.
With the small amount of progress made in two days the implementation was not promising.
A system freeze caused the model to corrupt, where the complete configuration of the shapes and their collisions was lost.
Based on the loss of work and the low feasibility of the implementation, it was decided that the end-effector would no longer be part of the design.
The next step is to implement this design with the corresponding behavior in a dynamic model.
The challenge in this case is the modelling of the contact dynamics.
Based on some experience in modelling with collisions, I decided to use the 20-sim 3D mechanics editor.
Unfortunately, there is little tooling available and there are no debugging options if the model does not behave as expected.
The marker kept falling trough the gripper or flew away.
With the small amount of progress made in two days the implementation was not promising.
A system freeze caused the model to corrupt, where the complete configuration of the shapes and their collisions was lost.
Based on the loss of work and the low feasibility of the implementation, the decision was made to remove the end-effector from the design.

With the end-effector removed, the SCARA will get a direct connection with the marker.
The lifting of the marker from the will be included in the SCARA as well.
Furthermore, this means that the wiping will no be possible via the SCARA.
With the end-effector removed, the \ac{scara} gets a direct connection with the marker.
The lifting of the marker from the is included in the \ac{scara} as well.
Furthermore, this means that the erasing is no longer possible as a feature.

\subsubsection{Evaluation}
The lost progress of the model is unfortunate, but the implementation did not go as expected anyway.
@@ -95,4 +106,3 @@ Fortunately, this failure did give valuable insight on the design method.
However, it did show the value of the risk/time analysis.
This early failure resulted in changes for other components.
But as none of the components were implemented yet, no work was lost.


+ 12
- 12
graphics/end-effector.tex Ver arquivo

@@ -6,7 +6,7 @@
%\input{graphics/tics.tikz}
\begin{document}
\begin{tikzpicture}[x=0.6cm, y=0.6cm]
\begin{tikzpicture}[x=0.9cm, y=0.9cm, nodes={text width=4.5cm,anchor=north west,draw=none}]
\def \markerradius {0.5};
\def \angle {40};
\def \startangle {-90-\angle};
@@ -20,8 +20,8 @@
\def \blockdistance {2.8}
\def \blockpos {(0,0)};
\def \markerdrop {0.5};
\def \spacing {5.5};
\def \yspacing {3.9};
\def \spacing {5.6};
\def \yspacing {4.6};
\tikzset{
block/.pic=
{
@@ -45,13 +45,13 @@
\draw[fill=gray] (0,0) circle(\markerradius);
}
}
\def \nodepos {(\blockdistance+1,1.9)};
\def \nodepos {(\blockdistance-4.0,2.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.};
\node at \nodepos {1. Marker is clamped in springloaded end-effector.};
\draw (2-\eex,{\markerradius+\eey*-1}) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
@@ -63,7 +63,7 @@
\def \eey {0};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {2.};
\node at \nodepos {2. End-effector is positioned on the holder.};
\draw (2,\markerradius) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
@@ -75,7 +75,7 @@
\def \eey {0.5};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {3.};
\node at \nodepos {3. End-effector is moved down, forcing the upper clamp open.};
\draw (2,\markerradius-\markerdrop) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
@@ -87,7 +87,7 @@
\def \eey {0.7};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {4.};
\node at \nodepos {4. End-effector continues down, leaving the marker in the holder.};
\draw (2,\markerradius-\markerdrop) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
@@ -99,7 +99,7 @@
\def \eey {0.7};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {5.};
\node at \nodepos {5. The longer arm allows the end-effector to move sideways.};
\draw (2,\markerradius-\markerdrop) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
@@ -111,7 +111,7 @@
\def \eey {0};
\pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance-\eex}))};
\draw \blockpos pic {block};
\node at \nodepos {6.};
\node at \nodepos {6. Return to begin position, now without marker.};
\draw (2,\markerradius-\markerdrop) pic {marker};
\begin{scope}[shift={(-\eex,-\eey)}]
\draw (0,0) pic {lowerclamp};
@@ -119,8 +119,8 @@
\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 (4.2,-1.3*\yspacing) -- (4.2,2.9);
\draw[shift={(\spacing,0)}] (4.2,-1.3*\yspacing) -- (4.2,2.9);
\draw(-1.4,-1.5) -- ++(3*\spacing,0);

\end{tikzpicture}


+ 1
- 1
include

@@ -1 +1 @@
Subproject commit c481ca012ef63f75bae07a0174d5098a4623e8e9
Subproject commit c60fc733267eb72f37dc3228cf76d95be5a7d7db

Carregando…
Cancelar
Salvar