P20510: Eastman Museum Digitization Improvement
/public/

Subsystem Build & Test

Table of Contents

Team Vision for Subsystem Level Build & Test Phase

For the subsystem-level build and test phase, our team began development of the individual subsystems of the final design, including: the table and circular tabletop, the arm with the color bar, the associated microcontroller code for controlling the DC Servo Motor for the table and the Stepper Motor for the arm, and the code for the autocropping script.

Arm

Arm

Arm

The arm has been cut and assembled, and it is designed to be able to stretch out and pull in through the use of a stepper motor coupled to one end of the arm (not shown).

Arm Motor

The arm motor has been wired correctly and operates at a voltage compatible with the encoder motor, eliminating the need for two power supplies.

The microcontroller can accurately control the motor to turn a specific number of servo steps, and it can turn the motor between four predetermined positions (the starting position and the three presets) by counting steps with the use of the movement buttons.

Table

Table Before

Table Before

The table materials, including the 2-by-4 wood and plywood, have been successfully cut per the desired measurements.

Table After

Table After

Using highly advanced scientific technology, the wood has been placed atop the table.

Table Motor

Table Motor

Table Motor

The DC motor has been implemented to turn a specific number of servo steps corresponding to 90 degrees upon a button press. When turning, the motor will accelerate at first and decelerate when approaching the desired position.

Electrical Schematic

Electrical Schematic

Electrical Schematic

Word(s).

Panel Layout

Panel Layout

Panel Layout

Word(s).

Autocrop Script

The compiled executable used by the Applescript was updated to perform the autocrop of images.

In the updated algorithm, a raycast is performed from the center of each side of the image in the direction normal to the side of the image (so either directly horizontally coming from the left or right and directly verically coming from the top or from the bottom).

Alongside each raycast trace, the color values at each pixel as a single-byte grayscale color is recorded alongside the trace, and a difference filter is applied alongside all four traces with the equation given by:

 equation

equation

The resulting value will indicate the difference in color between the current pixel location and that of the pixel location five steps ahead. Due to the images have a black border per the FADGI guidelines, this can be used to detect the border of the image. When n consecutive pixels have been detected to have a difference that exceeds a provided threshold, this pixel is determined to be the edge of the image.

After determining the edges, the bounding box and size of the image is closed in using the provided image. Due to the placement of the color bar, this script will call itself iteratively a provided number of times, with each subsequent time performing the raycast at height/(iter+1) intervals or width/(iter+1) intervals across the image. For example, in the first iteration, the raycast is performed at height/2 and width/2, directly across the center of the image. In the second interation, the raycast is performed at the 1/3 and 2/3rds point across the image, and the average of the values is used as the determined crop edge. Using a maximum iterative of n=5, it was found that the color bar will eventually be cropped out.

 Test: 1 iteration

Test: 1 iteration

 Test: 3 iteration

Test: 3 iteration

 Test: 4 iteration

Test: 4 iteration

 Test: 5 iteration

Test: 5 iteration

// @todo fix links


1

 (Original)

(Original)

 (Updated)

(Updated)


2

 (Original)

(Original)

 (Updated)

(Updated)


Test Results Summary

A link to our test plan can be found in the Requirements and Test Plan document.

S8

Early testing results, from running autocrop executable without the applescript:

 (Test 1)

(Test 1)

 (Test 2)

(Test 2)

Risk and Problem Tracking

Added Risks

Added Risks

The full updated risk sheet can be found here.

Problem Tracking Update

Problem Tracking Update

The full updated problem tracking sheet can be found here.

Functional Demo Materials

Plans for next phase

We hope to accomplish the following tasks by the next demo:

Individual Plans:

Tom

Maria

Jeff

HeeJae

David L.

David T.

Subsystem Build & Test Documents

A directory consisting a snapshot of all of our live documents as of this phase can be found here (files) and here (photo gallery).


Home | Planning & Execution | Imagine RIT

Problem Definition | Systems Design | Preliminary Detailed Design | Detailed Design

Build & Test Prep | Subsystem Build & Test | Integrated System Build & Test | Customer Handoff & Final Project Documentation