next up previous contents
Next: Launching and Running BeaconConfigDemo Up: Sample Application Previous: Beacon Placement   Contents


Setting Parameters

Next, edit the parameters in NMSDemo/2004/BeaconConfigDemo/launchall.sh You will probably need to change the CRICKET_IPADDR to 127.0.0.1 and may need to change NUMBEACONS.

    MODE=``normal'' or ``simulation''
    NUMBEACONS=4
    CRICKETD_IPADDR=10.0.0.100
    CRICKETD_PRINT_ENABLE=``-r''
    REMOTE_ENABLE=``-r''
    ENOUGHSAMPLES=2
    SEPDIST_CM=10
    STDDEV_TOLERANCE_CM=10
    FILTER_WINDOW_MS=4000
    WIN_SIZE=500
    GRID_SIZE_CM=61
    SAMPLEMONHISTORY_MS=5000
    SAMPLEMONMAXY_CM=400
    STREAMERSAMPLINGPERIOD_MS=50
    STREAMERDELAY_MS=3000
    JAVAHOTSPOT_ENABLE=``-server''

MODE sets normal or simulation mode (see Section 3.5.3)

NUMBEACONS sets the number of active beacons being used.

CRICKETD_IPADDR sets the IP address of the listener's host device that is running cricketd (see Section 2.2.1). Use 127.0.0.1 if cricketd is running on localhost.

CRICKETD_PRINT_ENABLE enables CricketDaemon to print the raw information supplied by cricketd and lets you see the activity in the data path between cricketd and CricketDaemon. This is useful for trouble shooting purposes. When the beacon reception rate is high, the screen output may cause a very high CPU load. This option may be disabled by prepending the line with a '#' symbol.

REMOTE_ENABLE enables connection with BeaconConfigRemote (see Section 3.5.3). If this option is enabled AND BeaconConfigRemote is not running, BeaconConfig may ``hang'' due to network timeouts. This option may be disabled by prepending the line with a '#' symbol.

ENOUGHSAMPLES is used to filter corrupted data. Beacons with fewer than ENOUGHSAMPLES within a history window (defined by FILTER_WINDOW_MS are ignored. This is useful to filter invalid beacons as a result of noise generated by poor serial port connections or RF errors that corrupt the beacon information. Usually, a value of 2-3 is enough for effective filtering. This filter has no effect on the accuracy of the distance measurement between a beacon and a listener.

SEPDIST_CM defines the maximum separation distance (in centimeters) between the listener and a beacon during the beacon coordinate configuration phase (see Section 3.5.3). That is, the listener must be held within SEPDIST_CM cm directly below a beacon during calibration. When SEPDIST_CM is large relative to the distances between beacons (1.5x or greater), the user should move swiftly from one beacon to another during the calibration process. Otherwise, BeaconConfig might start a measurement while the listener is not directly underneath a beacon and cause errors in the beacon coordinate computation.

STDDEV_TOLERANCE_CM defines the threshold in which distance readings are considered stable the beacon coordinate configuration phase (see Section 3.5.3). Distance estimation with respect to a beacon is considered stable if the readings collected within the past FILTER_WINDOW_MS milliseconds has a standard deviation below STDDEV_TOLERANCE_CM. During tracking phase, sample distances that are greater than 3*STDDEV_TOLERANCE_CM will also be filtered.

FILTER_WINDOW_MS specifies the window size (in milliseconds) of the sliding-window filter used to reject erroneous distance readings from the Cricket listener. Higher value improves accuracy but increases the position tracking latency. For example, a value 10000 will cause the program to keep a history of all the distance samples collected over the past 10 seconds. For Cricket v2, the recommended value is 4000. The mode value of the distances collected in the history window is used to estimate the true distance between a beacon and the listener.

WIN_SIZE_PIX sets the size of the BeaconConfig GUI (square) window in pixels.

GRID_SIZE_CM sets the grid size in centimeters. The GUI will automatically adjust the drawing scale so the size of the grid as appear on the screen may vary.

SAMPLEMONHISTORY_MS sets the size of the sample monitor (in the BeaconFinderApp window) history window in milliseconds.

SAMPLEMONMAXY_CM sets the max value for the y-axis (cm) in the sample monitor (in the BeaconFinderApp window).

STREAMERSAMPLINGPERIOD_MS sets the density of the streamer. The streamer draws the trail of the Cricket listener during tracking mode. A smaller period will draw more dots per time unit for the trail.

STREAMERDELAY_MS defines how long the streamer trail dots stay on the screen before disappearing.

JAVAHOTSPOT_ENABLE enables Sun's Java HotSpot Server mode. When enabled, the jvm will perform dynamic just-in-time compiling to increase performance. However, the start up time will be quite slow. In general, the applications will run sluggishly in the first minute or so (depending on the computer speed) until the compilation is complete. After the first minute, the CPU load should drop significantly. This option may be disabled by prepending the line with a '#' symbol.


next up previous contents
Next: Launching and Running BeaconConfigDemo Up: Sample Application Previous: Beacon Placement   Contents
Michel Goraczko 2004-12-02