SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Special Projects > MoBo - Electronic Maneuvering Board
Forget password? Reset here

 
 
Thread Tools Display Modes
Old 11-07-07, 05:33 AM   #1
Dr.Sid
The Old Man
 
Join Date: May 2005
Location: Czech Republic
Posts: 1,458
Downloads: 6
Uploads: 0
Default TMA by least square method

I'm trying to create formulas for TMA by least square method. Input is LOBs from different positions and times, result is line which match them best.
I have it more or less done, I'm writing the program now to verify the formulas.
Anyway anybody here could know some formulas or methods too. I'd like to compare.
Dr.Sid is offline  
Old 11-07-07, 12:15 PM   #2
XLjedi
Ace of the Deep
 
Join Date: Jun 2005
Location: Palm Beach, Florida
Posts: 1,200
Downloads: 53
Uploads: 8
Default

Presently, the TMA solution feature built into MoBo is fairly simple. (Have you tried it?)

You take regular bearings at even intervals and from that you can lay a TMA line across the bearings and look for a heading that yields equal distance travelled. Of course, that assumes the target has not changed course or speed.

In MoBo, the TMA line is positioned by human intervention, similar to the way a maneuvering board user would use a ruler with speed notches.

I'm in the process now of researching new and more advanced methods for TMA. Someone mentioned possibly looking into Ekelund ranging as well.

My first challenge was to revamp my vector intercept formula to test for actual line intersection. I think I have something now that can properly differentiate between intercepts (assuming lines extend to infinity) and intersections (finite lines) or any combination of the two.

I believe a least squares solution would require some sort of range estimate, correct?
__________________
XLjedi is offline  
Old 11-07-07, 01:20 PM   #3
Dr.Sid
The Old Man
 
Join Date: May 2005
Location: Czech Republic
Posts: 1,458
Downloads: 6
Uploads: 0
Default

No .. it does not require anything. Just the LOBs. It gives line witch fits the LOBs best. Now if there is no best solution (parallel LOBs for example) it gives no solution. If the LOBs are poor, or if the target changes course, even the best match will be rather loose.
But if you have good LOBs, after a leg, or LOBs from same time (let's say towed array and hull array for a sub), it should give good data, best possible in fact.
I guess it must be used on real subs. It is also said in Submarine by Clancy that Brits use automatic TMA all the time. So I wonder what this automatic TMA is.
Now I'm pretty close to have it working (or finding out I have it wrong ).
Dr.Sid is offline  
Old 11-07-07, 01:40 PM   #4
XLjedi
Ace of the Deep
 
Join Date: Jun 2005
Location: Palm Beach, Florida
Posts: 1,200
Downloads: 53
Uploads: 8
Default

Oh... OK, if a parrallel LOB is possible, that means you're also plotting or inputting an (x,y) position as the point of origin for the LOB. I do see now that you did mention that in your post... and you input an obs time too.

You're taking the DRT (dead reckoning tracker) approach. The benefit to the DRT method is that you don't have to maintain your own course and speed. The downside is you have to track your own position.

How are you entering/determining the position data? I haven't played my copy of DW much since I bought it... I assume it must provide you with a readout showing your position, and that's what you're using for an input?
__________________
XLjedi is offline  
Old 11-07-07, 02:34 PM   #5
Dr.Sid
The Old Man
 
Join Date: May 2005
Location: Czech Republic
Posts: 1,458
Downloads: 6
Uploads: 0
Default

I don't mean to use it with DW. As you said .. you don't know your position. I take it just as interesting problem at the moment.
For me, LOB is position, direction and time. You give set of these and you get position and vector of the target, whose length indicates speed.
Dr.Sid is offline  
Old 11-07-07, 04:41 PM   #6
XLjedi
Ace of the Deep
 
Join Date: Jun 2005
Location: Palm Beach, Florida
Posts: 1,200
Downloads: 53
Uploads: 8
Default

Not exactly sure what your goal is then.

Sounds like you have a least-squares TMA solution that maybe works, provided you can load it with position data that you don't presently have.

If it works as you say, I could possibly incorporate it into MoBo... maybe. I'd have to look at it.

MoBo functions nicely as a DRT, so you could plot your position/bearing/time inputs and I could have MoBo generate a contact with position and vector based on your formula.
__________________
XLjedi is offline  
Old 11-07-07, 10:14 PM   #7
jmr
Commander
 
Join Date: Sep 2004
Posts: 462
Downloads: 62
Uploads: 0
Default

Quote:
Originally Posted by aaronblood
You're taking the DRT (dead reckoning tracker) approach. The benefit to the DRT method is that you don't have to maintain your own course and speed. The downside is you have to track your own position.
Not to derail this thread but I've tried that by running DW in a window and using the transparency slider in Mobo to overlay Mobo over my TMA screen and plot lines accordingly. Unfortunately it's almost impossible to get a target course heading using this method - the best way is to stop, listen, and plot lines for some time. Doing that you're able to get a more accurate stack of the bearing lines on the Mobo TMA tool.
jmr is offline  
Old 11-08-07, 05:56 AM   #8
Dr.Sid
The Old Man
 
Join Date: May 2005
Location: Czech Republic
Posts: 1,458
Downloads: 6
Uploads: 0
Default

Well I just looked at that MoBo of yours .. and it's quite cool.
It seems you concentrate on solutions where you know some of the solution parts. There is no magic word 'LEG' anywhere in the manual, and you only touch full TMA in the last paragraph. But as it is oriented toward WW2 it's quite ok.
On the other hand you could track ownship even with your tool. You have the icon of ownship on the map don't you ? That's it. Or you could plot course and speed and compute where your ship is at each moment. Then you would change course to make the leg, grab OS position after heading stabilizes and then you can plot new course again.
Btw. yesterday I have found great good reason why you need a leg. It never occured to me before. Well if you go straight at constant speed, there is always one incorrect solution. That is your own motion ! It lies and all LOBs, no matter how the LOBs goes.
Dr.Sid is offline  
Old 09-20-11, 06:51 AM   #9
AdamMil
Mate
 
Join Date: Aug 2007
Location: Seattle
Posts: 51
Downloads: 27
Uploads: 0
Default

Quote:
Originally Posted by Dr.Sid View Post
I'm trying to create formulas for TMA by least square method... I'm writing the program now to verify the formulas... Anyway anybody here could know some formulas or methods too. I'd like to compare.
I know this thread is ancient, but I wanted to reply to it anyway. I have to say "thank you" to Dr. Sid for inspiring me to think about it, and to aaronblood for inspiring me to create a virtual maneuvering board program to implement it in. I came across the thread about a month and a half ago and spent much of the past four weeks working on a solution to this problem, and the maneuvering board program that uses it.

I discovered a small problem with the least squares method as described, which is that it can sometimes produce solutions on the reciprocal bearing line (e.g. on a bearing 270 instead of 90, for instance). As an example, see the solution below:



when the expected solution is something like this:



(from an early test version of my software using Dr. Sid's least squares approach)

One solution to the problem is to use quadratic programming instead of linear least squares. Quadratic programming can solve a linear least squares problem with additional linear constraints on the solution. All you need are constraints of the form (using Dr. Sid's variables) sx*(ax+vx*t-px) + sy*(ay+vy*t-py) >= 0. However, the math involved in writing a QP solver is quite hard (too hard for me, anyway). There are third-party frameworks that can handle it, like the Microsoft Solver Foundation (for .NET). I used one, and tested the idea. It works, but I don't like relying on third-party software.

So instead I came up with a solution that involves numerically minimizing a five-dimensional function. It works pretty well, and can accept flexible constraints such as "speed between 6-8 knots and course between 30 and 60 degrees". It would be trivial to add other constraints like range. I wrote about some of the technical details here (http://www.adammil.net/blog/v103_Per..._Analysis.html).

I implemented it in software, which is available there too. It supports both bearing and point observations (e.g. from passive and active sonar, respectively) from multiple observers, and all observations are taken into account to find the best TMA solution. The software and source code are freely available under the GPL. However, it's at an alpha stage, so some things are missing... like a manual. :-P Nonetheless it's already pretty useful.



(more recent version of auto TMA)

Last edited by AdamMil; 09-20-11 at 07:23 AM.
AdamMil is offline  
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 07:12 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.