%&tex
    As the previous development cycle was aborted prematurely, that cycle did not finish.
    The second cycle is picks up at the feature selection step in the Development Cycle.

    \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 the updated feature comparison.
        Compared with the previous feature selection in \autoref{tab:firstfeatureselection}, the number of tests for the SCARA decreased and the Risk/Time increased.
        This is because System Test \ref{test_tool_change} relied on both the SCARA and the End-effector and is no longer applicable.
        Based on the feature comparison, the next component to implement is the SCARA.

        \begin{table}[]
            \caption{}
            \label{tab:featurestab2}
            \begin{tabular}{|l|l|l|l|l|l|}
                \hline
                Feature      & Dependees   & Tests  & Risk   & Time    & Risk/Time  \\ \hline
                SCARA        & -           & 2      & 50\%   & 12 days & 4.2        \\ \hline
                Carriage     & -           & 2      & 30\%   & 10 days & 3          \\ \hline
            \end{tabular}
        \end{table}

        \subsubsection{Evaluation}
            The feature selection for the second cycle is an updated selection process of the first cycle (\autoref{sec:case_feature_selection_1}).
            This resulted in a quick and effortless feature selection process.

    \subsection{Rapid Development for SCARA}
        The goal is to present a functional model of the SCARA.
        Based on the tests and requirements, it must be able to write three characters within 2 seconds.
        The basic design principle is based on the initial design and shown in \autoref{fig:combined}.
        The lowest level of detail is a kinematics model of the design.
        This does not involve any physics simulation yet, but gives insight in the operation range, arm length and joint behavior.
        In the following steps, the level of detail is gradually increased until it is a competent model.
        However, planning all the different steps in advance is difficult as design decisions still need to be made.
        Nonetheless, I can describe at least the following levels of detail for the model:
        \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.
        \end{enumerate}
        After these steps the optimal order of implementation for the levels of detail becomes vague.
        However, the following elements are required to make a competent model:
        \begin{itemize}
            \item Improved motor model
            \item 3D physics model
        \end{itemize}
        When the first design decisions made, the succeeding levels of detail for these and other elements are laid out.


        \subsubsection{Evaluation}
            The current steps in the rapid development are difficult to perform.
            There is, unsurprisingly, lack of a clear vision of the end-product.
            Making describing all the different levels of detail explicitly farfetched.
            However, it was still possible to describe some levels of detail and a couple of expected elements that are added later.

    \subsection{Variable Detail Approach}
        The following steps is to increase the detail of the model.
        This is done according to the steps in the previous section.

        \subsubsection{Basic Kinematics Model}
            \begin{marginfigure}
                    \centering
                    \includegraphics[width=0.9\linewidth]{graphics/scara_arm_kinematics.pdf}
                    \caption{Basic kinematics of the SCARA. The arm consists of two linkages $a$ and $b$; two joints $\alpha$ and $\beta$; and a point mass $m$ which represents the end-effector/tool.}
                    \label{fig:scaraarm}
            \end{marginfigure}
            The development starts with a basic model model as shown in \autoref{fig:scaraarm}.
            It consists of the forward and inverse kinematics of the design.
            With this kinematics model it was easy to find a good configuration of the SCARA.
            I tested if the SCARA could reach the required operating area, to be able to satisfy specification \ref{threecharspec}.
            The operating area is not a couple of centimeters away from the base of the SCARA.
            This is to avoid the singularity point that lies at the base of the SCARA.
            Resulting in longer arms than strictly necessary but this reduces the operating angles of the joints allowing for simpler construction.
            
            At this point, there are already multiple design decisions made about the position of the operating area and the arm lengths.
            The second detail iteration adds the basic physics of the model.
            This model was in the form of a double pendulum, with two attenuated joints.
            The ideal motors in the joints made gave the SCARA almost unlimited acceleration.
            As the one of the goals is to get an indication on what the required torque for these joints is, the ideal motors are replaced with basic DC-motors.
            Implementing a simple PID-controller allowed the SCARA to follow the rectangular path as described in system test \ref{test1}.
            Based the simulation, it was possible to determine minimum specifications of the motors.
            The motors must be able to deliver at least \SI{0.2}{\newton\meter} of torque and reach an angular velocity of at least \SI{12}{\radian\per\second}.

            \begin{marginfigure}
                \centering
                \includegraphics[width=0.9\linewidth]{graphics/scara_20sim_model.png}
                \caption{3D plot of the current implementation. The rectangular shapes represent are the linkages and implemented as rigid bodies. 
                The sphere on the origin and the one between both linkages represent the actuated joints.
                There is no inertia implemented for these joints.}
                \label{fig:scara_20sim}
            \end{marginfigure}
            
            The current implementation can be seen in \autoref{fig:scara_20sim}.
            Now that the model forms a basic with the non-ideal motors, basic physics and a control law, it can be used to make some estimates.
            The model was configured to follow the required path in the specified amount out time according to System Test \ref{test1}.
            The torque required gave a rough estimate of the required actuation force of the motors.
        
        \subsubsection{Detailed design decisions}
            The basic model gave some good insight and information about the dynamic behavior of the system.
            However, the current configuration is very simple but requires a motor in the joint.
            In \autoref{fig:scaradesign}, this setup is shown as configuration 1.
            The disadvantage is that a motorized joint is heavy and has to be accelerated with the rest of the arm.
            Other configurations in \autoref{fig:scaradesign} move the motor to a static position.
            Configuration 2 is a double arm setup, but has quite limited operating range.
            Due to a singularity in the system when both arms at the top are in line with each other.
            Configuration 3 also has such a singularity, but due to the extended top arm this point of singularity is outside of the operating range.
            However, this configuration requires one axis with two motorized joints on it.
            Even though this is possible, it does increase the complexity of the construction.
            By adding an extra linkage, the actuation can be split as shown in configuration 4.
            \begin{figure}
                \centering
                \includegraphics[width=0.875\linewidth]{graphics/scara_design.pdf}
                \caption{Four different SCARA configurations. The colored circles mark which of the joints are actuated. Configuration 3 has two independently actuated joints on the same position.}
                \label{fig:scaradesign}
            \end{figure}

            The actuation of the arm is done with stepper motors.
            The advantage of stepper motors over simple DC-motors is that they hold a specific position.
            There is no extra feedback loop required to compensate for external forces.
            They are heavier and more expensive as well.
            The additional mass is probably beneficial as adds momentum to the base, reducing the counter movement of the base when the arm is actuated.
            The extra costs are easily compensated as it save development time due to the simplified control law.

            Due to the aborted implementation of the end-effector, the SCARA must also lift the marker of the board.
            The chosen configuration of the SCARA makes it possible to add an extra joint in the linkage.
            As the marker only needs to be moved a couple of millimeters from the board, a simple servo suffices.

        \subsubsection{Implementing details}
            The new concrete design decisions, make it possible to plan the next steps of adding detail.
            The following steps are an addition of steps in as described in the previous section:
            \begin{enumerate}
                \setcounter{enumi}{4}
                \item Stepper motor behavior.
                \item Updating physics model to 3D physics.
                \item Marker lifting behavior, servo lifts marker of the board.
            \end{enumerate}
            The first step was to replace the DC-motor with a stepper motor model.
            This is based on a model by \textcite{karadeniz_modelling_2018}.
            The controller is updated as well, to accommodate for the behavior of the steppers.
            The next step is to implement a dynamic model of the configuration (4) as shown in \autoref{fig:scaradesign}.
            The dynamics of the SCARA are based on a serial link structure \autocite{dresscher_modeling_2010}.
            This serial link structure was makes it easy to add or extend joints and bodies to the system.
            Therefore, the last detail, the marker lifting, was added without any difficulty.
            The servo is connected via a linkage with the marker such that it rotates away from the board.

        \subsubsection{Evaluation}
            The complete development was rather smooth.
            However, this was not without deviating from the original design plan.
            The different levels of detail could not be defined before the start of the development but had to be updated midway.

            In total there are seven predefined levels of detail in the design.
            Meaning that there must also be seven test cycles.
            However, I noticed that this number was significantly higher.
            During the design, running the simulation of the dynamics is easy.
            Resulting in extremely short feedback loops, sometimes even minutes.
            For example, changing the arm lengths and evaluate the new behavior.
            Did it improve? Is this as expected?
            Implicitly, the system was very often tested and changed based on test results.

            Furthermore, the step from 2D to 3D physics was in no means a small increment in detail.
            The first four levels of detail, as describe in the previous section, all were implemented in with two dimensions.
            As the later details required a third dimension, all the detail was directly converted from 2D into 3D.
            This is a large amount of work, introducing a high cost when the conversion fails.
            Moreover, it creates a new 3D physics model, parallel to the 2D physics model instead of adding detail to the latter.
            Alternative approaches for 3D model physics could be:
            \begin{itemize}
                \item Ignore 2D and start implementation in 3D modelling.
                \item Retrace all incremental detail steps of the 2D model in a 3D model.
            \end{itemize}
            Both options are not ideal, the first one does not allow a simple basic model and the second approach redoes work.
            The advantage of starting with 3D is that allows for a continuous development of one model, instead of switching the complete model.

        \subsection{Prototype Construction}
        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.

            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}

