From 554a7073901f5a3fd4c37c2732fb7f2432b448c8 Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Tue, 30 Jun 2020 18:32:48 +0200 Subject: [PATCH] Add system test specification document. Refs #12 --- system_test_specification/charactersize.odg | Bin 0 -> 14439 bytes system_test_specification/charactersize.pdf | Bin 0 -> 8137 bytes system_test_specification/general_design.odg | Bin 0 -> 17540 bytes system_test_specification/general_design.pdf | Bin 0 -> 9260 bytes .../system_test_specification.md | 172 ++++++++++++++++++ 5 files changed, 172 insertions(+) create mode 100644 system_test_specification/charactersize.odg create mode 100644 system_test_specification/charactersize.pdf create mode 100644 system_test_specification/general_design.odg create mode 100644 system_test_specification/general_design.pdf create mode 100644 system_test_specification/system_test_specification.md diff --git a/system_test_specification/charactersize.odg b/system_test_specification/charactersize.odg new file mode 100644 index 0000000000000000000000000000000000000000..d22f2310589207d115e309f451a3bd3e7cc3a233 GIT binary patch literal 14439 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 E2LSkK>Hq)$ literal 0 HcmV?d00001 diff --git a/system_test_specification/charactersize.pdf b/system_test_specification/charactersize.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4b5b480b1963ceecbd166abf1021d787aa55fa83 GIT binary patch literal 8137 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%0DiZFQnN=P87}LnrQ)9U^_3#e6nq+ z!_sFz&gy?ZU72VLu&S+DtrvUj2a)VC=q*<=hwVREaTD165OMic4?H^TI7ZCa=7>Vv zebT~9p@#fK^TiYPjyDF;josgpu9?VOFVk~aY|5N5SVqLk5{B(DkqhfGSsYxvK`Lwq z7;3ZJm0c`KcOzYEIh^nqHf3K{IhaIgjKSfVZ@;w^H2V>kuh*Hc&WyTairY)n!f1u} ztJjlj9=ti^5*7pqxQ#dI6r>)#{T%r`N5@!+OZono@MN{{{TPe4q)E}blou`>e7?@+4$Y+mh?7f31u9%u9<(>Fb*1zclz zMs~E}@KTN0l2$k$eCNC5SJvcfGa?l($8>8lS!XrF0>W)%3ZQ|Jyjp5?_RI(TUz@mv zJN^2vN5|d~G(OPGN{)vJ&?^ropWDeW86~1T7xW8z?bf<3XU3$*#l49aeQsB)g!f^5E8gRNl63p|rl%1zRJ2J!Sy?UD zwaj@ulNW2vIXdZgZn&1N5Zou0{l%TluoDl+>B8MOC0?|IG8#?^Dpot=rE9CU4pf9w99 z?(5Ynqmo%Ho9xSL4V`c2Lj~JbFt659#-hfgwAf{DFJMx>DkVw>EEe8OY@UwJ*oXZiwW6t;Ccep8XIw8gtqP|z9QS~ubHfwo^S+74;jen?Naz1I(zRQ-v4Yq zRNd0|V$d$i?imZSjKgs`A9}Y|R*fd2UnruV;~e_BgFsJupCE@oigH~Be5-wZ3beIy ze2}y_d)6}D+OoJlOCI<#Wro?0@8)jYk%~+NJ5QXnbYGI8tF)j8H?`Gz)X7Rf5sgt_ zahV0H$@`!PqK4V1<{1CV-PhkLEXGz%?!8tsAYygUh%0@twYsDx+Lnf14m=|9-&LI| zVe$C9SRX)s>OD2Adwyj2d>Z7>^ma$AS?h2>={)lB*Mp=110_~1+bvK12`P!tJ(7iQ zA6?g(H>B2in_5O^ZM8ohOoAp=HcViu%+(zC~JjYib@QRfC zRw@(Mrf+-~ZK!-JOu&SxFk!yTxwzY*a8xpL5P0ot7K7VpCuu+3s!BV=-AU{n z@%!40Slm7BFp^GtX)Flhfq=muMy~PKgU)!oD@Fbn{~ zorUX&h(RC#kb;e;D$3c>2|I{D0zi5gl)E8N0=opaJvOg^5(DDmuetziIQ2gPS&6?i z_?3nbgTwxxB!or0rbid>(*1+1P*h`N6)VDndq_9=T_WR;8#63;T_2Uo@NJs6H^>zx zuUiDSzHKJi4bN^;FHUwuk3_ObvnHodGSo=oV}jM36B+dd=h5`Dw#zA1a~lmkUDIoC z-@$CQ@*4ab-p&+238ty{zi>-D;cINlIng;Nud@Q*+lO*#D)2(x=>tE|-V7C^8Wa{9;`Iy( za^qsBF-lNhRG>bR^cZBp06ziM-F{&U(`>jyp0bEXOjO(3ukX1jDnMm zH_qG|How|fiyArGW1M`<5HK(hA%-<34F0z&hCl!%#KnOy32eoVS^Q!7zX%D$@l_W9 z(nlM3IO9@FK%Dvi#s>)aFBOy_K%7E67^LrvaYIQfD=903!7wlw42NJV0$Z^iF>GHPBKy;YF=l^gY;0nRJ>r*U zK(NJs0Qz~S-!F+n4EGjc&-xQh>~r!@2mya#h+Xg#MBMH;UZ^|U`_~Upv&F;|ka@B(`Gb{G5k{6pDoz z4*ykgW7rq;PpGkSF(oYIQ0!hmkHX$r5u0M=SCkaP83O@^fRPX=3?c*;;{${F1b)N9 z-y7us00SX#0M=-~3J?y1iNk;nz+W;r62}i*0ebvL1_nd0{__tR0)}Q5YXRs!+6_ZKSSO);_5lyLSZ2V>7vnCfBMBIH4g_g5c0=I3Z$k8Gy_VDi76^T z!Af#ah%y)kS5!cV!;xaxpOQQnp&%y?mj(R)Q*ablMB6Diq3m3JeBFT{Bp5D-R7AqX ulpqq~FlCrHQVxQYkW&CdVTxd=5&}n3AB>GR=BMcqa0nE@!=t3F4ER6Z9sCdg literal 0 HcmV?d00001 diff --git a/system_test_specification/general_design.odg b/system_test_specification/general_design.odg new file mode 100644 index 0000000000000000000000000000000000000000..14c86f0030f908744cf88ace9c16fa8ee4b7e8e8 GIT binary patch literal 17540 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%0D= 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≪6$(@+(Y=T&pJ=5vj%t+Wz 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 AVE_OC literal 0 HcmV?d00001 diff --git a/system_test_specification/general_design.pdf b/system_test_specification/general_design.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8f505c2c5db4b709fe95265f19a56c315d11730f GIT binary patch literal 9260 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 V)}Gk2uz`!hVC1~K3R;Tf{|70=+35fP literal 0 HcmV?d00001 diff --git a/system_test_specification/system_test_specification.md b/system_test_specification/system_test_specification.md new file mode 100644 index 0000000..41296f3 --- /dev/null +++ b/system_test_specification/system_test_specification.md @@ -0,0 +1,172 @@ +# System Test Specification + +## Introduction +A new design method is the goal of this Master's Thesis. +Part of the design method is a system test specification. +The system tests are based on the system specifications. +If the tests are designed correctly, passing the test proofs that the system operates within the specifications. + +In the following section we will give a short introduction of the system that we plan to build. +Then we have a section with a collection of smaller and or simpler tests. +These test can be passed before the system is complete. +Followed by a set of test that cover the complete system and thus require all the features to be available in some part. + +## System Description + +### Design +The system that will be designed is a whiteboard writer. +Its goal is to write a tweet on a whiteboard. +To make it dynamically challenging it is a combination of two subsystems. +First we have a SCARA, which is a 2D arm. +This SCARA is relatively small to the complete system. +With the smaller size we can achieve a higher speed and accuracy. +However, the size of the arm limits the range significantly. +A cable bot will be used to move the base of the SCARA arm around on the board. + +Furthermore, the third part is the end-effector of the SCARA arm. +This is how the marker is attached to the arm. +The end-effector could also be replaced with something that can switch between tools. +For example a different color marker and a wiping tool. +Or vice versa. +![Image alt text](./general_design.pdf) + +#### Components + +* _End-effector:_ the end-effector is responsible for the connection of the tool with the SCARA. +* _SCARA:_ Acronym for: 'Selective Compliance Articulated Robot Arm'. It is colored red in the figure above. This arm moves in a 2D space along the whiteboard. Its task is to move the end-effector around. The base of the arm is mounted on the carriage. +* _Carriage:_ This is the base for the SCARA. It is suspended from two wires. By changing the lenght of the wires it can move itself along the board. + +#### Specification +From the previous design steps we got the following list of system specification: + +1. The Writer shall be able to write at least 50 characters per line. +2. The Writer shall be able to write at least 5 lines of text. +3. The Writer shall plot characters with a size that is readable from 4 meters for a person with good eyesight. +4. The Writer shall plot in a regular used font with corresponding character spacing. +5. When a new tweet is send to the Writer, the Writer, shall wipe the existing tweet and write down a new tweet. +6. If the Writer is not wiping or writing then the Writer shall not obstruct the view of the whiteboard. +7. While writing, the Writer shall have a writing speed of at least 1 character per second. +8. If the Writer is tasked to wipe the tweet, the Writer shall wipe the tweet within 60 seconds +9. When a reset-signal is send to the Writer, the Writer shall re-calibrate its position on the board. +10. When a wipe-signal is send to the Writer, the Writer shall wipe the board clean. +11. The Writer shall not damage itself. +12. While writing, the SCARA shall have a writing speed of at least 1.5 characters per second. +13. When the Carriage/base of the SCARA is at a static position, the SCARA shall be able to write at least 3 characters at that position. +14. When the SCARA finished writing at their current position, the Carriage shall move the SCARA to it's next position where it can write the subsequent characters. +15. When the SCARA has to be moved to a new position, the Carriage shall perform this movement within 1 second. + +Although the list of specifications does not cover the size of a character. +For the testing we determined that the body of a character should have a height of 20 mm. +And can extend about 7 mm above and below. Which give a total writable height of about 35 mm +![Image alt text](./charactersize.pdf) + +### Operation +There are two main operations of the system. +The writing behavior and the wiping behavior. +To write, the following steps shall be performed: + +* Move the carriage/base of the SCARA to the first characters that shall be written. +* The SCARA writes at least 3 characters at that position. + +These two steps are repeated until the complete text is on the board. + +The writing operation will behave in a similar way. +Where the SCARA will do the course operation and the carriage the full operation. + + +## Small tests +The following tests do not cover the complete system but only one or two subsystems. + +### Small Square +*Subsystem:* SCARA + +*Specifications:* 3, 7, 11, 13 + +The SCARA must draw a square of at least 50 mm high and 70 mm wide. +This box is large enough to draw at least 3 characters. +This square should be drawn within one second. +If it is slower than that, it is not able to achieve specification 7. + +### Perimeter +*Subsystem:* Carriage + +*Specifications:* 1, 2, 6, 11, + +The carriage must move along the outer edges of the text area. +This means that it must reach 50 characters in width and 5 in height. +Resulting in perimeter of 1000 mm wide and 250 mm high. + +The second part of this test is that the carriage must also move outside of the perimeter. + +### Carriage Speed +*Subsystem:* Carriage + +*Specifications:* 7, 14 + +The carriage must be able to move a distance of 80 mm in horizontal direction to move within a second. +At the start and the end of the movement the speed of the carriage must be zero. + +This is to ensure that the SCARA can then write its characters at the given position. + +### Triple Chars +*Subsystem:* SCARA, End-effector + +*Specifications:* 3, 4, 12, 13 + +The SCARA together with the end-effector must write 3 characters without moving the carriage. +This extends on the small square but the end-effector must now be able to lift the marker of the board. +The three characters should be written on the board within two seconds. + +### Tool change +*Subsystem:* SCARA, End-effector + +*Specifications:* (Not specified, due to errors in earlier design phase) + +Tool changing is not a specific part of the specification. +However, the system has to switch in some way between the marker and a wiper. +Or a different color. +For this test the system must switch a tool within 10 seconds. + +## Overall tests +These are the larger tests where all the subsystems come together. + +### Repeatability +*Specifications:* 3, 4, 9, 11 + +To test the repeatability of the system must do four things: + +* The system will be reset. +* Draw multiple squares (60 mm x 60 mm) at a random position within the drawing range (1000 mm x 300 mm) +* The system will be reset again +* Then in a random order, at least different from the order of squares, a circle of 55m diameter has to be drawn in the squares. + +If this is not the case the test fails. + +### Linearity +*Specifications:* 1, 2, 3, 4 + +The system must draw a grid on the drawing range (1000 mm x 300 mm), with the horizontal and vertical lines spaces 100 mm from each other. +The distance between two horizontal or two vertical lines cannot be smaller than 90 mm. +The lines are not allowed to deviate more than 10 mm in a line section of 300 mm + +### Type setting + +*Specifications:* 1, 2, 3, 4, 6, 7, 11, 12, 13, 14, 15. + +To test the complete writing abilities the following text must be written on the board: +``` +the quick brown fox jumps over the lazy dog!?@,.- +0123456789101112131415161718192021222324252627282 +THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG!?@,.- +0123456789101112131415161718192021222324252627282 +the quick brown fox jumps over the lazy dog!?@,.- +``` +This is a full 250 character area. It must be readable and write all the characters correctly. +It must be completed withing 250 seconds. +Which is 4 minutes and 10 seconds. + +### Wiping +*Specifications:* 8, 10, (5 if type setting test passes) + +The complete board must be cleared of any marking within 60 seconds. +This is without the change of tool.