Victor Espinoza – Update 6

This week I worked on revising and overhauling the Gantt Chart and Task List for our project being that we are running behind schedule. I added some tasks that were missed when our group originally created the Task List and I also took out some tasks that didn’t really make sense.

Updated Task List:

Here is our group’s revised Task List in tabular format:

*Note: Each day in the Duration column corresponds to two hours of perceived work. For example, the first task says that the duration will last 8 days, meaning that it will take a total of 8*2 = 16 hours to achieve the desired task. The updated Task Descriptions (the next section of my update) contain the durations in hour format (the durations had to be changed to the described day format in order to be displayed properly in our Gantt Diagram).

Task Leader Task Name Duration Start Finish
Michael Parra Research on Skin Detection 8d 02/29/16 03/07/16
Michael Parra Finish 3-D Printing Desk-Buddy Segments 7d 03/08/16 03/14/16
Michael Parra Connect Servos to Desk-Buddy 2d 03/19/16 03/20/16
Michael Parra Connect Camera to Desk-Buddy 2d 03/25/16 03/27/16
Michael Parra Soldering Components on Custom PCB 6d 04/01/16 04/06/16
Michael Parra Verify Facial Detection Range Engineering Specification 5d 04/08/16 04/12/16
Michael Parra Verify Image Processing Engineering Specification 5d 04/14/16 04/18/16
Michael Parra Verify Following a Face Engineering Specification  5d 04/20/16 04/24/16
Skyler Tran Implement Code to Update Servo Positions (DONE) 3d 01/25/16 01/27/16
Skyler Tran Create 3-D Base Segments for Desk-Buddy (DONE) 2d 02/01/16 02/03/16
Skyler Tran Design Camera Interface for Desk-Buddy (DONE) 5d 02/04/16 02/08/16
Skyer Tran Capture Image Data (DONE) 5d 02/09/16 02/13/16
Skyler Tran Design PCB Schematic (DONE) 6d 02/15/16 02/20/16
Skyler Tran Implement PCB and send it to Manufacturer for Printing (DONE) 13d 02/22/16 02/29/16
Skyler Tran Create more 3-D parts for Desk-Buddy (DONE) 2d 03/03/16 03/04/16
Skyler Tran Design Power Supply (DONE) 3d 03/07/16 03/09/16
Skyler Tran Balancing Servos on the Desk-Buddy 9d 03/14/16 03/22/16
Skyler Tran Implement Skin Detection Algorithm 10d 03/26/16 04/04/16
Skyler Tran Verify PCB Design 6d 04/09/16 04/14/16
Victor Espinoza Selecting LED Color (DONE) 5d 01/25/16 01/29/16
Victor Espinoza Create LED Driver (DONE) 2d 02/01/16 02/02/16
Victor Espinoza Implement LED Color changes using Arduino (DONE) 5d 02/08/16 02/12/16
Victor Espinoza Design State Machine for Desk-Buddy (DONE) 3d 02/15/16 02/17/16
Victor Espinoza Implement State-Machine using Arduino Uno (DONE) 5d 02/22/16 02/26/16
Victor Espinoza Research for Outputting Sound To Speaker (DONE) 3d 02/29/16 03/02/16
Victor Espinoza Combine LED, Servo, and Speaker code into State Machine 5d 03/10/16 03/14/16
Victor Espinoza Debug State Machine Logic 5d 03/15/16 03/19/16
Victor Espinoza Connecting LEDs on the Desk-Buddy 2d 03/23/16 03/24/16
Victor Espinoza Verify State Transition Accuracy and Timing Constraints 5d 03/25/16 03/29/16
Victor Espinoza Create User Manual For PCB Design 13d 03/31/16 04/12/16
Jose Trejo Implement Sound Software using Arduino Uno 5d 03/03/16 03/07/16
Jose Trejo Implement Power Supply 5d 03/08/16 03/12/16
Jose Trejo Create Speaker Driver 2d 03/13/16 03/14/16
Jose Trejo Connect 3-D Printed Segments Together 10d 03/15/16 03/18/16
Jose Trejo Connecting Speaker / Speaker Driver to Desk-Buddy 2d 03/21/16 03/22/16
Jose Trejo Create Engineering Manual for Final Design 13d 03/28/16 04/09/16

 

Updated Task Descriptions:

Since I had to update our task list, it is only natural that I also update the task descriptions so that the new tasks are adequately described. Here are the updated task descriptions (also in tabular format):

 

Task # Task Name Task Leader Additional Team Members Involved Estimated Time Needed
1 Research on Skin Detection Michael Parra Skyler Tran 16 Hours
Task Description: The focus of the project in how we are going to achieve facial detection using FPGA is now centered around skin detection. This task consists of conducting and gathering all of the necessary research on skin detection so that the group members can implement skin detection using FPGA in order to detect a face.
2 Finish 3-D Printing Desk-Buddy Segments Michael Parra Skyler Tran, Victor Espinoza 14 Hours
Task Description: We have already printed a few of the necessary 3-D parts for our project, but we still have parts that need to be printed. This task consists of 3-D printing all of the remaining parts for our project.
3 Connect Servos to Desk-Buddy Michael Parra 4 Hours
Task Description: This task consists of measuring the distance of each servo needed for the whole project and also what type of wire should be used in this project. It is also responsible for making sure that the software functionality still works after the device is connected to the Desk-Buddy.
4 Connect Camera to Desk-Buddy Michael Parra Victor Espinoza 4 Hours
Task Description: Once all of the 3-D parts are connected together, somebody needs to attach the camera to the Desk-Buddy. This task consists of connecting the camera to the Desk-Buddy along with connecting it to the FPGA board that is going to be driving the camera. In this task we will make sure the wiring measurements are correct, and long enough to connect from the FPGA to the Camera Module itself.
5 Soldering Components on Custom PCB Michael Parra Skyler Tran 12 Hours
Task Description: Alternate components besides the PCB will need to be soldered to our printed PCB to establish genuine connectivity throughout the device’s circuitry. Soldering the components will give the project durability and portability. This task consists of soldering all of the components to our printed PCB design.
6 Verify Facial Detection Range Engineering Specification Michael Parra Skyler Tran, Victor Espinoza 10 Hours
Task Description: After the project is up and running, our group needs to make sure that our project is living up to the engineering specification that we defined for it. This task consists of verifying that our project meets our Facial Detection Range specification, which is as follows:

●       min: ½ foot

●       max: 3 feet (detect a face within an image taken from ½ a foot to 3 feet away from the Desk-Buddy)

Verification Method: We will stand in various positions within ½ a foot and three feet away from the Desk-Buddy and make sure it detects a face.

7 Verify Image Processing Engineering Specification Michael Parra Skyler Tran, Victor Espinoza 10 Hours
Task Description: After the project is up and running, our group needs to make sure that our project is living up to the engineering specification that we defined for it. This task consists of verifying that our project meets our Image Processing specification, which is as follows:

●       max: 300 ms (will take no more than 300 ms to process an image)

Verification Method: We will verify this time interval by creating a test-bench and running simulations on the image processing logic to ensure that it does not take longer than 300ms to execute all of the image processing logic.

8 Verify Following a Face Engineering Specification Michael Parra Skyler Tran, Victor Espinoza 10 Hours
Task Description: After the project is up and running, our group needs to make sure that our project is living up to the engineering specification that we defined for it. This task consists of verifying that our project meets our Following a Face specification, which is as follows:

*Following a Face (Assuming that the Desk-Buddy has already detected a face and that it has not reached its movement limits):

●       max repositioning time: 4 seconds (When a person moves, the Desk-Buddy will accurately re-position itself within 4 seconds so that the person’s face is centered with the camera).

●       Notable Consideration: In the event that a person moves to a new location before the Desk-Buddy has finished re-positioning itself, the Desk-Buddy will stop re-positioning itself to the person’s old location and will start re-positioning itself to match the person’s new location. It will re-position itself to the person’s new location within 4 seconds (essentially starting the re-positioning process over again beginning at its current position).

●       Verification Method: We will make sure that the Desk-Buddy is able to accurately re-position itself to keep its camera centered on a person’s face and that it can follow a face in all directions. We will use a stop-watch to verify that the time it takes the Desk-Buddy to re-position itself is less than 4 seconds.

9 Implement Code to Update Servo Positions (DONE) Skyler Tran Victor Espinoza 6 Hours
Task Description: This task consists of designing a function task in our software that increases and decreases the servo position by 5 degrees. Each servo will be moving individually. Each servo position will be saved into a memory location (in degrees) so that we never lose that servo’s position. We will make sure that all servos will be called and incremented individually.
10 Create 3-D Base Segments for Desk-Buddy (DONE) Skyler Tran 4 Hours
Task Description: This task consists of designing all of the base parts that will be 3-D printed for the Desk-Buddy. These base parts will be used to help keep the Desk-Buddy stable and help prevent it from falling over while moving its different segments.
11 Design Camera Interface for Desk-Buddy (DONE) Skyler Tran 10 Hours
Task Description: This task revolves around designing the interface that will be used to communicate between the FPGA board and the camera.
12 Capture Image Data (DONE) Skyler Tran 10 Hours
Task Description: This task consists of capturing the image data from the camera. This means that we need to know when we should tell the camera to take a picture. In order to do this, we need to measure the amount of time that it takes to capture an image so we can adjust its dimensions to a size that would allow the microcontroller to handle a high frame rate.
13 Design PCB Schematic (DONE) Skyler Tran Victor Espinoza, Michael Parra 12 Hours
Task Description: This task consists of designing a custom PCB schematic for our microcontroller and some peripheral inputs and outputs like USB, power line, a step down convert for 3.3 V, pin header, etc… To design a custom schematic, it requires a lot of time to learn and to calculate each interconnecting path on the PCB. We also need to measure how thick it should be and how much ohms it requires.
14 Implement PCB and send it to Manufacturer for Printing (DONE) Skyler Tran Michael Parra 26 Hours
Task Description: The purpose of this task is to find a company that can aid in creating a custom circuit board for our system. Much paperwork and funds will be needed to follow through with this design. One we find a company that can print our PCB for an affordable price, we will then actually print our PCB design.
15 Create more 3-D parts for Desk-Buddy (DONE) Skyler Tran 4 Hours
Task Description: This task consists of designing the remaining 3-D segments of the Desk-Buddy. These parts will be the structural support for each of the different segments of the Desk-Buddy.
16 Design Power Supply (DONE) Skyler Tran Jose Trejo 6 Hours
Task Description: This task consists of designing the power supply that will be built for our project. This encompasses measuring the required power and current needed for the whole project. After determining this, we will then build these requirements into a power supply that can provide a higher than required current so that it will not our power supply will not burn out.
17 Balancing Servos on the Desk-Buddy Skyler Tran Victor Espinoza 18 Hours
Task Description: This task consists of measuring the balance required for the arm, so we can add the servos on and put the spring to help balancing as well. This task is crucial in making sure that the Desk-Buddy has the proper amount of balance and does not fall over while it is moving its different segments.
18 Implement Skin Detection Algorithm Skyler Tran Michael Parra 20 Hours
Task Description: In this step we will combine the facial detection software with the processed image taken from the embedded system’s camera.   The focus will be debugging and fixing compatibility issues with the Facial Detection software, camera, image file extensions, and timing constraints. Timing constraints will help us decide how fast we can capture images with our camera while running the face detection system. This will be achieved using FPGA and skin detection.
19 Verify PCB Design Skyler Tran Victor Espinoza 12 Hours
Task Description: To verify our PCB design after soldering, we need to test all the peripheral inputs and outputs and all of the pins from the microcontroller. There could be many steps to verify our PCB and ensure that it work exactly as our rapid prototyping implementation. First of all, we have to make sure that the DC voltage is clean and stable. Second, we have to measure the minimum and the maximum voltage and make sure that the onboard voltage regulator is stable and does not damage the microcontroller.
20 Selecting LED Color (DONE) Victor Espinoza 10 Hours
Task Description: This task consists of selecting the appropriate LED colors. So far, we are using the following colors in our design: gray=idle, green=happy, red=angry, blue=sad. In order to get the different color schemes, we need to adjust the value of each combination of Red, Green, and Blue LEDs accordingly. The gray color has an RGB combination of R=128, G=128, B=128. The green color has an RGB combination of R=0, G=128, B=0. The red color has an RGB combination of R=255, G=0, B=0. The blue color has an RGB combination of R=0,G=0,B=255.
21 Create LED Driver (DONE) Victor Espinoza 4 Hours
Task Description: In order to communicate with the RGB LED strip, a driver must be created that allows the different signals to safely communicate with the strip without damaging the strip or the board. This task consists of creating said driver. This driver will consist of 3 transistors and three resistors that will safely ground/pass the signals coming out of the master board and going into the RGB LED strip.
22 Implement LED Color changes using Arduino (DONE) Victor Espinoza 10 Hours
Task Description: This task consists of making sure that the appropriate LED color is displayed on the LEDs based on the Desk-Buddy’s mood. Each mood that our Desk-Buddy can exhibit (happy, sad, angry, idle) will result in the LEDs displaying an appropriate color. When the Desk-Buddy is happy, the LEDs will all be green. When the Desk-Buddy is sad, all of the LEDs will be blue. When the Desk-Buddy is angry, all of the LEDs will be red. Finally, when the Desk-Buddy is idle, all of the LEDs will be gray. All of these color changes are to be implemented using Arduino.
23 Design State Machine for Desk-Buddy (DONE) Victor Espinoza 6 Hours
Task Description: The Desk-Buddy will have a Finite State Machine (FSM) that is vital to determining how it will interact with the user. This task consists of designing the fundamental logic behind the state machine as well as creating the associated state transition diagram for the fsm.
24 Implement State-Machine using Arduino Uno (DONE) Victor Espinoza 10 Hours
Task Description: This task consists of actually implementing the designed state machine using the Arduino. This is achieved by continuously updating the state of the fsm and telling it what to do while it is in each of the different states.
25 Research for Outputting Sound To Speaker (DONE) Victor Espinoza Jose Trejo 6 Hours
Task Description: This task consists of conducting the required research that is necessary in order to output sound to the Arduino. It is intended to be used to help Jose Trejo implement the sound output using Arduino.
26 Combine LED, Servo, and Speaker code into State Machine Victor Espinoza 10 Hours
Task Description: Once everybody has created the appropriate software to control the different aspects of the Desk-Buddy, it all needs to be combined together. This task consists of combining everybody’s code together and integrating it into the state machine in order to make sure that everything runs smoothly and does not conflict with any of the other code that was written.
27 Debug State Machine Logic Victor Espinoza Skyler Tran 10 Hours
Task Description: This task is responsible for making sure that all of the integrated code does not interfere with itself and that the state machine runs smoothly. This task is also responsible for fixing any issues that arise with conflicting code in order to make it fully compatible with the state machine.
28 Connecting LEDs on the Desk-Buddy Victor Espinoza 4 Hours
Task Description: This task consists of connecting the LEDs to the Desk-Buddy and making sure that they do not negatively impact the integrity of the overall design. It is also responsible for making sure that the software functionality still works after the device is connected to the Desk-Buddy.
29 Verify State Transition Accuracy and Timing Constraints Victor Espinoza 10 Hours
Task Description: This task consists of making sure the different states are displaying the correct results (right LED color and right output noise) and that they are switching to the next state correctly. This task is also responsible for making sure that our project is living up to the engineering specification that we defined for it. This task consists of verifying that our project meets our Desk-Buddy State Transitions specification, which is as follows:

●       max transition time: 30ms (The Desk-Buddy will transition between its different states within 30ms)

Verification Method: We will create a test-bench and run simulations on the state machine to make sure that it transitions between its different states within 30ms.

30 Create User Manual For PCB Design Victor Espinoza Skyler Tran, Michael Parra, Jose Trejo 26 Hours
Task Description: This task consists of making a user’s manual for our PCB design that will describe the different components within our PCB and how they work. This document will be used by people who wish to attain a general understanding of the capabilities of our PCB and how all of the different components are connected together within our design.
31 Implement Sound Software using Arduino Uno Jose Trejo Victor Espinoza 10 Hours
Task Description: This task will focus on writing the code associated with generating the different sounds that our design will have. We will have different sounds playing at different frequencies depending on what mood the Desk-Buddy is in. The Desk-Buddy will have 5 different sounds that it will produce. One sound will be on startup when the design is powered on. Then it will also have sounds to demonstrate its mood such as happy, mad and sad. Besides its mood and startup sound it will have a sound when it goes into the idle mode.
32 Implement Power Supply Jose Trejo 10 Hours
Task Description: This task consists of taking the power supply that was previously designed and actually putting all of the components together in order to make the fully-functioning power supply.
33 Create Speaker Driver Jose Trejo Victor Espinoza 4 Hours
Task Description: This task consists of creating the amplifier circuit that the speaker is going to be connected to. It is also responsible for making sure that sound can actually be heard coming out of the speaker after connecting it to the amplifier.
34 Connect 3-D Printed Segments Together Jose Trejo Michael Parra 20 Hours
Task Description: This task consists of taking all of the 3-D printed parts and connecting them together in order to create the structural skeleton for the Desk-Buddy. Once all of the 3-D parts are connected together, we can then start connecting all of the external components/modules to the Desk-Buddy.
35 Connecting Speaker / Speaker Driver to Desk-Buddy Jose Trejo Victor Espinoza 4 Hours
Task Description: This task requires the speaker to be correctly connected to the Desk-Buddy and making sure that all software functionality still works as expected after everything is connected together.
36 Create Engineering Manual for Final Design Jose Trejo Skyler Tran, Michael Parra, Victor Espinoza 26 Hours
Task Description: This task consists of making an Engineering Manual for our PCB design. In this manual, we will list all of the components and thoroughly describe them. It will have everything you need to know about each particular part in great detail showing you the voltages, resistance, operating temperature ranges, etc…

 

Revised Gantt Diagram:

Here is our revised Gantt Diagram for our updated Task List:

This slideshow requires JavaScript.

Advertisements

One thought on “Victor Espinoza – Update 6

  1. Victor, Implement Skin Detection Algorithm is Michael’s task, not mine. I’m just helping to write Verilog. The leader task should be him.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s