====== Story 1 ======
Story 1 is about attaching an RTK device to SmartDirt, new menus, and the main screen interface.
===== Functionality =====
* Key/AGTEK Access Login
* File View with AGTEK Access and Menus (All menu items don't necessarily have to be functional for story 1)
* Selecting an External RTK bluetooth Device. (I'm unsure of the interface here because I don't know what is part of Android)
* Reading Benchmark Recovery data from the ADF file and automatically recovering to bypass the Alignment interface for this story.(this implies that the ADF file supports recovery storage and the ADF Creation software can extract and save the recovery data.
* Implementing the Main page layout and Menu. The Main page is very similar to SmartDirt with the primary new functionality being the ability to switch which surface is being compared to the shot point.
At the end of story 1 I would expect to be able to walk around the Airway Office site (previously aligned with another product) and get cut/fill values compared to the survey elevation from the RTK device.
**Screens** (File page menu, Main Screen, Main Screen surface selection, Main Screen Menu, Main Screen More Menu, Settings-GPS Tab, Upload Screen (from File))
{{sgfilemenu.png?direct&200|}}{{sgmain.png?direct&200|}}{{surfaceselection.png?direct&200|}}{{sgmainmenu.png?direct&200|}}{{sgmainmoremenu.png?direct&200|}}{{sggpstab.png?200|}}{{sguploadwindow.png?200|}}
====Main Screen Description====
The main screen of SmartGrade is very similar to SmartDirt. In fact the main difference is that instead of showing cut/fill by comparing two surfaces at a location, SmartGrade compares an RTK survey shot to a chosen surface. In the example image, the surface the shot is compared to has a small arrow next to it. Tapping that arrow (and the adjoining text) displays a list of all available surfaces in the file. Picking a different surfaces requires a recalc of surface and Isopach for color.
Other new features include:
* A shot button added to the top of the screen. Pressing this button records a survey shot.
* Instrument point icon - For RTK systems with a base station we show the base station location as an on screen icon.
* We capture and save survey shots in SmartGrade. The points displays as squares connected by lines (until broken with new line)
* The Northing and Easting displayed are for the current location of the RTK GPS.
* The Point and Line Labels are the current labels being applied to survey points (and lines being created). The control for labeling is part of the New Line functionality.
* For GPS Status we display the green or red icon but also display the status of the RTK GPS. (ex: Fix 8-2, means Fixed status, 8 GPS satellites, 2 Glonass satellites). The GPS status of less than Fixed limits users from collecting survey shots, displaying survey based cut/fill, or doing a shot based alignment.
* Between the scale and GPS status displays text 'R+ 0.00. This is the rod offset. When we align RTK, we depend on the base station height and rover height to be constant. The changes in relative height to one another is how we measure the shot elevation. When this value is non-zero, it is an indicator that the user has used Rod Height Adjustment under Settings to compensate for physically adjusting the gps receiver height. Common examples are moving from a backpack to a survey rod or from the survey rod to a vehicle.
====Menu Item Descriptions ====
==New Line==
When a survey point is shot, it is automatically connected to the previous shot to form a line. New Line causes the next survey point shot to not connect to the previous point. (Note: the labeling function mentioned previously has been split into a separate Labeling menu item under the more menu.
==Stream==
Stream is the automatic capture of points based on distance moved. Stream is a toggle. Ideally we'd be able to include and indicator on the menu that indicated state and would probably be a valid reason for using color on the menu (think green light). When toggle on, a point is shot immediately. Subsequent shots occur automatically when the GPS position falls outside of a radius from the last point shot. The radius is a variable called "Collection distance" that is user specified on the Settings-GPS tab. The default distance is 3 ft.
==3D==
3D view takes the user to the 3D view, leaving the same menu with the exception of a planview toggle. Ideally, we would have a shoot button at the top of the 3D view so a user could shoot while in that mode.
==Undo==
Undo removes the last survey point collected.
==Save==
Displays the save dialog which has options for saving the file, doing a save as, and/or uploading the file to AGTEK Access.
==More==
Brings up a list of additional menu options. This is strictly for overflow items that are less used.
==Create Benchmarks==
Displays the Create Benchmark screen where a user can manually enter a benchmark point with a label or shoot in a benchmark point based on their current position. (graphic to follow)
==File==
Displays the File screen.
==Labeling==
Displays the labeling activity. This activity either changes labels and/or allows shooting when the labels change often. Changing a label automatically breaks the survey line.
==Progress Topo==
Changes to the Progress Topo activity (shown and detailed separately).
==View==
Displays the View screen.
==Settings==
Displays the Settings screen.
==Exit==
Closes the program
MJA NOTES:
* Want to see what the screens look like on UPLOAD (see picture above, needs affirmation of success)
* Need to discuss what the various menu items do on main menu (documented now)
* Need display of what the position device configure looks like (configure is really a story 3 item. I'm mostly concerned with getting a single device (Topcon) with a fixed configuration done. Configure could be anything from Cell config to radio port choices on the chosen device. We're using homogeneous hardware at this point for simplicity.)
* Let's discuss what "New Survey" is meaning. Wonder if it's generating a new activity?? think so... (Yea, I think so too)
* Some of the answers may be in the storyboard, I'll look at that.
====== Story 2 ======
==== Narrative ====
At the end of Story 2 a user should be able to:
* Load a job file (ADF)
* Connect to a Topcon GPS instrument
* Align or Recover Alignment (based on data saved to ADF) to place themselves accurately on the site.
* See accurate cut/fill shot to reference surface on screen
* Ability to change reference surfaces.
* Shoot Survey data in with Shoot or Stream.
* Save the Survey Data both into the ADF file and as an AGT.
* Upload Survey data to AGTEK Access (AGT)
===== Major elements =====
* Update ADF Creator to Story 1 functionality ([[adf_creator|ADF Creator]]) This is either first thing in Story 2 or should be in Story 1 since it affects SmartDirt as well.
* Alignment
* Shooting
* Screen layout and picking
* Deviation
* Reshooting
* Saving ADF with recovery data locally. (having to reshoot benchmarks every time is going to get old for testing)
* Showing on-screen survey points.
* Saving Survey points to ADF and AGT files (AGT has always been our survey data format).
* Implement some of the interface changes to ADF creator(File upload to AGTEK Access later) It's been decided to not do this on the standalone ADF creator software.
Note: Bill pointed out that the current view Northing and Easting are not live and are for a picked point ala' Smartdirt. It should be the NE for the current location as well as whatever label will be assigned if shot. Also, we may want a developer mode that allows point selection and shows the distance to selected point. This allows us to verify the accuracy of alignment numerically.
====Alignment====
Alignment is the process of georeferencing the site data to the RTK GPS. For autonomous GPS we use Lats and Longs for alignment. RTK uses distances and angles from the rover to a base station on special known points (benchmarks).
===Flow===
This should follow the rough order of the pictures excepting the menu options. The flow is this:
* The user is prompted whether to Shoot Benchmarks in (a new alignment) or to use existing recover data within the file. The Recover option is grayed (disabled) if no recover data exists in the file. The menu has two options.
* Create Benchmarks to allow a user to manually type in benchmarks prior to shooting. Selecting it takes the user to the Create Benchmarks screen (Story 3).
* Import Recover allows the user to import recovery data from another file. Selecting it takes the user to the File (or something that looks like our current File screen) screen where the user picks which file to import from. (Story 3)
* Selecting Recover takes the user immediately to the Alignment Report screen.
* Selecting Shoot Benchmarks opens the Alignment window. The alignment window has the following characteristics:
* Benchmarks are the only selectable points.
===Screens===
Choose Alignment type, Menu options under Choose Alignment, Shoot First Benchmark
{{sgalignchoices.png?200|}}{{sgalignchoicesmenu.png?200|}}{{sgalignment1.png?200|}}{{sgalignment2.png?200|}}{{sgalignmentmenu.png?200|}}{{sgalignmentreport.png?200|}}{{sgalignmentreshoot.png?200|}}
====Saving ADF recovery====
While ultimately we'd like the ADF save to save everything in the file, the most important thing to save initially is the recovery data created by the Alignment process. Saving the recovery data means that we can reopen the file and not have to Aligmnent again. There is quite a bit of functionality in the Save dialog related to projects and uploading. We do not have to have this for Story 2 although creating the ui for it is good.
====Showing Survey points onscreen====
==== Menu Items Implemented ====
**Save**
Dialog to save the ADF file.
**New Line**
When a survey point is shot, it is automatically connected to the previous shot to form a line. New Line causes the next survey point shot to not connect to the previous point. (Note: the labeling function mentioned previously has been split into a separate Labeling menu item under the more menu.
**Stream**
Stream is the automatic capture of points based on distance moved. Stream is a toggle. Ideally we'd be able to include and indicator on the menu that indicated state and would probably be a valid reason for using color on the menu (think green light). When toggle on, a point is shot immediately. Subsequent shots occur automatically when the GPS position falls outside of a radius from the last point shot. The radius is a variable called “Collection distance” that is user specified on the Settings-GPS tab. The default distance is 3 ft.
**Undo**
Removes the last Survey Point shot.
====Saving Survey Points====
Survey points are created each time the "Shoot" button is pressed or when stream is on and collecting points. Points are saved in a "Survey" layer and become part of the ADF file. They may also be exported as an AGT file. (FYI, AGT was originally designed for saving survey points.) Along with saving the Northing, Easting, Elevation, and any line or point label, each point should also record the time shot (UTC) for potential future use in Trackwork, simulation data for training and demo.
==== Settings ====
=== GPS ===
Improved connection logic, fixes from story 1.0.
* Auto connect to previously used device.
* Minimal user interaction for auto connections.
* Provide enough feedback so users can tell why device doesn't work.
{{sg_rtk_device_control.jpg?direct&400 |}}
}
====== Story 3 ======
* Full ADF Save (of survey) and upload to AGTEK Access (might already in story two). Refinements to point saving, tracking.
* Project interface implementation in Save window (create project interface from SmartDirt)
* Rod Height/Monument Adjustment
* Playback of GPX
* Add Leica Provider - High priority needs to be in by June 1 (this appears unlikely now although for demo purposes we may want a place holder that says "Leica Cell". The priority should probably be placed on playback of the GPX for now since that's probably the only way to do a remote demo.
* 3D view manual gesture for pan/zoom (RE: old 1.0 smart dirt stories)
==== Project Save, Save Dialog ====
This save dialog is derived from the Smartdirt Text report save dialog. Their are slightly different options available and the file name needs to be editable. One question I haven't thought through is is there a way to just upload the agt survey data to Access?
{{sgsavewindow.png?200|}}{{sgsavewindowmenu.png?200|}}
==== Survey, Point Saving changes ====
In our first work with GPS we only captured points or showed position when the instrument was in a fixed state assuming that only in fixed did the data have value. Later, we figured out that even the horizontal position at float was worth showing but we didn't capture points. The addition of haul planning and tracking has given value to even autonomous data with time stamps. Of course the danger in all this is that we might confuse the user and we absolutely can't mix the data of differing quality.
===Survey Data proposal===
* Allow streaming and shooting of points in all GPS states (Fix, Float, Auto)
* Show only fixed data as the thicker blue line with point squares.
* Show Float and Auto Data as a thinner red line.
* Toggle off Streaming on a change of state.
* Break all lines on a change of state
* Save survey quality data (fixed) as a separate file an upload to Surveys.
* Save all other data as a separate file and upload to Tracks
* ?Checkbox to disable track behaviour under GPS (replaces put me here)
* Use different tone when capturing data in non-survey capture.
* Non-survey points have an elevation of zero.
==== Rod Height/Monument Adjustment ====
Rod Height and Monument are two methods of adjusting elevations. Monument would tend to be the more permanent of the two although it needs to be saved. When the Rod Height/Monument tab is selected the user needs to choose a mode/interface, Rod Height or Monument. After selection the appropriate screen displays.
{{sgrodmonument.png?200|}}
===Rod Height===
Rod height adjustment is primarily used to compensate for users getting off and on vehicles. It's a temporary, unsaved change in the base to rover elevation offset. We depend upon the rod height to be unchanged from the height it was during alignment and this is a way of allowing changes to that rod height. A common scenario is a user on an ATV who benchmarks into a site with the rover on a rod. He then goes to an ATV or a truck and either mounts the rod to the vehicle or takes the rover off the rod entirely and mounts it to the vehicle. The steps are:
- After alignment the user realizes he needs to change the height of the rover. He presses Settings, then the Rod Height tab.
- He then chooses the Rod Height option.
- He leaves the rover at height used during alignment (fyi, we typically leave the rod all the way down because it can't slip that way). He levels the rod while on a point (if for vehicle use, on the ground right next to the mounting spot) and presses Shoot Old to take an elevation reading. The elevation displays in the text box next to the Shoot Old button.
- He then raises the rod (or mounts it to the vehicle) and presses Shoot New. The corresponding elevation displays in the text box next to the Shoot New button and the elevation difference between the two shots displays in the middle box.
{{sgrodheightadj.png?200|}}
The Rod Height screen has behavioral patterns that need to be defined. With 3 edit boxes and 3 buttons where values affect other values, it can be confusing to understand what is going on. For example, if you shoot the old elevation and shoot the new elevation, the adjustment displays. If you then edit the adjustment, is the old or new elevation adjusted? Is it even possible to edit the old and/or new elevations?
Having said this if we start with some basic rules the behavior can be made predictable.
* The Shoot Old button always fills in the //**Elevation**//.
* The Shoot New always fills in the //**Monument Elevation**//.
* When shooting an elevation, if both are defined (non-zero) then the adjustment is the old //**Elevation**// minus the //**Monument Elevation**//.
* If the //**Adjustment**// is manually entered then the //**Monument Elevation**// is changed to be the old //**Elevation**// minus the //**Adjustment**//.
* The old //**Elevation**// can only be shot in.
* The //**Monument Elevation**// can be shot in or manually entered.
In addition, one can enter the Rod height screen after an adjustment has been made once. In doing so the user can press the Revert button to toggle between applying the //**Adjustment**// and removing the //**Adjustment**// without needing to shoot any elevations.
=== Monument===
Monument is used when there's a known elevation point on a site that you wish to match. Unlike Rod Height, changing a monument does not display the change on the the main screen (R+). Instead it changes the offset amount from the base height and this change is reflected on subsequent shot elevation displays and the captured point. A typical usage pattern is this:
- The user opens a file or starts a new survey and aligns (file only).
- He proceeds to a known elevation on the site and sets up over that point.
- He presses Settings and taps the Rod Height/Monument tab.
- He selects Monument as the option
- He presses Shoot Old to fill in the box with the currently measured elevation.
- He types in the known elevation and presses Accept.
- The program displays a message box with the net difference between old and known elevations. The user confirms or cancels the change. On confirm the program returns to the main screen. On cancel it returns to the Monument Adjustment screen.
Monument adjusts the elevation offset to the base. (Bill we need to look at old code to confirm whether it permanently adjusts the offset of BM1 to the base when saved. I believe it does but remember much debate about it and want to do the same thing as before.)
{{sgrodmonument.png?200|}}{{sgmonheightadj.png?200|}}{{sgmonheightadjconfirm.png?200|}}
==== 3D view, 2nd implementation ====
Allow user toggle off the GPS using the existing icon. In this mode he can pan the view sideways with a side to side swipe, tilt the view (constrained to not go below ground) with a two finger up and down (ala google maps), Zoom in and out with pinch, and move on the surface using single finger swipe up and down. I'm undecided but inclined to have an additional, home like button on the screen that returns the view to the standard one we have now. In the past I've gotten lost in 3D interfaces and have found it hard to get back to a normal state.
==== GPX Playback ====
Added as a device (provider?)
Configure to select File and toggle data wrapping?
====== Story 4 ======
* Create Benchmarks functionality.
* New Survey Mode
* Point and Line labeling.
* Import recover from other ADF files.
* Look into decoupling sound volume from the ringer and onto Media.(adjusting the ringer sound volume might cause missed calls)
* Altus Base and Cell Driver
* Leica (2nd choice Topcon) Cell GPS Driver
==== Create Benchmark Window ====
Create Benchmark is a method of adding Benchmarks to a file while in the field. The most common usage is for a new topo or to add additional control (for alignment) in a more convenient place than the original benchmarks (in the middle of a street for example). There's a third option in SmartGrade that we have not had in previous survey software. The ability to pick a point on the plans and designate it as a benchmark. There are three usage scenarios. They are:
* The user has just a list of northings, eastings and elevations. He enters each coordinate (poor sap) and elevation and presses create to make the benchmark. Should be automatically return to the main screen on Create? Don't know but we should talk it out. This is not a common scenario for the obvious reason that it's a pita. You also need to align after creating the benchmarks but this is only going to happen when a file without benchmarks is opened.
* The user needs to add benchmarks to either a new survey or an existing job by shooting them in. This would happen when a point doesn't exist in the file yet and the job has been aligned. He puts a marker on the ground (hub, etc.) and places the rod on it. He then selects Create Benchmark and chooses the Shoot button. The program takes shots (like alignment) and puts the result in the text fields. The user can add a label and the benchmark is created in the job file when he presses Create.
* The user has a file for a job site but no real benchmarks available (GE benchmarks don't count because of precision). What the user does have is linework in the file that may have staked equivalents in the file. This sort of an advanced "Put Me Here" although it still requires alignment. It works like this. The user opens a file and picks create benchmark. He finds a location on the ground that he can also find in the file and selects the Pick button. The main screen displays with the GPS panning turned off and he can pan and pick lines on the site. I'm thinking we can re-purpose the shoot button by labelling it "Done" in this mode. When he finds the point he wants, he picks it and presses Done. This returns him to the create benchmark screen with the values filled in from the selected point. Pressing Create puts the benchmark in the file.
{{sgcreatebenchmark.png?200|}}
==== New Survey Mode ====
New Survey is used when no background ADF file exists. A typical application is topoing a field prior to any plans being available. The usage scenario is this:
* User sets up a base (or a cell connection) somewhere near the area to be surveyed.
* They open the program and on the file screen press the menu button and New Survey.
* New Survey bypasses the Alignment process and uses the base location at N:5000, E:5000 elevation 100 for creating the coordinate system. Rotation is based on North Up (I think it's true North from the GPS). The user goes immediately to the main screen and can shoot in points at this point.
* If there's a known elevation somewhere onsite the user uses the Monument height adjustment prior to shooting points or creating benchmarks.
* (optional) We may wish to prompt the user to mark and shoot to create two benchmarks at this point. Without benchmarks the data is difficult to align again. I need to talk to some users about it.
* The user shoots in the topo normally and saves. If there are no benchmarks saved in the file we give a warning but do allow them continue.
With an ADF now created, the user does not need to use New Survey again for this site and go through the normal open file-alignment path.
==== Labeling Window ====
Revamped and moved to Story 6
{{sgnewline.png?200|}}