-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Description
We need to more thoroughly test the Distance pipeline with many more tests, which must also more complex than is currently available. The issue with doing so however is that we need to not rely on existing infrastructure to generate and validate more complex scenarios. The scenarios that we have not tested so far are:
- Complex Positions (Arbitrary Axis Positions)
- Complex Orientations (Arbitrary Orientations)
- Complex Relative Orientations (Arbitrary Transformations between local and reference orientations)
- Combined Scenarios (of the above 3)
This task will involve the modification of test/integration/integration-test.cpp, and at your discretion, you may also choose to implement a new feature. That's it, so don't get scared by the big description here, its just to help you be familiar with the problem. I will attempt to address each of these:
Before Getting Started...
We use the image generator for generating artificial, ideal images. This allows us to test the algorithm to ensure it gives a precise answer when in an ideal environment. Please go into tools/generator for more information.
Warning
Also, please familiarize yourself with the different flags in the FOUND executable (we will just say FOUND) via ./found --help. You must also understand how FOUND works in general.
1. Complex Positions
So far, we have only tested positions on the X axis during our integration tests. The task here is simple:
- Generate images from more complex positions
- Create integration tests to see if FOUND can correctly produce the position.
Note
You may use the flag --reference-as-orientation here, which you can use in conjunction with --reference-orientation to directly tell FOUND the orientation of the camera.
Warning
These tests must be marked as being seperate from (1), (2) and (3). You may use a simple orientation here.
2. Complex Orientations
So far, we have tested very basic orientations (only right ascension). The task here is also simple:
- Generate images with more general orientations
- Create integration tests to see if FOUND can correctly produce the position while handling a more complex orientation.
Note
Again, you may use --reference-as-orientation here.
Warning
These tests must be clearly marked as being seperate from the above. You may use a simple position here.
- Complex Relative Orientations
Because of #39 , this is no longer complex (refer to #40 (comment) in case the current approach does not work). Thanks to tools.attitude, this has become much simpler:
- Use
tools.generatorto generate an image with a complex orientation. - Use
tools.attitude(remember to switch your conda environment) to generate attitudes for calibration and a test reference attitude for distance, using the--use-localand--local-attitudeflags. - Format your test cases to be like IntegrationTest::TestCalibrationDistanceCombinedPipeline
IntegrationTest::TestCalibrationDistanceCombinedPipelineOtherOutput, located in the integration-test.cpp file.
4. Combined Scenarios
As the good programmer you are, you will also make test cases that combine these different things :).