LEGO Photocopier: Software Tasks

After a quick brainstorming session with Ben, we were able to breakdown the software side of our Lego Photocopier into 6 tasks/ steps. The tasks are:

Image Acquisition:

This is the first action that will occur in every photocopy, the acquisition of the image we want to copy. This will consist of just the USB camera with the Vision Toolkit.

Image Processing:

After the acquisition of the image it needs to be scaled back so it can be constructed out of Lego pieces (and all of the 6 or so colours we have access to).

User Interface:

Besides seeing the construction of the image out of Lego pieces, we must decide what other interactions the user may have with the software. This could include preview of what the image may look like on screen, the motion of the arm, or maybe an emergency stop (just in case).

Motion Planning:

The next step is deciding how our mechanical system will construct the image. It could go from left to right, or from the center out, or from the outside in, and etc.

Brick Finding:

Now that all the planning is done we must build our image, but we first must know where the bricks are. This will be done by the second camera, to find the location and colour of the bricks. This will then be stored for later use. This could also include the orientation/calibration of our build surface.

Brick Placement:

Finally we can construct our image, using the motion plan and the location/colour of the bricks.

But before we can begin programming we must think of the structure of our program.