From 5ec7a2d32906b0c306ac5e0ddc55c2b9e70aac49 Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Tue, 5 Jan 2021 16:51:42 +0100 Subject: [PATCH] Improve Second development Cycle --- content/appendix_test_cases.tex | 2 +- content/case_experiment_scara.tex | 87 +++++++++++++++++++++--------- graphics/scara_20sim_model.png | Bin 0 -> 34846 bytes 3 files changed, 64 insertions(+), 25 deletions(-) create mode 100644 graphics/scara_20sim_model.png diff --git a/content/appendix_test_cases.tex b/content/appendix_test_cases.tex index 3f689e2..714e8a2 100644 --- a/content/appendix_test_cases.tex +++ b/content/appendix_test_cases.tex @@ -2,7 +2,7 @@ \label{app:test_specification} \setcounter{testcounter}{0} - \begin{test}{Small rectangle} + \begin{test}[label={test1}]{Small rectangle} During this test, a rectangle will be drawn on the whiteboard using the SCARA. This rectangle is will be at least \SI{50}{\milli\meter} high and \SI{70}{\milli\meter} wide, such that three characters fit within the rectangle. To test the speed requirements, the rectangle should be drawn within one second. diff --git a/content/case_experiment_scara.tex b/content/case_experiment_scara.tex index 84a4435..9220765 100644 --- a/content/case_experiment_scara.tex +++ b/content/case_experiment_scara.tex @@ -1,22 +1,27 @@ %&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 that the next step would be the SCARA. - The SCARA has a higher risk/time factor and covers more tests. + 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 & - & 3 & 40\% & 10 days & 4 \\ \hline - End-effector & SCARA & 2 & 60\% & 8 days & 7.5 \\ \hline + SCARA & - & 2 & 50\% & 12 days & 4.2 \\ \hline Carriage & - & 2 & 30\% & 10 days & 3 \\ \hline \end{tabular} \end{table} - \subsection{Rapid Development} + \subsection{Rapid Development of SCARA} 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. @@ -34,7 +39,11 @@ 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} + \subsection{Variable Approach} + The following steps is to increase the detail of the model. + This is done according to the steps in the previous section. + + \subsubsection{Basics implementation} \begin{marginfigure} \centering \begin{tikzpicture} @@ -68,29 +77,60 @@ 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. + To get a better idea of the forces in the model, the ideal motors are replaced with a better 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. + A simple PID-controller was implemented to make the SCARA follow a rectangular path. + + \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} - 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. + 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} - \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 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. + However, they are heavier and more expensive. + But the extra mass is probably beneficial as adds momentum to the base. + Reducing the counter movement of the base when the arm is actuated. - 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. + \subsubsection{Implementing details} + The first step was to replace the DC-motor with a stepper motor model. + This 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 allowed for a simple, yet quick implementation of the dynamics. - \subsubsection{3D modeling} + + \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. @@ -103,4 +143,3 @@ \label{fig:scad_carriage} \end{figure} - \subsection{Variable Approach} diff --git a/graphics/scara_20sim_model.png b/graphics/scara_20sim_model.png new file mode 100644 index 0000000000000000000000000000000000000000..a9905bbf9bc0286ceccd6f3b90b5d17cbe03e3b6 GIT binary patch literal 34846 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%0Dw?rITnz{i~z17 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 literal 0 HcmV?d00001