View Single Post
Old 12-24-10, 05:00 PM   #5602
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by Sammi79 View Post
@ TDW

Right, bear with me I'm wishing I was more articulate...

Say the default max dead reckoning error (set in useroptions.py) = 1000.0 (meters float) as it is currently.

Scaling the error depends on distance travelled since last fix. So say 1km travelled = 0.01 (1%) of default error = 10 meters. 10km travelled = 0.10 (10%) of default error = 100 meters. Using this scale, at 100km travelled, error = 1000 meters (1.0 or 100% of default error)

can it then extend the error? I.e. 500km travelled = 1000.0 x 5.00 (500%) = 5000.0 meter.

This is how I think it should work, the default error does not need to change as the scale does the work. maybe instead of setting the default error in useroptions.py the scale (per km) would be a more usefull value - 0.01 per km to start with then maybe increased a little if after 100km, 1km error seems too small.

Is this making sense or am I just confusing the issue?

Regards,
Sam.
The way you propose doesn't give any randomness to the error. It's always a fixed value based on distance. That doesn't simulate human error.

The way I'm calculating it doesn't need scaling. Scaling is taken care of via the distance travelled.

i.e.: the random error % is applied to distance travelled. If random error % is say 0.1 and:
- distance travelled is 100m then error is 10m
- distance travelled is 1000m then error is 100m
- distance travelled is 10000m then error is 1000m

As you can see the error automatically scales to the total distance between fixes. I like the random error % because sometimes navigator can be accurate, sometimes inaccurate (tired, stressed, etc.). This more simulates real life.

The only snag in this whole distance travelled is I don't record every movement of the sub. i.e. I don't record every turn, every speed up, slow down, etc. Thus the error distance calculated will be applied to a random function to determine the x component of the error distance and another random function to determine the y component of the error distance. i.e.: error distance comes out to be 1000m. 1000m will be passed into two random functions as -1000 and 1000 to detemine the final x and y components to add to the current fix to determine final fix position.
TheDarkWraith is offline   Reply With Quote