Chapter 4: Strider

Strider is a mobile Atlas Speaks, it runs on a portable computer that has attached to it a "Strider Box". The Strider Box consists of a GPS receiver, DGPS (Differential Global Positioning System) receiver, and a power supply. Fig. 8 shows a block diagram of the Strider Box. The DGPS receiver used is the OEM 4000 manufactured by DCI (Differential Corrections Incorporated), see Appendix G for the receiver's technical specification. The GPS receiver used is the Lassen manufactured by TrimbleNavigation Incorporated , see Appendix H for its technical specification. DGPS is a method for improving the accuracy of GPS. It will be discussed in Chapter 5. The laptop computer, along with the Strider Box, a hand-held keypad, and an earphone – fits into convenient carrying case, usually carried as a backpack. The user can switch between Atlas Speaks virtually exploring a map, to Strider that actually tracks the user's path outside. Strider is an orientation tool to help navigate not a mobility tool. It will not replace the white cane or guide dog, but it does offer new information for the visually impaired that was previously unavailable. Along with their own personal mobility skills, and other aids such as a cane or guide dog, Strider offers the ability to explore streets and cities, which might not otherwise have been accessible.

Strider works by using the GPS satellites to triangulate its position. A small antenna sewn into the shoulder strap of the backpack picks up the satellite signals, and the GPS receiver decodes them. Triangulation of the user's position occurs as soon as three or more satellites are being tracked . The accuracy of this location is then increased using the DGPS receiver. The DGPS receiver has a thirteen-inch whip antenna carried inside the backpack that receives radio broadcasts from a differential corrections company. These radio transmissions correct for the inherent accuracy degradation S/A (Selective Availability) in the GPS system, which was introduced by the U.S. Department of Defense. Using DGPS increases the accuracy from ±100 meters to less than ±4 meters. This will be covered in more detail in Chapter 5. Once the GPS receiver has the differentially corrected position, it sends this to the Atlas Speaks software, which places the Strider cursor at the new location. When the user switches from Atlas to Strider all information requested is then in reference to the Strider cursor instead of the Atlas cursor. When the system is in Strider mode and position information is requested, Strider produces the exact location, rather than the virtual location previously explored with Atlas. The author developed the device drivers for Strider, which allows it to communicate with a number of different GPS and DGPS receivers. Fig. 13 shows a block diagram of the Atlas Speaks and Strider software.

Figure 8: Block Diagram of the Strider Box

4.1 Layout of Strider

The physical layout of Strider consists of a main screen containing the same map area as Atlas Speaks, which the user is "physically" on, and a smaller bottom screen containing address specific information, and details of the GPS connection. Fig. 9 shows the physical layout of Strider. Drop-down menus are used with the aid of cursor keys from the keypad to move through the menu items, allowing the user to utilize the diverse tools that Strider offers while travelling outside.

4.1.1 Map Window

The map area in Strider displays the map that the user is currently on. A star shaped cursor follows as the user's position changes. The GPS receiver tracks the user, and a cursor is put on the map indicating the corresponding position. The Atlas cursor may also appear on the Strider Map if the user is currently located in the same area as the one being explored.

Figure 9: Screen shot of Strider

4.1.2 Strider Message Window

The Strider message window contains a lot of detailed information about the GPS and DGPS receivers. The Strider message window consists of a Novice Window, an Expert Window (which can be turned off) as well as the audit trail. All information presented in this window is available to the user through key assignments, these are presented in Appendix D . The GPS information presented in this window is extracted from the GPS receiver, and is the real time status of Strider.

4.1.2.1 GPS Status Window

The status of the GPS receiver is displayed in this window. When Strider is working correctly its status is "Tracking Position", but when Strider cannot obtain positional information this window will inform the user why it cannot provide this information. The following are messages that can appear in this window:

4.1.2.2 Satellites Tracked Window

This gives the number of satellites that the GPS receiver is currently tracking. However, it does not indicate how many or which satellites are being used in the receiver's position solution . As the number of satellites being tracked increases, the increased chance for obtaining correct positional information occurs. This will be discussed further in Chapter 5.

4.1.2.3 GPS Time Window

This is a very accurate clock, which the receiver uses to synchronize itself with the satellites. This information can be presented in the following formats: AM/PM, 24 Hour, or UTC (Co-ordinated Universal Time).

4.1.2.4 GPS Accuracy Window

The accuracy of the GPS receiver is not only based on the number of satellites currently being tracked, but the status of the DGPS receiver, and a number of other dependencies which will be covered in Chapter 5. The following are messages that may appear in this window:
Unknown Bad
GPS 2D Poor
GPS 3D Fair
DGPS 2D Good
DGPS 3D Excellent.
The user can select, through the menus, which types of messages are to be heard. The GPS messages will be explained in the next chapter.

4.1.2.5 Heading Window

Since the current Strider configuration does not contain a compass, the "Heading" information is not the current heading the user is facing. It is however a least-squares average of the last x number of positions. Therefore if the user is travelling west, and then turns 90 degrees towards north, and asks Strider the direction to a specific point, this information will be based on the previous direction of travel and not the current physical heading. This shortcoming will be examined and solved with the ANS. The units of this heading are always in degrees.

4.1.2.6 Speed Window

The instantaneous speed of the user is presented here. This information can be presented in a number of different formats depending upon which system the user is using, i.e. meters per second, Kilometers per hour, feet per second etc.

4.1.2.7 Latitude and Longitude Window (Expert Mode)

The Latitude and Longitude of the current position is displayed in these windows. This is for advanced users, who find this information interesting. Since this information is used to place the cursor on the map, the user may obtain this information if so desired.

4.1.2.8 Altitude Window (Expert Mode)

The GPS receiver also can determine the altitude of the user if the current accuracy is a 3-D solution. This requires at least four visible satellites. The units of this information again depend upon the system of measure chosen by the user.

4.1.2.9 Satellite Information Window (Expert Mode)

The satellite number, signal-to-noise ( SNR ) ratio, elevation, and azimuth are all presented here for those advanced users who wish to know this information. This could be useful if the accuracy suddenly dropped and the user wanted to find out the reason.

4.1.2.10 Additional Information Window

When the user has an active destination or is using "routes", additional information concerning these features will also be displayed in this message window.

4.2 Features of Strider

All the features of Atlas Speaks are also accessible when using Strider as well as a few others. These features are accessed through the external keypad that the user holds while traveling outdoors. A mapping of the functions available on the keypad is presented in Appendix E . The most important features with Strider deal with routes, and automatic messages that indicate changes in GPS accuracy. The user has full control over what is to be automatically spoken, and Strider has built-in protection against "twitching". I.e. if the accuracy switches constantly between two different levels, the user is not bombarded with useless information.

4.2.1 Automatic Route-Recording

This allows the user, while travelling outside, to lay down a route automatically without manually creating the route. Strider will place waypoints along the path travelled by the user. The user can specify the frequency of these waypoints by a set distance and/or time factor. The software is also smart enough not to keep placing waypoints at a given point if the user hasn't moved, and is recording waypoints every x seconds. The user, while automatically recording a route, can also place a waypoint manually. This is useful if it is necessary to cross a street, or change directions to follow a new street.
Strider will also not record waypoints if it is no longer tracking the user's position, or if the accuracy is bad. If the accuracy improves while recording a route, the last waypoint recorded will be re-recorded with the better accuracy and new position, thus improving the accuracy of the route.

While route-recording automatically, Strider will not allow waypoints to be bunched together if the accuracy degrades. As shown in Table 1 there is a minimum radial distance that surrounds the user with a given accuracy. This radial distance is the inaccuracy in the current position, and therefore the user's actual position can be anywhere inside this circle. Consequently, it doesn't make sense to keep dropping waypoints within this radial distance because when route-following, the system would announce all of these waypoints simultaneously.

4.2.2 Route-Following

When following routes, a number of different things can happen, depending upon how the route was created. An Atlas-created route is very precise. It follows the streets in a city, and the accuracy is exact. It also has "turn" information available. Following such a route with Strider is usually quite easy. When following a Strider-created route, both the current accuracy of Strider and the accuracy of the waypoints when the route was created come into play. When the route is being loaded, Strider will determine the accuracy of all the points in the route and tell the user how accurate the route is. It will also identify any potential problems that may occur when following the route. Strider will also automatically determine the correct radial distance between the user and the waypoint on the route before it informs them they have reached that specific waypoint. This radial distance is based upon the accuracy of the specific waypoint and the current accuracy of Strider. These distances are important to note and are shown in Table 1 .

Table 1: Accuracy for Route-recording and Following

Accuracy

Distance (meters)

GPS

100

DGPS

4

MAP

0

Therefore, if the current accuracy is GPS and the accuracy of the waypoint on the route is also GPS the total radial distance before the waypoint is announced to the user would be 200 meters, as shown in Fig. 10 . It is also important to note here that if the route was created by Atlas, i.e. "MAP" accuracy, when following this route with Strider, only the current accuracy of Strider determines the radial distance. For example, if the current accuracy is DGPS and the waypoint was created by Atlas, then the minimum distance the user needs to be before Strider announces that the waypoint has been reached would only be 4 meters, as shown in Fig. 11 .

Figure 10: Route-following radial distance with GPS accuracy

Figure 11: Route-following DGPS accuracy with an Atlas Route

4.2.3 Strider Settings

Strider allows the user to turn off the "expert" message window. The "expert" window contains technical information such as latitude, longitude, altitude, and information about the satellites being tracked. By turning off the "expert" window, the size of the map increases accordingly.

The GPS specific messages Strider displays can be technical in nature and a novice user would find them uninformative. Strider offers the ability to change these messages from "expert" to "novice" messages. For example, instead of saying that the GPS accuracy is "DGPS-3D", under "novice" messages it would say that the GPS accuracy is "excellent". This was shown in section 4.1.2.4.

When Strider is first turned on, it must initialize itself, and start scanning for satellites before locking onto three or more satellites and positional information is obtained. A process that can either be very quick, or a quite lengthy procedure. Strider allows the user to set User Warnings that automatically provide the Strider status during the initialization process as well as during position tracking. All of these warnings can either be enabled or disabled. The following is a list of these warning messages.

GPS Almanac Bad – This informs the user that the GPS receiver currently doesn't have an up-to-date almanac of where the satellites are in orbit, which means that the time to find and track satellites will take longer.
Time to GPS Fix – This is an estimated time that Strider will take to start tracking the user's position. This time is based upon the almanac status as well as other factors such as the number of satellites already being tracked.
Position Tracking – This informs the user when Strider is tracking its position as well as when it loses its position. There are a number of factors affecting whether or not the GPS receiver is tracking the user's position. These will be discussed in Chapter 5.
Satellite Configuration Error – This is one such reason why Strider may not be able track the user's position. This will be covered in Chapter 5 as well.
Differential Correction Gained – When Strider gains DGPS corrections the accuracy improves dramatically, and the user may want to be notified when this happens so a more accurate position can be determined.
Differential Correction Lost – Here too the user may wish to be informed when the accuracy is dramatically degraded so that address information will not taken literally when the position can be out by 100 meters.
Accuracy Improved or Degraded – When the accuracy improves or is degraded, this information can be helpful for the user to make a more informed decision on whether or not to accept at face value the positional information Strider is providing.

4.3 Strider Interface

As shown in Fig. 13 , the Strider interface connects Atlas Speaks and Strider to the GPS receiver's DLL (Dynamically Linked Library). This interface takes requests from Strider and extracts the requested information from the GPS receiver through the GPS receiver's DLL. The GPS receiver can offer a variety of GPS specific information which can be requested such as altitude, latitude, longitude, current speed, etc. Fig. 12 shows the flow diagrams on how this interface works.
Figure 12: Strider Software Interface

4.3.1 GPS Specific DLL

The GPS specific DLLs all have the same Strider Interface function calls, but each has a different protocol to extract the data from its specific GPS receiver. See Appendix F for a complete listing of the function calls to the GPS Receiver's DLL. These functions were designed and implemented exclusively by the author. Here are a couple examples of how this interface works as was shown in Fig. 12.

4.3.1.1 Strider requests its position from the GPS receiver.

4.3.1.2 Strider requests current time from the GPS receiver.

Figure13: Functional Block Diagram of the Atlas Speaks and Strider Software
The shaded areas in the above figure are the specific software modules the author personally developed.

4.4 Summary

Strider fulfills the second objective of this thesis, the ability to walk outside and know one's position. Chapter 5 will discuss why the Strider system, as it stands, is incomplete, and will investigate possible backup systems for Strider.

Next Previous Table of Contents