Project lab 10 - Complete coding distributor & presentation

Date: 13/06/2013
Duration of activity: 8:20-14:00 --> 5 hours and 40 minutes
Group members participating: Ole Rasmussen and Kasper Føns

1. Goal

The goal of this lab session is to complete the distributor and prepare a presentation for the "exam".

2. Plan

2.1 Distributor

To complete the distributor we will follow the process we designed in project lab 9 - this time for the beam tray. We repeat it here for the sake of convenience:

  1. First, we will determine where the distributor should drop the Lego beams on the beam tray. This involves creating a coordinate system for the tray (in cm), where each drop-point will be a point in this coordinate system. 
  2. Then, we will find a way to translate the tray coordinate system (in cm) to tacho counts. In other words, if the distributor should drop-off a Lego piece at the point (1,1)cm we need to find out how many tacho counts this corresponds to for both the car and the bridge.
  3. Finally, we may need to adjust the cm to tacho conversion based on the fact that the car will be offset by a specific amount compared to the tray itself. For example if we calculate that the car and bridge should rotate 360 degrees to drive 1cm each, this may in fact not be enough because the car doesn't start directly above the first pocket in the tray - it actually starts a bit offset from it.
Note that step 2 is grayed out. We don't need to repeat this step for the beam tray because the distance the distributor drives is independent of the tray, it's determined by the frame that sits on top of the tray. The frame is the same for both trays because we just move it between the trays.

2.2 Presentation

For the "exam" presentation we will prepare an outline of things we will talk about.

3. Dropping off Lego beams in the beam tray

As mentioned in the plan we will follow the first and third step of the process we also did with the axle tray to make the distributor able to distribute beams. Note that we will not be describing the process itself or explaining things in detail as we did in project lab 9. Refer to that lab report instead if necessary.

3.1 Drop-points for the beam tray

We have determined the drop-points the usual way. First we measure the tray dimensions. Then we calculate the drop-positions based on what seems to make the most sense. The beam tray is very different from the axle tray in that there are fewer but larger pockets. Larger pockets means more room to drop the pieces. Thus, what we did in this case was simpler than with the axle tray. Instead of calculating drop-positions that successively move farther down on the y-axis, we simply placed the drop-points such that for a pocket y the drop-point is on the edge between y and y-1. For the three lower pockets we set the drop-points to the minimum drop-position as with the axle trays. The result is shown in Figure 1.
Figure 1: Drop-positions for the beam tray. All points are placed between the pockets except for the bottom three which are placed at the minimum drop-position on the y-axis.

3.2 Finding the beam tray offset

Like with the axle tray we need to measure the distance between the distributor in its initial position and the (0,0) point on the tray. We measured this to be (0,-5). 

By inputting the drop-positions and the offset point to the Distributor class (see project lab 9, section 5.4) we have now made the distributor able to distribute beams.

4. "Exam" presentation

We have spent some time planning our presentation, and have decided that is should contain the following subjects:
  1. Planned: what was the original goals of the project
    Lego sorting system, 3 main modules: feeder, sorter and distributor
  2. Actual: what have we actually done (may be different than planned)
    Sorter+distributor modules completed, feeder only half done
  3. Proud of: what parts are we proud of
    Custom stalling system (resetting position without using external sensors), beamcounter, axlesorter, on-the-fly change between axle and beam sorting, able to handle small Lego pieces (i.e. 2-axles and beams), distributor is fast
  4. Not so proud of: what things are we not entirely proud of (i.e. what could be better)
    Feeder (not done), no queuing system, no color sorting, coupling between modules (i.e. axlesorter and beamcounter is physically attached to each other)
  5. Future work: what would we do if we had more time
    Fix the things we're not so proud of, optimize speed

5. Conclusion

We successfully made the distributor able to distribute beams by calculating drop-off-positions and offset for beam tray. Figure 2 shows a video of the distributor distributing beams.

Furthermore we prepared an outline for the "exam" presentation containing planned work, actual work, what we are proud of, what we are not so proud of and future work.

Figure 2: The finished distributor sorting some beams.

6. Next lab

Since we have reached the deadline date for the project this is the last lab conventional lab report. The project is considered finished at this point. The next lab report will be an overall project summary and conclusion.