PRE2017 3 Group 17 Test Cases: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
m (Index now has bullet points)
m (section added)
Line 1: Line 1:
== Layout with nodes ==
== Layout with nodes ==
Below a couple of very basic initial test layouts can be found. These layouts are used to test the parser, the model and the UI.<br><br>
Below are a couple of very basic initial test layouts can be found. These layouts are used to test the parser, the model and the UI.<br><br>
*Circles (or Nodes) represent the junctions in a building.<br>
*Circles (or Nodes) represent the junctions in a building.<br>
*Solid Circles (or solid Nodes) represent the beginning and end junction of the drone path.<br>
*Solid Circles (or solid Nodes) represent the beginning and end junction of the drone path.<br>
*Solid lines between junctions (or Edges) represent the paths between junctions on the same floor.<br>
*Solid lines between junctions (or Edges) represent the paths between junctions on the same floor.<br>
*Dashed lines between junctions (or dashed Edges) represent paths between junctions on a different floor. For instance, an elevator shaft or staircase.<br>
*Dashed lines between junctions (or dashed Edges) represent paths between junctions on a different floor. For instance, an elevator shaft or staircase.<br>
*Other solid lines represent walls. In the case that an edge passes a wall, there is an opening in that wall with sufficient space for a drone to fly through. For instance, a door or large window.<br>
*Other solid lines represent walls. In the case that an edge passes a wall, there is an opening in that wall with sufficient space for a drone to fly through. For instance, a door or large window.
 
<br>


===Test Case 1===
===Test Case 1===
Line 49: Line 51:
*Switch floors, but take a shorter path.
*Switch floors, but take a shorter path.
This test case is made to make us think about how we want to handle different floors. Do we always require the absolute shortest flight path, or do we take battery life into account, since lifting a heavy object requires more force than keeping it on the same floor.
This test case is made to make us think about how we want to handle different floors. Do we always require the absolute shortest flight path, or do we take battery life into account, since lifting a heavy object requires more force than keeping it on the same floor.
== Avoiding Obstacles and Actors ==
The drones should avoid actors and other obstacles. In case they detect one, they will pass that information to the model and ask it an alternative path to fly.
<br>
Tests are a WIP

Revision as of 12:07, 19 March 2018

Layout with nodes

Below are a couple of very basic initial test layouts can be found. These layouts are used to test the parser, the model and the UI.

  • Circles (or Nodes) represent the junctions in a building.
  • Solid Circles (or solid Nodes) represent the beginning and end junction of the drone path.
  • Solid lines between junctions (or Edges) represent the paths between junctions on the same floor.
  • Dashed lines between junctions (or dashed Edges) represent paths between junctions on a different floor. For instance, an elevator shaft or staircase.
  • Other solid lines represent walls. In the case that an edge passes a wall, there is an opening in that wall with sufficient space for a drone to fly through. For instance, a door or large window.


Test Case 1

Test1.
Test 1: Any Path

Test 1 is simple test to check the basics of loading in an environment and nodes. Any path without self-loops from the start to the goal will be the shortest path.






Test Case 2

Test2.
Test 2: Unreachable

The test below was created to test an edge-case scenario, where the end node is not reachable. This test also illustrates very well that it is not desired that the drone simply flies back. In this case it is useful if the nearest node would become the final destination. "How does the drone choose these new final destinations", or "does the user himself need to pick a new reachable final destination for the system" are interesting questions that can be considered in this case.




Test Case 3

Test3.
Test 3: Manhatten Distance

A simple test to see if a path can be found. In this case the path length from the final node to the destination node is larger than the Manhattan Distance between these nodes.





Test Case 4

Test4.
Test 4: Manhatten Distance Hallway

Similar to Test Case 3 in the sense that the path distance from start node to end node is larger than the Manhattan Distance. This time this scenario is applied to a larger and more realistic building: one with a hallway.




Test Case 5

Test5.
Test 5: Boundaries

A test to see if boundaries are respected. However, since the drones follow the nodes this test case has less relevance.








Test Case 6

Test6.
Test 6: Circular Building

An example of how a circular building consists of nodes. Also a boundary case; depending on an algorithm's implementation it can get stuck on searching for the optimal path, since there are always combinations that cannot be scouted.







Test Case 7

Test7.
Test 7: Multiple Floors

A basic test case of how a path can be found on a building with multiple floors.






Test Case 8

Test8.
Test 8: Changing Floors

Also a test case with mulitple floors, however, this time there are multiple paths:

  • Stay on the same floor, but fly a longer path.
  • Switch floors, but take a shorter path.

This test case is made to make us think about how we want to handle different floors. Do we always require the absolute shortest flight path, or do we take battery life into account, since lifting a heavy object requires more force than keeping it on the same floor.

Avoiding Obstacles and Actors

The drones should avoid actors and other obstacles. In case they detect one, they will pass that information to the model and ask it an alternative path to fly.
Tests are a WIP