This is the delivery checklist for the FN Controller Final Acceptance Test meeting held July 7, 2022.
This list was created from the FN Controller Statement of work milestones.
1. FN Code Stabilization
1.1. Project Initiation & Planning Phase
- 1.1.1. Project Kickoff Meeting
- 1.1.2. Gather, elicit, clarify detailed requirements based on feature set/bug list
- 1.1.3. Define risks & mitigation plan
- 1.1.4. Deliver project plan
1.2. Development Phase
1.2.1. Basic project setup & infrastructure
- 1.2.1.1. Jira, Confluence, Source Code Repository
- 1.2.1.2. Setup TestRails project
- 1.2.1.3. Acquire hardware for development & QA
- 1.2.1.4. Acquire latest version of VictoR Controller Project source code
- 1.2.1.5. Acquire latest version of VictoR Interface Control Document
1.2.2. Target Scale (MVP_001)
- 1.2.2.1. Calculate target scale factor
- 1.2.2.2. Render shot trace on controller based on scale factor
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.2 | MVP 001 | Target Scale | the system shall calculate target scale factor (range estimation). |
1.2.3. Software Zero (MVP_002 - MVP_010)
- 1.2.3.1. Save calibration into the device
- 1.2.3.2. Prompt to perform a software zero process when a new session is launched
- 1.2.3.3. Software zero networked events
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.3 | MVP 002 | Software Zero | Software Zero~ As a shooter I expect that if my point of aim is not aligned with my mean point of impact, that I can apply an offset to make the point of aim aligned with the shot view reticule | |
1.2.3 | MVP_003 | Software Zero | Software Zero~ As a shooter I expect that the zero is save into the device so that the next time I launch a session the default zero is the one I performed last time | |
1.2.3 | MVP 004 | Software Zero | Software Zero~ As the controller software when a new session is launched, a prompt to the user will be displayed to ask them if they wish to perform a software zeroing process | |
1.2.3 | MVP 006 | Software Zero | Software Zero~ As a shooter I can trigger the controller software to enter software zeroing mode so that the system can apply new zeroing offset to future shots in that session | |
1.2.3 | MVP 007 | Software Zero | Software Zero~ As a coach I can see when software zeroing events have been completed within any previously completed session | |
1.2.3 | MVP_008 | Software Zero | Software Zero~ As a coach I can trigger the controller software to enter software zeroing mode so that all connected shooters in the current session will enter software zero mode | |
1.2.3 | MVP_009 | Software Zero | Software Zero~ As an observer I can see when software zeroing events have been completed within any network connected session | |
1.2.3 | MVP_010 | Software Zero | Software Zero~ As an observer I can enter comments through a network connected session to prompt a shooter to recommend they perform a software zero |
1.2.6. Settings (MVP_014)
- 1.2.6.1. Set mounting orientation
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.6 | MVP_014 | Settings | Software shall provide a setting that indicates the mounting position of the system on the weapon, and which triggers image rotation prior to target recognition, compression, and storage. The 6 o'clock mounting is the default position. |
1.2.7. Trigger Detection Settings (MVP_015 - MVP_018)
- 1.2.7.1. Extend configuration file & GUI
- 1.2.7.2. Add Shot Rejection Angle
- 1.2.7.3. Add Cocking Delay
- 1.2.7.4. Add Sensitivity control
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.7 | MVP_015 | Trigger detection settings | Shot Rejection Angle - As a shooter I can set a threshold level for what weapon angle(s) will prevent the recognition of shots so that I can prevent false shots when I am not in the expected shooting position. | |
1.2.7 | MVP_016 | Trigger detection settings | Cocking Delay- As a shooter I can set a period of time for the WASP device to ignore trigger events detected within that period of time after cocking the weapon so I can prevent false shots from while I am cocking the weapon. | |
1.2.7 | MVP_017 | Trigger detection settings | Lower Sensitivity- As a shooter using the controller software, I can lower the sensitivity level for which trigger events are detected so that I can prevent false shots from being registered. | |
1.2.7 | MVP 018 | Trigger detection settings | Raise Sensitivity- As a shooter using the controller software, I can raise the sensitivity level for which trigger events are detected so that I can prevent valid shots from not being registered. |
1.2.8. Processing (MVP_019)
- 1.2.8.1. Detect controller-pairs shot events
- 1.2.8.2. Update GUI for controlled-pairs
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.8 | MVP_019 | Processing | System shall display multiple sequential trigger/shot events in quick succession of firing (semi-auto) as controlled-pairs. The trace shall be coherent and cross each shots within the timeframe. |
1.2.10. Multiple Connection (MVP_023 - MVP_027)
1.2.10.1. Connect up to four devices in a single session
- 1.2.10.2. Fixing of networking
- 1.2.10.3. Update GUI for multi device
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.10 | MVP_023 | Multiple connection | As a shooter, I can connect up to four devices within a session so that I can use multiple weapons within a session. The code has been written but we lack the number of devices needed to test this. We will need to rely on FN to test this requirement. | |
1.2.10 | MVP_024 | Multiple connection | As a coach, I can connect up to four devices within a training event so that I can assign them to multiple shooters within a training event. | |
1.2.10 | MVP_025 | Multiple connection | Training Event Connection Management As a coach, I can connect up to four VictoR devices within a training event so that I can assign them to multiple shooters within a training event. | |
1.2.10 | MVP_026 | Multiple connection | As I a shooter or coach I expect to to enter multiple shooters, multiple weapon models, ...so that I can use different shooters and weapons type in my up to 4 training lanes. | |
1.2.10 | MVP_027 | Multiple connection | Software shall enable user to see the number of connected devices and their method of connection. |
1.2.11. Scoring (MVP_028 - MVP_029)
- 1.2.11.1. Redefine scoring algorithms
- 1.2.11.2. Add H+L result metrics
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.11 | MVP 028 | Scoring | Scoring algorithms need to be redefined and fixed | |
1.2.11 | MVP_029 | Scoring | As a shooter or instructor, I expect to see shooting result metrics H+L |
1.2.12. Connection Management (MVP_031 - MVP_035)
- 1.2.12.1. Detect when a device is disconnected
- 1.2.12.2. Send notification on device disconnect
- 1.2.12.3. Attempt to reconnect when device is disconnected
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.12 | MVP_031 | Connection management | Connection Management As a shooter, when I turn on the controller application, I expect to see a list of available devices to automatically appear | |
1.2.12 | MVP 032 | Connection management | Connection Management As a shooter using the controller application and one of my connected devices disconnect, I expect to be notified so I can decide if I want to reconnect before resuming shooting | |
1.2.12 | MVP_033 | Connection management | Connection Management As a coach using the controller application and one of my connected devices disconnect, I expect to be notified so that I can know why I'm not seeing shots coming through from the shooters I am observing | |
1.2.12 | MVP_034 | Connection management | Connection Management As a shooter using the controller software and one of my connected devices disconnect, I expect that the application will attempt to reconnect automatically in the background | |
1.2.12 | MVP_035 | Connection management | Bluetooth Compatibility- As a shooter, when in a session, losing power and then regaining power will result in an automatic reconnect |
1.2.15. Export (MVP_040 - MVP_041)
- 1.2.15.1. Update JSON export to be consistent with data being shown on GUI
1.2.15.2. Implement autosave functionality for:
- 1.2.15.2.1. JSON file
- 1.2.15.2.2. Log files
- 1.2.15.2.3. Image files
- 1.2.15.2.4. Video files (if connect over USB)
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.15 | MVP 040 | Export | JSON export must be consistent (number of fields and format) with data shown in the user interface : Scoring, Timestamps, Correct split between information (session, shooters, shot, points) | |
1.2.15 | MVP_041 | Export |
|
1.2.16. Quality Assurance
- 1.2.16.1. Integration testing with real devices
- 1.2.16.2. Define test plan
- 1.2.16.3. Test Plan Development
- 1.2.16.3.1. Feature Validation
- 1.2.16.3.2. Adhoc/Stability testing
- 1.2.16.4. Generate final test report
1.3. Delivery
- 1.3.1. Package source code & files for delivery
- 1.3.2. Meetings, Documents, Knowledge Transfer
- 1.3.3. Final acceptance meeting
Features Removed from Statement of Work
MVP | CATEGORY | FEATURE (Removed from Statement of Work) | |
---|---|---|---|
MVP 021 | OS Support |
| |
MVP 022 | OS Support |
| |
MVP 030 | USB Connection |
| |
MVP 038 | Holster Draw |
| |
MVP 039 | Holster Draw |
| |
MVP 042 |
| ||
MVP 043 |
| ||
MVP 044 |
| ||
MVP 045 |
| ||
MVP 046 |
| ||
MVP 047 |
| ||
MVP 048 |
| ||
MVP 049 |
|
Untestable with current device/firmware implementation
1.2.3. Software Zero (MVP_002 - MVP_010)
Zeroing previous shots removed due to schedule.
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.3 | MVP_005 | Software Zero | Software Zero~ As the controller software when a software zero event is performed in a shot session, all previous shots will have the new zeroing offset applied to them so that their scoring can be consistent with all other shots in that session |
1.2.4. Oblique Processing (MVP_011 - MVP_012)
There are multiple cases in which a bounding box could have a smaller width or height, and sometimes this happens when a target is slightly off the edge of the screen but the vision system still recognizes part of it. In those cases, you will have a partial bounding box. We don't have a way to differentiate this from a smaller bounding box due to an oblique angle. Furthermore, the bounding box for an oblique angle does not come with any metric for obliqueness from the firmware, and without direct access to pixel data, we don't know the angle of the target in order to adjust aim trace scaling across the target.
- 1.2.4.1. Fix shot trace orientation when firing at oblique angles
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.4 | MVP_011 | Oblique Processing | As a operator I expect the software set the rendering of the target always flat including the process of the trace even when I shoot with a oblique angle so that the results are easy to see. (Scoring and predicted point of impact shall be consistent with target orientation) | |
1.2.4 | MVP 012 | Oblique Processing/ Image Download | As a operator I can download the image of each shot separately so that I can visualize the context and angle of target engagement. |
1.2.5. IMU Data (MVP_013)
Not supported by firmware.
- 1.2.5.1. Use prediction point as start point then use IMU data for shot trace rendering and filtering for better resolution
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.5 | MVP_013 | IMU data | IMU data must be used in place of using predicted point of impact (extracted from Aimpoint service) for drawing the trace. A filter needs to be applied to avoid unwanted spurious movement of the gun. |
1.2.9. Previous Session (MVP_020)
Would be difficult or impossible to download using Bluetooth. Work-around is to connect and download using WinSCP.
- 1.2.9.1. Download previous sessions from device
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.9 | MVP_020 | Previous session | As a user, I can download a previously completed session completed in "Standalone mode" so that I can see and analyze my session on a controller device. |
1.2.13. Moving Target (MVP_036 - MVP_037)
Moving target has been implemented but we have not been able to do a proper test. The system lacks proper documentation on how to create conditions for a moving target test and on top of that, the lack of functional devices makes setting up a test impossible. We are reliant on FN to test this for us and as of yet, they have not been able to test.
- 1.2.13.1. Display distance, speed, and direction of target, data is received from VictoR WASP
- 1.2.13.2. Display predicted point of impact to accommodate moving target
WBA | MVP | CATEGORY | FEATURE | |
---|---|---|---|---|
1.2.13 | MVP 036 | Moving target | The system shall display the distance, speed, and direction of a moving pretrained target [display vector graphic on direction of movement, and speed] | |
1.2.13 | MVP 037 | Moving target | The system shall augment the display of the predicted point of impact to accommodate for a pretrained moving target |
QA Documentation
July 8, 2022 - FN Controller Acceptance
Test Meeting / Video
LINK TO VIDEO HERE
Meeting Notes: