{"id":203,"date":"2020-02-19T02:16:43","date_gmt":"2020-02-19T02:16:43","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/?page_id=203"},"modified":"2020-10-08T23:40:58","modified_gmt":"2020-10-08T23:40:58","slug":"test-plan","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/test-plan\/","title":{"rendered":"Test Plan (Updated Fall Test Plan)"},"content":{"rendered":"<h1>Fall Test Plan<\/h1>\n<p><a href=\"https:\/\/docs.google.com\/document\/d\/1h810nJxAbPw3o_fd2mRPECbH93wedmYltjrt3XFn86o\/edit?usp=sharing\">Fall Test Plan<\/a><\/p>\n<h1>Spring Validation Demonstrations<\/h1>\n<h3>Spring Validation Demonstration 1<\/h3>\n\n<table id=\"tablepress-8\" class=\"tablepress tablepress-id-8\">\n<tbody class=\"row-hover\">\n<tr class=\"row-1\">\n\t<td class=\"column-1\">Description<\/td><td class=\"column-2\">UAV Apriltag following and obstacle avoidance in Gazebo Simulation<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Location<\/td><td class=\"column-2\">Virtual<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Equipment<\/td><td class=\"column-2\">Master Computer<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Setup<\/td><td class=\"column-2\">Place Apriltag about 10m away from the UAV; Place box obstacles between UAV and Apriltag<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Procedure<\/td><td class=\"column-2\">1. UAV was given the GPS coordinates of the Apriltag<br \/>\n2. UAV takes off and approach the Apriltag while avoiding obstacles<br \/>\n3. When the UAV is within 1m radius of the Apriltag, switch to Apriltag tracking<br \/>\n4. UAV land on the Apriltag<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Criteria<\/td><td class=\"column-2\">1. UAV avoids all obstacles (M.P. 2)<br \/>\n2. UAV lands on Apriltags with error &lt; 0.15m <br \/>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-8 from cache -->\n<h3>Spring Validation Demonstration 2<\/h3>\n\n<table id=\"tablepress-9\" class=\"tablepress tablepress-id-9\">\n<tbody class=\"row-hover\">\n<tr class=\"row-1\">\n\t<td class=\"column-1\">Description<\/td><td class=\"column-2\"> UGV Decision Making and Automatic Navigation in Gazebo Simulation<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Location<\/td><td class=\"column-2\">Virtual<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Equipment<\/td><td class=\"column-2\">Master Computer<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Setup<\/td><td class=\"column-2\">A map built by static obstacles, which is known to the robot; a map with added dynamic obstacles;<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Procedure<\/td><td class=\"column-2\">1. Initialize UGV within a map of static + dynamic obstacles<br \/>\n2. UGV receives a landing command and automatically navigates towards the computed optimal landing point<br \/>\n3. Near the landing point, UGV automatically explores updated dynamic obstacles, and decide whether it is feasible for landing<br \/>\n4. If not feasible, the resume step 2 as UGV navigates towards another landing point candidate<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Criteria<\/td><td class=\"column-2\">1. No collision while UGV is travelling (M.P.2)<br \/>\n2. Reach the target state within 60s (M.P.1)<br \/>\n3. Reach the target state with (x, y) error less than (0.3m, 0.3m) (M.P.3 &amp; M.P.4)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-9 from cache -->\n<h3>Spring Validation Demonstration 3<\/h3>\n\n<table id=\"tablepress-10\" class=\"tablepress tablepress-id-10\">\n<tbody class=\"row-hover\">\n<tr class=\"row-1\">\n\t<td class=\"column-1\">Description<\/td><td class=\"column-2\">UAV field test on GPS waypoints following (Depend on COVID 19 Situation)<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Location<\/td><td class=\"column-2\">Boyce Park<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Equipment<\/td><td class=\"column-2\">UAV, tape, measuring tools<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Setup<\/td><td class=\"column-2\">Mark the initial position of the UAV<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Procedure<\/td><td class=\"column-2\">1. UAV takes off<br \/>\n2. UAV follows waypoints that forms a regular hexagon with side length 20m<br \/>\n3. UAV finishes loop and lands<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Criteria<\/td><td class=\"column-2\">1. UAV finished the hexagon loop and lands within 1m of the starting point (M.P. 9)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-10 from cache -->\n<h3>Spring Validation Demonstration 4<\/h3>\n\n<table id=\"tablepress-12\" class=\"tablepress tablepress-id-12\">\n<tbody class=\"row-hover\">\n<tr class=\"row-1\">\n\t<td class=\"column-1\">Description<\/td><td class=\"column-2\">Manual Landing onto Apriltag Platform (Depend on COVID 19 Situation)<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Location<\/td><td class=\"column-2\">Boyce Park<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Equipment<\/td><td class=\"column-2\">DJI M100 UAV, Landing Module<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Setup<\/td><td class=\"column-2\">Fix the landing module onto the ground; place the UAV onto the landing module<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Procedure<\/td><td class=\"column-2\">1. Power on the UAV and establish remote connection<br \/>\n2. Switch off electromagnets, maneuver the UAV to takeoff<br \/>\n3. Fly out the UAV for 100m, and use GPS to return to home<br \/>\n4. Maneuver the UAV to approach to the landing platform, and adjust its pose to align with receptors<br \/>\n5. Switch on electromagnets, and UAV lands into receptors<br \/>\n<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Criteria<\/td><td class=\"column-2\">1. The landing process success rate is over 60% (M.P.1)<br \/>\n2. The GPS return-to-home will generate an error of less than 1m (M.P.9)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-12 from cache -->\n<h1>Fall Validation Demonstration<\/h1>\n<h3>Fall Validation Demonstration<\/h3>\n\n<table id=\"tablepress-11\" class=\"tablepress tablepress-id-11\">\n<tbody class=\"row-hover\">\n<tr class=\"row-1\">\n\t<td class=\"column-1\">Description<\/td><td class=\"column-2\">Collaboration path planning and landing between the UAV and the UGV<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Location<\/td><td class=\"column-2\">CMU The Mall<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Equipment<\/td><td class=\"column-2\">DJI M100 UAV, Jackal UGV, cardboard boxes<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Setup<\/td><td class=\"column-2\">1. Place the UAV and the UGV 100m aprt in an open area<br \/>\n2. Place piled boxes between the UGV and the UAV<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Procedure<\/td><td class=\"column-2\">1. Initialize UAV and UGV in a mapped area with the knowledge of static obstacles<br \/>\n2. With proper control input into the electromagnets, the UAV takeoff from UGV landing platform<br \/>\n3. The UAV flies off to reach certain predefined waypoints, with battery status (could be simulated) taken into account<br \/>\n4. As the UAV completes its goal and battery is low, the UAV sends a signal to ROS master, and the master will dispatch a UGV for landing mission<br \/>\n5. The UGV computes optimal landing point candidates, sends a message to the UAV, and automatically navigate towards one of the candidates<br \/>\n6. The UAV will fly towards the chosen landing area, using its sensing mechanism, to evaluate initial landing feasibility<br \/>\n7. If 6 is feasible, the UGV will continue navigating to the targeted landing area; it will use the perception module to validate landing feasibility<br \/>\n8. If 7 is feasible, the UAV will start tracking Apriltag to compute transformation and plan optimal landing path<br \/>\n9. The UAV will execute an optimal landing path with the computed frame transformation; it will approach the landing platform in a vertically descending manner, and adjust its position\/orientation to fit its feet into the cone-shape receptors<br \/>\n10. As the distance to landing platform is close enough, apply proper control input to the electromagnet, the UAV will be absorbed into the landing receptor, and the landing process completes<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Criteria<\/td><td class=\"column-2\">1. UAV have a safe and steady land on UGV without tipping over (M.P. 3)<br \/>\n2. UAV land on UGV within 60 seconds (M.P. 1) <br \/>\n3. UAV and UGV avoid all obstacles (M.P. 2)<br \/>\n4. Neither UAV or UGV ran out of battery (M.P.7)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-11 from cache -->\n","protected":false},"excerpt":{"rendered":"<p>Fall Test Plan Fall Test Plan Spring Validation Demonstrations Spring Validation Demonstration 1 Spring Validation Demonstration 2 Spring Validation Demonstration 3 Spring Validation Demonstration 4 Fall Validation Demonstration Fall Validation Demonstration<\/p>\n","protected":false},"author":194,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-203","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/pages\/203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/users\/194"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/comments?post=203"}],"version-history":[{"count":8,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/pages\/203\/revisions"}],"predecessor-version":[{"id":469,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/pages\/203\/revisions\/469"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/media?parent=203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}