diff --git a/content/case_experiment.tex b/content/case_experiment.tex index 2bf0dec..cf81356 100644 --- a/content/case_experiment.tex +++ b/content/case_experiment.tex @@ -32,12 +32,7 @@ Splitting the initial design into features is done in the feature definition ste \section{First Development Cycle} \input{content/case_experiment_end-effector.tex} - \subsection{Feature Selection} - \subsection{Rapid Development} - \subsection{Variable Approach} \section{Second Development Cycle} - \subsection{Feature Selection} - \subsection{Rapid Development} - \subsection{Variable Approach} +\input{content/case_experiment_scara.tex} diff --git a/content/case_experiment_scara.tex b/content/case_experiment_scara.tex new file mode 100644 index 0000000..84a4435 --- /dev/null +++ b/content/case_experiment_scara.tex @@ -0,0 +1,106 @@ +%&tex + \subsection{Feature Selection} + The implementation of the end-effector proofed to be impractical. + This means that only two features are left. + The updated table in \autoref{tab:featurestab2} shows that the next step would be the SCARA. + The SCARA has a higher risk/time factor and covers more tests. + \begin{table}[] + \caption{} + \label{tab:featurestab2} + \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 + \end{tabular} + \end{table} + + \subsection{Rapid Development} + At the end of this implementation the SCARA is able to write the first characters + This will be achieved by working through different levels of detail. + Where each level adds more detail to the model. + The levels that are implemented are as follow: + \begin{enumerate} + \item Basic kinematics model, no physics. + \item Basic physics model, ideal 2D physics. + \item Basic Motor behavior, 2D physics with non-ideal DC-motor. + \item Basic control law, path planning. + \item Advanced motor behavior, 2D physics with stepper motor behavior. + \item Advanced physics model, 3D physics with complex dynamics with Lie-algebra. + \item Marker lifting behavior, servo lifts marker of the board. + \end{enumerate} + This mainly describes the different level of physics detail. + Together with the physics model there will be a solid 3D CAD model. + The CAD model helps to check with dimensions and possible collisions of objects. + + \subsubsection{Basics} + \begin{marginfigure} + \centering + \begin{tikzpicture} + \tikzstyle{arrow} = [-latex,ultra thick] + + % draw roof + \fill[pattern = north east lines] ($ (0,0) + (-1,0) $) rectangle ($ (0,0) + (1,0.5) $); + \draw[thick] ($ (0,0.5) + (-1,0) $) -- ($ (0,0.5) + (1,0) $); + + %draw arm and joints + \fill (0,0.5) circle (0.2); + \draw[thick] (0,0.5) to node[midway,right,draw=none] {$a$} (-1.5,3.5); + \fill (-1.5,3.5) circle (0.2); + \draw[thick] (-1.5,3.5) to node[midway,above,draw=none] {$b$}(1.51,4.26); + + %draw mass + \draw (1.7,4.32) circle (0.2) node {$m$}; + + %draw arc + %\draw[dashed,gray] (-1.5,3.5) -- ++(2.5,0); + %\draw (1,0.5) arc (0:116:1cm) node[above,midway] {$\theta$}; + + %\draw [arrow] (c.south) -- +(0,-1cm) node[midway,right,draw=none] {$F_{g} = m \cdot g$}; + \end{tikzpicture} + \caption{Basic kinematics of the SCARA} + \label{fig:scaraarm} + \end{marginfigure} + The first four detail steps are just creating the basics dynamics of the SCARA as shown in \autoref{fig:scaraarm} + It start with the kinematics model that is used to test the forward and inverse kinematics of the design. + It gave a general idea of angles and arm lengths that are required in the design. + The second detail iteration adds the basic physics of the model. + This model was in the form of a double pendulum, with to powered joints. + The ideal motors in the joints made it that it could move with almost infinite speed. + To get a better idea of the forces in the model, the ideal motors are replaced with a beter motor model. + As the system did not operate with infinite gain anymore it the path planning was updated as well. + A simple PID controller was implemented to make SCARA follow a square path. + + Now that the model forms a basic with the non-ideal motors, basic physics and a controllaw, it can be used to make some estimates. + The model followed the required path in the specified amount out time. + With this, the minimum required torque could be calculated. + Which is then used to dimension the motors. + + \subsubsection{Advanced Model} + The basic model contains all elementary components and detail can be added for different components. + The first step was to improve the motor models. + Up to now it was a primitive model with a source of effort, resistance and gyrator in series. + For the design it was decided to go with a stepper motor. + The advantage of a stepper motor is the holding torque, such that the motor can be forced in a certain angle. + With the new motors the controller was updated, to accommodate for the behavior of the steppers. + + The next step was to upgrade the model to a full three dimensional dynamics. + Although the SCARA model itself is valid in only two dimensions, having the SCARA suspended from wires required the full dimensions. + The dynamics of the SCARA are based on a serial link structure \autocite{dresscher_modeling_2010}. + This allowed for a simple, yet quick implementation of the dynamics. + + \subsubsection{3D modeling} + With a full dynamics model in 20-sim, the next step was to design the system in OpenSCAD. + Although 20-sim has a 3D editor, it is significantly easier to build components with OpenSCAD. + Furthermore, for prototyping the OpenSCAD objects can be exported for 3D printing. + The model made it possible to check component clearance and get an idea of size. + The model is shown in \autoref{fig:scad_carriage}. + \begin{figure} + \centering + \includegraphics[width=0.8\linewidth]{graphics/scad_carriage.png} + \caption{Rendered 3D model of the SCARA} + \label{fig:scad_carriage} + \end{figure} + + \subsection{Variable Approach} diff --git a/graphics/scad_carriage.png b/graphics/scad_carriage.png new file mode 100644 index 0000000..c4f8821 Binary files /dev/null and b/graphics/scad_carriage.png differ