Difference between revisions of "Hardware Analysis and Synthesis"

From EG1004 Lab Manual
Jump to: navigation, search
 
(1003 --> 1004)
 
(56 intermediate revisions by the same user not shown)
Line 1: Line 1:
<h1>EG1004 Lab 2: Hardware Analysis and Synthesis</h1>
{{Outdated||date=July 2009}}


== <h2>2.1 OBJECTIVES</h2> ==
<h2>1 OBJECTIVES</h2>
<p>The experimental goal of this lab is for your team to
determine if a robot kit meets minimum standards for accuracy and precision. To
do this your team will build and program a robot, and test it against the provided
EG standard. All your results must be tabulated accurately. </p>


<p>Together,
<p>The experimental goal of this lab is for your team to determine if a robot
we will define the concept of product evaluation, demonstrate the importance of
design meets minimum standards for accuracy and precision. To do this your team
accurate measurements, and show how they relate to both precision and accuracy.
will build and program a robot, and test it against the provided EG1004
Once you have completed your lab work, you will be able to describe the method
standard. All your results must be tabulated accurately. </p>
of troubleshooting you developed.</p>


== <h2>2.2 OVERVIEW</h2> ==
<p>Together, we will define the concept of product evaluation, demonstrate the
importance of accurate measurements, and show how they relate to both
precision and accuracy. Once you have completed your lab work, you will be able
to describe the method of troubleshooting you developed.</p>


<p>Your team has been hired by an engineering firm to evaluate
<h2>2 OVERVIEW</h2>
a robotics kit. This Robotics kit has a manufacturer’s suggested retail price
of $199.95. The firm has specified the robot design they would like you to
build and test. Your assignment is to test the kit and the specified design,
describe what works and list the improvements that should be made to both the
kit and the robot design you built. The price of the kit should be factored
into the overall product evaluation. What other factors do engineers consider
when they evaluate products?</p>


<p>Product
<p>Your team has been hired by an engineering firm to evaluate a robotics design.  
evaluation is a common task for an engineer. Sometimes the product you evaluate
The Robotics kit provided has a manufacturer's suggested retail price of $249.99. The
will be one your team built, and sometimes you will be analyzing a competitor's
firm has specified the robot design they would like you to build and test.
design. In either case, you will need to decide on a <b><i>standard</i></b> (an accepted
Your assignment is to use the kit to test the specified design, describe what works
value), determine an <b><i>average</i></b>, and calculate <b><i>accuracy</i></b>
and list the improvements that should be made to the robot
and <b><i>precision</i></b>.<sup>12</sup></p>
design you built. The price of the kit should be factored into the overall
product evaluation. What other factors do engineers consider when they
evaluate products?</p>


<p>Professional engineers must be
<p>Product evaluation is a common task for an engineer. Sometimes the product
sure of standards. For the purpose of this lab, the EG Standard
you evaluate will be one your team built, and sometimes you will be analyzing
that you will be testing to is 80% precision and accuracy. This means that the
a competitor's design. In either case, you will need to decide on a <b><i>
product you will be testing has to pass 80% of the tests that it undergoes. Some
standard</i></b> (an accepted value), determine an <b><i>average</i></b>, and
projects may require a degree of accuracy to a tenth of an inch. Attempting to
calculate <b><i>accuracy</i></b> and <b><i>precision</i></b>.<sup>1</sup></p>
make the project accurate to the hundredth might be unnecessary and difficult
to control. It is up to you to verify that your solutions are accurate based on
the standard for your design project.<sup>12</sup></p>


<p>When taking measurements, the first step is to determine an average. </p>
<p>Professional engineers must be sure of standards. For the purpose of this
lab, the EG1004 Standard that you will be testing to is 80% precision and
accuracy. This means that the product you will be testing has to pass 80% of the
tests that it undergoes. Some projects may require a degree of accuracy to a
tenth of an inch. Attempting to make the project accurate to the hundredth might
be unnecessary and difficult to control. It is up to you to verify that your
solutions are accurate based on the standard for your design project.
<sup>1</sup></p>


<p align=center>[[image:lab2_1.gif]]</p>
<p>When taking measurements, the first step is to determine an average.</p>


<p>In this equation, <i>A<sub>P</sub></i> is the average, <i>P<sub>1</sub></i>, <i>P<sub>2</sub></i>, <i>P<sub>3</sub></i>, …  are the
<p align=center>[[image:lab_hardsyn_1.gif]]</p>
results of the tests and <i>N</i> is the total number of tests to be performed.</p>


<p>The <b><i>average</i></b> is then compared to the <b><i>standard</i></b>.
<p>In this equation, <i>A<sub>P</sub></i> is the average, <i>P<sub>1</sub></i>,
Accuracy is a variable you must always consider. The degree of accuracy
<i>P<sub>2</sub></i>, <i>P<sub>3</sub></i>, … are the results of the tests and
required will allow you to verify your results. Engineers often work on
<i>N</i> is the total number of tests to be performed.</p>
projects that affect people's safety. Therefore, it is critical that the
solutions to the problems you will solve as technical professionals are <b><i>accurate</i></b>.</p>


<p>The comparison of the average to the standard is called accuracy. </p>
<p>The <b><i>average</i></b> is then compared to the <b><i>standard</i></b>.
Accuracy is a variable you must always consider. The degree of accuracy required
will allow you to verify your results. Engineers often work on projects that
affect people's safety. Therefore, it is critical that the solutions to the
problems you will solve as technical professionals are <b><i>accurate</i></b>.</p>


<p align=center><i>Acc = P<sub>S</sub> - A<sub>P</sub></i></p>
<p>The comparison of the average to the standard is called accuracy, defined as
<i>Acc</i> in the following equation: </p>


<p>In this equation, Ps is the standard value, and Ap is the value you measured.</p>
<p align=center><i>Acc = |P<sub>S</sub> - A<sub>P</sub>|</i></p>


<p>Precision is the repeatability of a result, or how close the results are to each other.</p>
<p>In this equation, P<sub>S</sub> is the standard value, and A<sub>P</sub> is  
the value you measured. Accuracy is always a positive number, so we take the  
absolute value in case P<sub>S</sub> is less than A<sub>P</sub>.</p>


<p align=center><i>Prec = P<sub>high</sub> - P<sub>low</sub></i></p>
<p>Precision is the repeatability of a result, or how close the results are to
each other, defined as <i>Prec</i> in the following equation:</p>


<p>In this equation, <i>Prec</i> is  Precision, <i>P<sub>high</sub></i> is the highest data value
<p align=center><i>Prec</i><i> = |P<sub>high</sub> - P<sub>low</sub>|</i></p>
and <i>P<sub>low</sub></i> is the lowest data value.</p>


<p>A product test can be accurate but imprecise, or precise but
<p>In this equation, <i>Prec</i> is Precision, <i>P<sub>high</sub></i> is the
inaccurate. The goal is always the combination of accuracy and precision. In
highest data value and <i>P<sub>low</sub></i> is the lowest data value. Like
order for engineers to make a recommendation based on experimental test data,
accuracy, precision is always a positive number, so we use an absolute value
it is important to determine how a device measures against a standard.
here as well.</p>
Engineers need these benchmarks to determine the quality of a product.</p>


<p align=center>[[image:lab2_12.gif]]</p>
<p>A product test can be accurate but imprecise, or precise but inaccurate.
The goal is always the combination of accuracy and precision. In order for
engineers to make a recommendation based on experimental test data, it is
important to determine how a device measures against a standard. Engineers
need these benchmarks to determine the quality of a product.</p>


<p>By determining the percent accuracy of an experiment, and comparing this
<p align=center>[[image:lab_hardsyn_12.gif]]</p>
percentage to a standard, you can determine, based on experimental evidence, whether
the prototype has passed or failed. The equation for percent accuracy is: </p>


<p align=center>[[image:lab2_13.gif]]</p>
<p>By determining the percent accuracy of an experiment, and comparing this
percentage to a standard, you can determine, based on experimental evidence,
whether the prototype has passed or failed. The equation for percent accuracy
is: </p>


<p>In this equation, <i>%Acc</i> is the percent accuracy, <i>P<sub>S</sub></i> is the standard
<p align=center>[[image:lab_hardsyn_13.gif]]</p>
value, and <i>A<sub>P</sub></i> is the value you measured.</p>


<p>Percent accuracy allows an engineer to determine how precise a device is compared to
<p>In this equation, <i>%Acc</i> is the percent accuracy, <i>P<sub>S</sub></i>
the standard. The equation for percent precision is: </p>
is the standard value, and <i>A<sub>P</sub></i> is the value you measured.</p>


<p align=center><i>%prec = 100e<sup>-BP</sup></i></p>
<p>Percent accuracy allows an engineer to determine how precise a device is
compared to the standard. The equation for percent precision is: </p>


<p>In this equation, <i>%prec</i> is the percent precision, <I>B</i> is the exponential decay factor,
<p align=center><i>%Prec = 100e<sup>-BP</sup></i></p>
and <i>P</i> is the actual precision you measured.</p>
 
<p>In this equation, <i>%Prec</i> is the percent precision, <i>B</i> is the
exponential decay factor, and <i>P</i> precision you measured.</p>


<p>Calculating percent accuracy and percent precision and then
<p>Calculating percent accuracy and percent precision and then comparing your  
comparing your results to a standard will allow you to determine the quality of
results to a standard will allow you to determine the quality of your
your prototype.</p>
prototype.</p>


== <h2>2.3 YOUR ASSIGNMENT</h2> ==
<h2>3 YOUR ASSIGNMENT</h2>


<p><b><i>Team PowerPoint Presentation and Individual Lab Report (one report per student)</i></b></p>
<h3>Individual Lab Report</h3>


<p>Follow the lab report guidelines laid out in the section called Specifications for Writing
<p>Follow the lab report guidelines laid out in the page called
Your Lab Reports in the Technical Communication section of this manual chapter. As you write, the following
[[Specifications for Writing Your Lab Reports]] in the <i>Technical Communication</i>
discussion points should be addressed in the appropriate section of your lab report and in your PowerPoint
section of this manual. As you write, the following discussion points should be
presentation:</p>
addressed in the appropriate section of your lab report:</p>


<ul>
<ul>
<li>Discuss product evaluation and the importance of testing.</li>
<li>Discuss product evaluation and the need for it.</li>
<li>Explain the importance of designing to a standard.</li>
<li>Explain the importance of testing.</li>
<li>Discuss standard, average, accuracy, and precision.</li>
<li>Explain the importance of designing to a standard.</li>
<li>Discuss the RoboLab kit and software used.</li>
<li>Assess the techniques used in the testing process.</li>
<li>Discuss better testing methods for the robot design.</li>
<li>Make a final evaluation of the product: should it go into production? Describe its accuracy and precision.</li>
<li>Discuss the importance of % precision and % accuracy in determining product quality.</li>
<li>State your recommendations.</li>
</ul>
<h3>Team PowerPoint Presentation</h3>


<li>Discuss average, accuracy, and precision.</li>
<p>Follow the presentation guidelines laid out in the page called
<li>Assess the techniques used in the testing process.</li>
[[EG1004 Lab Presentation Format]] in the <i>Introduction to Technical Presentations</i>
<li>Discuss better testing methods for the robot design.</li>
section of this manual. When you are preparing your presentation, consider the following points:</p>
<li>Make a final evaluation of the product. Describe its accuracy and precision.</li>
 
<li>Discuss the importance of % precision and % accuracy in determining product quality.</li>
<ul>
<li>State your recommendations.</li>
<li>Based on the test results, what is your determination for the product's marketability?</li>
<li>Include information about the RoboLab kit and software. To do this, visit Lego's website. Your
<li>If determinations were negative, what improvements could be made?</li>
discussion must include market research data. Make sure any information you use is properly attributed
<li>Why is product evaluation important to you?</li>
to its source.</li>
</ul>
</ul>


== <h2>2.4 MATERIALS AND EQUIPMENT</h2> ==
<h2>4 MATERIALS AND EQUIPMENT</h2>


<ul>
<ul>
<li>RoboLab Kit</li>
<li>Mindstorms Kit</li>
<li>Computer with RoboLab Software</li>
<li>Computer with Mindstorms Software</li>
<li>Protractor and Ruler</li>
<li>Protractor and Ruler</li>
</ul>
</ul>


<p><i><b>Remember:</b> You are
<p><i><b>Remember:</b> You are required to take notes. Experimental details are
required to take notes. Experimental details are easily forgotten unless
easily forgotten unless written down. EG Standard Note Paper can be downloaded
written down. You should keep a laboratory notebook for this purpose. Use your
and printed from the EG website [http://eg.poly.edu/downloads/Note_paper.zip the EG Website].
lab notes to write the Procedure section of your lab report. You must attach a
Use your lab notes to write the Procedure section of your lab report. At the end of
copy of your lab notes to the WC copy of your lab report. Keeping careful notes
each lab your TA will scan your lab notes and upload them to the [http://eg.poly.edu/documents.php Lab Documents] section of the EG Website. You must attach your lab notes at the end of your lab report (use the
"Insert Object" command in MS Word after your Conclusion). Keeping careful notes
is an essential component of all scientific practice.</i></p>
is an essential component of all scientific practice.</i></p>


== <h2>2.5 PROCEDURE</h2> ==
<h2>5 PROCEDURE</h2>


<h3>Problem Statement</h3>
<h3>Problem Statement</h3>
<p>You have been hired by an engineering firm to build and
 
evaluate a robotics kit by building a specified robot design. You have been
<p>You have been hired by an engineering firm to build and evaluate a robotics  
asked to test the robot design and the overall kit, and to make suggestions for
design by building a specified robot design. You have been asked to test the
design improvements. </p>
robot design and to make suggestions for design
improvements. </p>


<ol>
<ol>
<li>Build a robot according to the lab handout provided by your TA.</li>
<li>Build a robot according to the lab handout provided by your TA.</li>


<p><b><font color=#ff0000>Warning:</font> Do <i>not</i> disassemble the robot when you
<p><b>Warning: Do <i>not</i> disassemble the robot when you finish. You will use
finish. You will use it again in Lab 3.</b></p>
it again in the next lab.</b></p>


<li>2. Create a program in RoboLab:</li>
<li>Create a program in Mindstorms:</li>  


<ol type="a">
<ol type=a>
<li>Start the RoboLab Program, and select Programmer.</li>


<p>[[image:lab2_15.gif]]</p>
  <li>Start the Mindstorms Program. On the welcome screen type in a name for your
  program and press Go.</li>


<li>In the Inventor section, double click on Inventor 4.</li>
  <p align=center>[[image:Lab_hardsyn_2.jpg]]</p>
</ol>


<p>[[image:lab2_16.gif]]</p>
  <li>Click on Complete Pallete to see all the programming icons.<br>
  Turn off Robot Educator by clicking the small X.</li>


<p>We will use RoboLab to perform three tests: a distance test,
  <p align=center>[[image:Lab_hardsyn_3.jpg]]</p>
an angle of deviation test, and a rotation test. Before we start, take a few
minutes to become familiar with the Tools palette. To access this palette, pull
down the Window menu in the box that appears after you create a new program,
and click Tools palette. </p>


<p>[[image:lab2_17.gif]]</p>
  <li>Your screen should look like this. You are now ready to write a program.</li>


<p>The Tools palette contains three tools you will use often:</p>
  <p align=center>[[image:Lab_hardsyn_4.jpg]]</p>


<ol>
  <li>Click on Actions, then on the Motor icon to select it.</li>
<li>[[image:lab2_18.gif]]The Arrow is used to select icons and wires, or to move them around.</li>


<li>[[image:lab2_19.gif]]The Spool is used to wire icons together.</li>
  <p align=center>[[image:Lab_hardsyn_5.jpg]]</p>
 
<li>[[image:lab2_20.gif]]The Text tool is used to insert new text boxes or to edit existing text boxes.</li>
</ol>


<p>You will also need to become familiar with the Functions
  <li>Place the motor icon on to the "start" square.</li>
palette. Access this palette the same way you accessed the tools palette. From
the Window menu, select Functions palette. There are several icons that you
will use to write the programs for this lab. Each of the icons has several
connections where wires can be attached (not all connections must be filled, as
some have default settings). To find out what each of these connections does,
hover the cursor over the icon and the software will describe the connection.
To get a general description of the icon, pull down the Help menu and select
Show Help. Click on the icon you would like explained and RoboLab will describe
it.</p>


<p>[[image:lab2_21.gif]]</p>
  <p align=center>[[image:Lab_hardsyn_6.jpg]]</p>


<p>Here are descriptions of some of the icons you will find on
  <li>Click the motor icon to see its properties. Here you can define exactly
the Functions palette:</p>
  how you want the motor to spin and when to stop.</li>


<ol>
  <p align=center>[[image:Lab_hardsyn_7.jpg]]</p>
<li>[[image:lab2_22.gif]]Every program must begin with a Green Light. The green
light has only one connection.</li>


<li>[[image:lab2_23.gif]]Every program must end with a Red Light. Your program may
  <li>Continue writing your program by placing icons after each other. The
contain more than one red light (e.g. program forks).</li>
  execution of your program will run from left to right.<br>
  In the sample program below, motor A will spin forward for 5 seconds,
  Stop, Wait 5 seconds, and then spin backwards for another 5 seconds.</li>


<li>[[image:lab2_24.gif]]This is a Motor Forward icon. It has three connections:
  <p align=center>[[image:Lab_hardsyn_8.jpg]]</p>
Begin, End, and Power Level.</li>


<li>[[image:lab2_25.gif]]This is a Motor Reverse icon. It has three connections:
  <li>For this lab you can use the Move icon to easily instruct your robot to
Begin, End, and Power Level.</li>
  move.</li>


<li>[[image:lab2_26.gif]]The Port icon is found in the Modifier menu on the
  <p align=center>[[image:Lab_hardsyn_9.jpg]]</p>
Functions palette. It indicates which output ports will be affected by the
parent icon. The ports correspond with the letters and numbers on the RCX. The
port icon has two connections, one to the parent icon, and the other to a second
port modifier. Note that a port icon with a letter is for output and a port
icon with a number is for input.</li>  


<li>[[image:lab2_27.gif]]The Timer icon is found in the Wait For menu on the
  <li>Whenever you need to, you can use Robot Educator to quickly learn how
Functions palette. This icon delays the program for a set amount of time. The
  to program in Lego Mindstorms.</li>
icon has three connections. Two of them indicate the program flow. The third connection
is made to a numeric constant to set the number of seconds of the delay.</li>


<li>[[image:lab2_28.gif]]The Numeric Constant icon is found in the Modifier menu
  <p align=center>[[image:Lab_hardsyn_10.jpg]]</p>
on the Functions palette. This icon is used as a modifier to other icons. In the
case of motor control, this icon is attached to the power level connection and
can be set to any integer between 0 and 7. In the case of a timer, this icon
can be set to any value (including decimals).</li>


<li>[[image:lab2_29.gif]]The Stop icon has three connections. These connections
</ol>
indicate the program flow. Note that there is more than one Stop icon. Stop
icons A, B, and C stop motors A, B, and C, respectively. Stop icon ABC stops all
the motors, and the generic Stop icon pictured here can be customized with port
modifiers.</li>
</ol>
</ol>


<h3>Uploading the program to the RCX</h3>
<p><b>Note:</b> Program and test your robot for each test specified. To do this,
 
make a list of the tests in your lab notebook. Brainstorm what you want the
<p>Make sure the RCX is turned on, the USB Tower is plugged in, and the RCX is
robot to do in each test. Then, use your notes to write your program. Record the
within range of the USB Tower. </p>
standard, average, accuracy, and precision. If your robot does not operate
 
correctly, troubleshoot the problem. Your TA must initial your original  
<p>When you have done this, pull down the Project menu, select COM Port,
and choose USB1. Then click the checkmark button.</p>
 
<p><b>Note:</b> Program and test your robot for each test specified.
To do this, make a list of the tests in your lab notebook. Brainstorm what you
want the robot to do in each test. Then, use your notes to write your program.
Record the standard, average, accuracy, and precision. If your robot does not
operate correctly, troubleshoot the problem. Your TA must initial your original
data.</p>
data.</p>


Line 251: Line 228:
<p><i><b>Note:</b> Use the Metric system for this test</i></p>
<p><i><b>Note:</b> Use the Metric system for this test</i></p>


<p>In this test, the robot will go forward a set distance in a
<p>In this test, the robot will go forward a set distance in a specified time.  
specified time. You are to test the robot's accuracy and precision for this
You are to test the robot's accuracy and precision for this distance. Before  
distance. Before testing begins the standard must be found. To find the
testing begins the standard must be found. To find the standard, program the  
standard, program the robot to go forward for 5 seconds and measure the
robot to go forward for 5 seconds and measure the distance it travels. Divide  
distance it travels. Divide your result by 5, and then multiply by 4. This
your result by 5, and then multiply by 4. This number is your standard. Once the
number is your standard. Once the standard has been obtained, the testing can
standard has been obtained, the testing can begin.</p>
begin.</p>


<p><b><font color=#ff0000>Warning:</font> Read the
<p><b>Warning: Read the section on the Angle of Deviation Test before performing
section on the Angle of Deviation Test before performing this test.</b></p>
this test.</b></p>


<ol>
<ol>
<li>Upload a program that will set the robot to travel for 4 seconds</li>
<li>Upload a program that will set the robot to travel for 4 seconds</li>


<li>Measure the distance traveled. </li>
<li>Measure the distance traveled.</li>
 
<li>Repeat this test 10 times.</li>


<li>Repeat this test 10 times.</li>
</ol>
</ol>


<h3>Angle of Deviation Test</h3>
<h3>Angle of Deviation Test</h3>  


<p><i><b>Note:</b> This test can be performed at the same time as the Distance Test.
<p><i><b>Note:</b> This test can be performed at the same time as the Distance
Since the robot is expected totravel in a straight line, the standard is 360°.</i></p>
Test. Since the robot is expected to travel in a straight line, the standard is
360°.</i></p>


<p><i>In this test, the
<p><i>In this test, the robot will move forward for 4 seconds and the angle of  
robot will move forward for four seconds and the angle of deviation will be
deviation will be recorded. The angle of deviation is the angle between a  
recorded. The angle of deviation is the angle between a straight line and a
straight line and a line drawn from the starting point to where the robot  
line drawn from the starting point to where the robot finishes.</i></p>
finishes.</i></p>


<ol>
<ol>
<li>Use a protractor to draw a 0° line from the start point.</li>
<li>Use a protractor to draw a 0° line from the start point.</li>


<li>Mark the start point and place your robot there. Identify a reference point on the robot.</li>
<li>Mark the start point and place your robot there. Identify a reference point
on the robot.</li>


<li>Run the Distance Test.</li>
<li>Run the Distance Test.</li>


<li>Make a mark at the point where the robot finished, and
<li>Make a mark at the point where the robot finished, and draw a line from the
draw a line from the start point to this mark.</li>
start point to this mark.</li>


<li>Measure the positive angle of deviation.</li>
<li>Measure the positive angle of deviation.</li>


<li>Repeat this procedure 10 times.</li>
<li>Repeat this procedure 10 times.</li>
</ol>
</ol>


<h3>Rotation Test</h3>
<h3>Rotation Test</h3>


<p>In this test, the robot will rotate around an axis. Again,
<p>In this test, the robot will rotate around an axis. Again, the standard
the standard must be obtained. By running the rotation test for 5 seconds and
must be obtained. By running the rotation test for 5 seconds and dividing the
dividing the angle obtained by 5, you will determine how many degrees your
angle obtained by 5, you will determine how many degrees your robot rotates
robot rotates per second. This is the standard. With the standard in mind,
per second. Finally, you will need to project how many degrees your robot will
project how many degrees your robot will rotate in 4 seconds.</p>
rotate in 4 seconds.  This is the standard.</p>


<ol>
<ol>
<li>Write the program in RoboLab to perform this test. Your TA will explain this process.</li>
<li>Write the program in Mindstorms to perform this test. Your TA will explain
 
this process.</li>
<li>Upload your rotation program from the computer to the RCX.</li>


<li>Make a center point on a sheet of paper.</li>
<li>Upload your rotation program from the computer to the NXT.</li>


<li>Run the program for 5 seconds.</li>
<li>Make a center point on a sheet of paper.</li>


<li>Mark the reference point after rotation and measure the rotation angle.</li>
<li>Run the program for 5 seconds.</li>


<li>Divide this value by 5 to determine the angle of rotation for 1 second.</li>
<li>Mark the reference point after rotation and measure the rotation angle.</li>


<li>Multiply the angle of rotation per second by 4 to obtain the standard.</li>
<li>Divide this value by 5 to determine the angle of rotation for 1 second.</li>


<li>Go back to the RoboLab program and change the time from 5 seconds to 4 seconds.</li>
<li>Multiply the angle of rotation per second by 4 to obtain the standard.</li>


<li>Upload the new program to the RCX.</li>
<li>Go back to the Mindstorms program and change the time from 5 seconds to 4
seconds.</li>


<li>Run the program 10 times. Make sure to measure the angle the robot rotated by each time.</li>
<li>Upload the new program to the NXT.</li>


<li>Run the program 10 times. Make sure to measure the angle the robot rotated
by each time.</li>
</ol>
</ol>


<p>You now have measurements for each test you have performed.
<p>You now have measurements for each test you have performed. You must
You must analyze this data. Calculate the average, accuracy, and precision for
analyze this data. Calculate the average, accuracy, and precision for each
each test. Compare your results to the standard in order to determine if your
test. Compare your results to the standard in order to determine if your robot
robot is accurate and precise. You must also calculate percent accuracy and
is accurate and precise. You must also calculate percent accuracy and percent
percent precision. Use this formula to calculate percent accuracy:</p>
precision. Use this formula to calculate percent accuracy:</p>


<p align=center>[[image:lab2_13.gif]]</p>
<p align=center>[[image:Lab_hardsyn_13.gif]]</p>


<p>In this equation, <i>%Acc</i> is the percent accuracy, <i>P<sub>S</sub></i> is the standard
<p>In this equation, <i>%Acc</i> is the percent accuracy, <i>P<sub>S</sub></i>  
value, and <i>A<sub>P</sub></i> is the value you measured.</p>
is the standard value, and <i>A<sub>P</sub></i> is the value you measured.</p>


<h3>Examples:</h3>
<h3>Examples:</h3>


<ol>
<ol>
<li>If <i>P<sub>S</sub></i> was determined to be 5cm and <i>A<sub>P</sub></i> was found to be 7cm,
<li>If <i>P<sub>S</sub></i> was determined to be 5cm and <i>A<sub>P</sub></i>
then the percent accuracy (<i>%Acc</i>) is 60%. This test does not pass the 80% criterion.</li>
was found to be 7cm, then the percent accuracy (<i>%Acc</i>) is 60%. This test
 
does not pass the 80% criterion.</li>
<li>If <i>P<sub>S</sub></i> was determined to be 5 feet and <i>A<sub>P</sub></i> was found to be 25
feet, then the result of the equation is -300%. Since a negative percentage has
no meaning in engineering, it can be said that the product has a percent accuracy
of zero. Any percent accuracy less than zero is considered to be equal to zero.</li>


<li>If <i>P<sub>S</sub></i> was determined to be 10 ft, and <i>A<sub>P</sub></i> was found to be
<li>If <i>P<sub>S</sub></i> was determined to be 5 feet and <i>A<sub>P</sub></i>
8 ft, then the result of the equation is exactly 80%, which is a passing result.</li>
was found to be 25 feet, then the result of the equation is -300%. Since a
negative percentage has no meaning in engineering, it can be said that the
product has a percent accuracy of zero. Any percent accuracy less than zero
is considered to be equal to zero.</li>


<li>If <i>P<sub>S</sub></i> was determined to be 10 ft, and <i>A<sub>P</sub></i>
was found to be 8 ft, then the result of the equation is exactly 80%, which is
a passing result.</li>
</ol>
</ol>


<p>Use this formula to calculate % precision: </p>
<p>Use this formula to calculate % precision:</p>


<p align=center><i>%Prec = 100e<sup>-BP</sup></i></p>
<p align=center><i>%Prec = 100e<sup>-BP</sup></i></p>


<p>In this equation, <i>%Prec</i> is the percent precision, <i>B</i> is the exponential
<p>In this equation, <i>%Prec</i> is the percent precision, <i>B</i> is the
decay factor, and <i>P</i> is the actual precision you measured. Each individual test
exponential decay factor, and <i>P</i> precision you measured. Each individual
requires the use of a different exponential decay factor (<i>B</i>):</p>
test requires the use of a different exponential decay factor (<i>B</i>):</p>


<p align=center><i>Distance Test: B = 0.0972</i></p>
<p align=center><i>Distance Test: B = 0.0972</i></p>
Line 371: Line 352:


<ol>
<ol>
<li>For the Distance Test, if the precision (P) was measured
<li>For the Distance Test, if the precision <i>(P)</i> was measured to be
to be 0.5 cm, the percent precision (%Prec) is 95.3%. This robot passes the 80%
0.5 cm, the percent precision <i>(%Prec)</i> is 95.3%. This robot passes
criterion for this test.</li>
the 80% criterion for this test.</li>


<li>For the Angle of Deviation Test, if the precision (P) was
<li>For the Angle of Deviation Test, if the precision <i>(P)</i> was
measured to be 10.25°, the percent precision (%Prec) is 71.8%. This robot does not pass the
measured to be 10.25°, the percent precision <i>(%Prec)</i> is 71.8%. This
80% criterion.</li>
robot does not pass the 80% criterion.</li>
</ol>
</ol>


<h3>Tabulation of Results</h3>
<h3>Tabulation of Results</h3>


<p>To decide if the product is ready to manufacture, arrange
<p>To decide if the product is ready to manufacture, arrange your data in a  
your data in a table designed to calculate its precision and accuracy. Remember
table designed to calculate its precision and accuracy. Remember it must pass  
it must pass all the tests at a rate of at least 80%.</p>
all the tests at a rate of at least 80%.</p>


<table border=1 cellspacing=0 align=center>
<table border=1 cellspacing=0>
<tr>
<tr>
<td>
<td>&nbsp;</td>
  <p>&nbsp;</p>
<td>Accuracy</td>
  </td>
<td>%Acc</td>
 
<td>Pass/Fail</td>
<td>
<td>Precision</td>
  <p>Accuracy</p>
<td>%Prec</td>
  </td>
<td>Pass/Fail</td>
<td>
</tr>
  <p>%Acc</p>
  </td>
<td>
  <p>Pass/Fail</p>
  </td>
 
<td>
  <p>Precision </p>
  </td>
<td>
  <p>%Prec</p>
  </td>
<td>
  <p>Pass/Fail</p>
  </td>


</tr>
<tr>
<tr>
<td>
<td>Distance Test</td>
  <p>Distance Test</p>
<td>&nbsp;</td>
  </td>
<td>&nbsp;</td>
<td>
<td>&nbsp;</td>
  <p>&nbsp;</p>
<td>&nbsp;</td>
  </td>
<td>&nbsp;</td>
<td>
<td>&nbsp;</td>
  <p>&nbsp;</p>
</tr>
 
  </td>
<td>
  <p>&nbsp;</p>
  </td>
<td>
  <p>&nbsp;</p>
  </td>
<td>
  <p>&nbsp;</p>
  </td>


<td>
  <p>&nbsp;</p>
  </td>
</tr>
<tr>
<tr>
<td>
<td>Angle of Deviation Test</td>
  <p>Angle of Deviation Test</p>
<td>&nbsp;</td>
  </td>
<td>&nbsp;</td>
<td>
<td>&nbsp;</td>
  <p>&nbsp;</p>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>


  </td>
<td>
  <p>&nbsp;</p>
  </td>
<td>
  <p>&nbsp;</p>
  </td>
<td>
  <p>&nbsp;</p>
  </td>
<td>
  <p>&nbsp;</p>
  </td>
<td>
  <p>&nbsp;</p>
  </td>
</tr>
<tr>
<tr>
<td>
<td>Rotational Test</td>
  <p>Rotational Test</p>
<td>&nbsp;</td>
 
<td>&nbsp;</td>
  </td>
<td>&nbsp;</td>
<td>
<td>&nbsp;</td>
  <p>&nbsp;</p>
<td>&nbsp;</td>
  </td>
<td>&nbsp;</td>
<td>
</tr>
  <p>&nbsp;</p>
</table>
  </td>
<td>
  <p>&nbsp;</p>
  </td>


<td>
<p>Your lab work is now complete. Please clean up your workstation. Return all
  <p>&nbsp;</p>
unused materials to your TA. Refer to section <b><i>3 Your Assignment</i></b>  
  </td>
for the instructions you need to prepare your lab report.</p>
<td>
  <p>&nbsp;</p>
  </td>
<td>
  <p>&nbsp;</p>
  </td>
</tr>
 
</table>


<p>Your lab work is now complete. Please clean up your
<h2>Footnotes</h2>
workstation. Return all unused materials to your TA. Refer to section <b><i>2.3
Your Assignment</i></b> for the instructions you need to prepare your lab
report.</p>


<p><sup>1</sup> Oakes, W.C., L.L. Leone, and C.G. Gunn, <i>Engineering Your
Future</i> w:st="on">MI: Great Lakes Press, 2002</p>


[[Main_Page | Return to Index]]
{{Outdated||date=July 2009}}

Latest revision as of 03:35, 18 August 2022

1 OBJECTIVES

The experimental goal of this lab is for your team to determine if a robot design meets minimum standards for accuracy and precision. To do this your team will build and program a robot, and test it against the provided EG1004 standard. All your results must be tabulated accurately.

Together, we will define the concept of product evaluation, demonstrate the importance of accurate measurements, and show how they relate to both precision and accuracy. Once you have completed your lab work, you will be able to describe the method of troubleshooting you developed.

2 OVERVIEW

Your team has been hired by an engineering firm to evaluate a robotics design. The Robotics kit provided has a manufacturer's suggested retail price of $249.99. The firm has specified the robot design they would like you to build and test. Your assignment is to use the kit to test the specified design, describe what works and list the improvements that should be made to the robot design you built. The price of the kit should be factored into the overall product evaluation. What other factors do engineers consider when they evaluate products?

Product evaluation is a common task for an engineer. Sometimes the product you evaluate will be one your team built, and sometimes you will be analyzing a competitor's design. In either case, you will need to decide on a standard (an accepted value), determine an average, and calculate accuracy and precision.1

Professional engineers must be sure of standards. For the purpose of this lab, the EG1004 Standard that you will be testing to is 80% precision and accuracy. This means that the product you will be testing has to pass 80% of the tests that it undergoes. Some projects may require a degree of accuracy to a tenth of an inch. Attempting to make the project accurate to the hundredth might be unnecessary and difficult to control. It is up to you to verify that your solutions are accurate based on the standard for your design project. 1

When taking measurements, the first step is to determine an average.

Lab hardsyn 1.gif

In this equation, AP is the average, P1, P2, P3, … are the results of the tests and N is the total number of tests to be performed.

The average is then compared to the standard. Accuracy is a variable you must always consider. The degree of accuracy required will allow you to verify your results. Engineers often work on projects that affect people's safety. Therefore, it is critical that the solutions to the problems you will solve as technical professionals are accurate.

The comparison of the average to the standard is called accuracy, defined as Acc in the following equation:

Acc = |PS - AP|

In this equation, PS is the standard value, and AP is the value you measured. Accuracy is always a positive number, so we take the absolute value in case PS is less than AP.

Precision is the repeatability of a result, or how close the results are to each other, defined as Prec in the following equation:

Prec = |Phigh - Plow|

In this equation, Prec is Precision, Phigh is the highest data value and Plow is the lowest data value. Like accuracy, precision is always a positive number, so we use an absolute value here as well.

A product test can be accurate but imprecise, or precise but inaccurate. The goal is always the combination of accuracy and precision. In order for engineers to make a recommendation based on experimental test data, it is important to determine how a device measures against a standard. Engineers need these benchmarks to determine the quality of a product.

Lab hardsyn 12.gif

By determining the percent accuracy of an experiment, and comparing this percentage to a standard, you can determine, based on experimental evidence, whether the prototype has passed or failed. The equation for percent accuracy is:

Lab hardsyn 13.gif

In this equation, %Acc is the percent accuracy, PS is the standard value, and AP is the value you measured.

Percent accuracy allows an engineer to determine how precise a device is compared to the standard. The equation for percent precision is:

%Prec = 100e-BP

In this equation, %Prec is the percent precision, B is the exponential decay factor, and P precision you measured.

Calculating percent accuracy and percent precision and then comparing your results to a standard will allow you to determine the quality of your prototype.

3 YOUR ASSIGNMENT

Individual Lab Report

Follow the lab report guidelines laid out in the page called Specifications for Writing Your Lab Reports in the Technical Communication section of this manual. As you write, the following discussion points should be addressed in the appropriate section of your lab report:

  • Discuss product evaluation and the need for it.
  • Explain the importance of testing.
  • Discuss standard, average, accuracy, and precision.
  • Explain the importance of designing to a standard.
  • Discuss the RoboLab kit and software used.
  • Assess the techniques used in the testing process.
  • Discuss better testing methods for the robot design.
  • Make a final evaluation of the product: should it go into production? Describe its accuracy and precision.
  • Discuss the importance of % precision and % accuracy in determining product quality.
  • State your recommendations.

Team PowerPoint Presentation

Follow the presentation guidelines laid out in the page called EG1004 Lab Presentation Format in the Introduction to Technical Presentations section of this manual. When you are preparing your presentation, consider the following points:

  • Based on the test results, what is your determination for the product's marketability?
  • If determinations were negative, what improvements could be made?
  • Why is product evaluation important to you?

4 MATERIALS AND EQUIPMENT

  • Mindstorms Kit
  • Computer with Mindstorms Software
  • Protractor and Ruler

Remember: You are required to take notes. Experimental details are easily forgotten unless written down. EG Standard Note Paper can be downloaded and printed from the EG website the EG Website. Use your lab notes to write the Procedure section of your lab report. At the end of each lab your TA will scan your lab notes and upload them to the Lab Documents section of the EG Website. You must attach your lab notes at the end of your lab report (use the "Insert Object" command in MS Word after your Conclusion). Keeping careful notes is an essential component of all scientific practice.

5 PROCEDURE

Problem Statement

You have been hired by an engineering firm to build and evaluate a robotics design by building a specified robot design. You have been asked to test the robot design and to make suggestions for design improvements.

  1. Build a robot according to the lab handout provided by your TA.
  2. Warning: Do not disassemble the robot when you finish. You will use it again in the next lab.

  3. Create a program in Mindstorms:
    1. Start the Mindstorms Program. On the welcome screen type in a name for your program and press Go.
    2. Lab hardsyn 2.jpg

    3. Click on Complete Pallete to see all the programming icons.
      Turn off Robot Educator by clicking the small X.
    4. Lab hardsyn 3.jpg

    5. Your screen should look like this. You are now ready to write a program.
    6. Lab hardsyn 4.jpg

    7. Click on Actions, then on the Motor icon to select it.
    8. Lab hardsyn 5.jpg

    9. Place the motor icon on to the "start" square.
    10. Lab hardsyn 6.jpg

    11. Click the motor icon to see its properties. Here you can define exactly how you want the motor to spin and when to stop.
    12. Lab hardsyn 7.jpg

    13. Continue writing your program by placing icons after each other. The execution of your program will run from left to right.
      In the sample program below, motor A will spin forward for 5 seconds, Stop, Wait 5 seconds, and then spin backwards for another 5 seconds.
    14. Lab hardsyn 8.jpg

    15. For this lab you can use the Move icon to easily instruct your robot to move.
    16. Lab hardsyn 9.jpg

    17. Whenever you need to, you can use Robot Educator to quickly learn how to program in Lego Mindstorms.
    18. Lab hardsyn 10.jpg

Note: Program and test your robot for each test specified. To do this, make a list of the tests in your lab notebook. Brainstorm what you want the robot to do in each test. Then, use your notes to write your program. Record the standard, average, accuracy, and precision. If your robot does not operate correctly, troubleshoot the problem. Your TA must initial your original data.

Distance Test

Note: Use the Metric system for this test

In this test, the robot will go forward a set distance in a specified time. You are to test the robot's accuracy and precision for this distance. Before testing begins the standard must be found. To find the standard, program the robot to go forward for 5 seconds and measure the distance it travels. Divide your result by 5, and then multiply by 4. This number is your standard. Once the standard has been obtained, the testing can begin.

Warning: Read the section on the Angle of Deviation Test before performing this test.

  1. Upload a program that will set the robot to travel for 4 seconds
  2. Measure the distance traveled.
  3. Repeat this test 10 times.

Angle of Deviation Test

Note: This test can be performed at the same time as the Distance Test. Since the robot is expected to travel in a straight line, the standard is 360°.

In this test, the robot will move forward for 4 seconds and the angle of deviation will be recorded. The angle of deviation is the angle between a straight line and a line drawn from the starting point to where the robot finishes.

  1. Use a protractor to draw a 0° line from the start point.
  2. Mark the start point and place your robot there. Identify a reference point on the robot.
  3. Run the Distance Test.
  4. Make a mark at the point where the robot finished, and draw a line from the start point to this mark.
  5. Measure the positive angle of deviation.
  6. Repeat this procedure 10 times.

Rotation Test

In this test, the robot will rotate around an axis. Again, the standard must be obtained. By running the rotation test for 5 seconds and dividing the angle obtained by 5, you will determine how many degrees your robot rotates per second. Finally, you will need to project how many degrees your robot will rotate in 4 seconds. This is the standard.

  1. Write the program in Mindstorms to perform this test. Your TA will explain this process.
  2. Upload your rotation program from the computer to the NXT.
  3. Make a center point on a sheet of paper.
  4. Run the program for 5 seconds.
  5. Mark the reference point after rotation and measure the rotation angle.
  6. Divide this value by 5 to determine the angle of rotation for 1 second.
  7. Multiply the angle of rotation per second by 4 to obtain the standard.
  8. Go back to the Mindstorms program and change the time from 5 seconds to 4 seconds.
  9. Upload the new program to the NXT.
  10. Run the program 10 times. Make sure to measure the angle the robot rotated by each time.

You now have measurements for each test you have performed. You must analyze this data. Calculate the average, accuracy, and precision for each test. Compare your results to the standard in order to determine if your robot is accurate and precise. You must also calculate percent accuracy and percent precision. Use this formula to calculate percent accuracy:

Lab hardsyn 13.gif

In this equation, %Acc is the percent accuracy, PS is the standard value, and AP is the value you measured.

Examples:

  1. If PS was determined to be 5cm and AP was found to be 7cm, then the percent accuracy (%Acc) is 60%. This test does not pass the 80% criterion.
  2. If PS was determined to be 5 feet and AP was found to be 25 feet, then the result of the equation is -300%. Since a negative percentage has no meaning in engineering, it can be said that the product has a percent accuracy of zero. Any percent accuracy less than zero is considered to be equal to zero.
  3. If PS was determined to be 10 ft, and AP was found to be 8 ft, then the result of the equation is exactly 80%, which is a passing result.

Use this formula to calculate % precision:

%Prec = 100e-BP

In this equation, %Prec is the percent precision, B is the exponential decay factor, and P precision you measured. Each individual test requires the use of a different exponential decay factor (B):

Distance Test: B = 0.0972

Angle of Deviation Test: B = 0.0323

Rotation Test: B = 0.0093

Examples:

  1. For the Distance Test, if the precision (P) was measured to be 0.5 cm, the percent precision (%Prec) is 95.3%. This robot passes the 80% criterion for this test.
  2. For the Angle of Deviation Test, if the precision (P) was measured to be 10.25°, the percent precision (%Prec) is 71.8%. This robot does not pass the 80% criterion.

Tabulation of Results

To decide if the product is ready to manufacture, arrange your data in a table designed to calculate its precision and accuracy. Remember it must pass all the tests at a rate of at least 80%.

  Accuracy %Acc Pass/Fail Precision %Prec Pass/Fail
Distance Test            
Angle of Deviation Test            
Rotational Test            

Your lab work is now complete. Please clean up your workstation. Return all unused materials to your TA. Refer to section 3 Your Assignment for the instructions you need to prepare your lab report.

Footnotes

1 Oakes, W.C., L.L. Leone, and C.G. Gunn, Engineering Your Future w:st="on">MI: Great Lakes Press, 2002