Browse Source

Review of Scara-design

tags/0.6.0-conclusion
Wouter Horlings 4 years ago
parent
commit
998c608855
1 changed files with 58 additions and 69 deletions
  1. +58
    -69
      content/case_experiment_scara.tex

+ 58
- 69
content/case_experiment_scara.tex View File

@@ -1,13 +1,15 @@
%&tex %&tex
As the previous development cycle was aborted prematurely, the development cycle is repeated for the next feature. As the previous development cycle was aborted prematurely, the development cycle is repeated for the next feature.
Starting with a feature selection process. Followed by the rapid development.


\subsection{Feature Selection} \subsection{Feature Selection}
The implementation of the end-effector proved to be impractical.
The implementation of the end-effector proved to be unfeasible and was therefore removed from the design.
This means that only two features are left. This means that only two features are left.
\autoref{tab:featurestab2} shows an updated feature comparison. \autoref{tab:featurestab2} shows an 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 \autoref{test_tool_change} relied on both the SCARA and the End-effector which is no longer applicable.
Based on the feature comparison, the next component to implement is the SCARA.
Compared with the previous feature selection in \autoref{tab:firstfeatureselection}, the number of tests for the \ac{scara} decreased and the Risk/Time increased.
This is because \autoref{test_tool_change} relied on both the \ac{scara} and the End-effector which is no longer applicable.
Based on the feature comparison, the next component to implement is the \ac{scara}.


\begin{table}[] \begin{table}[]
\caption{Comparison of the two remaining features in the design process. This table is an updated version of \autoref{tab:firstfeatureselection}.} \caption{Comparison of the two remaining features in the design process. This table is an updated version of \autoref{tab:firstfeatureselection}.}
@@ -15,22 +17,22 @@
\begin{tabular}{|l|l|l|l|l|l|} \begin{tabular}{|l|l|l|l|l|l|}
\hline \hline
Feature & Dependees & Tests & Risk & Time & Risk/Time \\ \hline Feature & Dependees & Tests & Risk & Time & Risk/Time \\ \hline
SCARA & - & 2 & 50\% & 12 days & 4.2 \\ \hline
Carriage & - & 2 & 30\% & 10 days & 3 \\ \hline
\ac{scara} & - & 2 & 50\% & 12 days & 4.2 \\ \hline
\ac{cdc} & - & 2 & 30\% & 10 days & 3 \\ \hline
\end{tabular} \end{tabular}
\end{table} \end{table}


\subsubsection{Evaluation} \subsubsection{Evaluation}
The feature selection for the second cycle is an updated selection process of the first cycle (\autoref{sec:case_feature_selection_1}). 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.
This resulted in a quick and effortless feature selection process, as most of the work was already done.


\subsection{Rapid Development for SCARA} \subsection{Rapid Development for SCARA}
The goal is to present a functional model of the SCARA.
The specifications state that it must be able to write three characters within 2 seconds.
And to pass \autoref{test1} it must draw a \SI{50}{\milli\meter} by \SI{70}{\milli\meter} rectangle within 1 second.
The goal is to present a functional model of the \ac{scara}.
The requirements state that it must be able to write three characters within two seconds.
And to pass \autoref{test1} it must draw a \SI{50}{\milli\meter} by \SI{70}{\milli\meter} rectangle within one second.
The basic design principle is based on the initial design as shown in \autoref{fig:combined}. The basic design principle is based on the initial design as shown in \autoref{fig:combined}.
For the lowest detail level of the design, I decided on a kinematics model. For the lowest detail level of the design, I decided on a kinematics model.
The model is stays very simple as it does not implement any physics.
The model is very simple as it does not implement any physics.
However, the model enables me to tinker with the design parameters, such as the lengths of the linkages and joint angles. However, the model enables me to tinker with the design parameters, such as the lengths of the linkages and joint angles.
In the following steps, the level of detail is gradually increased to arrive at a competent model. In the following steps, the level of detail is gradually increased to arrive at a competent model.
Planning all the different steps in advance is difficult as design decisions still need to be made. Planning all the different steps in advance is difficult as design decisions still need to be made.
@@ -55,86 +57,73 @@
There is, unsurprisingly, lack of a clear vision of the end-product. There is, unsurprisingly, lack of a clear vision of the end-product.
Which makes an explicit description of every level of detail not realistic. Which makes an explicit description of every level of detail not realistic.
However, it was still possible to describe the initial steps in the level of detail of the design. However, it was still possible to describe the initial steps in the level of detail of the design.
The remaining elements, that are essential to the design, will take shape in a later stage of the development.
The remaining elements, that are essential to the design, take shape in a later stage of the development.
Apart from this small deviation, the deliverables of this step are a good start of this development cycle. Apart from this small deviation, the deliverables of this step are a good start of this development cycle.


\subsection{Variable Detail Approach} \subsection{Variable Detail Approach}
The following steps is to increase the level of detail of the model. The following steps is to increase the level of detail of the model.
The initial model together with the set of steps in the detail level is inherited from the previous design step. The initial model together with the set of steps in the detail level is inherited from the previous design step.
To start, I will implement the basic model and implement the different levels of detail.
To start, I implement the basic model and implement the different levels of detail.
Based on the model after those steps, it is possible to make more detailed design decisions. Based on the model after those steps, it is possible to make more detailed design decisions.
The decisions make it possible to plan the subsequent levels of detail. The decisions make it possible to plan the subsequent levels of detail.
Implementing these details as well, results in a competent model.
Implementing these details results in a competent model.


\subsubsection{Basic Kinematics Model} \subsubsection{Basic Kinematics Model}
\begin{marginfigure} \begin{marginfigure}
\centering \centering
\includegraphics[width=0.9\linewidth]{graphics/scara_arm_kinematics.pdf} \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.}
\caption{Basic kinematics of the \ac{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} \label{fig:scaraarm}
\end{marginfigure} \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 system specification 14.
The operating area is 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.
The development starts with the basic model shown in \autoref{fig:scaraarm}.
The model consists of the forward and inverse kinematics of the design.
With this kinematics model it was easy to find a suitable configuration of the \ac{scara}.
I tested if the \ac{scara} reaches the required operating area, to satisfy system requirement 14.
The operating area is a couple of centimeters away from the base of the \ac{scara}.
This is to avoid the singularity point that lies at the base of the \ac{scara}.
Resulting in longer arms than strictly necessary but reducing 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. 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 second detail iteration the basic physics of the model are implemented.
The model is in the form of a double pendulum, with two actuated joints.
The ideal motors in the joints made give the \ac{scara} 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. 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.
Implementing a simple PID-controller allows the \ac{scara} to follow the rectangular path as described in \autoref{test1}.
The simulation allowed me to determine the minimum requirements 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}. 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} \subsubsection{Detailed design decisions}
The basic model gave some good insight and information about the dynamic behavior of the system.
The basic model gave some valuable insight about the dynamic behavior of the system.
However, the current configuration is very simple but requires a motor in the joint. 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. 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.
The disadvantage is that a motorized joint is heavy, which has to be accelerated with the rest of the arm.
Other configurations in \autoref{fig:scaradesign} move the motor to a static position. 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, caused by a singularity region in the system when both arms at the top are in line with each other. Configuration 2 is a double arm setup, but has quite limited operating range, caused by a singularity region 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.
Configuration 3 also has such a singularity, but due to the extended top arm this point of singularity is located outside of the operating range.
However, this configuration requires one axis with two motorized joints on it. 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. 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.
By adding an extra linkage, the actuation is split as shown in configuration 4.
Configuration 4 is the preferred option for the \ac{scara}
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.875\linewidth]{graphics/scara_design.pdf} \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.}
\caption{Four different \ac{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} \label{fig:scaradesign}
\end{figure} \end{figure}


The actuation of the arm is done with stepper motors, which have the advantage over DC-motors with their holding torque.
The holding torque removes the need of a feedback controller to compensate for external forces.
Instead, the stepper motors can be fully operated with a feedforward controller.
However, they are heavier and more expensive.
The additional mass is beneficial as increased inertia of the base, reducing the displacement due to the reaction force of the SCARA acceleration.
The actuation of the arm is done with stepper motors, which have a strong advantage over DC-motors with their holding torque.
The holding torque removes the need for a feedback controller that compensates for external forces.
Allowing the stepper motors to be fully operated with a feedforward controller.
However, they are heavier and more expensive but the additional mass is beneficial as increased inertia of the base.
The extra inertia reduces the displacement which is caused by the reaction force of the \ac{scara} accelerating.
The extra costs are easily compensated as it saves development time due to the simplified control law, and the removed need for extra angle sensors used in feedback control. The extra costs are easily compensated as it saves development time due to the simplified control law, and the removed need for extra angle sensors used in feedback control.


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.
Due to the aborted implementation of the end-effector, the \ac{scara} must also lift the marker of the board.
With the fourth configuration (\autoref{fig:scaradesign}), it is 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 hobby servo suffices. As the marker only needs to be moved a couple of millimeters from the board, a simple hobby servo suffices.


\subsubsection{Advanced Detail Design} \subsubsection{Advanced Detail Design}
The new concrete design decisions, make it possible to plan the next steps of adding detail.
The design decisions made in the previous sections, make it possible to plan the next steps of adding detail.
The following steps are an addition to the steps as described in the previous section: The following steps are an addition to the steps as described in the previous section:
\begin{enumerate} \begin{enumerate}
\setcounter{enumi}{4} \setcounter{enumi}{4}
@@ -142,10 +131,10 @@
\item Updating physics model to 3D physics. \item Updating physics model to 3D physics.
\item Marker lifting behavior, servo lifts marker of the board. \item Marker lifting behavior, servo lifts marker of the board.
\end{enumerate} \end{enumerate}
Starting with replacing the DC-motor with a stepper motor model, which is based on a model by \textcite{karadeniz_modelling_2018}.
Starting by replacing the DC-motor with a stepper motor model, which 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 controller is updated as well, to accommodate for the behavior of the steppers.
The next step is to implement a dynamic model of configuration 4 in \autoref{fig:scaradesign}. The next step is to implement a dynamic model of configuration 4 in \autoref{fig:scaradesign}.
The dynamics of the SCARA are based on a serial link structure \autocite{dresscher_modeling_2010}.
The dynamics of the \ac{scara} are based on a serial link structure \autocite{dresscher_modeling_2010}.
This serial link structure makes it easy to add and extend joints, bodies and mass points to the system. This serial link structure makes it easy to add and extend joints, bodies and mass points to the system.
Therefore, the last detail, the marker lifting, was added without any difficulty. 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. The servo is connected via a linkage with the marker such that it rotates away from the board.
@@ -154,12 +143,12 @@
At this point the development has reached a detailed design together with a dynamic model representing that design. At this point the development has reached a detailed design together with a dynamic model representing that design.
The dynamic model is a useful tool to test and evaluate the system behavior. The dynamic model is a useful tool to test and evaluate the system behavior.
However, it does not include the shapes of the components and can therefore not be used to evaluate clearance or collision between components. However, it does not include the shapes of the components and can therefore not be used to evaluate clearance or collision between components.
By implementing the design using CAD software, it is possible to search for collisions.
Furthermore, this model can than also be used to print the custom parts.
By implementing the design using CAD software, it is possible to inspect for collisions.
Furthermore, this model is than also used to print the custom parts.
For the mechanical part I used OpenSCAD as CAD software, based on prior experience with the software. For the mechanical part I used OpenSCAD as CAD software, based on prior experience with the software.
With this it was possible to implement all the custom components as well as the \ac{ots}-components. With this it was possible to implement all the custom components as well as the \ac{ots}-components.
Using the inverse kinematics model from the basic design of the SCARA, the angles were directly applied on the components in system.
Allowing me to change the configuration of the SCARA and inspect the clearance between each component.
Using the inverse kinematics model from the basic design of the \ac{scara}, the angles were directly applied on the components in system.
Allowing me to change the configuration of the \ac{scara} and inspect the clearance between each component.
Following the rectangular path as defined in \autoref{test1} revealed that collisions occurred between parts. Following the rectangular path as defined in \autoref{test1} revealed that collisions occurred between parts.
These collisions were resolved by adding an indentation in one linkage and moving another linkage. These collisions were resolved by adding an indentation in one linkage and moving another linkage.
These changes are shown in \autoref{fig:scad_clearance} These changes are shown in \autoref{fig:scad_clearance}
@@ -168,10 +157,11 @@
\centering \centering
\includegraphics[width=0.8\linewidth]{graphics/scad_scara_circles.png} \includegraphics[width=0.8\linewidth]{graphics/scad_scara_circles.png}
\caption{ \caption{
CAD of the SCARA configuration, with the end-effector orientated in the lower left corner of the operating area.
CAD of the \ac{scara} configuration, with the end-effector orientated in the lower left corner of the operating area.
The configuration has been adapted at the two circled points, to resolve collisions in this orientation. The configuration has been adapted at the two circled points, to resolve collisions in this orientation.
An indentation was made to ensure that the arm could make the required corner.
Furthermore, the bottom linkage has been moved from above to below the actuated joints, as this linkage would otherwise collide with the end-effector.
An indentation was made to ensure that the arm can make the required angle.
The bottom linkage was located above the joints as depicted in the fourth configuration in \autoref{fig:scaradesign}.
This was moved to below the actuated joints as it did collide with the end-effector.
} }
\label{fig:scad_clearance} \label{fig:scad_clearance}
\end{figure} \end{figure}
@@ -179,7 +169,7 @@
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.8\linewidth]{graphics/scad_carriage.png} \includegraphics[width=0.8\linewidth]{graphics/scad_carriage.png}
\caption{Rendered 3D model of the SCARA, including steppers, marker and servo.}
\caption{Rendered 3D model of the \ac{scara}, including steppers, marker and servo.}
\label{fig:scad_carriage} \label{fig:scad_carriage}
\end{figure} \end{figure}


@@ -188,7 +178,7 @@
However, this was not without deviating from the original design plan. However, this was not without deviating from the original design plan.
It was not feasible to define all different levels of detail before the start of the development. It was not feasible to define all different levels of detail before the start of the development.
Prior to the design, it was possible to plan 4 levels of detail. Prior to the design, it was possible to plan 4 levels of detail.
After these steps, the design decisions taken made it possible to define the following levels of detail.
After implementing these levels of detail, the design decisions taken made it possible to define additional levels of detail.


In total there are seven predefined levels of detail in the design. In total there are seven predefined levels of detail in the design.
Meaning that there must also be seven test cycles. Meaning that there must also be seven test cycles.
@@ -200,10 +190,9 @@
Implicitly, the system was very often tested and changed based on test results. Implicitly, the system was very often tested and changed based on test results.


\subsection{Conclusion} \subsection{Conclusion}
With the development of the SCARA completed.
Following the design plan, the development has to be repeated for the design of the Cable bot.
With the development of the \ac{scara} completed.
Following the design plan, the development has to be repeated for the design of the \ac{cdc}.
However, the evaluation of the development until this point resulted in enough information to draw conclusions about the design plan. However, the evaluation of the development until this point resulted in enough information to draw conclusions about the design plan.
I expect that executing this development a third time is not beneficial to the case study, given the additional effort. I expect that executing this development a third time is not beneficial to the case study, given the additional effort.
Time is better spent on the realization of a prototype and improving the current design method. Time is better spent on the realization of a prototype and improving the current design method.
Therefore, the next section will go into the construction of the prototype instead of the development of the Cable bot.

Therefore, the next section goes into the construction of the prototype instead of the development of the \ac{cdc}.

Loading…
Cancel
Save