From f41100e0faa3558ecb326e1994915297b2d1c694 Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Mon, 22 Feb 2021 14:36:45 +0100 Subject: [PATCH] Review end-effector section --- content/case_experiment_end-effector.tex | 116 ++++++++++++----------- graphics/end-effector.tex | 24 ++--- include | 2 +- 3 files changed, 76 insertions(+), 66 deletions(-) diff --git a/content/case_experiment_end-effector.tex b/content/case_experiment_end-effector.tex index cb1d001..4115d07 100644 --- a/content/case_experiment_end-effector.tex +++ b/content/case_experiment_end-effector.tex @@ -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. - diff --git a/graphics/end-effector.tex b/graphics/end-effector.tex index 3a4b14b..e9a680f 100644 --- a/graphics/end-effector.tex +++ b/graphics/end-effector.tex @@ -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} diff --git a/include b/include index c481ca0..c60fc73 160000 --- a/include +++ b/include @@ -1 +1 @@ -Subproject commit c481ca012ef63f75bae07a0174d5098a4623e8e9 +Subproject commit c60fc733267eb72f37dc3228cf76d95be5a7d7db