# SCARA implementation

## Design
The Scara moves the marker in a small space along the board.
The Scara has to be quick and precise. Therefore we want to keep it as small and light as possible.
In the next image we have a general idea of the design.

![Rough design idea](generaldesign.pdf)

## Specifications
The Scara has as goal to move the end-effector in a area of 50 mm high and 70 mm wide.
On of the first tests is to be able to travers that square with in a second.
Therefore it has to achieve an average speed of 240 mm/s.
Al be it not for very long. Probably up to 500 mm/s maximum velocity.

The marker has to be lifted as well. 
That will be the task of the end-effector.

## Details
The levels of detail that we will implement are at least the following steps.

### Kinematics
A first model is just a kinematics model without any physics.
If we look at the design it only implements the A and B part of the arms.
And we can just mathematically calculate the position of the arms.
This is usefull to check whether we can even reach all the corners of the square.

### Simple Physics.
Start adding some Mass to the arms and the marker.
We can learn some basic requirements for the motor that we require.
The current implementation would require some infinite power as we have some instantanious speed.
Thus we have to update our path and induce some control.

It is probably to make some pathing block where we can put some set points into. 

### Adding motor physics.
Start the better motor physics.
What kind of motor do we need to power the setup.

### Complex arm structure.
Add the the C, D and E arms.
All the arms should now also have complete inertia and mass specifications.

### Add parasitics to the arm structure
This has to be reviewed at the point that we get here.

## Division
The submodels will be divided as follows.
However, during the design I will probably run in more blocks than normal.

![Division of models](division.pdf)

The submodels in the division should be compatible with each other.
To avoid that we have to update all our models all the time.
We will build every part of the model in a library for 20-sim. This way it is easy for 20-sim to find the updated models.

![Compatibility solution between different versions](compatibility.pdf)


