|
|
|
@@ -21,25 +21,41 @@ |
|
|
|
\end{tabular} |
|
|
|
\end{table} |
|
|
|
|
|
|
|
\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. |
|
|
|
The levels that are implemented are as follow: |
|
|
|
\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. |
|
|
|
\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. |
|
|
|
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. |
|
|
|
|
|
|
|
|
|
|
|
\subsection{Variable Approach} |
|
|
|
\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. |
|
|
|
|
|
|
|
@@ -107,18 +123,59 @@ |
|
|
|
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 based on a model by \textcite{karadeniz_modelling_2018}. |
|
|
|
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. |
|
|
|
|